1

Тема: RDFS или OWL

Всех приветствую.
Решаю задачу интеграции баз данных.

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

Задался вопросом. какую выразительность выбрать RDFS или OWL?
Стоит ли выбирать OWL или все же ограничиться RDFS?

Противоречия данных при интеграции как решить уже знаю.

Пугает логический вывод в RDFS - NP-полная задача.
RDFS не имеет синтаксических ограничений. Т.е., с помощью него можно написать все, что угодно.
Owl имеет ограничения в зависимости от используемого профиля(OWL 2 DL, OWL 2 Full, OWL 2 EL, OWL 2 QL, OWL 2 RL)

Интересует, то на какой уровень сразу лучше ориентироваться....
и возможен ли безболезненный переход в последствии, с  RDFS на OWL при выборе 1-ого?

Возможно у кого есть опыт подобного.

Видел решения локальных задач интеграции, они решались простым RDFS, но там было известно количество интегрируемых источников.

В моем же случае, на основе полученной в результате интеграции онтологии буду формировать схему хранилища БД, хотелось бы наиболее полно ее описать изначально если есть в этом конечно смысл.....

Thumbs up +1 Thumbs down

2

Re: RDFS или OWL

Пугает логический вывод в RDFS - NP-полная задача.

Да, но чтобы уткнуться в этот worst case надо использовать bnodes достаточно специальным образом. Обычно же лог. вывод в RDFS не выходит за пределы банальной транзитивности rdfs:subClassOf (ну может еще rdfs:domain/range)

RDFS не имеет синтаксических ограничений. Т.е., с помощью него можно написать все, что угодно.

Это некорректно. Написать-то можно (как и в RDF), но если хочешь формальную семантику написанного, то сразу же упрешься в ограничения. Например, existentials, intersection и т.д. И ограничений будет больше чем в любом профиле OWL.

В общем, мой совет - OWL QL. Он очень дешевый в смысле data complexity и уже поддерживается рядом продуктов (OBDALib, Stardog, etc.). Плюс, в отличие от RL, как правило реализуется без материализации схемы, т.е. не придется пересчитывать результаты вывода при каждом подливе данных.

3

Re: RDFS или OWL

Dmitry35 пишет:

Всех приветствую.
Решаю задачу интеграции баз данных.

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

Задался вопросом. какую выразительность выбрать RDFS или OWL?
Стоит ли выбирать OWL или все же ограничиться RDFS?

Мы ограничились subTypeOf, subPropertyOf, inverseOf (+ SymmetricProperty), InverseFunctionalProperty (+ inverseOf FunctionalProperty ), TransitiveProperty. При этом мы стараемся, чтобы транзитивные свойства не участвовали в иерархиях subPropertyOf (по крайней мере, чтобы они не были подсвойствами других свойств).

4

Re: RDFS или OWL

Кстати, интересно было бы узнать подробности: каких типов источники, каких размеров, если виртуоза то какая, если нет, то почему? wink