Статьи

Добавьте семантическое богатство к вашей разметке с легкостью (RDF)

park-bench
Изображение предоставлено: Paul Goyette

В то время как все согласны с тем, что семантика полезна и становится все более и более постоянной, мало кто согласен с тем, как ее разрабатывать и использовать. В недавней статье Джона Аллсоппа о семантике в HTML 5 прагматически освещается ряд проблем, присущих ограничениям HTML, и отсутствие расширяемого механизма для будущей семантики является главным среди них. Другой вопрос, поднятый в статье Джона, касается механизма кодирования семантики в самой сети.

Недавно новый механизм для добавления семантики к (X) HTML-страницам, названный RDFEASE (сокращение от RDF Extracted Attributes from Styled Elements), получил некоторое внимание. Несмотря на то, что еще очень рано, RDF-EASE, который можно смешивать с CSS, обладает некоторыми интересными характеристиками, которые могут дать нам представление о будущем технологий семантической паутины.

Как далеко от «реального контента» слишком далеко для семантики?

RDF-EASE решила активно заимствовать средства как из RDFa, так и из CSS. В результате получается CSS-подобная абстракция семантики от базовой разметки документа. На странице чернового варианта спецификации RDF-EASE десять секунд продаж :

CSS это внешний файл, который определяет, как должен выглядеть ваш документ; RDF-EASE — это внешний файл, который определяет, что означает ваш документ.

Например, это означает, что вы можете заменить свой список чтения, помеченный в RDFa, следующим образом

<ul>
    <li typeof="biblio:book"><cite property="dc:title">One Hundred Years of Solitude</cite> by <span property="dc:creator">Gabriel García Márquez</span></li>
    <li typeof="biblio:book"><cite property="dc:title">The Alchemist</cite> by <span property="dc:creator">Paulo Coelho</span></li>
</ul>

с POSH HTML (без каких-либо RDFa) и в паре с RDF-EASE следующим образом:

 ul li {
    -rdf-typeof: "biblio:book";
}
ul li cite {
    -rdf-property: "dc:title";
}
ul li span {
    -rdf-property: "dc:creator";
}

Разработчики или (что более интересно) автоматизированные скребки могут использовать документы XHTML со слоем RDF-EASE поверх, чтобы автоматически создавать документы RDF для любой машиночитаемой цели, которую они хотят. Более того, изменение онтологий в будущем не потребует изменений в разметке. Поскольку RDF-EASE, якобы, проще для веб-дизайнеров создавать, чем другие формы семантической разметки, он может послужить катализатором для распространения семантики в большей части Интернета.

Хотя «больше семантики как пользы» не оспаривается, RDF-EASE вводит для меня концептуально проблематичное понятие: оно отодвигает семантику документа дальше от самого контента. Некоторые недостатки, которые я вижу для RDF-EASE, связаны с тем, что он «CSS-подобен»:

  • потенциально нарушает «разделение интересов», смешивая представление с семантикой, поскольку это дает возможность встраивать семантику (в форме RDF-EASE) непосредственно в таблицы стилей представления.
  • создает дополнительный слой косвенности и, следовательно, может еще больше запутать семантические проблемы, и фактически затруднит восприятие новичков семантическими идеями, а не облегчит их.
  • не обеспечивает те же виды обратной совместимости, что и RDFa, так как тонкие, необходимые различия в каскадных правилах и синтаксисе означают, что готовые парсеры CSS на самом деле не подходят для RDF-EASE.

Опять же, потенциальная проблема, которую я вижу, проявляется в форме явного отделения семантики контента от самого контента. Прекрасная особенность микроформатов и RDFa заключается в том, что они находятся там, где находится ваш контент, поэтому и люди, и машины могут получить то, что им нужно, из разметки в одном файле. Это уменьшает сложность (и, следовательно, стоимость) программ CMS и другого программного обеспечения, и, я утверждаю, потенциальную ошибку человека (разработчика).

С другой стороны, возможно, отделить семантику от разметки содержимого XML не так уж сложно. Вещи с RDF-EASE не являются полностью отрицательными. Вот некоторые из плюсов, которые я вижу для RDF-EASE:

  • легче понять и понять большему количеству людей, благодаря его несколько более простому объему и более знакомому CSS-подобному синтаксису (альтернативой обычно является XSLT ).
  • сохраняет нажатия клавиш путем каскадной семантики на группы элементов, а не требует применения семантических атрибутов к отдельным элементам, как это делает RDFa.
  • обеспечивает большую совместимость и упрощает преобразование между микроформатами и RDFa (предоставляя «механизм определения объема» nearest-ancestor()

Есть аргументы для обеих сторон, и в наши дни мы помещаем семантику практически везде, где можем, включая элементы (например , предложенный HTML5 headersectionaside ), атрибуты (например, relrevtitleabbr ). Поэтому, учитывая очевидную потребность в расширяемости в будущем, возникает вопрос, достаточно ли различны цели этой семантики, чтобы они гарантировали свои собственные интерфейсы. Хорошо ли, что семантика, кажется, вошла во все эти технические механизмы, а теперь, возможно, даже в «семантические таблицы стилей», или это плохо? Честно говоря, я не думаю, что кто-то еще знает.

Может ли RDF-EASE быть катализатором, который нам нужен для «персонализированных онтологий»?

Несмотря на все сказанное, мне интересно, действительно ли наилучший вариант использования RDF-EASE и его семантических абстракций заимствует из CSS в самом неожиданном месте: таблицы стилей пользователя.

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

Возможно, тогда наилучшим вариантом использования RDF-EASE является создание и распространение персонализированных онтологий . Вместо того, чтобы быть вынужденным полагаться на семантику автора документа, RDF-EASE может — теоретически — дать вам возможность персонализировать смысл контента сайта , подобно тому, как таблицы стилей пользователя позволяют персонализировать внешний вид сайта. Если бы инструменты создавались достаточно гибко, чтобы использовать словари и онтологии plug-and-play, возможно, вы могли бы даже использовать RDF-EASE, чтобы персонализировать поведение сайта.

Поначалу это может показаться не просто галочкой настроек, но по мере того, как мы продвигаемся в эпоху автоматизированных инструментов, которые фундаментально зависят от семантики документа, упрощение определения собственной семантики пользователями, несомненно, окажется столь же важным для принципов. как свобода слова и самовыражения, так как движение Creative Commons сегодня выступает за «ремикс», а инициативы с открытым исходным кодом — для индустрии программного обеспечения.

Не нравится, что ваши отношения определяются как «это сложно», или что вас просят указать пол на тысячах сайтов, где ваши единственные варианты — «мужской» или «женский»? Возможно, если бы эти сайты использовали семантические онтологии в качестве модели для этой базы данных, вы могли бы написать свое собственное преобразование RDF-EASE, чтобы переопределить параметры веб-сайта теми, которые вы предоставляете. Кроме того, поскольку ваш выбор будет связан с другими онтологиями, внезапно ваши инструменты будут взаимодействовать с вами более значимыми для вас способами, не требуя предварительного знания или благословения разработчика для этого .

Это то, что я бы назвал персонализированной сетью.