Рубрикатор сайта:
- English (0)
- Protege (5)
- Semantic Web (34)
- Ukranian (0)
- Дмитрий Павлов (4)
- Общее (28)
- ORA-SPATIAL (3)
- Russian (18)
- UANET (7)
- Наталья Кеберле (2)
- социальные сети (2)
{RDF+XSLT}
RDF Store, Semantic Web, Shcherbak 14.02.2008
УДК 519.7:007.52
РАЗВИТИЕ ТЕХНОЛОГИЙ SEMANTIC WEB: ОБРАБОТКА RDF-ГРАФОВ НА ОСНОВЕ XSLT
Н.В. Рябова, С.С. Щербак
Статья посвящена актуальной проблеме повышения эффективности компьютерного анализа информации применительно к технологиям Semantic Web. Рассмотрены вопросы разработки технологии автоматической обработки RDF-графов для получения интуитивно понятных представлений содержимого произвольных RDF-графов.
1. Введение
На наших глазах WWW пережила уже два этапа развития: вначале предоставляя информацию в виде вручную сгенерированных HTML-страниц, затем появилась возможность генерировать страницы из баз данных, хранящихся на Web-серверах. Однако оба эти этапа были ориентированы на обработку информации человеком-специалистом и читателей – пользователей компьютеров. Чтобы противостоять неуклонному и неуправляемому расширению «всемирной паутины», которая стала угрожающе запутываться, ведущими учеными и разработчиками в области Computer Science был выдвинут лозунг «превратить информационное Интернет-пространство в пространство знаний». Web следующего, третьего поколения, должна обеспечивать машинную обработку информации с учетом ее семантики (machine accessible semantics).
Новую парадигму Web ее создатели и идеологи назвали Semantic Web [1], делая тем самым акцент на требовании эксплицитного представления семантики в Web, понятного для программных агентов. Росту популярности и широкому распространению технологий Semantic Web способствует разработка и внедрение WWW-консорциумом (W3C) ряда инициатив, связанных со стандартизацией синтаксической и семантической разметки электронных документов, особенно технологий XML и RDF, поддерживающих семантическую совместимость. В связи с этим, в данной работе предлагается технология обработки RDF-графов необходимая для получения интуитивно понятных представлений содержимого RDF графов.
The Resource Description Framework (RDF) является языком общего назначения для представления информации в Web [2]. RDF применяется для того, чтобы предоставить информацию о ресурсах в терминах простых свойств и значений этих свойств. Ресурсом может выступать все что угодно, чему можно приписать некоторый URI(Uniform Resource Identifiers), даже то, что потенциально может быть не доступно через Интернет. Идея описания ресурсов в терминах простых свойств, их значений и применения URI для идентификации ресурсов дает возможность представить информацию о ресурсах в RDF как граф узлов и дуг, представляющих ресурсы, их свойства и значения этих свойств [3].
Несколько слов о протоколе Open Knowledge Base Connectivity (OKBC)[8]. Этот протокол разработан в Стэндфордском университете для обеспечения единства запросов и создания унифицированного интерфейса для знание-ориентированных систем, основанных на фреймах.
Для обработки XML - документов можно применить различные языки программирования, например, Java с использованием низкоуровневых API, таких как SAX или DOM, но наиболее удобным представляется язык XSLT (eXtensible Stylesheet Language – Transformation, который получил статус рекомендации W3C 16 ноября 1999г.) – Расширяемый язык таблиц стилей для трансформации [5]. Одним из преимуществ этого языка является его схожесть с продукционными правилами и относительная схожесть с инструкциями на естественном языке, а главное этот язык позволяет трансформировать структуру XML документов в другое представление и/или формат. Общая схема трансформации документа представлена на рисунках 1 и 2. Для того чтобы трансформировать документ необходимо правила трансформации XSLT применить к документу. Трансформация выполняется с помощью XSLT-процессора. В результате трансформации XSLT- процессор генерирует необходимое представление исходного документа (сериализация документа).
Рисунок 1. Общая схема преобразования документа с использованием XSLT
Рисунок 2. Сериализация документа в нужном формате.
6. Технология обработки RDF- графов с помощью XSLT
<xsl:apply-templates select=”ns:&rdf_node;”>
<!—тело преобразования –>
<xsl:template>
1. Вывод значения атрибута узла
2. Вывод значений атрибутов дочернего узла
3. Вывод значений атрибута подузла узла, который является дочерним узлом текущего узла
4. Сортировка по значению атрибута
5. Идентификация узлов RDF-графа
Вывод URI конкретного узла
Вывод URI подузлов текущего узла
6. Вывод rdfs-label узла RDF графа
7. Выделение и обработка узла с конкретным значением атрибута
Описание операций с пояснениями к XSLT-шаблонам представлены ниже. Для выполнения XSLT шаблонов представленных в описаниях операций необходимо модифицировать базовый XSLT файл или воспользоваться XSLT-файлами[15].
Процесс преобразования RDF в формат HTML представлен на рис. 4.
Базовый XSLT файл для преобразований RDF – графа
Рисунок 5. Базовый XSLT файл для преобразований RDF – графа.
Вывод значения атрибута узла
Для вывода значения атрибута rdf_attr rdf_node, необходимо воспользоваться следующим шаблонным правилом:
Вывод значений атрибутов дочернего узла
Для вывода значений атрибутов всех подузлов node2 узла node1, необходимо применить следующее шаблонное правило:
Описание шаблона:
Для всех подузлов node2 узла node1, rdf:resource которых содержит ссылку(URI) на конкретный узел node2
создать переменную temp и сохранить в нее значение текущего узла, т.е. значение rdf:resource, содержащее конкретное URI узла node2.
<xsl:variable name=”temp” select=”.”/>
Для всех узлов rdf_instance rdf:about, которых соответствует rdf:resource rdf_node
Вывести значение атрибута(ов)
<xsl:value-of select=”@ns:&rdf_attr”/><br/>
Вывод значений атрибута подузла узла, который является дочерним текущего узла
Для вывода значений атрибута rdf_attr всех подузлов node3 узлов node2, которые является подузлами текущих узлов(node1), необходимо применить следующее шаблонное правило:
Шаблон для обработки узла node3
Сортировка по значению атрибута
Для того чтобы отсортировать узлы node1 по атрибуту rdf_attr, необходимо добавить <xsl:sort select=”@ns:&rdf_attr;”/> в шаблонное правило обработки узлов node1:
Идентификация узлов RDF-графа
Чтобы вывести значение URI узла, необходимо в шаблонном правиле определить переменную и инициализировать ее значением атрибута rdf:about, как показано в примере:
Вывод URI подузлов текущего узла
Чтобы вывести значение rdfs-label узла, необходимо добавить следующую инструкцию в шаблонное правило:
<xsl:value-of select=”@rdfs:label”/><br/>
Выделение и обработка узла с конкретным значением атрибута
1. Разработать RDF-документ с помощью редактора онтологий Protege .
2. Составить файл с описанием требуемого преобразования на XSLT, модифицировав соответствующим образом базовый XSLT файл для преобразований RDF – графа [предлагаемый в работе], или прилагаемые к работе образцы.
3. Изменить кодировку RDF файла, генерируемого Protege-2000 c UTF-8 на windows-1251 для платформы Windows, или с UTF-8 на KOI8-R для Linux, иначе XSLT процессор сгенерирует множество ошибок. Для этого открываем файл с расширением .rdf и изменяем <?xml version=’1.0′ encoding=’UTF-8′?> на <?xml version=’1.0′ encoding=’windows-1251′?> (пример для Windows).
4. Команда для запуска преобразования c помощью процессора XSLT Saxon версии 7.8: java -jar saxon7.jar -o [имя результирующего файла].htm [имя rdf файла].rdf [имя файла с XSLT преобразованием].xsl
5. Пример: java -jar saxon7.jar -o developer.htm PersonalPage.rdf rdf_developer.xsl
6. Примечание: предполагается, что rdf файлы, генерируемые Protege-2000 находятся в рабочей директории процессора XSLT, иначе необходимо указывать полные пути к файлам rdf, xslt.
1. Любая операционная система, на которой может работать виртуальная машина Java, например, Windows, Linux, FreeBSD.
2. Виртуальная машина Java не ниже версии 1.4.2
3. Java реализация бесплатно-распространяемого XSLT-процессора Saxon версии не ниже 7.8, “умеющего” работать с шаблонами преобразований XSLT версии 2.
9. Достоинства технологии
1. Описание особенностей обработки RDF-графов, которые позволяют применить мощные механизмы XSLT технологии для трансформации RDF –графов.
2. Практическое применение технологии RDF для управления содержимым WEB – сайтов, порталов и др. на основе среды Protege.
3. Время, затрачиваемое на написание RDF-преобразования с помощью описанной технологии, приблизительно равно времени, затрачиваемом на написание XML преобразования.
Основные недостатки обусловлены, прежде всего, тем, что основное предназначение XSLT обработка древовидных структур, поэтому иногда бывает сложно выполнить преобразование графа к нужному виду. Кроме того, технология преобразования RDF –графов не избавляет от таких недостатков XSLT технологии, как:
1. Отсутствие средств, позволяющих производить точные математические вычисления;
2. Повышенная сложность и иногда невозможность реализации сложных трансформаций документов;
Литература
1. Berners-Lee T. Weaving the Web.- Harper, San Francisco, 1999.
2. RDF/XML Syntax Specification http://www.w3.org/TR/rdf-syntax-grammar
3. RDF Premier http://www.w3.org/TR/rdf-primer/
4. Спецификация языка XPath http://www.w3.org/TR/xpath
5. Спецификация языка XSLT http://www.w3.org/TR/xslt
6. Проект Semantic Web http://www.w3c.org/sw
7. Спецификация языка RDFS http://www.w3c.org/rdfs
8. Open Knowledge Base Connectivity (OKBC) http://www.ai.sri.com/~okbc/
9. Проект Protege http://protege.stanford.edu
10. http://smi-web.stanford.edu/projects/protege/protege-rdf/protege-rdf.html
11. RDF Schema Support in Protege-2000 http://protege.stanford.edu/doc
12. Кэй М. XSLT. Справочник программиста. – Пер. с англ. – СПб.: Символ-Плюс, 2002. – 1016 с.: ил.
13. Валиков А.Н. Технология XSLT. – CПб.: БХВ-Петербург, 2002. – 544 с.: ил.
14. Shelley Powers. Practical RDF.- O’Reilly, 2003.- 350 c.
15. http://ontolib.com
Популярность: 43%
Вопросы? {FAQ}
Общее 03.02.2008
Здесь вы можете задавать мне вопросы.
Я по мере возможности буду на них отвечать ))
На наиболее интересные вопросы буду отвечать в виде заметок на сайте ))
Вопрос 1:
Где взять онтологии для использования в своих проектах?
Ответ:
Вы можете использовать открытую онтологию OpenCyc (весьма легко интегрируется с Jade).
Кроме того, доступны для скачивания онтологии на DBpedia и protege.stanford.edu.
Вопрос 2:
каким образом можно использовать настраиваемый интерфейс Protege для графовой модели памяти? т.е. как бы подменить используемую в Protege фреймовую модель на графовую.
где можно об этом почитать?
Ответ:
Подменять не нужно, просто надо выбрать какую использовать версию редактора Protege - Protege-Frames или Protege-OWL.
Графовый (Protege-OWL) описан здесь
Protege-Frames описан здесь. Этот Protege использует протокол Open Knowledge Base Connectivity. что это почитать можно на ontolib.com в глоссарии и ссылки получить можно там же.
Вопрос 3:
В каких больших коммерческих проектах технологии SW применены? Хотелось бы увидеть архитектуру этих приложений и по-возможности экономический эффект от применения semantic web по сравнению скажем с WEB 2.0.
Ответ:
Один из наиболее интересных коммерческих проектов Semantic Web это проект DBin.
Проект весьма неоднозначный, с одной стороны в нем есть черты rdf store, с другой - социальной сети. О нем немного можно почитать здесь.
В качестве основы для приложения Dbin используется среда Eclipse и новая парадигма Semantic Web Communities.
Анализом экономического эффекта от внедрения SW я не занимался, но при прочих равных разработку программного обеспечения в парадигме Semantic Web выполнить проще, а значит и дешевле. А возможности при этом будут выше. Как минимум синтаксическая и семантическая интероперабельность приложения SW будет гораздо выше, чем у любого другого приложения, построенного на классических технологиях.
К слову, интероперабельность - это способность к взаимодействию!
Вопрос 4:
Что полезного дает использование RDF для описания структуры сайта и для “сайтоделания” вообще?
Разве недостаточно “голого” XML? Насколько существенно использование в проекте именно RDF-графов?
Ответ:
RDF - это средство Semantic Web, которое сделает когда-то возможной автоматическую обработку информации агентами!
RDF - это семантическая разметка данных. Анализ такой разметки позволяет агенту делать логический вывод.
XML ориентировался на отделение структуры данных от их визуального представления, а RDF позволил внести в структуру данных XML понятие семантики. Т.е. позволил данные на веб-страницах представлять в виде наборов связанных отношениями объектов.
Анализ отношений между объектами и есть основа логического вывода.
В своих проектах более целесообразно использовать OWL (как более развитую альтернатива RDF).
Если Вы все-таки останавливаете свой выбор на RDF, то более эффективным будет использование RDF в синтаксисе n3.
RDF в XML/RDF синтаксисе весьма “тяжёлое” решение.
Конкретно, на сайте ontolib.com были доступны два вида информации, первый - html, второй - rdf со схемой данных rdfs. Внешняя программа анализируя содержимое сайта могла выделить ссылку на RDF+RDFS, а уже по ним эта программа должна (в идеале) осуществлять более точный и “осмысленный” анализ содержимого сайта.
Вопрос 5:
Где можно скачать руководство пользователя для Protégé? русскоязычный вариант предпочтительнее, но и на английском дока не помешала бы…
Ответ:
Руководства пользователя, программиста и другая документация по Protege на английском здесь.
Переводы руководств (и многое другое) можно скачать здесь!
Вопрос 6:
Можно ли визуализировать RDF с помощью CSS?
Ответ:
Нет, но можно с помощью XSL.
В комментариях можно обсудить вопросы и ответы!
Задать вопрос:
cforms contact form by delicious:days
Популярность: 38%















О сайте