W3C

Этот документ является неофициальным переводом исходной английской версии. Может содержать неточности и ошибки. © PhD Щербак Сергей, 2009
Комментарии к переводу оставляйте здесь! или на форуме || На главную

Начальное руководство по RDFa

Связь человеческого восприятия ресурса с машинным представлением

Заметка рабочей группы W3C, 14 октября 2008

Текущая версия:
http://www.w3.org/TR/2008/NOTE-xhtml-rdfa-primer-20081014/
Последняя версия:
http://www.w3.org/TR/xhtml-rdfa-primer/
Предыдущая версия:
http://www.w3.org/TR/2008/WD-xhtml-rdfa-primer-20080620/
Редакторы:
Бен Адида, Creative Commons <ben@adida.net>
Марк Бирбек, webBackplane <mark.birbeck@webBackplane.com>

Резюме

Сегодняшние Web-ресурсы разрабатываются по большей части для использования людьми. Несмотря на постепенное появление в сети данных, предназначенных для машинного восприятия, эти данные в основном распространяются отдельным файлом в определенном формате. Притом соответствие машинной версии человеческому представлению весьма ограничено. Как следствие, Web-браузеры могут обеспечить пользователей лишь минимальной поддержкой в анализе и обработке сетевых данных. Ведь браузеры только представляют информацию. Технология RDFa позволяет сопроводить графические данные машиночитаемыми подсказками с помощью набора XHTML-атрибутов. Мы покажем, как выразить простые и более сложные наборы данных посредством RDFa. В частности, как преобразовать существующий текст и ссылки, предназначенные для человеческого восприятия, в машиночитаемые данные, не повторяя при этом контент.

Данный документ является лишь начальным руководством по RDFa. Нормативную спецификацию по RDFa можно найти здесь: [RDFA-SYNTAX].

Статус текущего документа

Настоящий раздел описывает статус текущего документа на момент его публикации. Документ может быть заменен другими. Перечень текущих публикаций W3C и последних изменений этого технического отчета можно найти посредством указателя технических отчетов W3C на странице http://www.w3.org/TR/.

Данная заметка разработана совместными усилиями рабочих групп W3C: Развертывания Semantic Web [SWD-WG] и XHTML2 [XHTML2-WG]. Документ создан в рамках двух W3C Activity Semantic Web и HTML. Статус Заметки рабочей группы присваивается документу одновременно с переходом спецификации по синтаксису RDFa в Рекомендацию W3C.

Текущая версия руководства содержит небольшие редакторские правки предыдущей версии, а также дополнительный раздел (4.1) для тех, кто желает создать новые словари отношений. С внесенными изменениями можно ознакомиться здесь:differences document. Рабочие группы получили предложения по расширению данного документа, вероятно, это будет сделано в будущем, но не сейчас.

Комментарии касательно данной Заметки рабочей группы приветствуются и могут быть отправлены по адресу public-rdf-in-xhtml-tf@w3.org; Будьте добры, к теме сообщения добавляйте слово "comment". Все сообщения, полученные на вышеуказанный адрес, доступны для просмотра в архиве сообщений.

Публикации в виде рабочих проектов не предполагают поддержку со стороны W3C. Текущий документ является черновиком, поэтому в любой момент времени он может быть обновлен, заменен или вообще вытеснен из общественного пользования другими документами. Цитирование данного документа запрещено, за исключением его дальнейшего совершенствования.

При создании данного документа рабочая группа руководствовалась патентной политикой W3C от 5 февраля 2004. W3C поддерживает публичный список открытых патентов сформированный совместно с членами группы XHTML 2 публичный список открытых патентов, сформированный совместно с членами группы Развертывания Semantic Web. Вышеуказанные Web-страницы также содержат инструкции по раскрытию патента. Лица, обладающие актуальной информацией о патенте, который удовлетворяет основным требованиям, должны раскрыть эту информацию согласно пункту 6 патентной политики W3C.

Содержание

