СОВА Индивидуальный в Java - PullRequest
5 голосов
/ 15 ноября 2011

Я пытаюсь получить доступ к онтологиям через Eclipse.Я использую сову-API.Я создаю свои онтологии в Protegé, но я хочу создавать и классифицировать новых индивидов по коду.Как это возможно?Я гуглил все, но не могу найти никакой полезной информации.

Макро-пример: - онтология 'a', которая имеет сущности 'B', 'C' и 'D'- Я создаю отдельную букву «z» и хочу выяснить, может ли она быть частью «B», «C», «D» или ни одной из сущностей.

У меня 3 проблемы:не знаю, как создать индивидуума типа - я не знаю, как заполнить свойства данных индивидуума.- Я не знаю, как заставить мыслителя работать (ну, я еще не пробовал, поскольку не могу выполнить предыдущие шаги).

Можете ли вы мне помочь?Заранее спасибо!

Нуно

1 Ответ

6 голосов
/ 07 января 2012

В OWL API есть отличная документация: http://owlapi.sourceforge.net/documentation.html

Итак, чтобы создать индивидуума класса:

OWLClass person = dataFactory.getOWLClass(":Person", pm);
OWLNamedIndividual mary = dataFactory.getOWLNamedIndividual(":Mary", pm);
OWLClassAssertionAxiom classAssertion = dataFactory.getOWLClassAssertionAxiom(person, mary);
manager.addAxiom(ontology, classAssertion);

Чтобы добавить некоторые свойства:

OWLIndividual matthew = dataFactory.getOWLNamedIndividual(IRI.create(base + "#matthew"));
OWLIndividual peter = dataFactory.getOWLNamedIndividual(IRI.create(base + "#peter"));
OWLObjectProperty hasFather = dataFactory.getOWLObjectProperty(IRI.create(base + "#hasFather"));
OWLObjectPropertyAssertionAxiom assertion = dataFactory.getOWLObjectPropertyAssertionAxiom(hasFather, matthew, peter);

Есть и пример с рассуждениями, но он длиннее, так что проверьте себя.

...