我想在我的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文件中。
答案 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如何工作是一个巨大的优势。