1 Введение
1.1 Сравнение HTML и XHTML
2 Сравнение HTML и XHTML 2 Добавление признаков в XHTML
2.1 Лицензирование ваших трудов
2.2 Обозначение названия и автора
2.3 Множественные элементы на странице
3 Продвигаемся далее
3.1 Контактная информация
3.2 Социальная сеть
4 Вы что-то говорили об RDF?
4.1 Пользовательские словари
5 Узнайте больше
6 Благодарности
7 Библиография


1 Введение

Глобальная сеть — это распределенное хранилище взаимосвязанной информации, предназначенной в основном для человеческого восприятия. Типовая Web-страница содержит заголовок, затем подзаголовок, блок курсивного текста, несколько абзацев текста среднего размера и, наконец, немного однословных ссылок. Эти инструкции по презентации материала будут в точности выполнены Web-браузерами. Однако только человек сможет понять, что заголовок — это на самом деле название блога, подзаголовок обозначает автора, курсивный текст — дату публикации статьи, а однословные ссылки — это категориальные метки. Таким образом, наблюдается большое расхождение между машинным и свойственным человеку представлениями.

Слева показана интерпретация браузером, а справа — восприятие той же страницы человеком. Можем ли мы сократить расхождения в восприятии информации, чтобы браузер увидел хотя бы часть того, что подвластно человеку?
presentation vs. semantics

Если сделать так, чтобы браузер получал смысловую информацию о графических элементах Web-страницы? Тогда время проведения вечеринки, предварительно объявленное внутри блога, элементарно можно будет перенести в календарь пользователя, а контактную информацию об авторе легко скопировать в адресную книгу. Пользователи смогут автоматически вернуться к предыдущим просматриваемым статьям посредством категориальных меток (часто называемых тегами). Фотография, скопированная с сайта и вставленная в школьный отчет, будет содержать обратную ссылку на фотографа. Когда сетевые данные, предназначенные для людей, сопровождаются специальными подсказками для программ, эти программы становятся значительно более полезными. Ведь они начинают понимать структуру данных.

Именно такие возможности дает RDFa для авторов XHTML-страниц. Используя нескольких простых XHTML-атрибутов, разработчик может выполнить разметку данных (предназначенных для восприятия человеком) с помощью машиночитаемых индикаторов, которые будут интерпретироваться браузерами и другими программами. Web-страница может содержать простые размеченные элементы (как название статьи) или более сложные (как, например, пользовательскую социальную сеть).

RDFa имеет ряд преимуществ по сравнению с обширными возможностями RDF [RDF], стандарта W3C для интероперабельных машиночитаемых данных. Читателям вовсе не обязательно понимать RDF. Достаточно лишь иметь базовый уровень знаний XHTML.

1.1 Сравнение HTML и XHTML

На сегодняшний день XHTML является расширенным форматом, в отличие от HTML. Поэтому разработчики RDFa ориентировались на XHTML 1.1. Web-издатели вправе применять разметку RDFa внутри HTML4: модель RDFa предполагает такой вариант использования. А большинство программ-анализаторов синтаксиса RDFa распознают атрибуты RDFa в любой версии HTML. Авторы текущей работы не знают таких прецедентов, чтобы какой-либо Web-браузер не справился с отображением HTML-документа после добавления в него разметки RDFa. Однако издатели должны понимать, что валидация RDFa в HTML4 на текущий момент выполнена не будет. Валидация атрибутов RDFa в XHTML осуществляется посредством XHTML1.1+RDFa DTD.

2 Добавление признаков в XHTML

Допустим Алиса ведет свой блог на http://example.com/alice, где публикует статьи профессионального и личного характера. Спроектируем несколько примеров разметки, чтобы проиллюстрировать варианты использования RDFa для Алисы. Законченную страницу с разметкой вы можете просмотреть отдельно.

2.1 Лицензирование ваших трудов

В нижней части блога Алиса декларирует свободное использование ее контекта при условии соблюдения лицензии. XHTML-код содержит ссылку на лицензию Creative Commons [CC] :

...
All content on this site is licensed under

