gpt4 book ai didi

rdf - DatatypeProperty、ObjectProperty 和 FunctionalProperty 之间有什么区别,我应该在什么时候使用它们?

转载 作者:行者123 更新时间:2023-12-01 21:36:02 24 4
gpt4 key购买 nike

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

  • 数据类型属性
  • 对象属性
  • 功能性属性(property)
  • 逆函数性质

  • 前三个看起来像是以一组特定的方式使用它们,但我发现我对它们的想法受到了我在 FOAF 中看到它们的使用方式的挑战。

    什么时候应该使用或不使用它们中的每一个?

    最佳答案

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

    最后两个,FunctionalProperty 和 InverseFunctionalProperty,用于对个人的属性值施加一些限制。某物是一种功能属性意味着给定的个人最多可以有一个值。从逻辑上讲,这意味着如果 p 是一个函数属性,那么

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



    由于OWL没有做唯一名称假设,不同的IRI可以指代同一个个体,所以如果hasMother是一个函数属性,我们可以从
    :John :hasMother :Margaret .
    :John :hasMother :Peggy .


    :Margaret owl:sameAs :Peggy

    当然,这也可以用来提供一些“负面推断”。如果我们知道 Susan 与 Peggy 是不同的人,那么我们可以推断 Susan 不是 John 的母亲。即,从
    :John :hasMother :Peggy .
    :Susan owl:differentFrom :Peggy .

    那是假的
    :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),但我们不能在条件

    p is an inverse functional property



    然后

    p-1 is a functional property



    因为数据类型属性不能有反转。这是因为 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:someone@example.com> 的 IRI。 .这是一个反函数属性,因为对于给定的邮箱,我们预计最多只有一个人拥有该邮箱。 (当然,有些人可能会共享一个邮箱,所以这并不总是正确的,但是哦,好吧。)不过,这不是一个功能属性,因为一个人可以轻松拥有多个邮箱。

    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 Axioms 感兴趣和 2.3.3 Data Property Expression Axioms .

    关于rdf - DatatypeProperty、ObjectProperty 和 FunctionalProperty 之间有什么区别,我应该在什么时候使用它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21487939/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com