Как проверить согласованность онтологий с помощью Java - PullRequest
4 голосов
/ 21 октября 2011

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

Я новичок в онтологии и запутался даже после того, как много о ней читал ...
Что я понимаю, так это то, что класс определяется по отношению к другому классу с использованием различных свойств ... так что я могу проверить, связаны ли объекты определенного класса с каким-либо другим классом ... Что я хочу спросить, как мне проверить, соответствует ли ABox терминологической части онтологии (как я понимаю TBox) .....

Я использовал Protege для создания моей онтологии, а также пытался использовать jena и пеллет-рассудок вместе с версией графического интерфейса SWOOP для проверки согласованности .....

Я полностью сбит с толку и понятия не имею, что использовать ...

Ответы [ 3 ]

2 голосов
/ 26 января 2012

SWOOP довольно устарел, если вы собираетесь использовать графический интерфейс, я рекомендую вам использовать Protoge 4. Для получения информации об использовании Pellet есть довольно хорошее учебное пособие онлайн .

Я рекомендую использовать OWLAPI поверх Jena, если вы собираетесь работать с OWL программно.Jena является более RDF-ориентированным API, в то время как OWLAPI разработан для OWL, так что вам будет легче работать с ним, когда вы будете работать с OWL.Тем не менее, Йена гораздо более характерна.

0 голосов
/ 03 мая 2013

Вот как вы можете выполнить проверку согласованности с Java OWL API:

/*Load your ontology from a local file and do the initialisations*/
File inputfile = new File("ontologyPath");
OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); ;
OWLDataFactory dataFactory = manager.getOWLDataFactory();
OWLOntology yourOntology = manager.loadOntologyFromOntologyDocument(inputfile);
IRI ontologyIRI = yourOntology.getOntologyID().getOntologyIRI();  

/* Load a reasoner, the default one that comes with the OWL API is HermiT.
   However, You can use other reasoners, such as Fact++ or Pellet, by 
   downloading their libraries and adding them to your project build path */ 
OWLReasonerFactory reasonerFactory = new Reasoner.ReasonerFactory();
OWLReasonerreasoner = reasonerFactory.createReasoner(yourOntology);

/* Perform consistency check */ 
boolean consistency = reasoner.isConsistent();

Также ознакомьтесь с примерами на веб-сайте OWL API .

Berkan

0 голосов
/ 17 декабря 2011

Я использовал Jena API для работы с онтологиями, созданными Protege ранее.Джена, правда, сбивает с толку.Однако вот ресурсы, которые я использовал, чтобы понять это:

Чтобы выяснить, как это работает, мы сделали несколько всплесков, где создали очень простой файл OWL и написали Java с использованием Jena, чтобы посмотреть, как мы сможем получить то, что нам нужно.Код был одноразовым, но он позволил нам немного узнать о файлах OWL и API Jena в идеализированном контексте.

...