Rusmarc:index.html dc:creator nlr:npp
rusmarc:index.html exterms:creation-date "20 ноября 2001 г."
rusmarc:index.html dc:language "RU"
RDF – это лишь среда, абстрактная модель, которая определяет способ описания ресурсов с помощью отношений между ними, используя элементарные конструкции «Субъект – Предикат – Объект» и оперируя URI-ссылками вместо слов для обозначения сущностей внутри выражений.
Лекция 10
Синтаксис RDF/XML
Формат описания данных RDF с использованием синтаксиса XML называется RDF/XML. Основа RDF-XML файла имеет следующий вид:
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:people="http://www.xulplanet.com/rdf/people/">
</rdf:RDF>
В этом примере объявляются два пространства имен, одно из которых является пространством имен RDF, а второе, «people», является собственным пространством имен разработчика. Аналогичным образом можно «подключать» пространства имен, созданные другими разработчиками.
Объекты триплетов в форме литералов
Пусть необходимо описать следующий триплет:
Lt;http://www.xulplanet.com/rdf/people/Sandra> ® name ® Sandra
Триплет содержит три элемента – субъект, предикат и объект. В соответствии с требованиями RDF субъект и предикат должны задаваться в формате URI, объект – в виде URI или строкового литерала. Зададим элементы триплета следующим образом:
Субъект: <http://www.xulplanet.com/rdf/people/Sandra>
Предикат: <http://www.xulplanet.com/rdf/people/name>
Объект: Sandra
Добавим триплет в RDF/XLM файл. Это отношение является отношением между ресурсом и литералом. Этот тип отношений можно записать с помощью одного тега с двумя атрибутами:
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:people="http://www.xulplanet.com/rdf/people/">
Lt;rdf:Description
rdf:about="http://www.xulplanet.com/rdf/people/Sandra"
people:name="Sandra"/>
</rdf:RDF>
Для описания триплета здесь использован тэг Description. Это предопределенный тэг из пространства имен RDF. Атрибут about используется для указания субъекта отношения. Для указания объекта отношения использован атрибут people:name. Совместно с указанием пространства имен этот атрибут «разворачивается» в значение http://www.xulplanet.com/rdf/people/name, которое является предикатом нашего триплета.
Таким образом, для определения трехчастного утверждения в примере использовано указание пространства имен и присвоение значения объекта атрибуту с тем же именем, что и у предиката. В наше описание всегда можно добавить атрибут для еще одного отношения, имеющего тот же субъект:
Lt;rdf:Description
rdf:about="http://www.xulplanet.com/rdf/people/Sandra"
people:name="Sandra"
people:gender="female"/>
Не обязательно записывать тег Description каждый раз; достаточно добавить дополнительные атрибуты. Хотя можно записать и несколько одноименных тегов. Например, следующее описание эквивалентно предыдущему:
Lt;rdf:Description
rdf:about="http://www.xulplanet.com/rdf/people/Sandra"
people:name="Sandra"/>
Lt;rdf:Description
rdf:about="http://www.xulplanet.com/rdf/people/Sandra"
people:gender="female"/>
Следует помнить, что в RDF порядок записи отношений не важен. Это позволяет располагать теги или атрибуты в любом порядке следования.
RDF/XML имеет множество альтернативных способов для определения одних и тех же сущностей. Например, вместо использования атрибутов для определения предиката можно использовать тэг:
Lt;rdf:Description
rdf:about="http://www.xulplanet.com/rdf/people/Sandra">
<people:name>Sandra</people:name>
</rdf:Description>
Здесь атрибут предиката заменен тегом с тем же именем name. Оба способа дают одинаковый результат, но по ряду причин в каждом конкретном случае более предпочтительным может оказаться один из них. Использование атрибутов даёт более короткую запись и полезно при определении большого количества предикатов. Использование тегов более удобно при длинных значениях для лучшей читаемости, а также в случаях, когда значения содержат кавычки и их нельзя поместить в атрибут без экранирования. Кроме того, теги позволяют использовать один и тот же предикат несколько раз:
Lt;rdf:Description
rdf:about="http://www.xulplanet.com/rdf/people/Sandra">
<people:name>Sandra</people:name>
<people:name>Sandy</people:name>
</rdf:Description>
В этом примере определены два триплета с одним и тем же ресурсом и предикатом, но с разными целевыми значениями (объектами). Эти отношения нельзя записать с помощью атрибутов только потому, что тег не может содержать один и тот же атрибут дважды.
При необходимости можно совмещать обе формы записи. В следующем примере определены три триплета с использованием смешанной формы записи:
Lt;rdf:Description
rdf:about="http://www.xulplanet.com/rdf/people/Sandra"
people:name="Sandra">
<people:name>Sandy</people:name>
<people:gender>female</people:gender>
</rdf:Description>
Дата добавления: 2015-12-08; просмотров: 642;