Мне было интересно, удалось ли кому-либо воспользоваться «листингом». команда в JPL для изучения содержимого базы знаний Prolog? JPL требует, чтобы вы строили запросы и возвращали решения на основе переменных, которые вы задали в запросе. Например (Java):Вызов функции перечисления в jpl
Query q = new Query("holdsAt((X,Y) = true, 3)");
while (q.hasMoreSolutions()){
Hashtable s = q.nextSolution();
System.out.println(s.get("X")+", "+s.get("Y"));
}
Я не могу видеть, как это будет работать для включения/0, или даже листинг/1, который требует проиллюстрированный ввода. На данный момент я играю с кодом формы
predicate_property(L,interpreted),
\+ predicate_property(L, built_in),
\+ predicate_property(L,imported_from(_)),
current_predicate(X, L), current_predicate(X/Z).
, который возвращает для функции существующей в базе знаний:
myFunction:-
myGoal1,
myGoal2.
ответ:
L = myFunction(_G403,_G404),
X = myFunction,
Z = 2
Но это не достаточно поскольку ни одна из целей не возвращается. Я предполагаю, что мне нужно (если функция листинга не может быть вызвана с помощью JPL), это функция, которая возвращает в качестве переменной заголовок предиката вместе со списком соответствующих целей, которые должны быть выполнены. К сожалению, я не знаком с внутренними функциями функции листинга, поэтому я не уверен, как это сделать.
Заранее спасибо
Последующие действия: Оказывается, находка чрезмерна. – Huguenot