1
我在Prolog的文件中得到這個:PrologBeans在返回列表格式
:- module(test,[main/0, api_trial/2]
:- use_module(library(prologbeans)).
main:-
register_query(assert_trial(Age,Res), api_trial(Age,Res)),
start.
person('John',10,'London').
person('Adam',10,'Manchester').
api_trial(Age,Res) :-
findall((P,Age,Add),person(P,Age,Add),Res).
在Java中,我做了下面的查詢(輸入正確類等後):
public void trial() {
try{
Bindings bindings = new Bindings().bind("Age",10);
QueryAnswer answer = session.executeQuery("assert_trial(Age,Res)", bindings);
Term result = answer.getValue("Res");
System.out.println("Answer returned " + result);
} catch (IOException e) {
e.printStackTrace();
} catch (IllegalCharacterSetException e) {
e.printStackTrace();
}
}
基本上,我的問題是,它返回的格式是Java中的查詢。 在Prolog,這是正常的:
Res = [('John',10,'London'),('Adam',10,'Manchester')] ?
在Java中,我得到:
Answer returned [,(John,,(10,London)),,(Adam,,(10,Manchester))]
的格式被搞砸了。我怎樣才能克服這個問題?任何幫助將非常感激。
謝謝。
其中的Prolog實現您使用的是在這裏嗎? – daf