1

Тема: Создание запросов SPARQL

Собственно проблема в непонимании создания запросов на SPARQL  sad
Есть онтология OWL туристического бизнеса http://e-tourism.deri.at/ont/e-tourism.owl
Хочу через ARC2 сделать что-то вроде экспертной системы на php. Как и в топике пример не заработал.
Прошу знающих людей помочь в написании запросов, думаю и другим новичкам приведенные примеры будут полезны.

1) Как вывести основные классы этой онтологии?
2) Как вывести саб-класс определенного класса / всех?
3) Как вывести членов определенного класса и узнать их тип?

Шаблон, насколько я понимаю, будет выглядеть так:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX xxx: <http://e-tourism.deri.at/ont/e-tourism.owl#>
SELECT    ???????
WHERE
{
    ???????
}

Thumbs up Thumbs down

2

Re: Создание запросов SPARQL

эта онтология некорректна. во всяком случае реазонеры из протеже её обругали

Thumbs up Thumbs down

3

Re: Создание запросов SPARQL

Ни для одного из этих запросов SPARQL не нужен. SPARQL нужен для conjunctive query answering. В твоем же случае все делается просто через OWL API (см. методы у OWLOntology, OWLReasoner).

4

Re: Создание запросов SPARQL

Т.е. с помощью SPARQL эти данные из онтологии не вытащить и на ARC2 можно забить?

делается просто через OWL API

Т.е. ставить apache tomcat, качать OWL API и прикручивать к нему HermiT? Если у кого-то есть примерные исходники, очень бы помогли. Или хотя бы гайд. В итоге должна получиться веб-страничка, у меня же получится?  smile

Если есть фрилансеры, которые могут помочь, прошу стукнуть в skype imbolz или отписаться здесь.

Отредактировано silic (2012-05-03 17:03:42)

Thumbs up Thumbs down

5

Re: Создание запросов SPARQL

OWL API - это просто набор классов для манипулирования онтологиями в OWL. Ты можешь перебирать аксиомы, создавать новые аксиомы, читать-изменять классы и т.д. Если ты хочешь, чтобы, скажем, получение списка подклассов выдавало не только явно заданные подклассы, но и логически выведенные, то используется reasoner, например, HermiT, который реализует интерфейс OWLReasoner.

Все остальное прямого отношения к онтологии не имеет. Например, где будет выполняться приложение, использующее OWL API (просто из консоли, в application server'е или где-то еще).