使swi prolog返回谓词名称
对不起,我只想返回谓词名称america使swi prolog返回谓词名称,prolog,Prolog,对不起,我只想返回谓词名称america america('kin'). novelist('kin'). writer(X):- novelist(X). 当我在下面查询swi时 作家(A)、小说家(A) 它正好相配 A=‘亲属’ 如何更改swi使其返回美国?美国(X)是否意味着“X生活在美国”?我建议将america作为原子而不是谓词,然后定义如下事实: lives_in(kin, america). 允许您定义如下规则: novelist_living_in(X, Y) :- nove
america('kin').
novelist('kin').
writer(X):- novelist(X).
当我在下面查询swi时
作家(A)、小说家(A)
它正好相配
A=‘亲属’
如何更改swi使其返回美国?美国(X)是否意味着“X生活在美国”?我建议将america
作为原子而不是谓词,然后定义如下事实:
lives_in(kin, america).
允许您定义如下规则:
novelist_living_in(X, Y) :- novelist(X), lives_in(X, Y).
因此,您可以执行以下查询:
novelist_living_in(kin, Y).
确切地说,你为什么希望它衍生出“美国”?通过查询所有类型的谓词直到出现“命中”?这与从小说家、writer中执行
SELECT*操作完全相同,writer WHERE newister.name=writer.name
,您希望输出表的see the nameamerica
。那不行。