Ув. читатели SHCHERBAK.NET, вашему вниманию предлагаются материалы статьи «Semantic Web как новая модель информационного пространства Интернет» авторов  Ф.И. Андон, И.Ю. Гришановой и В.А. Резниченко.

В этой статье описаны базовые концепции и архитектура Semantic Web, а также положение дел по разработке данного проекта по состоянию на конец 2007 года. Выделены проблемы, которые стоят перед мировым сообществом для дальнейшего развития Semantic Web.

Полную версию статьи читаем здесь !

Щербак Сергей: Статья мне очень понравилась и я ее особенно рекомендую тем, кто хочет максимально быстро погрузится в  мир семантического веба (обязательна для прочтения).

От имени читателей SHCHERBAK.NET хочу выразить благодарность  Ирине Гришановой за предоставление материалов интересной статьи!

Визуализация RDF с помощью CSS.

Возможно ли это?

Такой вопрос я получил вот здесь!

Итак, RDF и CSS… Анализ интернет-источников показал, что проблема есть, а решения как такового нет!

Первая проблема с которой я столкнулся при использовании CSS с RDF это то, что CSS не позволяет создать селекторы для тегов, в имени которых используется префикс пространства имен, т.е. для конструкции <ns:author> нельзя создать CSS-селектор с именем «ns:author». Создать конечно можно, но работать в web-браузерах такая конструкция не будет.

Конечно, можно применить CSS-селектор «*» для однотипного форматирования всех возможных элементов RDF. Но это не решение…

Read the rest of this entry »

Google Pagerank SHCHERBAK.NET «немного» увеличился…

Сегодня утром Google Toolbar «сообщил» мне приятную новость -

Google PageRank сайта SHCHERBAK.NET стал равен 5.

{RDF+XSLT} – cтатья с самым высоким Google PageRank (4).

На online сервисах по определению Google Pagerank проверить информацию о повышении PR мне не удалось… но плагин Firefox SeoQuake подтверждает информацию – у shcherbak.net действительно PR стал равным пяти :grin:

В связи с этим, я хочу поблагодарить читателей за проявляемый интерес к сайту SHCHERBAK.NET.

Только благодаря вашему вниманию к SHCHERBAK.NET у меня поддерживается желание развивать этот ресурс по технологиям Semantic Web :)

ReDeFer или как просто получить RDF!

RDF (Resource Description Framework) – это основа документооборота Semantic Web.

ReDeFer – это один из множества проектов по созданию средств преобразования документов различных форматов в RDF.

Наиболее полезными, на мой взгляд, средствами ReDeFer являются:

XSD2OWL – средство преобразования схем XML в OWL. Причем преобразование в OWL осуществляется из XSD.
Read the rest of this entry »

Что нужно помнить об XML!

Подготовлено по материалам семинара по XML…

Читать здесь :)

Введение в XML

Итак, XML…

XML (eXtensible Markup Language) – это расширяемый язык разметки.

XML – это инструмент для структурирования информации

XML – это инфраструктура для создания Web-базированных информационных систем, т.е. набор программных компонент для создания, обработки структурированных документов и их передачи, посредством, например, протокола HTTP.

XML – это основа для построения современных веб-сервисов.

Основные потребители XML

1. SOA (service-oriented architecture)
2. Semantic Web

SOA использует XML для стандартизации структуры передаваемой информации между сервисами.

Semantic Web использует XML как средство интеграции онтологий и т.п. в существующую инфраструктуру Web.

Развитием XML управляет консорциум WWW (W3C).

Например, список компьютеров в XML можно представить так:

<productList>
<computer model="S3331" price="5000">
<hdd capacity="400">Hitachi</hdd>
<processor>P4</processor>
<motherboard> 865GPE </motherboard>
</computer>
<computer model="S3234" price="4000">
<hdd capacity="120">WD</hdd>
<processor>P4</processor>
<motherboard> 865GPE </motherboard>
</computer>
</productList>

Данные в XML размещаются внутри тегов. Пара “открывающий – закрывающий тег” соответствует элементу данных.

