RDF Schema - 如何创建实例?

时间:2016-05-18 23:44:30

标签: xml ontology rdfs

我想在我的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>

我想得到一个班级的实例&#34;转向&#34;用&#34; has_Turns&#34;属性。 我试过这样的事情:

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

...但主要课程是&#34; Turns_Instance&#34;,另一方面它不起作用。还有什么我不知道把财产放在哪里。所有实例都应该在RDFS文件中。

1 个答案:

答案 0 :(得分: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如何工作是一个巨大的优势。