首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >捕获由pellet推理器生成的所有推论

捕获由pellet推理器生成的所有推论
EN

Stack Overflow用户
提问于 2013-04-30 00:42:09
回答 2查看 900关注 0票数 0

在我的应用程序中执行推理器时,我遇到了一个问题,我无法捕获推理器生成的推理。这是正常执行的,printClassTree向我显示找到了推断,但结果OWLOntology没有推断。当前代码:

代码语言:javascript
复制
com.clarkparsia.pellet.owlapiv3.PelletReasoner reasoner = PelletReasonerFactory.getInstance().createReasoner(ontology);
    reasoner.getKB().realize();
    reasoner.getKB().printClassTree();

我应该改变什么?如何捕获推理推理器产生的公理?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-30 14:45:25

下面的代码运行良好,这里的"inferredOnotology“包含基本的本体和推断的结果。

请注意,此代码是使用pellet 2.1或2.2版本测试的,不确定最新版本的pellet。

代码语言:javascript
复制
        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);
票数 0
EN

Stack Overflow用户

发布于 2013-08-14 01: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();

希望它能帮上忙!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16283905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档