<a href="http://creativecommons.org/licenses/by/3.0/">
    a Creative Commons License
</a>.

Человек четко понимает эту фразу, в частности осознает смысл ссылки с учетом содержимого текущей страницы. Очевидно, ссылка указывает на лицензию, где прописаны условия распространения контента страницы. К сожалению, когда Боб просматривает блог Алисы, его браузер видит только простую ссылку, которая с тем же успехом могла бы указывать на страницу приятеля Алисы или ее резюме. Чтобы браузер Боба смог понять, что ссылка на самом деле представляет собой условия лицензирования текущего документа, Алиса должна добавить некоторые признаки, определяющие тип ссылки.

Она может добавить эти признаки посредством атрибута rel (запишем его как @rel, чтобы не повторять слишком часто слово "атрибут"), который определяет отношение между текущей и связанной страницами. Значением атрибута является ключевое слово license,, специально предназначенное в XHTML для этих целей:

...
All content on this site is licensed under
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/">

    a Creative Commons License
</a>.

Это небольшое обновление позволит браузеру Боба истолковать ссылку с признаком, как лицензию блога.

Ссылка с признаком: ссылка указывает на лицензию для Web-страницы. Можем представить Web-страницы в виде вершин, ссылку — стрелкой, соединяющей эти вершины, а признак — надписью над стрелкой.
two Web pages connected by a link labeled 'license' and two notes with a 'license' relationship

2.2 Обозначение названия и автора

Алиса счастлива в связи с тем, что, добавив признак в XHTML, Боб теперь легко найдет авторскую лицензию на ее труды. Но как насчет названия и автора статьи? Здесь, вместо разметки ссылки, Алиса хочет добавить информацию к существующему на странице тексту. Название является заголовком, а ее имя — подзаголовком:

<div>
   <h2>The trouble with Bob</h2>

   <h3>Alice</h3>
   ...
</div>

Чтобы использовать h2 для обозначения названия страницы и h3 — для автора, Алиса применяет атрибут RDFa @property, предназначенный специально для разметки существующего текста XHTML-страницы.

<div xmlns:dc="http://purl.org/dc/elements/1.1/">

   <h2 property="dc:title">The trouble with Bob</h2>
   <h3 property="dc:creator">Alice</h3>
   ...
</div>

Зачем нужны dc:creator и dc:title, почему бы просто не использовать creator и title? Как оказалось, в XHTML не зарезервировано ключевых слов для этих двух понятий. Алиса могла бы самонадеянно написать: property="title". Но каким образом программа, которая это читает, узнает о каком названии идет речь: это название произведения, должности или документа владения недвижимостью? А если каждый Web-издатель изъявит претензию на собственные ключевые слова? В таком случае допустимых свойств станет слишком много, что приведет к беспорядку. Это все равно, что сохранять все файлы на рабочем столе компьютера, не создавая папок.

Чтобы привнести некоторую организованность, RDFa не распознает конструкцию property="title". Вместо этого Алисе стоит создать папку где-нибудь на сетевом сервере и просто использовать некий URL, откуда импортировать определенные значения creator и property="title". К счастью, сообщество Dublin Core [DC] уже определило словарь полезных понятий для описания документов, в том числе и creator вместе с title, где title обозначает название произведения. Итак, Алиса выполняет следующие действия:

  1. импортирует словарь Дублинского ядра с помощью xmlns:dc="http://purl.org/dc/elements/1.1/", что позволяет связать префикс dc с URL http://purl.org/dc/elements/1.1/;
  2. использует dc:creator и dc:title. в качестве сокращений от полных URL http://purl.org/dc/elements/1.1/creator, и http://purl.org/dc/elements/1.1/title.

Фактически в RDFa все названия свойств являются URL-ами.

Буквенные свойства: RDFa позволяет Алисе не просто соединить один URL с другим (связать, скажем, запись в блоге с URL лицензии Creative Commons), но и связать один URL со строковым значением, например, "The Trouble with Bob". Все стрелки поименованы соответствующими названиями свойств, которые также являются URL-ами.
relationship value is text

