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

Usi*_*Usi 8 logic semantic-web first-order-logic semantics

早上好,我想了解如何使用一阶逻辑描述一些东西.

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

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

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

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

属性:属性总是有一个值,它总是与实体相关联.它描述了实体的特定功能/属性.

文档:纯文本描述(纯文本不包含任何html标签).每个文档仅通过其属性描述一个实体.

Rom*_*lak 3

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

人们使用某些约定。例如,谓词以大写字母 ( Actor, Film, FatherOf) 开头,常量以小写字母 ( x, clooney, batman) 开头。常量表示对象,谓词表示有关对象的一些信息。如果谓词有多个参数,第一个参数通常是您要发表的陈述的主题。这样你就可以自然地将逻辑公式作为普通语言的句子来阅读。例如,FatherOf(x, y)读作“x 是 y 的父亲”

更新答案:

我不确定你是否可以用一阶逻辑来做到这一点。您可以Entity通过公式将其描述为具有某些属性的事物,例如

\forall x (Entity(x) ==> Object(x) | Element(x) | Abstraction(x))
Run Code Online (Sandbox Code Playgroud)

这对于 来说有点困难Attribute。在一阶逻辑中,属性将某种属性赋予一个对象或将其与另一个对象相关联。您可能可以使用三位谓词,如下所示:

\forall attribute (\exists object (\exists value (Has(object, attribute, value))))
Run Code Online (Sandbox Code Playgroud)

至于该文件,那只是这些陈述的结合。例如,对乔治·克鲁尼的描述可能如下:

Entity(clooney) & Has(clooney, starred, gravity) & Has(clooney, bornIn, lexington) & ...
Run Code Online (Sandbox Code Playgroud)