当前位置: 首页 > 知识库问答 >
问题:

为什么Protege中可视化的推理与导出的推理公理不同

严扬
2023-03-14
    null

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

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

共有1个答案

郜驰
2023-03-14

导出的公理取决于所使用的推断公理生成器的集合-Protege可能使用了与您选择的不同的集合。

所述发电机组可配置在面板中;它的初始化如下所示:

    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的。

 类似资料:
  • 这种传递性关系在Protege中非常有效。我用黄色可以看出A类相当于C类,反之亦然。 我想从Protege工具导出这个推断的公理。我转到“文件->导出推断公理为本体”,在第一个屏幕上选择所有选项,在第二个屏幕上不选择任何选项。最后,我以RDF/XML语法将文件保存为OWL。 现在当我打开这个新文件时,我没有看到任何关于推断公理的三元组,即A类等同于C类,事实上,它与我最初的本体论是完全相同的本体论

  • 我有一个模型,可以从图像中提取512个特征(数字介于-1,1之间)。我使用此处的说明将此模型转换为tflite浮点格式https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/lite 我对原始模型和tflite模型的同一个图像进行了推断。 对于向量,我得到了不同的结果,我希望得到非常相似的结果,因为我没有使用量

  • 我有一个关于使用OWL API和推理器的基本问题。 我已经尝试了JFact推理器,成功运行了它并得到了大量公理(有些是推断出来的,有些是在原始本体中明确陈述的)。 我需要把它们区分开来,但我实在找不到什么方法来做这件事。

  • 本文向大家介绍语句演算的推理理论,包括了语句演算的推理理论的使用技巧和注意事项,需要的朋友参考一下 为了从我们已经知道其真相的陈述中推断出新的陈述,使用了推理规则。 推理规则有什么用? 数学逻辑通常用于逻辑证明。证明是确定数学陈述的真值的有效参数。 参数是一系列语句。最后一个陈述是结论,其前面的所有陈述都称为前提(或假设)。结论之前放置符号“ $\ there $”(因此请阅读)。一个有效的论点是

  • 问题内容: 从JEP 286中,我们可以在JDK 10(18.3)中使用局部类型推断()。JEP指出,可以进行以下编译: 我很想知道如果尝试以下操作会发生什么: 我在第二个片段中提出的内容是否可以编译?如果是这样(我对此表示怀疑),将accept 作为其通用类型吗? 我会自己尝试,但是我无法使用可以安装早期发行版的任何计算机。 谢谢! 问题答案: 是的,钻石操作员可以组合在一起。编译器将推断最特定

  • 我使用的是Java中的<code>或者</code>的本地实现,它有如下方法: 这两种方法可以编译并正常工作: 此方法不编译: 错误: (我去掉了包限定符,使错误更加易读) 我可以通过指定类型来编译它: 但我为什么需要这样做?我如何避免这种代码混乱?