Я получил это в файле Пролога:
:- 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.В Прологе это нормально:
Res = [('John',10,'London'),('Adam',10,'Manchester')] ?
В Java я получаю:
Answer returned [,(John,,(10,London)),,(Adam,,(10,Manchester))]
Форматирование испорчено.Как я могу преодолеть эту проблему?Любая помощь приветствуется.
Спасибо.