2013-12-12 1 views
0

Я хочу отобразить онтологию из OWL в базу данных Neo4j. Я нашел пример here.map owl to neo4j (пример java)

Если я так хорошо понимаю, мне нужно создать Java-программу с включенными библиотеками OWL API. I не требуется какой-либо вывод двигатель (в зависимости от этого: Mapping from an OWL ontology to Neo4j graph database).

Я создал проект в Eclipse, добавить OWL API (и oboformat) библиотеки и вставьте код

private void importOntology(OWLOntology ontology) throws Exception { 
    OWLReasoner reasoner = new Reasoner(ontology); 

     if (!reasoner.isConsistent()) { 
      logger.error("Ontology is inconsistent"); 
      // Throw your exception of choice here 
      throw new Exception("Ontology is inconsistent"); 
     } 
     Transaction tx = db.beginTx(); 
     try { 
      ... 
     } 
} 

Я получил сообщение об ошибке в строке: новый Reasoner (онтология); - что нет класса Reasoner, я не понимаю, нужно ли мне использовать какой-то логический логический движок вроде Hermit или Pellet?

У меня также есть ошибка в строке Транзакция tx = db.beginTx() ;. Нужно ли использовать Spring Framework для запуска этого примера?

+0

Вы импортировали Reasoner правильно? Если я правильно помню, это было «Ctrl + o», чтобы Eclipse автоматически разрешал импорт. Btw. Я не думаю, что вы получите много ответов на конкретный вопрос. Также попробуйте форум/почтовый список для OWL или Neo4j. Это, скорее всего, поможет решить вашу проблему. – erikbwork

+0

Я импортировал OWLReasoner (у меня нет классов Reasoner в моих добавленных файлах jar). – trojek

+0

Рассматривали ли вы просто использование базы данных RDF, которая поддерживает OWL? – Michael

ответ

1

Класс разума находится в Hermit OWL Reasoner. Чтобы решить проблему, вы должны добавить файл HermiT.jar в свой проект.

Класс транзакции в этом примере представлен из библиотек neo4j (org.neo4j.graphdb.Transaction).