【问题标题】:can we use owl:SameAs between two predicates?我们可以在两个谓词之间使用 owl:SameAs 吗?
【发布时间】:2011-08-16 03:07:47
【问题描述】:

使用<DC:title> <owl:SameAs> <NS:title><DC:title> <owl:equivalentProperty> <NS:title>有什么区别

这里的 NS 是一些命名空间。

【问题讨论】:

    标签: rdf ontology owl


    【解决方案1】:

    owl:sameAs 用于个人,owl:equivalentProperty 用于 RDFS/OWL 属性,owl:equivalentClass 用于 RDFS/OWL 类。

    我猜你是在陈述这些属性之间的等价性,以便你可以推断

    :individual1 ns:title "The Title".
    

    来自现有语句

    :individual1 dc:title "The Title".
    

    反之亦然。我没有尝试过,但我假设基于 DL 的 OWL 推理器(即大多数 OWL 推理器)只有在使用 owl:equivalentProperty 时才会进行适当的推理。另一方面,如果你想推断

    :individual2 dc:title "The Title".
    

    来自现有语句

    :individual1 dc:title "The Title".
    

    那么您应该使用owl:sameAs 声明来关联两个人。

    【讨论】:

    • 我完全同意你的说法,但我的观点是,既然我们可以对任何类型的资源使用sameAs,并且谓词也是一种资源,那么使用sameAs作为谓词在技术上是否正确。
    • 没有。 owl:sameAsinvidivuals 的等价物。对于“任何类型的资源”,它不是。如果你想让推理起作用,你必须使用owl:equivalentProperty
    • 在 OWL 1 中,它对等价属性说了以下内容:“属性等价与属性相等不同。...属性相等应该用 owl:sameAs 构造来表示。”我很难确定,这在 OWL 2 中是否发生了变化?
    【解决方案2】:

    两个区别:

    首先,一些 OWL 推理者会在属性之间反对owl:sameAs,或者干脆忽略它。它们在个体和类/属性之间保持着强烈的区别。

    其次(这是更重要的)等价(如owl:equivalentProperty)与身份(owl:sameAs)不同。后者说我们正在处理一个具有不同名称的事物,而前者说有两个事物具有相同的扩展(即在相同事物之间保持)。

    如果不清楚,这里有一个例子:

    # My book has ns:title "My book"
    :book ns:title "My book" .
    
    # My title property is defined in my vocabulary document
    ns:title rdfs:isDefinedBy <http://example.com/my-vocab> .
    

    使用owl:sameAs 我的书也有dc:title“我的书”,dc:title 由我的词汇文档定义。糟糕,DC 可能对此不满意。

    owl:equivalentProperty 我的书也有dc:title“我的书”(太棒了),但这并不意味着dc:title 是由词汇文档定义的(呸)。

    【讨论】:

    • 我不认为推理者会反对,他们会推断出这些属性也是个人的,因此会落入 OWL-Full 中,而这并不是你真正想要的。
    【解决方案3】:

    cygris's answer 中所述,简短的回答是“不,不要这样做”。但是,如果您真的想知道使用owl:sameAs VS 的含义,那么这个问题会更加微妙。 owl:equivalentProperty.

    首先,对问题中的术语进行一点修正:在 RDF 中,谓词 是位于三元组的第二个位置的东西。 RDF 无法引用三元组中的位置,因此您不能在两个谓词之间使用属性。 OP 的意思当然是“我们可以在两个 properties 之间使用owl:sameAs”。属性可以用 IRI 来标识,IRI 可以出现在三元组中的任何位置,主语和宾语可以通过谓词的方式关联,并且任何 IRI 都可以出现在三元组的任何位置。因此,从语法上讲,允许将两个属性与owl:sameAs 关联起来。

    不过,问题是这样做是否有意义,以及会产生什么影响。问题是RDF图有一些量子式的东西:RDF图的意义是意义的叠加,只有当你根据一些形式语义应用一些推理时,你才知道可观察到的意义。 RDF 1.1 Semantics 定义了多种语义(所谓的蕴含制度),但它们都没有为owl:sameAs 赋予特定含义,因此应用 RDF(S) 推理不会带来任何有用的东西。因此,如果这是观察到的图表含义,那么属性之间的owl:sameAs 是无用的。

    当一个人应用 OWL 语义时,真正有趣的事情就出现了。但即使在 OWL 中,OWL 2 Directed SemanticsOWL 2 RDF-based Semantics 也有双重含义。让我们考虑一个示例 RDF 图:

    <p>  a  owl:ObjectProperty;
         dc:creator  "AZ" .
    <q>  a  owl:ObjectProperty;
         dc:date  "2016-06-07"^^xsd:date  .
    <r>  a  owl:ObjectProperty, owl:DeprecatedProperty;
         dc:date  "1981-01-14"^^xsd:date .
    <s>  a  owl:ObjectProperty;
         dc:date  "2016-06-07"^^xsd:date .
    <p>  owl:sameAs  <q> .
    <r>  owl:equivalentProperty  <s>
    <a>  <p>  <b> .
    <c>  <r>  <d> .
    

    让我们从基于 RDF 的语义开始。一方面,IRI &lt;r&gt;&lt;s&gt; 表示等效属性,因此我们可以得出结论:

    <c>  <s>  <d> .
    

    另一方面,IRI &lt;p&gt;&lt;q&gt; 名称​​相同的资源,因此我们可以得出结论(除其他外):

    <q>  dc:creator  "AZ" .
    <p>  dc:date  "2016-06-07"^^xsd:date .
    <a>  <q>  <b> .
    <p>  owl:equivalentClass  <q> .
    

    不同之处在于,关于&lt;p&gt; 的所有内容都适用于&lt;q&gt;,因为它是相同的!一般来说,不同的属性名称指的是不同的属性,因为它们必须附加到不同的元数据(例如rdfs:isDefinedByrdfs:labelrdfs:comment、DC 术语)。

    现在让我们将直接语义应用于此。它失败。直接语义不适用于 RDF 图,它适用于 OWL 2 Structural Specification 的函数式语法中的本体。为了根据直接语义解释 RDF 图,首先必须将图映射到函数语法中的 OWL 2 本体。这要求RDF图满足一些约束,才能成为RDF图形式的OWL 2 Ontology

    一项义务是所有个人都必须明确声明为某些 OWL 类的成员。另一个要求是owl:sameAs 只能适用于个人。个体与属性严格脱节,但有一个小技巧:个体 name 可以与属性 name 相同(这称为punning)。所有属性都必须声明为对象属性、数据类型属性或注释属性。必须为本体命名,并附有明确表示它是本体的声明。因此,作为 RDF 图形式的有效 OWL 2 Ontology 的 RDF 图版本如下:

    <>  a  owl:Ontology .  # Give a name to the ontology and declare it as such
    dc:creator  a  owl:AnnotationProperty .  # Declare property
    dc:date  a  owl:Annotation Property .  # Declare property
    <p>  a  owl:ObjectProperty;
         dc:creator  "AZ" .
    <q>  a  owl:ObjectProperty;
         dc:date  "2016-06-07"^^xsd:date  .
    <r>  a  owl:ObjectProperty, owl:DeprecatedProperty;
         dc:date  "1981-01-14"^^xsd:date .
    <s>  a  owl:ObjectProperty;
         dc:date  "2016-06-07"^^xsd:date .
    <p>  a  owl:Thing .  # <p> used with owl:sameAs: must be declared as individual
    <q>  a  owl:Thing .  # <q> used with owl:sameAs: must be declared as individual
    <a>  a  owl:Thing .  # Declare individual
    <b>  a  owl:Thing .  # Declare individual
    <c>  a  owl:Thing .  # Declare individual
    <d>  a  owl:Thing .  # Declare individual
    <p>  owl:sameAs  <q> .
    <r>  owl:equivalentProperty  <s>
    <a>  <p>  <b> .
    <c>  <r>  <d> .
    

    在这张图上,我们可以应用 OWL 2 直接语义,我们可以得出结论:

    <c>  <s>  <d> .
    

    之前使用基于 RDF 的语义给出的其他三元组都无法推断。特别是,&lt;p&gt;&lt;q&gt; 表示同一个人这一事实不允许对名为 &lt;p&gt;&lt;q&gt; 的属性做出任何结论。

    同样,在这种情况下,使用owl:sameAs 通常不是一个好主意。

    总之,无论您如何解释 RDF 图,使用owl:sameAs 关联两个属性可能都不是一个好主意。

    【讨论】:

      猜你喜欢
      • 2014-07-15
      • 1970-01-01
      • 2011-04-12
      • 2013-04-01
      • 1970-01-01
      • 2021-04-21
      • 1970-01-01
      • 2011-11-15
      • 1970-01-01
      相关资源
      最近更新 更多