在RDF / RDFS / OWL中,如何判断实体是纯粹的实例还是类?我理解类实体也是实例,因为它们是“类”实体的实例和其他类的子类。但是,我相信一些实体只是一个类的实例,而不是它们自己的类。
现在,我认为告诉某事的唯一方法纯粹是一个实例是查看(在该实体的rdf数据中)具有rdf:type
谓词的语句并查找缺席具有rdfs:subClassOf
或等效谓词的任何语句的strong>。
但是,寻找缺少语句并不是确保某些东西真正成为类或实例的好方法。
有没有更好的方法来辨别实体是一个类还是纯粹的实例?希望在鼻子下面可能还有一些东西。
答案 0 :(得分:5)
在OWL中,必须在使用它的本体中或在导入它的其中一个本体中声明类。没有声明公理是违反配置文件 - 这意味着本体正式使用OWL Full(例如,无法保证推理器能够有意义地使用它)。
不幸的是,在实践中使用的本体通常存在违规行为,因此这不是一个完全令人满意的标准。
个人在OWL,RDF或RDFS中没有此限制。因此,缺少实体的类型断言(或仅存在rdf:type owl:Thing
断言)是一个很好的迹象,表明您正在与个人打交道。
除了出现在subClassOf
公理中,一个类也可以出现在equivalent
,disjointWith
中,或作为限制的填充部分(在OWL中)。
为了进一步使主题复杂化,支持在类和个体之间进行惩罚 - 这意味着,相同的IRI可以被声明为类和个体。因此,本体中的一个类在另一个类中被用作个体是可能的 - 也是有效的。