来自维基数据的重复结果 [英] Duplicated results from Wikidata

查看:15
本文介绍了来自维基数据的重复结果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我为Wikidata创建了以下SPARQL查询。该查询的结果是与德国各州相关的记录。但是如您所见,结果连续出现四次(您可以在这里测试它:https://query.wikidata.org/)。我以为地理坐标和语言有问题,但无论如何我都解决不了。此查询有什么问题?我如何修复它才能在不重复的情况下接收结果?

PREFIX  p:    <http://www.wikidata.org/prop/>
PREFIX  schema: <http://schema.org/>
PREFIX  psv:  <http://www.wikidata.org/prop/statement/value/>
PREFIX  wdt:  <http://www.wikidata.org/prop/direct/>
PREFIX  wikibase: <http://wikiba.se/ontology#>
PREFIX  rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX  wd:   <http://www.wikidata.org/entity/>

SELECT DISTINCT  ?subject ?featureCode ?countryCode ?name ?latitude ?longitude ?description ?iso31662
WHERE
  { ?subject  wdt:P31     wd:Q1221156 ;
              rdfs:label  ?name ;
              wdt:P17     ?countryClass .
    ?countryClass
              wdt:P297    ?countryCode .
    ?subject wdt:P31/(wdt:P279)* ?adminArea .
    ?adminArea  wdt:P2452  "A.ADM1" ;
              wdt:P2452  ?featureCode .
    ?subject  wdt:P300   ?iso31662
    OPTIONAL
      { ?subject  schema:description  ?description
        FILTER ( lang(?description) = "en" )
        ?subject  p:P625                ?coordinate .
        ?coordinate  psv:P625           ?coordinateNode .
        ?coordinateNode
                  wikibase:geoLatitude  ?latitude ;
                  wikibase:geoLongitude  ?longitude
      }
    FILTER ( lang(?name) = "en" )
    FILTER EXISTS { ?subject  wdt:P300  ?iso31662 }
  }
ORDER BY lcase(?name)
OFFSET  0
LIMIT   200

推荐答案

简而言之,"9.0411111111111"^^xsd:double"9.0411111111111"^^xsd:decimal虽然在某种意义上可能相等。

检查:

SELECT DISTINCT ?subject ?featureCode ?countryCode ?name ?description ?iso31662
    (datatype(?latitude) AS ?lat)
    (datatype(?longitude) AS ?long)  

和这个:

SELECT DISTINCT ?subject ?featureCode ?countryCode ?name ?description ?iso31662
    (xsd:decimal(?latitude) AS ?lat)
    (xsd:decimal(?longitude) AS ?long)  

这篇关于来自维基数据的重复结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