开始 OWL API

Getting started with OWL API

Post-答案编辑:这是一个主要由于 IDE 问题引起的问题。如果您不熟悉 eclipse 或一般的 java 编程,同时还学习 OWL.

,这可能更有用

总的来说,我对 OWL 很陌生,需要熟悉我正在从事的项目的 OWL API。我的 java 有点生疏,所以也许我的问题就在那里,尽管我不这么认为。

问题:我已经使用 OWL API 好几天了,但我无法找到执行任何操作所需的库的兼容版本。这是我尝试执行的一个非常基本的操作的一些示例代码:

package converter;

import org.semanticweb.owlapi.apibinding.OWLManager;
import org.semanticweb.owlapi.model.OWLOntologyManager;

public class OWL_Converter {

    OWLOntologyManager m = OWLManager.createOWLOntologyManager();
}

当我尝试在 eclipse 中构建时,这正好为我抛出了 11,362 个错误。这些错误中的前 50 个左右表示类似 "AbstractAnnotatedAxiomRoundTrippingTestCase cannot be resolved to a type" 的内容。请有人帮我弄清楚我做错了什么。这三天一直在搞OWL和OWLapi,进展很慢,现在就这样碰壁了,好像不管多少OWL api 类 我导入,我仍然有来自 类 的间接引用的未解析类型,等等...

堆栈跟踪显示如下:

Exception in thread "main" java.lang.NoClassDefFoundError: ch/qos/logback/core/joran/spi/JoranException
    at org.slf4j.LoggerFactory.getSingleton(LoggerFactory.java:189)
    at org.slf4j.LoggerFactory.bind(LoggerFactory.java:112)
    at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:105)
    at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:235)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:208)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:221)
    at org.semanticweb.owlapi.OWLAPIServiceLoaderModule.<clinit>(OWLAPIServiceLoaderModule.java:50)
    at org.semanticweb.owlapi.apibinding.OWLManager.<clinit>(OWLManager.java:42)
    at owl_converter.Converter.main(Converter.java:115)
Caused by: java.lang.ClassNotFoundException: ch.qos.logback.core.joran.spi.JoranException
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 9 more

您正在编译 OWL API 源代码吗? 您可以通过两种方式跳过必须手动填写所有依赖项:

  • 在 Eclipse 中导入现有的 maven 项目(这将使用 pom 文件来确定依赖项)

  • 查看 antbuild 文件夹中的类路径文件并确保您的 .classpath 文件匹配。

您可能需要进行 Maven 测试构建以确保库已下载。