我正在为大学类(class)项目研究视频游戏本体,特别关注不同类型之间的关系。我已经包括了this我的项目中存在本体论并对其进行了扩展。 OWL 文档的当前状态是 here .
当我在 Protégé 中启动 HermiT 推理机时,它指出 Game
是 Equivalent To Genre
并附有解释:
此外,它指出 owl:Thing
是 Equivalent To Game
相当于Genre
分别有以下解释:
正如你所想的,这绝对不是我所期望的结果。我尝试过设置 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/