gpt4 book ai didi

sparql - 或在 sparql 查询中

转载 作者:行者123 更新时间:2023-12-04 00:06:28 24 4
gpt4 key购买 nike

This sparql query on wikidata显示德国 (Q183) 中名称以 -ow 或 -itz 结尾的所有地点。

我想扩展它来寻找德国的地方,比如奥地利。

我尝试将第 8 行修改为:

wdt:P17 (wd:Q183 || wd:Q40);

为了寻找奥地利的地方 (Q40),但这不是一个有效的查询。

有什么方法可以扩展查询以包括其他国家/地区?

最佳答案

Afaik 没有这么简单的语法。但是,您可以使用 UNION达到同样的效果:

SELECT ?item ?itemLabel ?coord
WHERE
{
?item wdt:P31/wdt:P279* wd:Q486972;
rdfs:label ?itemLabel;
wdt:P625 ?coord;
{?item wdt:P17 wd:Q183}
UNION
{?item wdt:P17 wd:Q40}
FILTER (lang(?itemLabel) = "de") .
FILTER regex (?itemLabel, "(ow|itz)$").
}

或者作为替代方法,使用 VALUES 创建一个包含两个国家/地区的新变量:

SELECT ?item ?itemLabel ?coord
WHERE
{
VALUES ?country { wd:Q40 wd:Q183 }
?item wdt:P31/wdt:P279* wd:Q486972;
wdt:P17 ?country;
rdfs:label ?itemLabel;
wdt:P625 ?coord;
FILTER (lang(?itemLabel) = "de") .
FILTER regex (?itemLabel, "(ow|itz)$").
}

关于sparql - 或在 sparql 查询中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41208568/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com