如何在Protege中运行面向Wikidata的SPARQL SELECT查询?
修正后的可运行查询代码
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?boolean WHERE { BIND(EXISTS {?item rdfs:label "Water"@en} AS ?boolean) }
需要调整的内容说明
- 补充命名空间前缀并修正属性:原查询中
?label是未绑定的变量,没有对应到RDFS标准的标签属性,需要先声明rdfs前缀,再将谓语位置的变量替换为rdfs:label,才能匹配实体的标准名称属性。 - 增加语言标签后缀:Wikidata存储的多语言文本都带有语言标识,英文名称需要添加
@en后缀才能和存储的内容匹配,无标签的纯字符串"Water"无法命中对应数据。 - 调整查询目标范围:Protege默认SPARQL查询的是当前打开的本地本体,如果你没有提前导入Wikidata的对应数据片段,需要在SPARQL查询页配置查询目标为Wikidata的公共查询端点,而非默认的本地本体。
内容的提问来源于stack exchange,提问作者Tea Without Sugar
相关产品推荐
相关产品推荐

