【问题标题】:catch all the inferences generated by pellet reasoner捕捉颗粒推理器产生的所有推论
【发布时间】:2013-04-29 16:42:09
【问题描述】:

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

com.clarkparsia.pellet.owlapiv3.PelletReasoner reasoner = PelletReasonerFactory.getInstance().createReasoner(ontology);
    reasoner.getKB().realize();
    reasoner.getKB().printClassTree();

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

【问题讨论】:

    标签: ontology owl inference pellet


    【解决方案1】:

    以下代码运行良好,这里的“inferredOnotology”包含基础本体以及推断结果。

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

            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);
    

    【讨论】:

      【解决方案2】:

      我正在使用这个导入

      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();

      希望对你有帮助!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-30
        相关资源
        最近更新 更多