Архив ‘ RDF Store ’ Категория

Announcing OpenLink Virtuoso Open-Source Edition v6.0.0

OpenLink Software is pleased to announce the official release of
Open-Source Edition, Version 6.0.0:

New product features include:

* ANY ORDER Queries
* Anytime Queries (basic and complex business intelligence style
analytics queries)
* Client-level resource accounting
* Expressions in "IN" predicate
* Faceted Data Exploration Engine & Web Services (REST or SOAP) for
high-performance disambiguated entity search & find, across entity type and
property dimensions
* Inverse Functional Property Value enhanced Identity
* Key compression
* Transitive subqueries in SQL, SPARQL, and SPASQL (ODBC, JDBC,
ADO.NET, OLEDB, XMLA)
* Enhanced Sponger Middleware Layer
* DBMS hosted Public Key Infrastructure for FOAF+SSL based Federated
Identity.
Читать продолжение »

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Owlgres – масштабируемый OWL2 DL-Lite Reasoner

Для обработки онтологий в стандарте OWL 2 можно использовать reasoner Owlgres.  Кстати, reasoner - это подсистема логического вывода; OWL 2 - следующая версия Web Ontology Language.

Чем Owlgres хорош? Во-первых, это опенсорсный продукт (а учитывая то, что он распространяется и по коммерческой лицензии,  есть вероятность, что проект быстро не погибнет). Во-вторых, в Owlgres поддерживается высокоскоростной логический вывод на основе дескриптивной логики. Высокая скорость поддерживается за счет реализации Owlgres поверх реляционной СУБД PostgreSQL.

Кстати, идея реализации онтологий на OWL (или других языках) поверх реляционных баз данных не нова. Вы уже слышали, на страницах моего сайта о ... Кроме того, это оказывается и не так уже и сложно, когда есть математическая модель онтологий и навыки проектирования реляционных баз данных. Сложность скорее в той рутинной работе, которую нужно сделать, чтобы учесть все ньюансы OWL и LBASE.

В качестве языка запросов к онтологии OWL в Owlgres используется SPARQL-DL.

И, напоследок, уже доступна альфа-версия Owlgres, которую можно использовать как Sparql-точку доступа для создания, например, "умных" сайтов или web-сервисов.

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

Если у вас есть информация о подобных проектах, пишите в коментариях ))

В среде Eclipse для обработки онтологий может использоваться набор набор программых компонетов EODM.

EODM (EMF Ontology Definition Metamodel) – реализация (S)/OWL в среде Eclipse.

В рамках EODM разработаны инструменты для обработки (/OWL parser) и преобразования (/OWL transformer) моделей (S)/OWL с возможностями логического вывода (/OWL reasoner).

Подробное руководство по использованию EODM в своих проектах здесь -

http://www.eclipse.org/modeling/mdt/eodm/docs/articles/EODM_Documentation/

Скачать можно отсюда -

http://www.eclipse.org/modeling/mdt/downloads/?project=eodm

Первое впечатление - очень удобное средство для построения маштабируемых mashup-сервисов :smile:

Обработка RDF-графов с помощью XSLT

Как обрабатывать XML/-синтаксис с помощью читаем здесь:http://shcherbak.net/rdf_xslt_tech/

Появился интересный плагин к ! Благодаря ему Вы можете превратить свой блог в семантический сервис.

Плагин называется ARC 2 Extension (" Tools") и может быть скачан отсюда - http://arc.semsol.org/download

Этот плагин добавляет хранилище триплетов ( Store) с функциональностью SPARQL в блог .

Читать продолжение »