2.3 Множественные элементы на странице

Безусловно, блог Алисы содержит множественные записи. Иногда гостьей блога выступает сестра Алисы Ева, которая публикует свои посты. На главной странице блога представлены 10 последних записей, каждая из которых имеет собственное название, автора и вступительный абзац. Как в таком случае Алисе разметить название каждой такой записи, даже если они отображаются на одной и той же Web-странице? Для этих целей в RDFa есть атрибут @about. Данный атрибут позволяет задать конкретный URL, к которому применяется разметка вложенного RDFa:

<div xmlns:dc="http://purl.org/dc/elements/1.1/">
			
   <div about="/alice/posts/trouble_with_bob">
      <h2 property="dc:title">The trouble with Bob</h2>

      <h3 property="dc:creator">Alice</h3>
      ...
   </div>

   <div about="/alice/posts/jos_barbecue">
      <h2 property="dc:title">Jo's Barbecue</h2>

      <h3 property="dc:creator">Eve</h3>
      ...
   </div>

   ...

</div>

Опять же, можно представить это в виде схемы соединения URL-ов со свойствами:

Множественные элементы на странице: каждая запись блога представлена вершиной с определенными свойствами. Здесь мы воспользовались сокращенными надписями стрелок для экономии пространства и ясности схемы. Реальные надписи всегда соответствуют полным URL-ам.
two separate nodes, each with two properties

Алиса вправе воспользоваться тем же способом для постинга одной из фотографий Боба:

   <div about="/alice/posts/trouble_with_bob">
      <h2 property="dc:title">The trouble with Bob</h2>
      
      The trouble with Bob is that he takes much better photos than I do:
	
      <div about="http://example.com/bob/photos/sunset.jpg">
        <img src="http://example.com/bob/photos/sunset.jpg" />

        <span property="dc:title">Beautiful Sunset</span>
        by <span property="dc:creator">Bob</span>.
      </div>
   </div>

Обратите внимание на вложенное значение @about, соответствующее ссылке http://example.com/bob/photos/sunset.jpg. Оно "перекрывает" внешнее значение /alice/posts/trouble_with_bob при разметке внутри вложенного тега div. Ниже приведена схема, на которой абстрактно показаны данные, лежащие в основе этого нового фрагмента разметки:

Описание фотографии
single node with a creator and title property

3 Продвигаемся далее

Кроме того, Алиса хочет, чтобы ее персональная информация (адрес электронной почты, номер телефона и т. д.) была легко доступна ее приятелям для программного обеспечения управления контактами. На этот раз вместо описания свойств Web-страницы Алиса собирается описать свойства субъекта, то есть себя. Для реализации задуманного ей понадобится более серьезная структура, чтобы соединять множественные элементы, сами по себе обладающие свойствами.

3.1 Контактная информация

В блоге Алисы уже есть контактная информация.

<div>
   <p>
     Alice Birpemswick
   </p>

   <p>

     Email: <a href="mailto:alice@example.com">alice@example.com</a>
   </p>
   
   <p>
     Phone: <a href="tel:+1-617-555-7332">+1 617.555.7332</a>

   </p>

</div>

Словарь Дублинского ядра не предназначен для описания контактной информации. Здесь вы не найдете необходимых названий свойств, однако они есть в словаре Friend-of-a-Friend [FOAF]. Комбинирование различных словарей на одной странице — общепринятая практика RDFa. Это совсем несложно. Алиса импортирует словарь FOAF и объявляет foaf:Person. Для этих целей она использует атрибут RDFa @typeof, который позволяет объявить новый элемент данных заданного типа:

<div typeof="foaf:Person" xmlns:foaf="http://xmlns.com/foaf/0.1/">

...

Затем, Алиса может указать фрагмент содержимого страницы, соответствующий ее полному имени, адресу электронной почты и номеру телефона:

