Hermit Reasoner - запрос SPARQL

Я использую Hermit Reasoner с OWL-API 5 следующим образом:

  OWLOntologyManager manager= OWLManager.createOWLOntologyManager(); //create the manager    
   OWLOntology ontology=manager.loadOntologyFromOntologyDocument(new File("ontologies/E1G1.owl"));

  OWLDataFactory datafact=manager.getOWLDataFactory();
  Configuration config= new Configuration();
  Reasoner reasoner= new Reasoner(config, ontology);
  reasoner.classifyClasses();
  reasoner.classifyDataProperties();
  reasoner.classifyObjectProperties();
  System.out.println(reasoner.isConsistent());  

Теперь я хотел бы выполнить запрос SPARQL аналогично подключаемому модулю Protégé SPARQL над предполагаемой онтологией. Я экспериментирую с JENA ARQ, но мне непонятно, как их интегрировать. Какие-либо предложения?


person Discipulos    schedule 29.03.2018    source источник


Ответы (1)


Я не думаю, что между Jena и HermiT существует интеграция. OpenPellet, средство рассуждений, построенное на основе Pellet, имеет интеграцию с Jena.

Вопрос в том, действительно ли вам нужен внешний аргумент. Если нет, вы можете использовать рассуждения OWL, предоставленные как часть Jena. См. Jena OWL Reasoners.

person Henriette Harmse    schedule 03.04.2018
comment
Итак, как в Protege достигается интеграция между рассуждающим и SPARQL? Может быть, SPARQL делает запросы только к базе знаний, полученной от внутреннего логика? - person Discipulos; 03.04.2018
comment
Для того, чтобы ответить на ваш вопрос. Мне нужно интегрировать SPARQL с приложением на основе OWL-API, которое также интегрирует рассуждатель (Hermit). - person Discipulos; 03.04.2018
comment
Protege, я думаю, использует архитектуру плагинов OSGI, используя OWL API для интеграции с рассуждающими. Очень отличается от Йены. - person Henriette Harmse; 03.04.2018
comment
Я имею в виду взаимодействие SPARQL с рассуждающими. - person Discipulos; 03.04.2018
comment
Плагин SPARQL Protege использует RDF4J, а не HermiT или какой-либо другой модуль рассуждений. - person Henriette Harmse; 03.04.2018
comment
SPARQL нельзя интегрировать с рассуждающим агентом, так как рассуждающий не является хранилищем данных. Это просто набор правил, процесс, двигатель. Онтология - это хранилище данных. Если вы хотите, чтобы OWL-API и sparql работали вместе, вы можете использовать ONT-API. Этот проект не содержит аргументов. Только в тестах. Обратите внимание, что чистая Jena не поддерживает OWL2, - person ssz; 03.04.2018
comment
Итак, если есть интеграция OWL API и SPARQL, я предполагаю, что я также могу интегрировать модуль рассуждений, совместимый с OWL API, с SPARQL, это не так? Есть где-нибудь такой пример? - person Discipulos; 04.04.2018