Сделайте свои HTML-страницы более разумными с помощью формата RDFa 1.1 Lite

Оптимизация для улучшения работы поисковых машин и других изощренных инструментов

В процессе своей эволюции концепция Resource Description Framework (RDF) порождает все более практичные форматы. Особенного успешным стал формат RDFa (RDF annotation) при использовании в качестве системы аннотирования HTML-документов, представленных в Интернете. Этот формат поддерживается Google и другими поисковыми машинами в форме т. н. Rich Snippets. Появление микроданных и спецификации Schema.org послужило стимулом к дальнейшему упрощению формата RDFa. Консорциум W3C принял соответствующие меры и создал радикально упрощенную версию под названием RDFa 1.1 Lite. Прочитав предлагаемую статью, вы получите начальное представление об RDFa Lite и сможете приступить к созданию и обработке форм на основе Rich Snippets.

Уче Огбуйи (Uche Ogbuji), главный консультант, Fourthought

Photo: Уче ОгбуйиУче Огбуйи (Uche Ogbuji) является консультантом и соучредителем корпорации Fourthought, которая занимается поставкой и консультационными услугами в области XML-решений для корпоративного управления знаниями. Корпорация Fourthought разрабатывает 4Suite, платформу с открытым исходным кодом для XML, RDF и приложений управления знаниями. Огбуйи также является ведущим разработчиком Versa - языка запросов RDF. Специалист по компьютерной технике и писатель, Огбуйи родился в Нигерии, в данной время проживает и работает в г. Боулдер, Колорадо, США. Связаться с ним можно по электронной почте uche@ogbuji.net.



03.10.2012

Обзор

Исторически веб-технологии концентрировались на "впечатлениях и ощущениях", порождаемых веб-страницами и веб-сайтами. Самыми важными были следующие соображения: визуально привлекательный дизайн, ссылки и JavaScript-приложения, работающие надлежащим образом и поддерживающие новейшие мультимедийные функции. Все более важным стало нахождение в верхней части результирующих списков, выдаваемых поисковыми машинами. К сожалению, поисковые машины не видят дизайна веб-сайта и не ощущают динамики его поведения; они видят лишь разметку, которая сводится для них к типу шрифта (полужирный, курсив и т. д.) или к выделению того или иного блока контента.

Часто используемые сокращения

  • HTML: HyperText Markup Language
  • RDF: Resource Description Framework
  • SEO: Search Engine Optimization

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

Концепция RDF весьма проста, однако, к сожалению, многие ее аспекты слишком сложны при описании, обсуждении и обработке. Применительно к веб-технологиям типичная рекомендация звучит следующим образом: "Убедитесь в том, что обычный сетевой автор сможет изучить предлагаемую технологию за один день". Для решения этой задачи потребовалось много лет, однако теперь, наконец, появилась разновидность RDF, которая успешно проходит этот тест, а именно RDFa 1.1 Lite.

RDFa Lite — это упрощенная версия RDFa (RDF annotations). RDFa представляет собой механизм для кодирования полной модели данных RDF в рамках HTML и подобных словарей. Сложность модели RDFa несколько превышает пороговое требование "возможность изучения за один день", поэтому группа WHAT WG (которая создала HTML5) создала HTML-спецификацию под названием Microdata. Спецификация Microdata стала ядром Schema.org (см. раздел Ресурсы), — инициативы по кодификации способов разметки данных в сети. Со временем спецификация Microdata получила статус W3C Working Draft (действующий проект)(см. раздел Ресурсы), однако защитники RDF и RDFa считали, они смогли бы продвигать RDFa, если бы у них имелось подмножество RDFa, столь же простое как и Microdata. И вот, наконец, мы получили преимущества отработанной модели данных, но с простым синтаксисом.

В прошлом году основатели Schema.org провели семинар для сообщества специалистов по структурированным веб-данным. Я посетил этот семинар, на котором Бен Адида (Ben Adida), редактор спецификации RDFa, продемонстрировал нам работу, которую группа RDF Web Applications Working Group выполнила при создании RDFa Lite. Весьма положительные отзывы о предварительной версии этой спецификации вдохновили организацию W3C на интенсификацию дальнейших усилий в этой области. RDFa 1.1 Lite — это весьма лаконичный действующий проект (working draft) от организации W3C (вполне возможно, что к тому моменту, когда вы будете читать этот текст, этот проект уже превратится в официальную рекомендацию W3C).

Прочитав эту статью, вы узнаете о RDFa 1.1 Lite и сможете быстро приступить к созданию HTML-страниц, включенных в сеть данных. Предполагается, что читатель уже имеет представление о HTML.


Атрибуты для уточнения контента

Совместимость

Формат RDFa совместим со спецификациями HTML 4, HTML 5 и XHTML.

