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

导出Protege中的推断公理

禄源
2023-03-14

这种传递性关系在Protege中非常有效。我用黄色可以看出A类相当于C类,反之亦然。

我想从Protege工具导出这个推断的公理。我转到“文件->导出推断公理为本体”,在第一个屏幕上选择所有选项,在第二个屏幕上不选择任何选项。最后,我以RDF/XML语法将文件保存为OWL。

现在当我打开这个新文件时,我没有看到任何关于推断公理的三元组,即A类等同于C类,事实上,它与我最初的本体论是完全相同的本体论。

顺便说一句,我使用了最新的Protege5.2版本,也尝试了4.3版本,看看是否有bug,但结果是一样的。

谢谢

我使用的本体论就是这一个。

///////////////////////////////////////////////////////////////////////////////////////
//
// Classes
//
///////////////////////////////////////////////////////////////////////////////////////





<!-- http://www.semanticweb.org/sesa388470/ontologies/2017/9/23/untitled-ontology-110#A -->

<owl:Class rdf:about="http://www.semanticweb.org/sesa388470/ontologies/2017/9/23/untitled-ontology-110#A">
    <owl:equivalentClass rdf:resource="http://www.semanticweb.org/sesa388470/ontologies/2017/9/23/untitled-ontology-110#B"/>
</owl:Class>

<!-- http://www.semanticweb.org/sesa388470/ontologies/2017/9/23/untitled-ontology-110#B -->

<owl:Class rdf:about="http://www.semanticweb.org/sesa388470/ontologies/2017/9/23/untitled-ontology-110#B">
    <owl:equivalentClass rdf:resource="html" target="_blank">http://www.semanticweb.org/sesa388470/ontologies/2017/9/23/untitled-ontology-110#C"/>
</owl:Class>

<!-- http://www.semanticweb.org/sesa388470/ontologies/2017/9/23/untitled-ontology-110#C -->

<owl:Class rdf:about="http://www.semanticweb.org/sesa388470/ontologies/2017/9/23/untitled-ontology-110#C"/>
<Declaration>
    <Class IRI="#A"/>
</Declaration>
<Declaration>
    <Class IRI="#C"/>
</Declaration>
<Declaration>
    <Class IRI="#B"/>
</Declaration>
<EquivalentClasses>
    <Class IRI="#A"/>
    <Class IRI="#B"/>
    <Class IRI="#C"/>
</EquivalentClasses>

“OWL RDF/XML语法不支持像等价类这样的n元构造函数,因为所有东西都应该使用三元组来表示(因为RDF的缘故)。在您的示例中,推断出的公理等价类(A B C)在RDF[1](参见表1)中序列化为

A猫头鹰:等价物B类。

B猫头鹰:等同C类。

[1]https://www.w3.org/tr/owl2-映射到RDF/#translation_of_axioms_without_annotations

共有1个答案

通博实
2023-03-14

我明白你的意思。您期望在导出的本体中看到A和C之间的等价类公理,对吗?

我可以复制它。它看起来像是Protege editor假设它已经是一个断言的公理。至少,当我再次打开本体时,编辑器会在类层次结构树中呈现它:

@prefix : <http://www.semanticweb.org/user/ontologies/2017/9/untitled-ontology-3#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@base <http://www.semanticweb.org/user/ontologies/2017/9/untitled-ontology-3> .

<http://www.semanticweb.org/user/ontologies/2017/9/untitled-ontology-3> rdf:type owl:Ontology .

#################################################################
#    Classes
#################################################################

###  http://www.semanticweb.org/user/ontologies/2017/9/untitled-ontology-3#A
:A rdf:type owl:Class ;
   owl:equivalentClass :B .


###  http://www.semanticweb.org/user/ontologies/2017/9/untitled-ontology-3#B
:B rdf:type owl:Class ;
   owl:equivalentClass :C .


###  http://www.semanticweb.org/user/ontologies/2017/9/untitled-ontology-3#C
:C rdf:type owl:Class .


###  Generated by the OWL API (version 4.2.8.20170104-2310) https://github.com/owlcs/owlapi

它可能是一个bug,也可能是预期的行为。你应该先在门生邮件列表上询问。

 类似资料:
  • null 我使用的是Protege 5.0.0、Reasoner Hermit 1.3.8和OWL API 5.0.5(尽管不同的Reasoner获得了相同的结果:Fact++、Pellet;以及不同的OWL API和Protege版本:4.x) 我会很高兴有任何评论,即使是一个简单的解释也会对我有很大帮助。

  • 我想为我在Protege的个人推断一个匿名类定义。 我正在使用Pellet Reasner,但是我也尝试了OnTop和Hermit,但都不起作用。例如,如果我以相反的方式执行规则: 它毫无问题地工作。 问题是,这个学生不能推断匿名类吗?有什么解决办法吗?提前谢谢你! 下面是本体的代码 `

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

  • 逻辑回归中的数学推导 逻辑回归模型是基于这样的逻辑分布得出的模型 F(x) = 1/(1+e^x) 由此也得出了二项逻辑回归分布是: P(Y=1|x) = e^(wx+b)/(1+e^(wx+b)) P(Y=0|x) = 1/(1+e^(wx+b)) 也得出了多项逻辑回归分布是: P(Y=k|x) =  e^(wx)/(1+∑e^(wx)) 那么这个 1/(1+e^x)到底是怎么来的呢?我们来证明

  • 如果我对本体中“class1”的所有实例都有相同的对象属性值“val1”,我如何推断该“class1”的对象属性值为“val1”