Обновление перевода стандарта W3C SPARQL.

Ув.  читатели  сайта SHCHERBAK.NET, в переводе стандарта языка исправден ряд ошибок как синтаксических, так и смысловых.

Обязательное обновление!

Кроме того, в переводе по рекомендации Павла Клинова заменен термин "пустая вершина" на "безымянную вершину".

PS. Это не последняя версия перевода, это скорее предпоследний релиз-кандидат перевода. Кроме того, ожидается в ближайшем будущем исправление ошибок и в других моих переводах. Следите за обновлениями!

На странице переводов стал доступен перевод рекомендации W3C "Язык запросов для ".

Таким образом, читатели SHCHERBAK.NET, могут получить доступ к важной подборке переводов нормативных документов W3C, а именно к рекомендациями RDFa, , PROTOCOL и черновику рекомендации OWL 2.
Читать продолжение »

104 страницы формата A4 осталось привести в соответствие с требованиями W3C к переводам,

и перевод спецификации  W3C  будет доступен читателям SHCHERBAK.NET.

Перевод cтандарта W3C «Протокол SPARQL для RDF»

Итак,  рекомендация W3C SPARQL Protocol for RDF переведена на русский язык.

С чем и поздравляю всех читателей сайта SHCHERBAK.NET.

Перевод доступен, как и несколько других, на странице переводов!

Подготовка к публикации этого перевода заняла много больше времени, чем я предполагал.

Перевод   готов, но его публикация немного задерживается...

P.S. Ув. читатели SHCHERBAK.NET, которые мне обещали замечания к переводам, очень жду.

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

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

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

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

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

Данное рассуждение было навеяно комментарием к заметке, посвященной реализации хранилища триплетов, поверх СУБД  Postgress - OWLgress' у.

Итак, онтологии, например, в представлении Description Logic (DL), и базы данных, например, реляционные(РБД),  представители различных подходов к моделированию, причем

логический подход (DL и др.логики) по определению плохо совместим с РБД, что составляет значительную проблему при отображении элементов логических рассуждений на  РБД и еще большую проблему во время их обработки.

Как можно решить эти проблемы?

По сути, как совместить несовместимое, и, как  это несовместимое эффективно обрабатывать? :grin:

Рассмотрим,  объектный подход (классика ООП), как частный случай логического подхода. Сразу становится легче - объектный подход совместим с реляционным намного лучше.  Отображение объектов в  РБД уже реализовано десятком различных способов (это можно увидеть в различных ORM таких как hibernate, toplink и doctrine). Производительность решений на базе ORM  может быть весьма высокой (при правильном проектировании БД почти сравнима с производительностью  "native"   SQL-решений), и, конечно, удобство разработки.

Ну и что, скажете вы. В этом ну и что, есть маленький момент, при котором даже 20% потеря производительности при использовании ORM не важна.

А момент этот заключается в том, что  ORM работает с объектами!

А в основе онтологии лежит объектная иерархия - т.е объекты связанные между собой отношениями

Значит, можно эту иерархию естественным способом развернуть через ORM в РБД.

Но вот проблема объект онтологии это не объект ORM!

Как минимум потому, что свойства объекта ORM описываются внутри определения этого объекта, а свойства объекта онтологии, подключаются к описанию объекта из вне, реализуя принцип свойство-центричности (одной из центральных особеностей  SW как распределенного решения)

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

Но это не проблема для локальных нераспределенных хранилищ триплетов - в этом случае эту разницу можно скрыть :grin:

а как это можно сделать?

можно сделать адресацию компонентов онтологии через пространственные координаты как в Oracle Spatial и осуществлять сборку объектов и их экземпляров непосредственно перед обработкой

а можно ... (тема одной следующих заметок :grin: )

Но это не все...

Свойство-центричность и объектность онтологии это один из нижний уровень семантического веба.

Это Уровень c .

Я знаю многих умников, кричащих, что с это отстой. Есть же OWL!

OWL конечно есть. Только анализ многих  OWL онтологий показал, что паттерны моделирования, которые там используются, легко могут быть реализованы стандартными средствами !

А с другой стороны, мне понравились ряд OWL Full-ориентированных онтологий по содержимому совместимых с OWL Lite (хоть это и спорное мое убеждение). В этом аспекте, мне больше всего нравятся легковесные онтологии на OWL Full... Это же надо, именно для представления легковесных онтологий (чуть ли не для простейших таксономий ) и  был создан OWL Full?! ;)

Действительно важным является то, что на основе   логический вывод будет крайне примитивным, но зато и более производительным. Таким образом, расширяя современные ORM  средствами поддержки  / мы по сути создаем Semantic ORM. Далее, необходимо расширить набор отношений, поддерживаемых Semantic ORM до уровня OWL - буду еще на эту тему рассуждать...

PS Вот так и определился перевод какого стандарта будет следующим  - Профили OWL 2.

PROTOCOL и готовы, как только переведу их из дока  в соответствующую форму  W3C, опубликую.

PPS  Semantic ORM - шаг вперед или два назад?  ;)

Служебная информация в RDF

Блуждая по Хабрахабру, наткнулся на пост, в котором авторы рассуждали на тему, как добавить информацию об авторе триплета в . Идея проста - представляет собой совокупность триплетов, но эти триплеты могут быть добавлены различными авторами. Вопрос: Как добавить информацию об авторе триплета. Как авторы правильно заметили, если информацию об авторе вынести в отдельное хранилище или таблицу, то проблем нет. Но что, делать, если не хочется привлекать сторонние средства? Одним из вариантов было предложено ввести свойство «hasAuthor» в корень объектной иерархии.

Но этот подход имеет свои недостатки. Представьте себе, некоторый объект, например, ягода вишня. Что у нас получается -«вишня» как экземляр класса Ягода, у которой автор Вася Пупкин - как то глупо звучит. И вообщем-то и не в Васе дело, а в том, что автор ягоды вишни Вася. Если мое рассуждение верно, тогда вынос hasAuthor в корень объектной иерархии ничего не дает, так как всегда будут существовать объекты для которых отношение hasAuthor не будет иметь смысла.

Хотя, например, в редакторе онтологий Protege есть наборы служебных классов, выполняющие подобные функции, которые не отображаются в основном дереве представления

А решение задачи, как оказалось в результате моих рассуждений на Хабрахабре, очень простое.

В нет языковых конструкций для установления авторства триплетов, но такие средства есть в Dublin Core.

Таким образом, рассматривая Dublin Core, как расширение , мы можем легко ввести понятие авторства информации (триплета).

Вы можете сказать, а чем же отличается введение понятия авторства через Dublin Core от введения нового отношения hasAuthor?

А все просто - когда мы вводим новое отношение hasAuthor мы имеем ягоду вишню автора Васи, а при использовании дублинского ядра мы такого не имеем, как минимум потому, что у описания Dublin Core другое пространство имен и как результат описание некоторого объекта через Dublin core идет как описание объекта в некоторой другой семантической плоскости. А самое интересное - при проведении логического вывода мы не нарушим ни одного канона онтологий - ягоды будут успешно собраны и проданы потенциальному клиенту, а агенты будут также иметь возможность взглянуть на автора информации.

А может я не прав?