在 RDF/RDFS/OWL 中,如何判断实体是纯粹的实例还是类?我知道类实体也是实例,因为它们是“类”实体和其他类的子类的实例。但是,我相信某些实体只是类的实例,而不是类本身。
现在,我认为判断某事物纯粹是一个实例的唯一方法是(在该实体的 rdf 数据内)查找带有 rdf:type
的语句。谓词并查找不存在任何带有 rdfs:subClassOf
的语句或等效谓词。
但是,寻找是否存在语句并不是确保某物确实是类或实例的好方法。
是否有更好的方法来辨别实体是类还是纯粹的实例?希望 Nose 下面可能有什么东西。
最佳答案
在 OWL 中,类必须这样声明,无论是在使用它的本体中,还是在导入它的本体之一中。没有声明公理是一种配置文件违规 - 这意味着本体正式处于 OWL Full 中(例如,不能保证推理机能够有意义地使用它)。
不幸的是,实践中使用的本体经常存在违规行为,因此这并不是一个完全令人满意的标准。
个人在 OWL、RDF 或 RDFS 中都没有此限制。因此,缺少实体的类型断言(或仅存在 rdf:type owl:Thing
断言)就很好地表明您正在与个人打交道。
除了出现在 subClassOf
公理中之外,类还可以出现在 equivalent
、disjointWith
中,或者作为限制的填充部分(在 OWL 中)。
为了使主题进一步复杂化,支持类和个体之间的双关语 - 这意味着相同的 IRI 可以声明为类和个体。因此,本体中的类被用作另一个本体中的个体是可能的,也是有效的。
关于rdf - 如何判断资源/实体是类还是实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33705271/