Protege:(SPARQL)查询Sub类个体的超类

时间:2016-12-10 13:12:15

标签: sparql rdf semantic-web ontology protege

拥有超级,其中包含两个子类学生员工。学生子类包含3个人(姓名属性):student1,student2,student3。员工子类包含2个人(姓名属性):staff1和staff2。

是否可以查询 Person 类并获取所有个体,因为它是超类?

你还能怎么做呢?特别是当你有这么多的子类?

输出类似于:

-----------

student1

STUDENT2

学生三

STAFF1

staff2

1 个答案:

答案 0 :(得分:1)

您需要询问属于:Person或其任何子类的所有资源。如果您使用property path,则查询中只需要一个三元模式:

SELECT ?person
    WHERE { ?person a/rdfs:subClassOf*  :Person}

此查询要求提供属于类:Person成员的资源,这是星形为零时的情况,或者是其任何子类的成员,当星形是一个或多个时,就是这种情况

如果需要,您可以进一步将主题限制为owl:NamedIndividual

相关问题