首页 > 解决方案 > wikidata 查询如何过滤找到的信息类型

问题描述

我想找到有关罗杰·费德勒(Q1426)的所有信息:

SELECT DISTINCT ?entity ?entityLabel WHERE {
    wd:Q1426 ?p ?entity.
    SERVICE wikibase:label { bd:serviceParam wikibase:language" [AUTO_LANGUAGE],fr".}
}

我想要的是:

wd:Q233306      Mirka Federer
wd:Q1061233     L'Équipe Champion of Champions 
......

但我得到的是这样的:

wds:q1426-A2132D11-FBBD-44BE-8807-D792797A0F75  
statement/q1426-A2132D11-FBBD-44BE-8807-D792797A0F75
Federer-Express    Federer-Express
ரொஜர் பெடரர்   ரொஜர் பெடரர் 
.......

如何过滤我不想要的类型?

标签: sparqlsemantic-webwikidata

解决方案


我不确定我是否正确,但我认为您的查询应该是这样的查询。

SELECT DISTINCT ?entity ?entityLabel WHERE {
wd:Q1426 ?p ?entity.
?entity rdfs:label ?entityLabel . filter(lang(?entityLabel)="fr")}

这也适用于其他没有特殊 wikidata 功能的 sparql 端点。


推荐阅读