Xml 为什么我的猫头鹰推理机没有给我预期的结果?
大家好 在推断出下面的OWL代码之后,我不希望在名称dinDividual:instance\u Dromen中出现Xml 为什么我的猫头鹰推理机没有给我预期的结果?,xml,rdf,owl,inference-engine,Xml,Rdf,Owl,Inference Engine,大家好 在推断出下面的OWL代码之后,我不希望在名称dinDividual:instance\u Dromen中出现。 不知何故,“Huis”和“Auto”之间的脱节有问题,或者我没有正确使用complementOf?在推断器的结果中,NamedIndividual:instance_Dromen具有以下输出: -- 我用作推断器输入的OWL代码是: ]> 我希望有人能帮助我 提前谢谢 问候,, Martijn van der Plaat你的本体论非常混乱,例如,你说过Auto与H
。
不知何故,“Huis”和“Auto”之间的脱节有问题,或者我没有正确使用complementOf?在推断器的结果中,NamedIndividual:instance_Dromen具有以下输出:
--
我用作推断器输入的OWL代码是:
]>
我希望有人能帮助我 提前谢谢 问候,,
Martijn van der Plaat你的本体论非常混乱,例如,你说过Auto与Huis是不相交的,但Drome相当于Huis与Auto的结合 如果你是手写的,停下来。获取并使用它来编写您的本体。除了使编写本体更容易之外,它还集成了各种推理器,因此您可以在GUI中检查一致性和可满足性。你还可以用解释工具告诉你为什么会有这样的推论
最后,您几乎总是希望子类而不是等价类。在这种关系中,对等是双向的,这通常不是作者想要的。我同意@Michael所写的。关于将OWL代码作为(Stackoverflow)问题的一部分呈现的一些一般要点:
- 使用人类可读的语法,即避免XML和避免RDF(您使用了两者…),因为两者对于人类通信来说都是不必要的冗长
- 用通俗易懂的英语解释每个公理背后的意图
- 使用英语实体名称(用户不广泛使用荷兰语)
- 删除不相关的内容(例如本例中的SWRL命名空间前缀)
在这些更改之后,您可能只剩下几行代码,问题可能会立即显现出来……您的
实例drome
(为简洁起见,从现在起称之为i
)被定义为Wielen
类型和Onderstel
。导致其成为海啸类型的原因如下:
Auto
定义为等同于Wielen
和Onderstel
的交集,因此i
被推断为Auto
类型李>
i
属于Auto
类型,我们知道它不是Huis
类型(因为这两个类被定义为不相交)海啸
被定义为回族人
的补充(也就是说,任何不是回族人
的东西都是海啸
),并且i
不是回族人
,我们可以推断i
是海啸
简而言之,本体建模的方式导致每一次
Auto
都成为海啸
谢谢你的回答。然而,我不想使用像Protege这样的工具。我在寻找我的问题的正式答案:你能从逻辑上解释一下为什么在推理过程之后,这个例子中的人得到了rdf:type海啸吗?Huis&Auto联合和Auto-en-Huis分离背后的想法是因为我想创造一种情况,我的个人可以是rdf:Domen类型,但决不能同时是:Huis和类型:Auto.FWIW。我不认为实体名称是荷兰语这一事实在这里特别相关,但我同意你的一般观点,即可读的格式会很好:)谢谢!这正是我想要的答案。这不是我所期望的行为。。我同意xml/rdf不是最好的可读格式,但是这种格式是最常用的in@martijnplaat,如果你觉得我的答案有帮助,你可以帮我一个大忙,投赞成票和/或接受……对不起,我的声誉只有11,我需要15票才能投赞成票!不管怎样,我已经接受了你的回答。实际上,我有一个后续问题,但因此我必须开始一个新的问题页面。。
<rdf:Description rdf:about="http://www.almfluss.com/rdf/0.1/Ontology.owl#instance_Dromen">
<owl:sameAs rdf:resource="http://www.almfluss.com/rdf/0.1/Ontology.owl#instance_Dromen"/>
<rdf:type rdf:resource="http://www.almfluss.com/rdf/0.1/Ontology.owl#Wielen"/>
<rdf:type rdf:resource="http://www.almfluss.com/rdf/0.1/Ontology.owl#Auto"/>
<rdf:type rdf:resource="http://www.almfluss.com/rdf/0.1/Ontology.owl#Onderstel"/>
<rdf:type rdf:resource="http://www.almfluss.com/rdf/0.1/Ontology.owl#Tsunami"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
<rdf:type rdf:resource="http://www.almfluss.com/rdf/0.1/Ontology.owl#Dromen"/>
</rdf:Description>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE rdf:RDF [
<!ENTITY owl "http://www.w3.org/2002/07/owl#" >
<!ENTITY swrl "http://www.w3.org/2003/11/swrl#" >
<!ENTITY swrlb "http://www.w3.org/2003/11/swrlb#" >
<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
<!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
<!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
<!ENTITY Ontology201210 "http://www.almfluss.com/rdf/0.1/Ontology.owl#" >
]>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://www.almfluss.com/rdf/0.1/Ontology.owl#"
xmlns:Ontology201210="http://www.almfluss.com/rdf/0.1/Ontology.owl#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:swrl="http://www.w3.org/2003/11/swrl#"
xmlns:swrlb="http://www.w3.org/2003/11/swrlb#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xml:base="http://www.almfluss.com/rdf/0.1/Ontology.owl#">
<owl:DatatypeProperty rdf:about="#hasValue"/>
<owl:Class rdf:about="#Dromen">
<owl:equivalentClass>
<owl:Class>
<owl:unionOf rdf:parseType="Collection">
<rdf:Description rdf:about="#Huis"/>
<rdf:Description rdf:about="#Auto"/>
</owl:unionOf>
</owl:Class>
</owl:equivalentClass>
<owl:equivalentClass>
<owl:Class>
<owl:complementOf rdf:resource="#Werkloos"/>
</owl:Class>
</owl:equivalentClass>
<owl:equivalentClass>
<owl:Class>
<owl:complementOf rdf:resource="#Arbeidsongeschikt"/>
</owl:Class>
</owl:equivalentClass>
</owl:Class>
<owl:NamedIndividual rdf:about="#instance_Dromen">
<rdf:type rdf:resource="#Wielen"/>
<rdf:type rdf:resource="#Onderstel"/>
</owl:NamedIndividual>
<owl:Class rdf:about="#Huis">
<owl:equivalentClass>
<owl:Class>
<owl:complementOf rdf:resource="#Tsunami"/>
</owl:Class>
</owl:equivalentClass>
</owl:Class>
<owl:NamedIndividual rdf:about="#instance_Huis"/>
<owl:Class rdf:about="#Auto">
<owl:equivalentClass>
<owl:Class>
<owl:intersectionOf rdf:parseType="Collection">
<rdf:Description rdf:about="#Wielen"/>
<rdf:Description rdf:about="#Onderstel"/>
</owl:intersectionOf>
</owl:Class>
</owl:equivalentClass>
<owl:disjointWith rdf:resource="#Huis"/>
</owl:Class>
<owl:NamedIndividual rdf:about="#instance_Auto"/>
<owl:Class rdf:about="#Werkloos">
<owl:equivalentClass>
<owl:Class>
<owl:unionOf rdf:parseType="Collection">
<rdf:Description rdf:about="#ZelfOntslag"/>
<rdf:Description rdf:about="#Ontslagen"/>
</owl:unionOf>
</owl:Class>
</owl:equivalentClass>
</owl:Class>
<owl:NamedIndividual rdf:about="#instance_Werkloos"/>
<owl:Class rdf:about="#Arbeidsongeschikt"/>
<owl:NamedIndividual rdf:about="#instance_Arbeidsongeschikt"/>
<owl:Class rdf:about="#Wielen"/>
<owl:NamedIndividual rdf:about="#instance_Wielen"/>
<owl:Class rdf:about="#Onderstel"/>
<owl:NamedIndividual rdf:about="#instance_Onderstel"/>
<owl:Class rdf:about="#Ontslagen"/>
<owl:NamedIndividual rdf:about="#instance_Ontslagen"/>
<owl:Class rdf:about="#ZelfOntslag"/>
<owl:NamedIndividual rdf:about="#instance_ZelfOntslag"/>
<owl:Class rdf:about="#Tsunami"/>
<owl:NamedIndividual rdf:about="#instance_Tsunami"/>
</rdf:RDF>