如何检查日文版维基数据项是否存在
How to check if Japanese version of Wikidata item exists
我正在尝试构建一个名称列表并将它们与日语中的对应名称相匹配。
我首先想到尝试抓取维基百科并跟踪 link 到日语版的页面,但我不知道如何检查该页面是关于一个人还是关于其他任何东西。
幸运的是有 wikidata 和 dbpedia 项目。
我开始修补维基数据并找到了这个例子
https://www.mediawiki.org/wiki/Wikibase/Indexing/SPARQL_Query_Examples#People_born_before_year_1880_with_no_death_date
可以缩减为 'people'
的查询
PREFIX wikibase: <http://wikiba.se/ontology#>
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT * WHERE {
?h wdt:P31 wd:Q5 .
} LIMIT 1
这导致 link 乔治·华盛顿
https://www.wikidata.org/wiki/Q23
该页面底部是此人的 link 维基百科页面列表
其他语言,包括日语。
有没有办法在同一个查询中返回名称和日文版本?
如果您正在查询维基数据,您可以使用标签服务:
PREFIX wikibase: <http://wikiba.se/ontology#>
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX p: <http://www.wikidata.org/prop/>
PREFIX v: <http://www.wikidata.org/prop/statement/>
SELECT * WHERE {
wd:Q30 p:P6/v:P6 ?p .
SERVICE wikibase:label {
bd:serviceParam wikibase:language "en" .
?p rdfs:label ?enName .
}
SERVICE wikibase:label {
bd:serviceParam wikibase:language "ja" .
?p rdfs:label ?jaName .
}
}
我找到了答案here
我正在尝试构建一个名称列表并将它们与日语中的对应名称相匹配。
我首先想到尝试抓取维基百科并跟踪 link 到日语版的页面,但我不知道如何检查该页面是关于一个人还是关于其他任何东西。
幸运的是有 wikidata 和 dbpedia 项目。
我开始修补维基数据并找到了这个例子 https://www.mediawiki.org/wiki/Wikibase/Indexing/SPARQL_Query_Examples#People_born_before_year_1880_with_no_death_date
可以缩减为 'people'
的查询PREFIX wikibase: <http://wikiba.se/ontology#>
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT * WHERE {
?h wdt:P31 wd:Q5 .
} LIMIT 1
这导致 link 乔治·华盛顿 https://www.wikidata.org/wiki/Q23
该页面底部是此人的 link 维基百科页面列表 其他语言,包括日语。
有没有办法在同一个查询中返回名称和日文版本?
如果您正在查询维基数据,您可以使用标签服务:
PREFIX wikibase: <http://wikiba.se/ontology#>
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX p: <http://www.wikidata.org/prop/>
PREFIX v: <http://www.wikidata.org/prop/statement/>
SELECT * WHERE {
wd:Q30 p:P6/v:P6 ?p .
SERVICE wikibase:label {
bd:serviceParam wikibase:language "en" .
?p rdfs:label ?enName .
}
SERVICE wikibase:label {
bd:serviceParam wikibase:language "ja" .
?p rdfs:label ?jaName .
}
}
我找到了答案here