云昴(Mao Yun)

[Learn Prolog Now 1] Facts, Rules, and Queries

| Prolog

本文英文原文: 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 语法

Prolog

Atom

  1. 由小写字母开头,大小写字母、数字、下划线构成的。
  2. 单引号构成的。
  3. 特殊字符构成的字符串。

Numbers

Variables

大写字母开头或下划线。

其中’_‘是匿名变量。

云昴(Mao Yun)