RDFa предусматривает разметку структурированных данных в рамках веб-сайта. Вы не сосредотачиваетесь лишь на том, как контент должен выглядеть с точки зрения пользователя. Вы можете пометить дату как дату, имя человека как имя человека, событие как событие, организацию как организацию и т. д. RDFa Lite редуцирует высокий уровень амбиций до простейших вещей, которые вполне способны работать: к HTML или к XHTML добавляется всего пять атрибутов. Машина способна с легкостью интерпретировать эти атрибуты, чтобы извлечь из веб-страницы полезные данные. Если говорить коротко, то это все.

В листинге 1 показан пример "чистого" HTML-кода для онлайновой статьи.

Листинг 1. Чистый HTML-код для онлайновой статьи
<body>

<a href="http://www.ibm.com/developerworks/">IBM developerWorks</a> >
 <a href="http://www.ibm.com/developerworks/web/">Web development</a> >
 <a href="http://www.ibm.com/developerworks/views/web/library.jsp">Technical library</a>

<div>
An introduction to RDF by <a href="http://uche.ogbuji.net">Uche Ogbuji</a>, 
Partner, Zepheira.
</div>

<div>Published: 01 Dec 2000</div>

<div>
<b>Summary</b>: This article introduces Resource Description Framework (RDF),

Модель RDF, разработанная консорциумом W3C для веб-метаданных, использует язык XML в качестве синтаксиса для взаимного обмена. Важнейшая цель RDF состоит в упрощении работы автономных агентов, что очистило бы Интернет посредством совершенствования поисковых машин и сервисных каталогов. Для получения дополнительной информации об RDF прочитайте документ Введение в RDF (developerWorks, декабрь 2000 г.).

В оставшейся части этой статьи аннотации HTML-кода в листинге 2 будут рассмотрены с целью демонстрации всех пяти атрибутов спецификации RDFa Lite: vocab, typeof, property, resource, prefix.

Листинг 2. HTML-код для демонстрации RDFa Lite
<div>Tags for this article: introduction, rdf, tutorial.</div>

<div>
  This article's text is suitable for a wide audience, with a Fog index of 10.2.
</div>

</body>

Атрибут vocab

В листинге 3 показано изменение элемента body с целью упаковки описания всей статьи.

Листинг 3. Использование атрибута vocab
<body vocab="http://schema.org/">
    ...
</body>

Атрибут vocab готовит почву в RDFa Lite. Он указывает на словарь, который по умолчанию будет использоваться в аннотациях. В нашем примере используется словарь, соответствующий стандарту Schema.org, поэтому мы выбираем элемент типа wrapper (упаковщик), чтобы пометить его надлежащим образом. У вас нет необходимости использовать элемент body, однако вам следует использовать элемент, который упаковывает все аннотации.

Атрибут typeof

В листинге 4 shows the outline of a div to enclose the one article being described.

Листинг 4. Использование атрибута typeof
<div typeof="Article">
    ....
</div>

Атрибут typeof помечает свой элемент как описание или как представление экземпляра заданного класса. Посредством обозначения vocab, заданного стандартом Schema.org, этот элемент помещается в соответствующий контекст, в результате чего становится ясно, с каким определением "article" (статья) мы имеем дело. Article— это один из классов, специфицированных стандартом Schema.org. Каждое определение класса документировано, в том числе соглашения по его использованию и ассоциированные с ним свойства.

Атрибут property

В листинге 5 показан фрагмент, размечающий заголовок статьи.

Листинг 5. Использование атрибута property
<div property="name">An introduction to RDF</div>

Атрибут property предоставляет свойство объекта, который только что был декларирован как объект Article стандарта Schema.org. Свойство name был задано для того, чтобы дать заголовок этому объекту Article.

В листинге 6 показаны первые три атрибута RDFa Lite.

Листинг 6. Три атрибута RDFa Lite
<body vocab="http://schema.org/">
...
<div typeof="Article">

<div property="name">An introduction to RDF</div>

...More information regarding this article, or even the content itself...

</div>
...
</body>

В листинге 6 демонстрируются способ, посредством которого RDFa сообщает показанную ниже информацию таким образом, чтобы ее смогла обработать машина.

Данный HTML-документ представляет собой статью, соответствующую спецификации Schema.org, 
с заголовком "An introduction to RDF" (Введение в RDF)

Более изощренные утверждения

Спецификация HTML уже предоставляет доступное для машинной обработки место для размещения заголовка статьи — в элементе head. Однако словарь Schema.org позволяет нам сообщить о статье гораздо больше информации, чем один лишь заголовок, в том числе конструкты, выходящие за рамки HTML (и действительно, на момент написания статьи этот словарь содержал 46 свойств). Даже в случае таких свойств, как заголовок, возможности HTML не всегда оказывались достаточными. Представьте себе, что у вас есть страница, включающая индекс статей, или начальная страницы с результатами поиска. Вам пришлось бы на одной HTML-странице описать несколько реальных статей. HTML не располагает никакими возможностями на этот случай, однако Schema.org позволяет нам иметь несколько элементов div— по одному для каждой статьи, на которую производится ссылка.

Атрибут resource

Если вы способны описать на одной странице несколько объектов, то становится важной возможность предоставить каждому из этих объектов соответствующий идентификатор. RDFa предоставляет для этой цели атрибут resource. В листинге 7 показан фрагмент, аннотирующий автора статьи.

