首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wikidata SPARQL查询

Wikidata SPARQL查询
EN

Stack Overflow用户
提问于 2016-09-14 01:24:29
回答 1查看 517关注 0票数 2

Wikidata's SPARQL endpoint上,我想找到所有有人受雇为大学教师的大学。到目前为止,我通过以下查询获得了类型(person,position helf,employer)的三元组:

代码语言:javascript
复制
PREFIX bd: <http://www.bigdata.com/rdf#>
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wikibase: <http://wikiba.se/ontology#>
PREFIX p: <http://www.wikidata.org/prop/>
PREFIX v: <http://www.wikidata.org/prop/statement/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX pq: <http://www.wikidata.org/prop/qualifier/>

SELECT DISTINCT ?s ?sp ?q ?sLabel ?spLabel ?qLabel WHERE {
  ?s p:P39 ?p .
  ?p v:P39 ?sp .
  ?p pq:P108 ?q .
  SERVICE wikibase:label {
    bd:serviceParam wikibase:language "en" .
  }
}

此查询返回该人员担任的所有职位。就我而言,我想把自己限制在大学教师的职位上(wd:Q1622272)。

如果可能的话,我会要求一个简化的查询。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-14 14:32:44

在triple pattern ?p v:P39 ?sp .中,将变量?sp替换为所需的特定位置(即wd:Q1622272

代码语言:javascript
复制
PREFIX bd: <http://www.bigdata.com/rdf#>
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wikibase: <http://wikiba.se/ontology#>
PREFIX p: <http://www.wikidata.org/prop/>
PREFIX v: <http://www.wikidata.org/prop/statement/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX pq: <http://www.wikidata.org/prop/qualifier/>

SELECT DISTINCT ?s ?q ?sLabel ?qLabel WHERE {
  ?s p:P39 ?p .
  ?p v:P39 wd:Q1622272 . # Here
  ?p pq:P108 ?q .
  SERVICE wikibase:label {
    bd:serviceParam wikibase:language "en" .
  }
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39475748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档