ReasonerFactory не может найти символ OWLAPI
Это мой файл POM
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany</groupId>
<artifactId>mavenproject2</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>net.sourceforge.owlapi</groupId>
<artifactId>owlapi-distribution</artifactId>
<version>5.1.0</version>
</dependency>
<dependency>
<groupId>net.sourceforge.owlapi</groupId>
<artifactId>org.semanticweb.hermit</artifactId>
<version>1.3.8.500</version>
</dependency>
</dependencies>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
</project>
Я просто хочу сделать простые примеры, подобные этому:
OWLOntology o = manager.loadOntologyFromOntologyDocument(file);
System.out.println("--------------------------");
OWLReasonerFactory rf = new ReasonerFactory();
OWLReasoner r = rf.createReasoner(o);
r.precomputeInferences(InferenceType.CLASS_HIERARCHY);
Но ReasonerFactory не распознается системой. Я скачал файл jar, установил maven, открыл проект netbeans с помощью проекта maven. Почему это не работает??
1 ответ
Используйте OWLAPI версии 5.1.7 и HermiT версии 1.4.3.517.
Проблема в том, что в используемой вами версии ReasonerFactory
это внутренний класс в Reasoner
класс, но ваш тестовый код полагается на то, что он является отдельным классом. Это произошло в более поздней версии HermiT.
1.4.3.517 является самой последней версией и включает в себя несколько исправлений ошибок, поэтому я рекомендую использовать ее вместо всех других совместимых с OWLAPI 5 версий.