Листинг 7. Атрибут resource
<p property="author" resource="#uche.ogbuji" typeof="Person">
   <span property="name">Uche Ogbuji</span>, <span property="jobTitle">Partner</span>,
   <span property="worksFor">Zepheira</span>. 01 Dec 2000.
</p>

Данный фрагмент добавляет информацию о том, что "Автор данной статьи — это человек по имени Uche Ogbuji, который является компаньоном в компании Zepheira". Обратите внимание на то, как p элемент был помечен в качестве описания нового объекта типа Person согласно Schema.org. Кроме того, элемент p имеет элемент property, который соединяет этот объект с объектом, заключающим в себе статью.

Атрибут resource предоставляет объекту, описанному в элементе p, идентификатор, который идентифицирует соответствующий фрагмент по отношению к URL-указателю самой страницы. Например, если эта страница находится по адресу http://www.ibm.com/developerworks/library/w-rdf, то теперь существует объект, который имеет идентификатор http://www.ibm.com/developerworks/library/w-rdf#uche.ogbuji.

Zepheira — это организация. В качестве дальнейшего развития этого примера мы можем выразить <span property="worksFor">Zepheira</span> как еще один вложенный объект, используя для этого класс Organization, описанный в спецификации Schema.org. RDFa позволяет нам аннотировать все, что мы считаем важным. В данном случае нас интересуют более подробные сведения об авторе, а не об организации, в которой он работает.

Атрибут prefix

Заключительный атрибут, описанный в спецификации RDFa Lite —prefix— используется для объединения нескольких словарей в одном описании.В листинге 8 показано, каким образом можно аннотировать индекс "читабельности" статьи.

Листинг 8. Атрибут prefix
<div prefix="fben: http://rdf.freebase.com/ns/">
  This article's texts is suitable for a wide audience, with a Fog index of 
<span property="fben:gunning_fog_index">10.2</span>
</div>

Спецификация Schema.org не содержит свойства для индекса читабельности текста Gunning-Fog — в отличие от Freebase. Freebase — несколько более структурированная разновидность Wikipedia — управляет схемами и описаниями для широкого разнообразия объектов и типов объектов. Я задал префикс для ссылки на свойства согласно спецификациям Freebase, а не словарю Schema.org по умолчанию, а затем использовал этот префикс для текста, представляющего собой значение индекса читабельности для данной статьи.


Обобщающий пример

В листинге 9 сведены воедино все продемонстрированные к настоящему моменту элементы, а также добавлены такие элементы, как breadcrumb.

Листинг 9. Использование всех пяти атрибутов RDFa Lite
<body vocab="http://schema.org/">
...
<div property="breadcrumb">
  <a href="http://www.ibm.com/developerworks/">IBM developerWorks</a> >
    <a href="http://www.ibm.com/developerworks/web/">Web development</a> >
    <a href="http://www.ibm.com/developerworks/views/web/library.jsp"
        >Technical library</a>
</div>

<div typeof="Article">

<div property="name">An introduction to RDF</div>

<p property="author" resource="#uche.ogbuji" typeof="Person">
   by <span property="name">Uche Ogbuji</span>, <span property="jobTitle">Partner</span>,
   <span property="worksFor">Zepheira</span>.
</p>

<div>Published: <span property="datePublished">01 Dec 2000</span></div>

<div property="description">
  <b>Summary</b>: This article introduces Resource Description Framework (RDF),
  developed by the W3C for Web-based metadata, using XML as an interchange syntax.
  RDF's essential aim is to make work easier for autonomous agents, 
  which would refine the Web by improving search engines and service directories. 
  Author Uche Ogbuji gives an overview of RDF aspects from schemas to usage scenarios.
  The article assumes that you are already familiar with XML.
</div>

<div>Tags for this article: 
  <span property="keywords">introduction</span>,
  <span property="keywords">rdf</span>,
  <span property="keywords">tutorial</span>
.</div>

<div prefix="fben: http://www.freebase.com">
  This article's texts is suitable for a wide audience, with a Fog index of 
  <span property="fben:gunning_fog_index">10.2</span>.
</div>

</div>
...
</body>

С точки зрения структуры здесь нет ничего нового, однако в листинге 9 показано несколько других свойств Schema.org, которые вы сможете использовать для какой-либо статьи.


Заключение

Помимо Schema.org существуют и другие словари, в том числе Dublin Core (имеющий базовую поддержку в RDFa) и Facebook Social Open Graph. Тем не менее, стандарт Schema.org в последнее время получил мощную поддержку, особенно с учетом своих выдающихся апологетов. Это новейшее достижение в длинном перечне событий в такой сфере, как оптимизация поисковых механизмов (search-engine optimization, SEO).

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

Ресурсы

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Open source, Web-архитектура
ArticleID=838812
ArticleTitle=Сделайте свои HTML-страницы более разумными с помощью формата RDFa 1.1 Lite
publish-date=10032012