2016-11-13 3 views
2

문자열에서 난 원자로서 배열 필요한 프롤로그 쿼리 가지고JPL7 프롤로그 쿼리

searchEventsOnCategory (카테고리, 이벤트) 카테고리 문자열리스트이다.

예 입력 : searchEventsOnCategory ([ '바', '디스코', 이벤트)

출력 : 이벤트 = listOfEvents]

searchEventsOnCategory(Categories,Events):- 
    findall([X,V], event(X,_,_,V), List), 
    compareCategories(List,Categories,Events1), 
    Events = Events1. 

내 자바 코드 :

public ArrayList<String> getEventsByPrologWithCategories(ArrayList<String> Categories){ 
    ArrayList<String> events = new ArrayList<String>(); 

    //(Persons,Budget,Categories,Events) 
    Variable X = new Variable("X"); 
    Compound V = new Compound("[Bar]"); 

    Query q4 = 
      new Query(
       "searchEventsOnCategory", 
       new Term[] {V,X} 
      ); 

    ... 

    return events; 

} 

내가 어떻게 devine V, 그 프롤로그 문자열의 목록으로 V를해야합니까? 대신 화합물

답변

1

, 당신은 기간

Variable X = new Variable("X"); 

Term t = Util.textToTerm("[Bar]"); 

Query q4 = 
    new Query(
     "searchEventsOnCategory", 
     new Term[] {t,X} 
     ); 
+0

그게 전부 유용한 사용하고 내 경우에 작동합니다 :) – DraGott