0
Я использую библиотеки jpl для подключения пролога и java. В прологе, я могу выполнить запрос:Как получить решение X пролог в java
?- meaning_forms([apple,is,fruit],X).
выход: X = [is_a(x1, x2), objectx(x1, apple), objectx(x2, fruit)].
Но в Java, я не могу увидеть результат этого запроса. Я пробовал код в java:
Variable X = new Variable("X");
Query q4 = new Query("meaning_forms", new Term[]{new Atom("apple,is,fruit"),X});
while (q4.hasMoreElements()) {
java.util.Hashtable solution = (Hashtable) q4.nextElement();
System.out.println("X = " + (Term) solution.get("X"));
}
В java нет выхода. Любое решение в этом случае?
Ваше выражение, 'новый запрос ("meaning_forms", новый срок [] {новый Atom ("яблоко, есть, фрукты"), X});' генерирует запрос это выглядит как 'mean_forms ('apple, is, fruit', X)', поэтому первый аргумент не будет массивом. Я думаю, вам нужно что-то вроде: 'new Query (« значение_формы », новый термин [] {Util.termArrayToList (новый термин [] {новый Atom (« яблоко »), новый Atom (« is »), новый Atom (« fruit ")}), X});', или некоторые такие ... :) – lurker