【问题标题】:Convert a statement with adjective in RDF triple在 RDF 三元组中转换带有形容词的语句
【发布时间】:2015-06-09 21:01:47
【问题描述】:

如何在语义网络 RDF 三元组中处理形容词?

例如,如何在 RDF 中将以下语句转换成三倍?

鲍勃有一辆新车

也许:

  1. 主题:鲍勃
  2. 谓词:有
  3. 对象:汽车

  1. 主题:汽车
  2. 谓词:是
  3. 对象:新的

并链接两个 RDF(第一个对象与第二个主题)?

是这样吗?

有人可以推荐相关文档吗?

【问题讨论】:

  • 深思熟虑:“鲍勃有一辆新车。”是一个与时间相关的陈述,因为它可能在 3 年后不再正确。您想要建模的方式使声明“永恒”。有很多不同的方法可以对此类语句进行建模(请参阅stackoverflow.com/a/30646248/1423333)。

标签: rdf semantic-web


【解决方案1】:

没错。相当幼稚,但是您的模型非常有意义。您想要体现多少深度、清晰度和互操作性在很大程度上取决于您对标准、词汇和建模的选择。例如,什么是“新”,什么是“拥有”汽车,这些都是您可以根据需要深入探索和定义的东西。您可能会发现重用已经定义了此类概念的其他本体很有用。

例如,CIDOC-CRM(及其几个​​扩展名)几乎所有内容都基于事件和活动的概念。尽管如今与考古学和文化遗产领域高度相关,但该模型早在语义网及其各种标准出现之前就已经开发出来了。它可以说是最全面的本体,拥有自己复杂的推理和推理能力。

因此,按照 CIDOC 路径,“拥有一辆新车”实际上是某人在某个特定时间点获得(例如)汽车所有权的事件。一个人成为从事某些所有权活动的参与者,这本身可能是从其他参与者的“所有权/权利转移”等。时间本身也是一个时间跨度,而不是一个“单点”,即它跨越一个特定的时间间隔.拥有汽车也可能成为一个复杂的现象,它包含与社会、实用方面(例如必须支付登记、税收等)、形/物理(例如拥有汽车和在街上驾驶的危险)相关的其他命题和推论等这也是我猜想它在考古领域获得如此多关注的部分原因。

【讨论】:

    【解决方案2】:

    您的意思是,Bob 拥有一辆汽车,而且是新的。在您的两个陈述中,您并不是说“汽车”是汽车。

    在海龟中:

    :bob :has [ a :Car; a :NewThing].
    

    (其中ardf:type 的快捷方式)。

    【讨论】:

      【解决方案3】:

      为了让这篇文章更生动、更容易理解,我正在调整 Reto 的回复,使用 schema.org 术语和 nanotation(这使得这篇文章成为链接开放数据源,其中包括对 bob 和他拥有的汽车的描述):

      {
      <#bob> 
      foaf:name "Bob" ; 
      a foaf:Person;
      <#has> [ a schema:Car; schema:purchaseDate "2015-06-11"^^xsd:Date].
      
      <#has> 
      a rdfs:Property ;
      rdfs:label "has" ; 
      schema:domainIncludes foaf:Person ;
      schema:rangeIncludes schema:Car . 
      }
      

      海龟的结果嵌入到我的回复中,使用 nanotation:

      【讨论】:

        【解决方案4】:

        在此示例中,“新”形容词可以而且应该转换为绝对日期,但这并不能解决一般问题,因为这并非总是可行的。

        在语义上,形容词总是代表一元关系,不同于动词,动词可以是一元(“Bob runs.”)、二元(“Bob runs to Alice.”)或更多(“Bob runs to Alice with Trudy.”)。这在英语中令人困惑,因为在句法上,形容词有时以一元形式使用(“新车”),但有时以二元形式使用(“汽车新的。”)。在其他语言中,例如俄语,情况并非如此,您只需说“新车”。 (当然是翻译的)。

        现在,从数学上讲,一元关系可以看作是一个集合,反之亦然。因此,正如@reto-gmür 所说,最合适的RDF 形式是“NewThing”类的成员资格,因为类是个体的集合。由于 RDF 使用二元关系,我们需要(有时在英语中)辅助关系“a”。

        然而,虽然集合和一元关系在数学上可以看作是等价的,甚至还有第三种等价形式,即 [0,1] 的函数,但重点有所不同。

        因此,在某些情况下,使用具有如下布尔范围的属性可能更合适:

        :BobsCar :isNew "true"^^xsd:boolean.
        

        :BobsCar :newness "true"^^xsd:boolean.
        

        (两个属性名称都有些尴尬)。但是,除了使用 RDF Data Cube 词汇表对统计数据进行建模时,我并没有经常看到最后一种建模变体。

        我认为这最后一种建模方式对实例数据的用处不大,而对本体的用处更大,因为您可以定义:

        :newness rdfs:domain :Car; rdfs:range xsd:boolean.
        

        :Car rdfs:subClassOf [owl:unionOf (:NewThings :OldThings)].
        

        需要 OWL 并且更复杂,因此我希望它较少受到推理者的支持。尽管如此,在我看来,类成员资格看起来更优雅,并且符合 RDF 哲学,所以我建议在大多数情况下这样做。

        【讨论】:

          【解决方案5】:

          可能微不足道,但将“新”转换为绝对日期似乎不那么主观,并且具有更长期的价值。

          鲍勃有一辆车。 Bob 的车是 2016 年 9 月 12 日制造的。

          【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多