RDF правильный подход к subClassOf - PullRequest
6 голосов
/ 13 мая 2010

В чем разница между этими двумя подходами?

а)

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

б)

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

Ответы [ 2 ]

5 голосов
/ 13 мая 2010

Вот вам приятное сравнение: http://www.ibm.com/developerworks/xml/library/x-tiprdfai.html

Цитата из заключения:

Что касается выбора между rdf: ID и rdf: about, вы, скорее всего, захотите использовать первый, если вы описываете ресурс, который на самом деле не имеет значимого местоположения вне файла RDF, который его описывает. Возможно, это локальная запись или запись удобства, или даже прокси для абстракции или объекта реального мира (хотя я рекомендую вам с большой осторожностью описывать такие вещи в RDF, поскольку это приводит к всевозможным метафизическим путаницам; у меня есть практика только использование RDF для описания записей, которые имеют значение для компьютера). rdf: about - это, как правило, путь, когда вы ссылаетесь на ресурс с общеизвестным идентификатором или местоположением.

3 голосов
/ 16 мая 2010

В этом примере есть также другое различие между rdf: ID и rdf: about. Если вы используете rdf: Description, тогда вы предоставляете описание общего ресурса и, возможно, предоставляете отдельный оператор типа.

Если элемент контейнера отличается от rdfs: Class во втором примере, вы также предоставляете информацию о типе.

Кодированная информация та же, но вторая кодировка более краткая и удобочитаемая.

Также вам, вероятно, следует начинать Class localName с заглавной буквы: Plaza и PlazaSinFuente.

...