owl - Reasoner 设置两个不同的类,彼此等价,并且与 owl :Thing

标签 owl semantic-web protege turtle-rdf hermit

我正在为大学类(class)项目研究视频游戏本体,特别关注不同类型之间的关系。我已经包括了this我的项目中存在本体论并对其进行了扩展。 OWL 文档的当前状态是 here .

当我在 Protégé 中启动 HermiT 推理机时,它指出 GameEquivalent To Genre并附有解释:

Game Equivalent To Genre explanation

此外,它指出 owl:ThingEquivalent To Game相当于Genre分别有以下解释:

owl:Thing Equivalent To Game explanation

owl:Thing Equivalent To Genre explanation

正如你所想的,这绝对不是我所期望的结果。我尝试过设置 Game Disjoint With Genre ,但推理者随后指出本体是不一致的。它给出的解释与 Game Equivalent To Genre 的解释相同但添加了 Disjoint With每个解释的限制。

这是我第一次处理这样的事情,所以如果有人能向我解释我的逻辑中的谬误,我将不胜感激。是什么导致了这种行为,为什么,以及如何修复它?

此外,这里是两个似乎引起麻烦的对象属性的代码(其余的可以找到 here ):

###  http://example.org/VideoGameOntologyExtended#hasElementsOf
:hasElementsOf rdf:type owl:ObjectProperty ,
                        owl:ReflexiveProperty ;
               rdfs:domain vgo:Genre ;
               rdfs:range vgo:Genre .

###  http://example.org/VideoGameOntologyExtended#isSimilarTo
:isSimilarTo rdf:type owl:ObjectProperty ,
                      owl:SymmetricProperty ,
                      owl:ReflexiveProperty ;
             rdfs:domain vgo:Game ;
             rdfs:range vgo:Game .

最佳答案

只是为了给您暗示owl:Thing EquivalentTo Game:

我们有

自反:isSimilarTo

相当于

owl:Thing SubClassOf isSimilarTo some Self

这实际上意味着本体中的每个个体都通过属性 isSimilarTo 与自身相关,即对于本体中的每个个体 x,我们可以包含

isSimilarTo(x, x)

此外,我们还有

isSimilarTo Range Game

这在语义上等同于公理

owl:Thing SubClassOf isSimilarTo only Game

这意味着,如果存在这样的关系 isSimilarTo(x, y),则对象 y 将属于类 Game

现在,请记住,我们已经说过,本体中的每个个体都与它自己有这样的关系。因此,我们可以推断每个个体都属于 Game 类。

关于owl - Reasoner 设置两个不同的类,彼此等价,并且与 owl :Thing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48737337/

相关文章:

java - 如何使用 Jena 添加对象属性?特殊格式

java - 如何使用 JENA 创建 owl 文件?

java - Jena-写入 owl 文件-意外结果

rdf - 如何创建可重用谓词(RDF)?

character-encoding - 如何让Protege 4.3正确显示汉字?

java - 从java中的owl获取所有类,子类

sparql - 如何在 SPARQL 中从 DBpedia 检索空白节点,并使用 DISTINCT 解释减少的结果

asp.net - 对 asp.net 的语义 Web 支持

logic - 如何用曼彻斯特猫头鹰语法表达 "Every"?

OWL:作用域和范围