2010-05-13 13 views
6

Was ist der Unterschied zwischen diesen beiden Ansätzen?RDF korrekter Ansatz zu subClassOf

a)

<?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> 

Antwort

5

Hier haben Sie einen schönen Vergleich: http://www.ibm.com/developerworks/xml/library/x-tiprdfai.html

Zitat aus dem Fazit:

Wie für die Wahl zwischen rdf : ID und rdf: über, du wirst Wenn Sie eine Ressource beschreiben, die nicht wirklich einen aussagekräftigen Speicherort außerhalb der RDF-Datei enthält, die sie beschreibt, möchten Sie wahrscheinlich die erstere verwenden. Vielleicht ist es eine lokale oder bequeme Aufzeichnung oder sogar ein Proxy für eine Abstraktion oder ein Objekt in der realen Welt (obwohl ich empfehle, dass Sie solche Dinge in RDF so genau beschreiben, dass es zu allerlei metaphysischer Verwirrung führt; ich habe nur eine Praxis Verwenden von RDF zum Beschreiben von Datensätzen, die für einen Computer von Bedeutung sind). rdf: about ist normalerweise der richtige Weg, wenn Sie sich auf eine Ressource mit einem global bekannten Bezeichner oder Standort beziehen.

3

Im Beispiel gibt es neben rdf noch einen weiteren Unterschied: ID und rdf: about. Wenn Sie rdf: Beschreibung verwenden, geben Sie die Beschreibung einer allgemeinen Ressource an und geben möglicherweise eine separate Typanweisung an.

Wenn das Containerelement anders als rdfs: Klasse im zweiten Beispiel ist, geben Sie auch Typinformationen an.

Die codierte Information ist die gleiche, aber die zweite Codierung ist prägnanter und lesbarer.

Auch sollten Sie wahrscheinlich die Klasse localName mit einem Großbuchstaben beginnen: Plaza und PlazaSinFuente.