0

我想将本体从 OWL 映射到 Neo4j 数据库。我在这里找到了一些例子。

如果我理解得很好,我需要创建包含 OWL API 库的 Java 程序。我不需要任何推理引擎(据此: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 {
            ...
        }
}

我有一个错误:new Reasoner(ontology); - 没有类推理者,我不明白我是否需要使用像 Hermit 或 Pellet 这样的推理器推理引擎?

我在 Transaction tx = db.beginTx(); 行中也遇到了错误。我需要使用 spring 框架来运行这个例子吗?

4

1 回答 1

1

Reasoner 类在Hermit OWL Reasoner中。要解决这个问题,您应该将 HermiT.jar 文件添加到您的项目中。

此示例中的事务类来自 neo4j 库 (org.neo4j.graphdb.Transaction)。

于 2013-12-17T10:02:57.980 回答