Элементом называется часть документа XML, разграниченная открывающим тегом, таким как <my_element>, и закрывающим тегом, таким как </my_element>.

Документ XML состоит из одного элемента верхнего уровня, называемым корневым элементом и наборов, вложенных в него, элементов и символьных данных.

Символьные данные – это текст внутри элемента.

Атрибутом является свойство элемента, которое предоставляет дополнительную информацию об элементе или о моделируемой сущности элемента.

Имена конструкций XML (атрибутов, элементов и т.п), применяемые для описания сущностей предметной области должны иметь уникальные имена. В случае если имена должны быть уникальными не только внутри документа XML, но и вне его, необходимо использовать пространства имен XML.

Пространства имен XML – символьная строка, обозначаемая некоторый объект реального мира через URI.

URI (Uniform Resource Identifier) – унифицированный идентификатор ресурса.

В XML вместо URI в основном используется URL (Uniform Resource Locator).

URL – унифицированный локатор ресурсов, позволяющий
Например, пространство имен http://ontolib.com/ с префиксом ns, позволяет создать элемент <ns:computer> __</ns:computer>, который будет использоваться для описания сущности «Компьютер», причем структура моделируем сущности уникальна внутри схемы XML, принятой в ontolib.com.

Применение пространств имен позволяет различать элементы имеющие одинаковые имена.

Так через используемые пространства имен можно отличить элемент <ns:computer> с http://ontolib.com и <ns:computer> из http://shcherbak.net.

Для повышения читабельности XML-данных (и не только для этого!!!) необходимо структурировать информацию по определенным критериям.
Например, можно использовать способы структурирования информации, принятые в ER-моделировании или ООП.

Например, для структурирования можно использовать простое правило -

элементы XML соответствуют сущностям предметной области, а атрибуты соответствуют характеристикам этих сущностей.

Для организации связи «быть частью» между сущностями можно использовать вложение элементов XML. Так, если Вы хотите показать, что некоторый элемент является частью другого элемента, то описываете его внутри этого элемента. Например, если Вы хотите показать, что сущность автомобиль состоит из различных компонентов, например, двигателя, колес и т.д., тогда в XML это можно выразить так:

<car namе="VM"><engine>V6</engine></car>

Но это не единственный вид связи, который может моделироваться в XML.

XML поддерживает все возможные виды связей, которые могут моделироваться такими языками, как UML, языками ER-моделирования и т.п.

Но для моделирования таких связей, вероятнее всего, вам придется использовать такие технологии как XLink или XPointer.

Кроме того, при создании документов XML необходимо не забывать простые правила формирования XML-документов, а именно,

1. XML- регистрозависим, т.е.в тегах учитывается регистр символов.
2. Элементы XML должны быть правильно вложены друг в друга.
3. В XML должен быть один корневой элемент.
4. Значения атрибутов всегда должны быть заключены в кавычки.

В XML могут использоваться как одинарные кавычки, так и двойные. Одинарные кавычки в основном применяются в случаях, когда значения атрибута уже содержит двойные кавычки.

Для обработки XML конструкций применяются синтаксические анализаторы.

Например, msxml от Microsoft.

Что нужно помнить при работе с XML?

1. В XML сохраняются пробелы (в отличие от HTML), т.е. если в текстовые описания добавлять лишние пробелы, то они синтаксическим анализатором не удаляются.
2. В XML символы перевода строки CR/LF преобразуются в LF.

Для описания данных в XML используется DTD или схема XML.

DTD (Document Type Definition) задает правила формирования теговой разметки.

Например, для описания компьютеров можно определить следующее DTD:

