如何使用 SPARQL 按 ID 获取维基数据标签?
How to get Wikidata labels by ID using SPARQL?
如何使用 SPARQL 端点通过 ID 获取维基数据中的英文或任何其他语言的标签?
假设 wd:Q146190 是您的 wikidata 实体 ID
获取特定实体 ID 的特定语言标签:
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX wd: <http://www.wikidata.org/entity/>
SELECT *
WHERE {
wd:Q146190 rdfs:label ?label .
FILTER (langMatches( lang(?label), "EN" ) )
}
LIMIT 1
获取您特定实体 ID 的任何语言的所有标签:
SELECT * WHERE {
wd:Q146190 rdfs:label ?label
}
这里 the link to the live try 按播放 运行 查询然后你可以下载一个完整的 JSON 并得到这样一个 rensponse ..只有一个 t运行k 复制在这里:
{
"head": {
"vars": [
"label"
]
},
"results": {
"bindings": [
{
"label": {
"xml:lang": "ar",
"type": "literal",
"value": "دوار الشمس الدرني"
}
},
{
"label": {
"xml:lang": "az",
"type": "literal",
"value": "Kökyumrulu günəbaxan"
}
},
..etc,etc.
在具有多个 ID 的响应结果集中获取每个实体 ID 的标签
在这种情况下,您应该使用 Label service
SELECT ?p ?pLabel ?w ?wLabel WHERE {
wd:Q30 p:P6/ps:P6 ?p .
?p wdt:P26 ?w .
SERVICE wikibase:label {
bd:serviceParam wikibase:language "en" .
}
}
要使用此服务,请将 Label
添加到变量(即:对于 ?p
标签,您必须使用 ?pLabel
然后添加
SERVICE wikibase:label {
bd:serviceParam wikibase:language "en" .
}
到WHERE
块
如何使用 SPARQL 端点通过 ID 获取维基数据中的英文或任何其他语言的标签?
假设 wd:Q146190 是您的 wikidata 实体 ID
获取特定实体 ID 的特定语言标签:
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX wd: <http://www.wikidata.org/entity/>
SELECT *
WHERE {
wd:Q146190 rdfs:label ?label .
FILTER (langMatches( lang(?label), "EN" ) )
}
LIMIT 1
获取您特定实体 ID 的任何语言的所有标签:
SELECT * WHERE {
wd:Q146190 rdfs:label ?label
}
这里 the link to the live try 按播放 运行 查询然后你可以下载一个完整的 JSON 并得到这样一个 rensponse ..只有一个 t运行k 复制在这里:
{
"head": {
"vars": [
"label"
]
},
"results": {
"bindings": [
{
"label": {
"xml:lang": "ar",
"type": "literal",
"value": "دوار الشمس الدرني"
}
},
{
"label": {
"xml:lang": "az",
"type": "literal",
"value": "Kökyumrulu günəbaxan"
}
},
..etc,etc.
在具有多个 ID 的响应结果集中获取每个实体 ID 的标签
在这种情况下,您应该使用 Label service
SELECT ?p ?pLabel ?w ?wLabel WHERE {
wd:Q30 p:P6/ps:P6 ?p .
?p wdt:P26 ?w .
SERVICE wikibase:label {
bd:serviceParam wikibase:language "en" .
}
}
要使用此服务,请将 Label
添加到变量(即:对于 ?p
标签,您必须使用 ?pLabel
然后添加
SERVICE wikibase:label {
bd:serviceParam wikibase:language "en" .
}
到WHERE
块