在我的应用程序中执行推理器时,我遇到了一个问题,我无法捕获推理器生成的推理。这是正常执行的,printClassTree向我显示找到了推断,但结果OWLOntology没有推断。当前代码:
com.clarkparsia.pellet.owlapiv3.PelletReasoner reasoner = PelletReasonerFactory.getInstance().createReasoner(ontology);
reasoner.getKB().realize();
reasoner.getKB().printClassTree();
我应该改变什么?如何捕获推理推理器产生的公理?
发布于 2013-04-30 06:45:25
下面的代码运行良好,这里的"inferredOnotology“包含基本的本体和推断的结果。
请注意,此代码是使用pellet 2.1或2.2版本测试的,不确定最新版本的pellet。
OWLOntology inferredOntology;
// Create Reasoner
OWLReasonerFactory reasonerFactory = new PelletReasonerFactory();
OWLReasoner reasoner = reasonerFactory.createReasoner(manager);
// Load the ontologies into the reasoner.
Set<OWLOntology> importsClosure = manager.getImportsClosure(inferredOntology);
reasoner.loadOntologies(importsClosure);
// Reason!
reasoner.classify();
InferredOntologyGenerator iog = new InferredOntologyGenerator(reasoner);
iog.fillOntology(manager, inferredOntology);
发布于 2013-08-13 17:38:15
我正在使用这个导入
import com.clarkparsia.pellet.owlapiv3.PelletReasoner
使用Pellet 2.3.0
我这样声明:
PelletReasoner razonador;
并用本体论进行初始化:
razonador=com.clarkparsia.pellet.owlapiv3.PelletReasonerFactory.getInstance().createReasoner(ont)
其中ont是本体,我只是用它来分类:
razonador.getKB().classify();
希望它能帮上忙!
https://stackoverflow.com/questions/16283905
复制相似问题