获取所有具有多个坐标元组的地方

Get all places with more than one tuple of geocoordinates

我正在处理 DBPedia 数据,我正在尝试使用一对以上的地理坐标定位所有不同的地方。有时会发生一个地方可能被引用为具有多个纬度或经度的情况。我想确定这些案例。我有以下查询作为示例,但是 return 对于只有一个坐标的地方的情况计算了不止一个纬度。

PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
SELECT * WHERE{
    SELECT DISTINCT ?subject (?latitude) (COUNT(?latitude) as ?latitude_counter) (?longitude) (COUNT(?longitude) as ?longitude_counter)
    WHERE {
        ?subject rdfs:label ?label ; a dbpedia-owl:Place.
        ?subject geo:lat ?latitude; geo:long ?longitude.
    }
}
GROUP BY ?subject
HAVING (?latitude_counter > 1)
ORDER BY ?subject
LIMIT 10

解决这个问题的正确方法是什么?

对于那些愿意执行相同任务的人,以下查询按预期检索我的结果:

PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
SELECT ?subject,
?longitude_counter,
?latitude_counter,
(group_concat(?latitude ; separator = "||") AS ?latitude_set),
(group_concat(?longitude ; separator = "||") AS ?longitude_set)
WHERE
{
    {
        SELECT DISTINCT * WHERE
        {
            SELECT DISTINCT ?subject (COUNT(?latitude) as ?latitude_counter) (COUNT(?longitude) as ?longitude_counter) 
            WHERE 
            {
                ?subject geo:lat ?latitude; geo:long ?longitude .
            }
        } 
    }
    ?subject geo:lat ?latitude; geo:long ?longitude .
    FILTER(?latitude_counter > 1 or ?longitude_counter > 1)
}
ORDER BY DESC(?longitude_counter)