DatatypeProperty,ObjectProperty和FunctionalProperty有什么区别,何时应该使用它们?

问题描述 投票:21回答:1

编写本体时,有几种非常常用的类型,包括:

  • DatatypeProperty
  • ObjectProperty
  • FunctionalProperty
  • InverseFunctionalProperty

[前三种有点像它们将以特定的方式使用,但是我发现我对它们在FOAF中的使用方式的挑战给我一个想法。

何时应分别使用或不使用?

rdf sparql owl ontology foaf
1个回答
44
投票

其中的前两个,DatatypeProperty和ObjectProperty,描述具有该属性的三元组应该具有哪种values。数据类型属性将个人与文字数据相关联(例如,字符串,数字,日期时间等),而对象属性将个人与其他个人相关联。像hasAge这样的东西通常是一个数据类型属性,因为年龄是一个数字,但是因为一个母亲是另一个个体,所以hasMother将会是对象属性。]

其中的最后两个,FunctionalProperty和InverseFunctionalProperty,用于对个人的属性值施加一些约束。某种东西是一种功能特性,意味着给定的个人最多可以拥有一个价值。从逻辑上讲,这意味着如果p

是功能属性,则

∀x,y,z。([p(x,y)∧ p(x,z)]→ y = z)

由于OWL确实进行了[[not

假设,所以不同的IRI可以引用同一个人,因此,如果hasMother是功能属性,我们可以从推断出:John :hasMother :Margaret . :John :hasMother :Peggy .
那个

:Margaret owl:sameAs :Peggy

当然,这也可以用于提供一些“负推论”。如果我们知道Susan与Peggy是一个不同的人,那么我们可以推断Susan是John的母亲。即来自[]

:John :hasMother :Peggy . :Susan owl:differentFrom :Peggy .

那是
false

:John :hasMother :Susan . 对于数据类型属性,这以相同的方式工作,但是关于哪些文字不同的更多内置信息。例如,推理机应该知道"1"^^xsd:int"2"^^xsd:int不同。

逆功能特性相似,但方向相反。如果特性p是反函数特性,则对于给定的个体y,最多应有一个x,使得p(x,y)。

但是,这里有一点警告。 OWL 2 DL仅支持逆功能对象属性,不支持逆功能数据类型属性。虽然我们可以将反函数数据类型属性的语义描述为∀x,y,z([p(x,z)∧ p(y,z)]→ x = y),但我们

cannot] >具有以下条件之间的等价关系:>

p是逆函数性质

和那个

p

-1
是功能属性

因为数据类型属性不能有逆。这是由于RDF(至少在当前版本中;我听说有更改此更改的想法,尽管我不知道更改是否会影响到OWL)不允许使用字面值,因为主题三元组。如果数据类型属性具有逆,则将出现这种情况:

:hasName owl:inverseOf :nameOf . :john :hasName "John"@en . 我们推断

"John"@en :nameOf :john . # Not legal.

这意味着逆函数属性必须是对象属性。

((在OWL Full中,推理机可以使用逻辑断言,并根据逻辑表示在此处做出适当的推断。或者,某些推理机,例如基于规则的推理机)删除了“不允许从其内部表示形式将任何文字作为主题”的限制,然后在出局时过滤结果,以确保非法RDF不会逃脱。)

现在,让我们看看您提到的情况:

性别(功能和数据类型)

这是实用的,因为我们希望每个人的性别属性最多具有一个价值。这是一个数据类型属性,因为FOAF的设计人员希望这些值类似于"male""female"。如果他们定义了一些符号常量,例如<http://.../MALE><http://.../FEMALE>,则可能是对象属性。

mbox(反函数和对象)

mbox是一个对象属性,大概是因为它的值是<mailto:[email protected]>形式的IRI。这是相反的功能属性,因为对于给定的邮箱,我们希望最多只有一个人拥有该邮箱。 (当然,有些人可能会共享一个邮箱,所以这并不总是很正确,但是,哦。)但是,这是[[not

一种功能属性,因为一个人可以轻松拥有多个邮箱。

mbox_sha1sum(反函数和数据类型)

我记得,此属性将其个人与其邮箱的sha1sum关联。使用此属性意味着人们不必共享真实的电子邮件地址。与mbox相同,它是一种逆函数属性。我们希望每个mbox_sha1sum最多属于一个人。同样,它也不是功能属性,因为一个人可以拥有多个邮箱,因此可以拥有多个sha1sum。

这是有问题的情况,因为这是数据类型属性和逆函数属性,并且不应发生(如上所述)。但是,OWL Full推理程序仍然可以让您推断,如果x和y都具有相同的mbox1_shasum,则x = y。

参考

您可以阅读OWL 2 Web Ontology Language Direct Semantics (Second Edition)中的正式定义。您将对2.3.2 Object Property Expression Axioms2.3.3 Data Property Expression Axioms感兴趣。

© www.soinside.com 2019 - 2024. All rights reserved.