如何在Protégé中通过SPARQL根据类名与个体名查询数据属性值
SPARQL查询正确写法
完整查询语句
# 替换为你本体实际使用的命名空间前缀 PREFIX : <http://你的本体IRI地址#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT ?versionValue WHERE { :iPhone rdf:type :Phone ; :hasVersion ?versionValue . }
说明
- 你之前的写法未生效主要是缺少完整的SPARQL查询结构:SPARQL需要先声明用到的所有命名空间前缀,通过SELECT指定要返回的变量,再用WHERE块包裹匹配规则,仅写单条三元组无法直接执行
- 语句中加入
rdf:type :Phone的匹配规则,严格满足你要求的「通过已知类名Phone校验」的条件,不会匹配到其他非Phone类的同名个体 - 查询仅返回iPhone个体的hasVersion属性值,不会包含Galaxy的相关内容
使用注意
你需要把代码中<http://你的本体IRI地址#>替换为你Protégé里本体的实际命名空间,可在Protégé的「Active Ontology」标签页找到你的本体IRI,直接复制填入即可。如果hasVersion属性使用了外部命名空间,补充对应前缀声明即可。
内容的提问来源于stack exchange,提问作者Sarah Zida
相关产品推荐
相关产品推荐

