OWL API — тест включения классов OWL в контексте обнаружения веб-сервисов

Передо мной стоит очень сложная задача, поэтому любая помощь и предложение будут приветствоваться.

Мне нужно реализовать веб-службу Java, которая будет соответствовать двум другим заданным веб-службам для семантического сходства. Эти два других веб-сервиса будут описаны с помощью OWL-S, использующего концепции из онтологии OWL. S1 будет веб-службой, которую я ищу (мой запрос), а S2 будет службой, которая находится в репозитории (рекламируется). Поэтому мне нужно получить доступ к описанию OWL-S и онтологии OWL из моего кода Java.

Я использую Eclipse, Tomcat, OWL API и семантический анализатор HermiT.

У меня есть очень примитивный алгоритм сопоставления, основная цель которого - сопоставить входы и выходы службы S1 с входами и выходами S2.

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

Мой текущий список дел: 1. Загрузить из OWL-S типы параметров процесса (OWL-классы). Предположим, что вход S1 относится к типу C1, а вход S2 — к типу C2. 2. Выяснить, входят ли классы C1 и C2 в мою онтологию O. 3. Проверить, включает ли класс C2 класс C1, или, может быть, они семантически одинаковы в моей онтологии O.

Я был бы признателен за любые примеры кода или фрагменты, которые я не смог найти для этих задач. В частности, проверяется, включает ли класс C2 класс C1.

С уважением


person UserException    schedule 14.10.2012    source источник


Ответы (1)


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

Кроме того, выполните поиск в Google Scholar по запросу «совпадение семантических сервисов OWL» — в этой области уже проделана большая работа. Это не поможет вам с примерами кода, но существуют более сложные схемы сопоставления сервисов, которые вы можете попробовать, как только ваш базовый пример заработает. Кроме того, если вы собираетесь работать в этой области, было бы полезно узнать, над чем работали другие.

Наконец, вы можете проверить OWL-S API, который, как мне кажется, основан на Jena, поэтому вам придется отказаться от всего кода, который у вас есть в настоящее время, но это рабочий API, разработанный для использования описаний сервисов OWL-S, что может значительно облегчить вашу жизнь.

person Michael    schedule 15.10.2012
comment
Я уже искал и нашел несколько алгоритмов семантического сопоставления. Некоторые из них являются чисто математическими описаниями, некоторые из них содержат примеры псевдокода. Если бы кому-то было интересно, я бы это обсудил. Моя настоящая проблема в том, что я никогда не использовал OWL API, OWL-S API, Jena или любое другое решение, поэтому мне трудно добиться того, чего я хочу. Кроме того, я больше программист .NET, так что да. В любом случае, спасибо за предложения. - person UserException; 15.10.2012
comment
Это неправильный форум, если вы хотите, чтобы кто-то рассказал вам, как реализовать вашу работу. Я дал вам хорошие советы по изучению того, как использовать OWL-API, специфический API OWL-S, а также способ найти значительное количество соответствующих исследований, проводимых в этой области. На сайте Apache есть хорошее руководство по использованию Jena. Этого набора ресурсов должно быть достаточно для изучения соответствующих API-интерфейсов и ознакомления с современными технологиями, чтобы вы могли перейти к своей собственной реализации. - person Michael; 15.10.2012