gpt4 book ai didi

regex - 维基数据查询以获取国家同义词而不是国旗符号

转载 作者:行者123 更新时间:2023-12-04 01:18:04 31 4
gpt4 key购买 nike

我正在使用以下查询来获取 ISO 国家/地区及其详细信息的列表:

SELECT ?country ?countryLabel ?code  ?wikipedia ?countryAltLabel
WHERE
{
  ?country wdt:P297 ?code .
  OPTIONAL {    
                    ?wikipedia schema:about ?country .
                    ?wikipedia schema:isPartOf <https://en.wikipedia.org/>.
                    } .
    SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en" }
}

我得到的结果如下所示:enter image description here

有没有办法从 CountryAltLabels 列表中删除旗帜符号?

最佳答案

三点:

  1. 这些标志是 U+1F1E6—U+1F1FF 中的符号对,如 suggested汤姆·莫里斯 (Tom Morris)。
  2. 应在manual mode 中使用标签服务.
  3. 应强制执行特定查询顺序(通过 hint:Query hint:optimizer "None")。
SELECT ?country ?countryLabel ?code ?wikipedia ?countryAltLabel ?alt {
hint:Query hint:optimizer "None" .
?country wdt:P297 ?code
OPTIONAL { ?wikipedia schema:about ?country ; schema:isPartOf <https://en.wikipedia.org/> }
SERVICE wikibase:label {
bd:serviceParam wikibase:language "en".
?country skos:altLabel ?countryAltLabel ; rdfs:label ?countryLabel
}
BIND ( REPLACE(?countryAltLabel, "[🇦-🇿]{2}, |, ?[🇦-🇿]{2}", "") AS ?alt )
}

https://w.wiki/Xcv

请注意,这些 🇦 和 🇿 不是常规的大写字母。可以改写 [\\x{1f1e6}-\\x{1f1ff}]

关于regex - 维基数据查询以获取国家同义词而不是国旗符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62990471/

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