OWL Individual на Java

Я пытаюсь получить доступ к онтологиям через Eclipse. Я использую owl-api. Я создаю свои онтологии в Protegé, однако хочу создавать и классифицировать новые ИНДИВИДУАЛЫ по коду. Как такое возможно? Я погуглил все, но не нашел никакой полезной информации.

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

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

Можешь мне помочь? Заранее спасибо!

Нуно


person nunoaac    schedule 15.11.2011    source источник


Ответы (1)


Здесь есть интересная документация по 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);

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

person ynka    schedule 07.01.2012
comment
Если у Мэри есть отец, как я могу это сделать? - person João Neto; 21.08.2015