Как на самом деле используется OWL при создании семантического веб-приложения?

Я читал о семантических веб-технологиях, таких как RDF и OWL, и заинтригован возможностями создания семантической базы данных RDF / triple-store поверх моих существующих реляционных БД. Это просто упражнение R&D, чтобы увидеть, что я могу сделать.

Мне нравится внешний вид OWLIM, но некоторые основы меня подводят. Как именно предполагается создать, а затем использовать онтологию OWL? Собираете ли вы что-то вроде Protege, а затем импортируете в свой репозиторий? Или онтология является побочным продуктом программного обеспечения, которое вы разрабатываете для связи с репо?

Это вопрос новичка, но я просто не уверен, где OWL вписывается в грандиозный порядок вещей... Я бы не стал задавать вопрос, если бы не оглядывался по сторонам.

3 ответа

Решение

Я не думаю, что есть конкретный способ использовать OWL для создания приложения. Черт возьми, вам даже не нужно использовать его для создания приложения semweb.

Вообще, я думаю, что есть пара способов, которыми люди склонны использовать OWL. Я думаю, что одним из основных является рассуждение. Они определяют понятия, важные для их применения, используя один из профилей OWL2, а затем используют рассуждение для вывода новых знаний на основе их онтологии. Сейчас даже есть некоторая работа по использованию онтологий OWL в качестве схем для ограничений целостности.

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

Между ними есть несколько частичных вариантов использования, и есть аналогичные варианты использования схем RDF, которые могут использоваться как онтологии OWL, только с более низким уровнем выразительности или чем-то вроде SKOS, которые можно использовать для простого определения таксономии в вашем приложении. без какой-либо формальной выразительности прилагается к нему.

Начало работы с Protege - это хорошее начало. Это позволит вам изучить некоторые основы построения онтологии, и большинство аргументов доступны в виде плагинов, так что вы также можете изучить, как вы можете построить свою онтологию и какие выводы вы можете получить в результате.

Если у вас есть онтология, если вы хотите использовать ее для чего-то иного, чем документирование, например, для рассуждения, вам придется загрузить ее в рассуждение ( Pellet, Fact ++, RacerPro, HermiT) или в базу данных, которая выполняет рассуждение OWL ( Stardog, OWLIM). Если вы не беспокоитесь о рассуждениях, вы можете перенести их в любое хранилище тройного хранилища, получить к нему доступ через Sesame или Jena (если вы используете Java), и все же сможете запрашивать явные факты через SPARQL.

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

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

Проверьте Apache Jena и openrdf Sesame на наличие триплетов, в которых есть как rdbms, так и "нативный" (чистый триплет) бэкэнд.

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

Есть более длинные списки, но это хорошие отправные точки.

Да, вы можете создать свою онтологию в Protege, а затем импортировать ее в свой Triple Store. Если ваш Triple Store поддерживает рассуждения и вы его включили, ваши запросы Sparql будут давать разные результаты.

Например, вы можете определить "related-to" как супер-свойство для "замужем за", "child-of", "parent-of" и "sibling-of". Тогда вы можете попросить всех "связанных с" людей.

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

Другие вопросы по тегам