You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用SPARQL查询Protege本体中个体的层级与所属类?

SPARQL查询Protege本体中个体的类层级结构

查询个体直接所属的类

如果只需要找个体直接声明的类(即你在Protege里给个体指定的类),可以用以下SPARQL语句:

SELECT ?class
WHERE {
  :person1 rdf:type ?class .
  FILTER (!isBlank(?class))
}
  • 替换:person1为你的个体实际URI的前缀简写(比如本体命名空间是ex:,就写ex:person1),或者直接使用个体的完整URI。
  • !isBlank(?class)用于过滤推理过程中生成的匿名类,只保留你定义的命名类。

查询个体所属的所有类(含层级父类)

如果需要获取完整的类层级结构(包括直接类的所有父类,通过rdfs:subClassOf继承的上层类),可以使用递归属性路径:

SELECT ?class
WHERE {
  :person1 rdf:type ?originalClass .
  ?originalClass rdfs:subClassOf* ?class .
  FILTER (!isBlank(?class))
}
  • rdfs:subClassOf*是递归匹配符号,表示匹配0次或多次子类关系,会返回个体直接类本身以及所有上层父类,完整呈现类的层级。

Protege中使用提示

在Protege的「SPARQL Query」标签页输入上述语句即可执行查询。如果不确定命名空间前缀,可在「Entities」标签查看个体的完整URI,直接替换到查询语句中。

内容的提问来源于stack exchange,提问作者Areej

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 03:15:32