我目前正在使用以下查询在维基数据中搜索:
https://www.wikidata.org/w/api.php?action=wbsearchentities&language=da&limit=20&format=json&search=jordb%C3%A6r&uselang=da
我需要找到不同的成分和食物。
所以查询是用丹麦语搜索草莓。我的问题是我得到了像绘画和人物的结果。反正有搜索特定类别的食物吗?或以某种方式限制“虚假”命中的“噪音”?
我试图查看维基数据并在Google上搜索,但我不清楚我有哪些选项。
答案 0 :(得分:1)
您可以使用Wikidata Query Service执行此操作。
要查找丹麦语中的所有食物,您可以使用以下查询:
SELECT DISTINCT ?food ?label WHERE {
?food (wdt:P31?/wdt:P279*) wd:Q2095.
?food rdfs:label ?label.
SERVICE wikibase:label { bd:serviceParam wikibase:language "da". }
FILTER((LANG(?label)) = "da")
} ORDER BY ?label
或者,为了获得丹麦语中标有“Jordbær”的所有食品,您可以这样做:
SELECT DISTINCT ?food ?foodLabel WHERE {
?food (wdt:P31?/wdt:P279*) wd:Q2095 ;
rdfs:label "Jordbær"@da;
SERVICE wikibase:label { bd:serviceParam wikibase:language "da". }
}
答案 1 :(得分:0)
我担心目前还没有简单的方法可以获得这种量身定制的搜索结果,但是出于同样的需求(对于our case中的书籍),我们最终得到了2个解决方案:
1 - 搜索和过滤
Q13158
,Q14458220
,Q12320330
等P31
值列表P31
值的实体。例如,为了仅保留图书,我们会保留具有声明P31
→Q571
或what we consider being aliases of Q571的实体。此列表是静态的,因为书籍在P31值中“相当”一致,但对于您的域,您可能需要从a SPARQL query to get a complete list of things that are considered subclasses of food or ingredients动态生成该列表。2 - 过滤并搜索