2015-02-23 58 views
2

我是Prolog和Java的初学者级别。我正在尝试将我的Prolog程序与Java链接起来。我发现如何去做here。但我不知道如何来传递参数给Prolog的查询与元数2.这是我的一块序言方案:Java-Prolog:如何将参数传递给arity 2查询?

male(Jack). 
male(John). 
female(Jill). 
couple(Jack,Jill). 
parent(Jack,John). 
parent(Jill,John). 

这是从我的Java:

Query q1 = new Query("female", new Term[] {new Atom("Jill")}); 
System.out.println("Is Jill female? " + q1.hasSolution()); 

这个结果: “是吉尔女真正?”

Query q2 = new Query(new Compound("male", new Term[] {new Variable("X")})); 

     int i=0; 
     while(q2.hasMoreSolutions()){ 
      i++; 
      System.out.print(i + ") " +q2.nextSolution().get("X")); 
     } 

这个结果: “1)杰克2)约翰”

但我不知道如何与元数2

回答

0

运行查询关于什么:

new Query("parent", new Term[] {new Atom("Jill"),new Atom("John")}); 

new Term[]意味着你初始化数组,看样子,你可以这样使用多个原子调用它。

请参阅this documentation根据查询数据库部分。

+0

Yippee!多谢! ^^ – 2015-02-23 14:57:10