<!ELEMENT productList (product)+ >
<!ELEMENT computer (hdd, processor, morherboard) >
<!ELEMENT hdd (#PCDATA) >
<!ELEMENT processor (#PCDATA) >
<!ELEMENT motherboard (#PCDATA) >

Использование знака «+» возле элемента накладывает на элемент ограничение – этот элемент как минимум раз должен быть определен. Могут также применяться, такие знаки, как «*» и «?». Знак «*» означает, что возможно 0, 1 или более элементов, а «?» означает, что элемент необязателен. Отсутствие знаков возле элементов означает обязательность их определения (т.е. элемент обязательно должен быть).

Атрибуты элементов определяются с помощью конструкции XML <!ATTLIST>.

<!ATTLIST имя_элемента имя_атрибута тип_атрибута значение_по_умолчанию >

В DTD все типы атрибутов основаны на строковом типе данных.

Наиболее распространенные типы атрибута:

CDATA – символьные данные;
ID – уникальный идентификатор;
(value1|value2|) – перечисление возможных значений атрибутов, т.е. возможным значением атрибута будет одно из перечисляемых.

Например, можно определить атрибут model так:

<!ATTLIST computer model CDATA>

DTD к XML можно подключить так:

<!DOCTYPE productList SYSTEM «products.dtd»>

или можно определить конструкции DTD внутри XML документа, например, так

<!DOCTYPE productList
[
<!ELEMENT productList (product)+ >
<!ELEMENT computer (hdd, processor, morherboard) >
<!ELEMENT hdd (#PCDATA) >
<!ELEMENT processor (#PCDATA) >
<!ELEMENT motherboard (#PCDATA) >
]>

Недостатки DTD:

1. Отсутствие типизации узлов.
2. Отсутствие поддержки пространств имён.

Вместо DTD можно использовать XML Schema.

XML Schema поддерживает различные типы данных.

Подключить XMLSchema к XML документу можно так:

<ProductList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="products.xsd">

</ProductList>

Для визуализации содержимого файла XML с помощью CSS можно использовать каскадную таблицу стилей CSS. Подключить ее можно следующим образом:

<?xml-stylesheet type="text/css" href="sheet.css" ?>

Для визуализации содержимого файла XML с помощью XSL можно использовать XSL. Подключить его можно следующим образом:

<?xml-stylesheet type="text/xsl" href="sheet.xsl" ?>

Для обработки XML-конструкций применяются такие технологии как DOM, SAX, XSLT.

Некоторые определения:

XML-документ, имеющий правильный синтаксис, называется правильно сформированным XML-документом.

XML-документ, проверенный и соответствующий DTD (XML SCHEMA) называется допустимым («валидным») XML-документом.

Более подробно об XML можно почитать здесь Школы XML

Вопросы? {FAQ}

Здесь вы можете задавать  вопросы по  Semantic Web и связанным технологиям и средствам.

Мы по мере возможности будем на них отвечать ))

Наиболее интересные вопросы будут рассмотрены и ответы на них будут опубликованы в виде заметок на сайте ))

Вопрос 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.


Вопрос 7:

Допустим документы со связанными с ними RDF-файлами. Если ставить задачу написания поисковика по метаданным, то существует ил язык запросов к такому поисковику? Что уже сделано в этом плане вообще? Спасибо.

Ответ:

Задачу поисковика по метаданным решать не целесообразно. Уже теоретически и практически эту задачу решили, причем давно! Вот решать задачу поиска документов с учетом метаданных – это другое дело! Задача из серии неподъемных, но решив ее, Вы будете на высоте. Суть проблемы в том, что есть документ и соответсвующая ему онтология (или метаданные), надо провести поиск по содержимому документа на основе метаданных описывающих структуру и семантику этого содержимого. В случае, если вы все таки хотите только по метаданным искать, тогда SPARQL+OWL (или SWRL) может решить вашу задачу!

Вопрос 7.1:

Говоря о задаче поиска документов с учетом метаданных, что конкретно вы имеете в виду? Как перейти от ЕЯ запроса к SPARQL, или что? Непонятно.

Ответ: Нет, я имел в виду, что каждый текст нужно представить в виде связанных между собой метаданных, по которым и надо проводить поиск!  такие метаданные в принципе можно назвать семантическими аннотациями текста (но это ущербное понятие мне не нравиться, особенно если учитывать, что я имею ввиду полное семантическое описание текства – причем в некоторой форме это описание можно приравнять  экземпляру объекта онтологии)

В комментариях можно обсудить вопросы и ответы!


Задать вопрос: