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

Wikidata query to get country synonyms but not flag symbols

我正在使用以下查询获取 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" }
}

我得到的结果如下所示:

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

将它们包含为 alt 标签似乎有点奇怪,但它们应该相对容易从结果中过滤掉。它们始终恰好是 RGI 字母表中的两个字符 https://en.wikipedia.org/wiki/Regional_Indicator_Symbol

三分:

  1. 这些标志是来自 U+1F1E6—U+1F1FF 的符号对,如 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}]