0

如果我有一个类,例如“Animal”,那么我可以使用 SHACL 来验证它的实例:

:Elefant a :Animal;
 :family    :Elephantidae;
 :order     :Proboscidea.
:AnimalShape a sh:NodeShape;
 sh:targetClass :Animal;
 sh:property [sh:Path :family], [sh:Path :order].

这适用于 DBpedia,其中动物被建模为实例,例如https://dbpedia.org/page/Elephant具有 rdf:type dbo:Mammal,它是 rdfs:subClass 的 dbo:Animal。

但是假设我想将动物建模为类,因为大象只是一组实际的大象个体:

:Elefant rdf:type owl:Class;
 rdfs:subClassOf :Animal;
 :family    :Elephantidae;
 :order     :Proboscidea.

这不会使用前面提到的 SHACL 形状进行验证。我需要如何调整该形状来验证这一点?

4

0 回答 0