使用一阶逻辑描述电影(实体和属性)

时间:2015-04-29 16:29:46

标签: logic semantics semantic-web first-order-logic

早上好, 我想了解如何使用一阶逻辑来描述某些内容。

例如,我想描述一部电影(实体)是什么,以及电影的属性(例如演员:克鲁尼)是什么。如何使用一阶逻辑来描述?

*******更新********

我需要在第一个逻辑顺序中解释:

ENTITY :可以使用一组属性或属性描述的元素,抽象或对象。所以我认为我必须说实体有一组具有各自值的属性。实体描述元素,抽象或对象。

属性:属性始终有值,并且始终与实体关联。它描述了实体的特定功能/属性。

文档:纯文本说明(纯文本不包含任何html标记)。每个文档只通过其属性描述一个实体。

1 个答案:

答案 0 :(得分:3)

要声明对象具有某个属性,您将使用单个位置谓词。例如,要声明x是一部电影,你可以写Film(x)。如果要将某个值归属于对象,则可以使用两个(或更多)位置谓词。用你的例子你可以说克鲁尼出演了一部电影Starred(clooney, x)

人们使用某些惯例。例如,谓词以大写字母(ActorFilmFatherOf)开头,常量以小写字母开头(xclooney,{{ 1}})。常量表示对象,谓词表示对象。对于具有多个参数的谓词,第一个参数通常是您正在声明的主题。这样你就可以自然地将逻辑公式读作普通语言的句子。例如,batman读为" x是y" 的父亲。

回答更新:

我不确定你是否可以在一阶逻辑中做到这一点。您可以将FatherOf(x, y)描述为具有某些属性的内容,例如

Entity

对于\forall x (Entity(x) ==> Object(x) | Element(x) | Abstraction(x)) 来说,这有点困难。在第一顺序逻辑中,属性将某些质量归于对象或将其与另一对象相关联。您可以使用三位谓词,如下所示:

Attribute

关于文件,这只是这些陈述的结合。例如,George Clooney的描述如下:

\forall attribute (\exists object (\exists value (Has(object, attribute, value))))