2010-05-13 48 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。