2010-05-13 46 views
6

这两种方法有什么区别?RDF正确方法subClassOf

一)

<?xml version="1.0" encoding="UTF-8"?> 
<rdf:RDF 
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" 
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
    xmlns:tur="http://www.blah.com/turismo#"> 

<rdf:Description rdf:about="http://www.blah.com/turismo#plaza"> 
    <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/> 
</rdf:Description> 

<rdf:Description rdf:about="http://www.blah.com/turismo#plazaSinFuente"> 
    <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/> 
    <rdfs:subClassOf rdf:resource="http://www.blah.com/turismo#plaza"/> 
</rdf:Description> 

B)

<rdf:RDF 
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" 
    xmlns:tur="http://www.blah.com/turismo#"> 

    <rdfs:Class rdf:ID="plaza"/> 

<rdfs:Class rdf:ID="plazaSinFuente"> 
     <rdfs:subClassOf rdf:resource="#plaza"/> 
    </rdfs:Class> 

回答

5

在这里,你有一个很好的比较:从结论http://www.ibm.com/developerworks/xml/library/x-tiprdfai.html

报价:

至于RDF之间进行选择:ID和rdf:关于,你会的如果您描述的资源在描述RDF文件的RDF文件之外没有真正有意义的位置,则最有可能使用前者。也许它是一个本地或便利的记录,或者是一个抽象或真实世界对象的代理(尽管我建议你在RDF中非常小心地描述这些事情,因为它会导致各种形而上学的混乱;我只有一种练习使用RDF来描述对计算机有意义的记录)。 rdf:about通常是指您使用具有全球知名标识符或位置的资源的方式。

3

在该示例中,除了rdf:ID和rdf:about之外,还存在另一个差异。如果你使用rdf:Description,那么你提供了一般资源的描述,也许提供了一个单独的类型语句。

如果容器元素与第二个示例中的rdfs:Class不同,那么您还提供了类型信息。

编码的信息是相同的,但第二种编码更简洁可读。

另外,你也应该用大写字母:Plaza和PlazaSinFuente来启动Class localName。