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

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

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

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

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

我需要按第一逻辑顺序解释的是:

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

属性 :一个属性总是有一个值并且它总是与一个实体相关联。它描述了实体的特定特征/属性。

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

最佳答案

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

人们使用某些约定。例如,谓词以大写字母开头( ActorFilmFatherOf ),常量以小写字母开头( xclooneybatman )。常量表示对象,谓词说明对象的某些内容。如果谓词有多个参数,第一个参数通常是您陈述的主题。这样你就可以很自然地将逻辑公式读成普通语言的句子。例如,FatherOf(x, y)将读作“x 是 y 的父亲”。

更新答案:

我不确定你是否可以在一阶逻辑中做到这一点。你可以描述一个 Entity作为通过公式具有某些属性的东西,例如

\forall x (Entity(x) ==> Object(x) | Element(x) | Abstraction(x))

这对Attribute 来说有点困难.在一阶逻辑中,一个属性将某种质量归因于一个对象或将它与另一个对象相关联。您可能可以使用三位谓词,如下所示:
\forall attribute (\exists object (\exists value (Has(object, attribute, value))))

至于文件,那只是这些声明的结合。例如,乔治克鲁尼的描述可能如下:
Entity(clooney) & Has(clooney, starred, gravity) & Has(clooney, bornIn, lexington) & ...

关于logic - 使用一阶逻辑描述电影(实体和属性),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29949499/

相关文章:

ios - Objective C 中的逻辑运算符和错误结果

javascript - Jasmine 期望逻辑(期望 A OR B)

haskell - Liquid Haskell 的表达能力

html - <p> 元素用于少量文本语义正确

rdf - 为什么 ShEx 常量不匹配数据中的相同术语?

php - 如何使用 PHP 和 MySQL 高效地对大型数据集进行分页?

html - 使用媒体查询在各种 h1 标题之间交换时是语义的

rdf - 用于构建 RDF 三元组的 RDF 术语指南

以不同名称为人所知的产品的 SEO

java - 同时进行字符串和数字解析的语义谓词