【问题标题】:RDF Schema - how to create instances?RDF Schema - 如何创建实例?
【发布时间】:2016-05-18 23:44:29
【问题描述】:

我想在我的 RDFS 文件中包含类的实例,但我不知道该怎么做。

我的班级:

<rdfs:Class rdf:ID="Turns">
   <rdfs:range rdf:resource="Literal"/>
</rdfs:Class>

我的财产:

<rdf:Property rdf:ID="has_Turns">
   <rdfs:domain rdf:resource="#Device"/>
   <rdfs:range rdf:resource="#Turns_Frequency"/>
</rdf:Property>

我想获得一个带有“has_Turns”属性的“Turns”类的实例。 我试过这样的事情:

<Turns_Instance rdf:ID="Turns">…</Turns_Instance>

...但它需要主类是“Turns_Instance”,反之则不起作用。更何况我不知道把财产放在哪里。所有实例都应该在 RDFS 文件中。

【问题讨论】:

    标签: xml ontology rdfs


    【解决方案1】:

    实例可以在类定义中定义为:

    <ex:Turns rdf:about="http://example.org/ex1#Turns_Instance">
       <ex:hasTurns>
          <ex:Turns_Frequency rdf:about="http://example.org/ex1#Turns_Frequency_Instance"/>
       </ex:hasTurns>
    </ex:Turns>
    

    还要注意,范围定义属于属性定义,而不是类定义。所以真正的错误可能是使用 RDF/XML 文本序列化。任何 RDF 编辑器都应该能够使用和生成人类可读的 Turtle。在这种情况下,类和实例定义如下所示:

    @prefix ex: <http://example.org/ex1#> .
    
    ex:Turns
      rdf:type owl:Class .
    ex:Turns_Instance
      rdf:type ex:Turns ;
      ex:hasTurns ex:Turns_Frequency_instance .
    ex:Device
      rdf:type owl:Class .
    ex:Turns_Frequency
      rdf:type owl:Class .
    ex:hasTurns
      rdf:type owl:ObjectProperty ;
      rdfs:domain ex:Turns ;
      rdfs:range ex:Turns_Frequency .
    

    除了能够轻松“看到”三元组之外,RDF 作为对象表示也变得更加清晰,这对于理解 RDF 的工作原理是一个巨大的优势。

    【讨论】:

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