Каково различие между этими двумя подходами?
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>
Вот хорошее сравнение: http://www.ibm.com/developerworks/xml/library/x-tiprdfai.html
Цитата из заключения:
Что касается выбора между rdf:ID и rdf:about, вы, скорее всего, захотите использовать первый, если вы описываете ресурс, который на самом деле не имеет значимого местоположения вне RDF-файла, который его описывает. Возможно, это локальная или удобная запись, или даже прокси для абстракции или объекта реального мира (хотя я рекомендую с большой осторожностью описывать такие вещи в RDF, поскольку это приводит к разного рода метафизической путанице; я придерживаюсь практики использования RDF только для описания записей, которые имеют смысл для компьютера). rdf:about обычно используется, когда вы ссылаетесь на ресурс с глобально известным идентификатором или местоположением.
В примере есть и другое отличие, кроме rdf:ID и rdf:about. Если вы используете rdf:Description, вы предоставляете описание общего ресурса и, возможно, предоставляете отдельную инструкцию типа.
Если элемент контейнера отличается от элемента rdfs:Class во втором примере, то вы также предоставляете сведения о типе.
Закодированная информация такая же, но вторая кодировка более лаконична и читаема.
Также вам, вероятно, следует начать Class localName с заглавной буквы: Plaza и PlazaSinFuente.