Rdf 本体论';s类定义形成一个无限循环(如何避免这种情况)?

Rdf 本体论';s类定义形成一个无限循环(如何避免这种情况)?,rdf,owl,ontology,protege,knowledge-graph,Rdf,Owl,Ontology,Protege,Knowledge Graph,我构建了一个Java管道,从歌词中创建rdf三元组,我想使用本体对不同类型的歌曲进行分类 我还想计算每个词在歌曲中出现的次数(除了我用来定义歌曲类别的内置基数)。最后,我希望能够在Protege中使用像graphDB或graphViz这样的视觉辅助工具来比较歌曲中更常见的标记词(这就是为什么我有TaggedWordRelationship类,专门比较个体之间的差异) 在我的Protege文档中,我有以下陈述,当与事实进行推理时,Hermit、Pellet等以无限循环的方式锁定我的计算机。我无法让

我构建了一个Java管道,从歌词中创建rdf三元组,我想使用本体对不同类型的歌曲进行分类

我还想计算每个词在歌曲中出现的次数(除了我用来定义歌曲类别的内置基数)。最后,我希望能够在Protege中使用像graphDB或graphViz这样的视觉辅助工具来比较歌曲中更常见的标记词(这就是为什么我有TaggedWordRelationship类,专门比较个体之间的差异)

在我的Protege文档中,我有以下陈述,当与事实进行推理时,Hermit、Pellet等以无限循环的方式锁定我的计算机。我无法让推理者说出这是一首什么样的歌:

对象属性:hasTaggedWordRelation
-域名:宋
-范围:塔格德沃德

对象属性:taggedWord
-域:TaggedWordRelation
-范围:字

类别:定义了单词

类:定义了TaggedWordRelation

类别:LoveWordRelation已定义
-TaggedWordRelation的子类
-塔格德沃德说了些情话

类:定义了LoveSong -宋的子类
-hasTaggedWordRelation一些LoveWordRelation
-hasTaggedWordRelation正好是0 HateWordRelation
-hasTaggedWordRelation最小0个SexWordRelation
-hasTaggedWordRelation最小值为0 GodWordRelation

类别:定义了宗教歌曲
-宋的子类
-hasTaggedWordRelation一些LoveWordRelation
-hasTaggedWordRelation正好是0 HateWordRelation
-hasTaggedWordRelation正好是0个SexWordRelation
-有些神词关系


基本上,我有大约6种不同类型的歌曲,我想(使用推理器和约束条件)根据歌曲实例的各个taggedWordRelations(通过object属性)推断歌曲实例的子类。管道输出歌曲实例,但我希望推理器根据我在子类定义中定义的基数约束推断它们的类。Protege的错误解释是说我的对象属性不满足基数…

不是说我理解你想推断什么,而是:那是行不通的。首先,你有
SomeSongType子类:Song和someMoreFeatures
——因此,如果你有一个人
x
拥有这些
someMoreFeatures
,那么推断
x
属于
SomeSongType
,是行不通的,因为
子类基本上是“if then”,只是说“每个SomeSongType都是一首歌,并且有更多的功能”。但您需要另一个方向,即:SomeSongType的子类:SomeSongType
。比如“任何一首歌,并且有更多功能的东西都是SomeSongType“但即使这样,它也不会起作用,因为猫头鹰的开放世界假设。您正在使用基数限制,例如
hasTaggedWordRelation正好是0 HateWordRelation
,但是在OWL中,缺少信息并不意味着它根本不存在,我们只是不知道是否有什么东西。因此,即使本体论中没有任何内容,推理者也永远不会知道一首歌没有仇恨词的关系。。。我应该用正确实现的附加功能需求,从歌曲到子歌曲,做一个等价的公理?2) 我之所以使用这个“恰好为0”的基数约束,是因为我想通过各种WordRelation的出现(或不允许出现)来推断Song子类,我有一种感觉,这是笨拙的。说不(hastaggedwordreation,hatewordrelations)会更好吗?再次感谢你的回复!!关于您描述的无限循环情况,我不希望任何推理者会像所描述的那样陷入本体论——可能有一些您遗漏的东西让他们绊倒。如果可能的话,我们最好的帮助方式就是发布实际的本体内容。我认为我的“无限循环”情况是由于对象属性(hasWordRelation)中有两个域和一个范围。