<div typeof="foaf:Person" xmlns:foaf="http://xmlns.com/foaf/0.1/">
   <p property="foaf:name">
     Alice Birpemswick
   </p>

   <p>

     Email: <a rel="foaf:mbox" href="mailto:alice@example.com">alice@example.com</a>
   </p>
   
   <p>
     Phone: <a rel="foaf:phone" href="tel:+1-617-555-7332">+1 617.555.7332</a>

   </p>
</div>

Заметьте, Алиса не устанавливала @about, как при добавлении метаданных к записям блога. С чем же она тогда связывает эти свойства? В сущности @typeof, расположенный внутри открывающего тега div, неявно задает тип свойств, которые размечены внутри этого div-тега. Имя, адрес электронной почты и номер телефона связаны с новой вершиной типа foaf:Person. У данной вершины нет идентифицирующего ее URL, поэтому она называется пустой вершиной (blank node).

Пустая вершина: в пустой вершине URL не определен. Вместо этого многие пустые вершины содержат атрибут @typeof, который устанавливает тип представляемых данных. Такой подход (отсутствие имени при наличии типа) особенно полезен при перечислении набора элементов на странице, например, событий в календаре, авторов статьи, приятелей внутри социальной сети и т. д.
single 'blank' node with 4 properties

3.2 Социальная сеть

Далее, Алиса хочет добавить информацию о своих приятелях, включив хотя бы их имена и адреса главных страниц. Простой XHTML выглядит следующим образом:

<div>
   <ul>
      <li>
        <a href="http://example.com/bob/">Bob</a>

      </li>
      <li>
        <a href="http://example.com/eve/">Eve</a>
      </li>
      <li>

        <a href="http://example.com/manu/">Manu</a>
      </li>
   </ul>
</div>

Сначала Алиса задает тип foaf:Person для всех своих приятелей.

<div xmlns:foaf="http://xmlns.com/foaf/0.1/">

   <ul>
      <li typeof="foaf:Person">
        <a href="http://example.com/bob/">Bob</a>
      </li>
      <li typeof="foaf:Person">

        <a href="http://example.com/eve/">Eve</a>
      </li>
      <li typeof="foaf:Person">
        <a href="http://example.com/manu/">Manu</a>

      </li>
   </ul>
</div>

После описания типа данных, с которым нам предстоит работать, каждый @typeof создает новую пустую вершину с индивидуальными свойствами. При этом идентификаторы URL задавать не нужно. Таким образом, Алиса может легко обозначить главные страницы своих приятелей:

<div xmlns:foaf="http://xmlns.com/foaf/0.1/">
   <ul>

      <li typeof="foaf:Person">
        <a rel="foaf:homepage" href="http://example.com/bob/">Bob</a>
      </li>
      <li typeof="foaf:Person">

        <a rel="foaf:homepage" href="http://example.com/eve/">Eve</a>
      </li>
      <li typeof="foaf:Person">
        <a rel="foaf:homepage" href="http://example.com/manu/">Manu</a>

      </li>
   </ul>
</div>

И, конечно, имена приятелей тоже:

<div xmlns:foaf="http://xmlns.com/foaf/0.1/">
   <ul>
      <li typeof="foaf:Person">

        <a property="foaf:name" rel="foaf:homepage" href="http://example.com/bob/">Bob</a>
      </li>
      <li typeof="foaf:Person">
        <a property="foaf:name" rel="foaf:homepage" href="http://example.com/eve/">Eve</a>

      </li>
      <li typeof="foaf:Person">
        <a property="foaf:name" rel="foaf:homepage" href="http://example.com/manu/">Manu</a>
      </li>

   </ul>
</div>

С помощью @property Алиса определяет, что связанный текст ("Bob", "Eve" и "Manu") по сути обозначает имена ее приятелей. Атрибут @rel позволяет указать, что активные ссылки — это их главные страницы. Алиса очень довольна. Ведь совсем небольшой объем дополнительной разметки позволил ей полностью описать приятную человеческому взору страницу и одновременно машиночитаемый набор данных.

