为什么 Protege 中可视化的推论与导出的推断公理不同 [英] Why the inferences visualised in Protege differ from the exported inferred axioms

查看:73
本文介绍了为什么 Protege 中可视化的推论与导出的推断公理不同的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个包含两个主要类(代码和主题)和一个对象属性(主题获得的代码)的本体,其中:

I have an ontology with two main classes (code and subject) and one object property (subject obtained code) where:

  • 代码(类)包含所有可用的代码(实例)
  • 代码的(类)子类对这些代码(实例)进行分类;手动指定
  • 主题(类)包含所有可用的主题(实例)
  • 每个主体(实例)都断言(获得的属性)一些代码(实例)
  • Subject 的(class)子类根据相关联的代码(实例)和代码的代码类别效忠定义了主题(实例)的集合
  • Reasoner 即将将主题实例的断言推断为特定组(主题的子类)

当我在 Protege 中启动一个推理器时,推断的实例被断言给最深的主题子类,该实例仍然满足约束(参见附件 ).但是,如果我将推断的公理导出到单独的本体中,每个主题子类都包含其自身及其后代的所有实例(显然,使用 JAVA OWL API 观察到相同的行为).

When I start a reasoner within Protege, inferred instances are asserted to the deepest subject subclass that the instance still meets the constraints (see attached Figure). But if I export inferred axioms into separate ontology, every subject subclass contains all instances of itself + its descendants (obviously, same behaviour is observed using JAVA OWL API).

我的问题是:为什么结果不同?我理解这两种情况的逻辑,但我不明白为什么它们不同.有什么方法可以导出 Protege 中显示的推论?如果没有直接的方法,我是否可以通过 OWL API 以某种方式强制 Hermit(或其他推理者)向我显示完全相同的黄色保护"结果?到目前为止,我只找到了一种解决方法 - 按原样导出推理,然后通过 SPARQL 询问差异.

My question is: Why the results are different? I understand the logic of both cases but I don't understand why they are different. Is there any way to export the inferences as they are shown in Protege? And if there is no direct way, may I force Hermit (or other reasoner) somehow from OWL API to show me exactly the same "yellow protege" results? So far, I've found only one workaround - to export inferences as they are and then ask for differences via SPARQL.

我正在使用 Protege 5.0.0、Reasoner Hermit 1.3.8 和 OWL API 5.0.5(尽管对不同的推理器获得了相同的结果:Fact++、Pellet;以及不同的 OWL API 和 Protege 版本:4.x)

I'm using Protege 5.0.0, Reasoner Hermit 1.3.8 and OWL API 5.0.5 (although same results were obtained for different reasoners: Fact++, Pellet; and different OWL API and Protege versions: 4.x)

我会很高兴收到任何评论,即使是一个简单的解释也会对我有很大帮助.

I'll be very glad for any comments, even a simple explanation will help me a lot.

推荐答案

导出的公理取决于所使用的一组推断公理生成器 - Protege 可能使用的一组与您选择的不同.

The exported axioms depend on the set of inferred axiom generators used - Protege might be using a different set from the one you've chosen.

一组生成器可在面板中配置;它的初始化看起来像这样:

The set of generators is configurable in a panel; its initialisation looks like this:

    addCheckBox(new InferredSubClassAxiomGenerator(), true, false);
    addCheckBox(new InferredEquivalentClassAxiomGenerator(), true, false);
    addCheckBox(new InferredSubObjectPropertyAxiomGenerator(), true, false);
    addCheckBox(new InferredSubDataPropertyAxiomGenerator(), true, false);
    addCheckBox(new InferredEquivalentObjectPropertyAxiomGenerator(), true, false);
    addCheckBox(new InferredEquivalentDataPropertiesAxiomGenerator(), true, false);
    addCheckBox(new InferredObjectPropertyCharacteristicAxiomGenerator(), false, false);
    addCheckBox(new InferredDataPropertyCharacteristicAxiomGenerator(), false, false);
    addCheckBox(new InferredInverseObjectPropertiesAxiomGenerator(), false, false);
    addCheckBox(new InferredClassAssertionAxiomGenerator(), false, false);
    addCheckBox(new InferredPropertyAssertionGenerator(), false, true);
    addCheckBox(new InferredDisjointClassesAxiomGenerator(), false, true);

我猜默认选中的就是那些标有 true 的.

I'm going to guess the selected ones by default are the ones marked with true.

这篇关于为什么 Protege 中可视化的推论与导出的推断公理不同的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