【发布时间】:2011-03-30 07:00:31
【问题描述】:
所以,假设我在 Prolog 数据库中有以下内容:
person(john).
person(mary).
happy(john).
很明显,如果我想列出所有人,我可以输入:
person(X).
但是,如果我想找到关于约翰的所有真实情况怎么办?我做不到:
X(john).
但我想要的效果是能够放入“john”并取回“person”和“happy”。
显然还有另一种方式可以存储我的信息:
is(person, john).
is(person, mary).
is(happy, john).
然后,我可以这样做:
is(X, john).
但我在这里失去了一些表现力。我真的很想能够做这样的事情:
X(john).
有什么想法吗?
谢谢!
【问题讨论】:
标签: prolog logic meta-predicate