Алиса устала повторно вводить информацию о своих приятелях на каждом новом сайте социальных сетей. RDFa дает возможность Алисе описать информацию о приятелях на своей Web-странице, а затем разрешить приложениям социальных сетей автоматически считать эти данные. До настоящего момента Алиса перечислила трех индивидов, однако не указала свою связь с ними. Это могут быть ее приятели или любимые поэты 17-го века. Чтобы обозначить хотя бы факт ее знакомства с этими людьми, она использует FOAF-свойство foaf:knows:

<div xmlns:foaf="http://xmlns.com/foaf/0.1/" about="#me" rel="foaf:knows">

   <ul>
      <li typeof="foaf:Person">
        <a property="foaf:name" rel="foaf:homepage" href="http://example.com/bob">Bob</a>
      </li>
      <li typeof="foaf:Person">

        <a property="foaf:name" rel="foaf:homepage" href="http://example.com/eve">Eve</a>
      </li>
      <li typeof="foaf:Person">
        <a property="foaf:name" rel="foaf:homepage" href="http://example.com/manu">Manu</a>
      </li>

   </ul>
</div>

Достаточно один раз соединить Боба, Еву и Ману с Алисой посредством rel="foaf:knows". Это достигается благодаря RDFa-концепции сцепления (chaining). Так как у @rel верхнего уровня отсутствует связанный @href, он соединяется с любой вложенной вершиной (в данном случае с тремя вершинами, заданными посредством @typeof). @about="#me" — это соглашение FOAF/RDF. Алису, как person, представляет URL http://example.com/alice#me. Причем это значение не будет конфликтовать с главной страницей Алисы http://example.com/alice.

Социальная сеть Алисы
8 node network with 12 relationships

4 Вы что-то говорили об RDF?

Технология описания ресурсов (RDF, Resource Description Framework) — это представление абстрактных данных, которым мы как раз и занимались в предыдущих примерах, описывая графовые структуры. Каждая стрелка в графе обозначена триплетом субъект-предикат-объект. Субъект — это вершина, из которой выходит стрелка. Предикат — сама стрелка, а объект — вершина, куда входит стрелка. Набор данных RDF часто называют RDF-графом, который обычно хранится в так называемом хранилище триплетов (Triple Store).

Рассмотрим наш первый пример графа:

single node with two properties

Два RDF-триплета этого графа написаны с использованием Notation3 syntax [N3], как в следующем фрагменте:

<http://www.example.com/alice/posts/trouble_with_bob>
    <http://purl.org/dc/elements/1.1/title> "The Trouble with Bob";
    <http://purl.org/dc/elements/1.1/creator> "Alice" .      

Стрелки TYPE ничем не отличаются от других стрелок, единственное — их надпись rdf:type соответствует основному свойству RDF, где пространством имен rdf является <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. Один из предыдущих примеров с контактной информацией можно представить следующим образом:

blank node with rdf:type foaf:Person

Суть RDF заключается в обеспечении пользователей универсальным языком для выражения данных. Единица данных может быть представлена произвольным числом полей, имена которых — это URL, повторно используемые любыми Web-издателями. Точно так же, как любой разработчик вправе перейти на любую Web-страницу, даже если он ее не создавал. Исходные данные представлены RDF-триплетами, собранными из разных источников и использующими язык RDF-запросов SPARQL [SPARQL]. Таким образом, можно найти "приятеля Алисы, создавшего элементы, в названии которых присутствует слово 'Боб'". Причем независимо от того, являются ли эти элементы постами блога, видеоклипами, событиями календаря или другими типами данных, еще не известными на текущий момент времени.

RDF является абстрактным машиночитаемым представлением данных, призванным максимизировать повторное использование словарей. RDFa — это способ выражения RDF-данных в XHTML, в рамках которого данные, предназначенные для человека, используются повторно.

4.1 Пользовательские словари

По ходу разметки своей страницы посредством RDFa у Алисы может возникнуть необходимость выражения данных (например, своих фотографий), которые не описаны в существующих словарях, как Dublin Core или FOAF. Так как RDFa является лишь представлением RDF, механизм RDF-схемы, открывающий возможности расширяемости RDF, для RDFa тот же. Однажды создав RDF-словарь, он может быть впоследствии использован для разметки RDFa (аналогично существующим словарям).

