ReasonerFactory找不到符号OWLAPI

时间:2018-11-11 13:36:05

标签: java owl owl-api

这是我的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,并使用maven项目打开了一个netbeans项目。为什么它不起作用?

1 个答案:

答案 0 :(得分:0)

使用OWLAPI版本5.1.7和HermiT版本1.4.3.517。

这里的问题是,在您使用的版本中,ReasonerFactoryReasoner类中的一个内部类,但是您的测试代码依赖于它是一个独立的类。那是在更高版本的HermiT中发生的。

1.4.3.517是最新版本,并包含一些错误修复,因此,我建议使用它代替所有其他OWLAPI 5兼容版本。