[Learn Prolog Now 1] Facts, Rules, and Queries
本文英文原文: http://www.learnprolognow.org/ 并会增加自己在Imperial学习中的一些想法,因为自己已经熟悉Prolog,并非完整翻译。
一些简单的例子
对于Prolog有三个基本的结构:facts, rules, 和 queries. facts 和 rules 的集合被称为knowledge bases,所有的Prolog Programming 都是关于写knowledge bases。
KB1
using the following facts:
woman(mia).
woman(jody).
woman(yolanda).
playsAirGuitar(jody).
party.
对于query ?- woman(mia)
Polog会返回yes。
KB2
happy(yolanda).
listen2Music(mia).
listen2Music(yolanda) :- happy(yolanda).
playsAirGuitar(mia) :- listen2Music(mia).
playsAirGuitar(yolanda) :- listen2Music(yolanda).
?- playsAirGuitar(mia).
返回yes。 为什么?因为 playsAirGuitar(mia) :- listen2Music(mia).
and listen2Music(mia).
Prolog 语法
Atom
- 由小写字母开头,大小写字母、数字、下划线构成的。
- 单引号构成的。
- 特殊字符构成的字符串。
Numbers
Variables
大写字母开头或下划线。
其中’_‘是匿名变量。