Инструкции по созданию RDF-схемы доступны в разделе 5 начального руководства по RDF [RDF-SCHEMA-PRIMER]. Создание RDF-схемы для RDFa на высоком уровне включает:

  1. Выбор URL, где будет размещен словарь, например, http://example.com/photos/vocab#.
  2. Размещение RDF-документа в этом URL, где определены классы и свойства, формирующие словарь. К примеру, Алиса может изъявить желание задать классы Photo и Camera, а заодно и свойство takenWith, которое связывает фотографию с камерой, с помощью которой была сделана первая.
  3. Использование словаря в XHTML+RDFa с обычным механизмом определения префикса, например, xmlns:photo="http://example.com/photos/vocab#", и typeof="photo:Camera".

Для тех, кто публикует документы в глобальной сети, ничего не стоит опубликовать и RDF-словарь, определив, таким образом, новые необходимые поля данных. RDF и RDFa полностью поддерживают распределенную расширяемость словарей.

5 Узнайте больше

Больше примеров, ссылок на инструментарий и информацию можно найти на странице RDFa Wiki.

6 Благодарности

Этот документ создан группой специалистов RDF-in-HTML Task Force, куда входят (в алфавитном порядке) Бен Адида, Марк Бирбек, Джереми Кэрролл, Майкл Хаусенблас, Шейн Мак-Керрон, Стивен Пембертон, Ману Спорни, Ральф Свик и Элиас Торрес. Этот труд не состоялся бы без помощи рабочей группы семантического развертывания и ее предыдущей инкарнации (рабочей группы лучших практик и развертывания Semantic Web); в частности не состоялся бы без поддержки председателей Тома Бейкера и Гуса Шрайбера (и предыдущего председателя Дэвида Вуда). Большое влияние также оказали: рабочая группа XHTML2, Эрик Миллер (предыдущий глава Semantic Web Activity) и Иван Герман (теперешний глава Semantic Web Activity). Комментарии официальных рецензентов — как более ранних версий текущего документа (Гари ЭнДжи и Дэвид Бут), так и последних его версий (Диего Берруета и Эд Саммерс) — позволили усовершенствовать документ. Боб Ду-Чарме также рецензировал работу и привнес полезные комментарии.

7 Библиография

RDFA-SYNTAX
RDFa в XHTML: синтаксис и обработка (См. http://www.w3.org/TR/rdfa-syntax.)
CC
Creative Commons (См. http://creativecommons.org.)
DC
Dublin Core Metadata Initiative (См. http://dublincore.org.)
FOAF
The Friend of a Friend (FOAF) Project (См. http://www.foaf-project.org/.)
N3
Notation 3 (См. http://www.w3.org/TeamSubmission/n3/.)
RDF
Resource Description Framework ( См. http://www.w3.org/RDF/.)
RDFHTML
RDF-in-HTML Task Force (См. http://www.w3.org/2001/sw/BestPractices/HTML/.)
RDF-SCHEMA-PRIMER
Начальное руководство по RDF — раздел 5 об RDF-схеме (См. http://www.w3.org/TR/2004/REC-rdf-primer-20040210/#rdfschema.)
SWD-WG
Рабочая группа развертывания Semantic Web (См. http://www.w3.org/2006/07/SWD/.)
SWBPD-WG
Рабочая группа лучших практик и развертывания Semantic Web (См. http://www.w3.org/2001/sw/BestPractices/.)
XHTML2-WG
Рабочая группа XHTML2 (См. http://www.w3.org/MarkUp/.)

Изменения

Предыдущая версия данного документа была сильно изменена, чтобы внести простоту и ясность. Эта версия включает небольшое количество обновлений:

Этот документ является неофициальным переводом исходной английской версии. Может содержать неточности и ошибки. © PhD Щербак Сергей, 2009
Комментарии к переводу оставляйте здесь!|| На главную || Перепечатка?

Valid HTML 4.01 Transitional Valid CSS!