Sparql Virtuoso从同一资源返回不同的浮点值

Sparql Virtuoso从同一资源返回不同的浮点值,sparql,dbpedia,virtuoso,Sparql,Dbpedia,Virtuoso,我不明白为什么Virtuoso SPARQL从同一个资源返回不同的浮点值(特别是经度和纬度) 这是我的问题() 我不明白为什么,因为实际上只报告了一对坐标 geo:lat 31.951111 (xsd:float) geo:long 24.503889 (xsd:float) 在我的结果中没有出现。这和浮动舍入有关吗 一个简单的技巧会告诉你,你看到的页面上的数字是骗人的 PREFIX dcterms: <http://purl.org/dc/terms/> PREFIX f

我不明白为什么
Virtuoso SPARQL
从同一个资源返回不同的浮点值(特别是经度和纬度)

这是我的问题()

我不明白为什么,因为实际上只报告了一对坐标

geo:lat  31.951111 (xsd:float)
geo:long    24.503889 (xsd:float)

在我的结果中没有出现。这和浮动舍入有关吗

一个简单的技巧会告诉你,你看到的页面上的数字是骗人的

PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>

SELECT ?resource (str(?lon) as ?long) (str(?lat) as ?latt) 
WHERE {
  ?subcat skos:broader* dbc:Airports_in_Libya.
  ?resource dcterms:subject ?subcat.
  ?resource geo:lat ?lat.
  ?resource geo:long ?lon.
}
GROUP BY ?resource

如您所见,您仍然只有一个
?lon
?lat
。如果您仔细查看,没有与您提取的内容匹配的子类别,并且您正在请求
SKOS
词汇表为您提供
更广泛的
选项。在这一点上,如果你深入挖掘,你会发现一些数字是用科学符号表示的

消除和协调输出的方法是消除科学符号

PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>

SELECT distinct ?resource ?lonf ?latf 

WHERE {
  ?subcat skos:broader* dbc:Airports_in_Libya.
  ?resource dcterms:subject ?subcat.
  ?resource geo:lat ?lat.
  ?resource geo:long ?lon.

bind(xsd:float(?lat) as ?latf)
bind(xsd:float(?lon) as ?lonf)

}
GROUP BY ?resource
前缀dcterms:
前缀foaf:
前缀geo:
选择不同的?资源?lonf?latf
在哪里{
?子卡skos:范围更广*dbc:利比亚的机场。
?资源术语:主题?子类别。
?资源地理位置:纬度?纬度。
?资源地理位置:长?长。
绑定(xsd:float(?lat)as?latf)
绑定(xsd:float(?lon)as?lonf)
}
分组?资源

仍有多个资源具有多个经度和纬度(例如
http://dbpedia.org/page/Gamal_Abdul_El_Nasser_Air_Base
)但他们在dbpedia页面中也有多个

如果没有在列表中列出,信息来自哪里?我已经编辑了我的答案。它回答了你的问题吗?
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>

SELECT ?resource (str(?lon) as ?long) (str(?lat) as ?latt) 
WHERE {
  ?subcat skos:broader* dbc:Airports_in_Libya.
  ?resource dcterms:subject ?subcat.
  ?resource geo:lat ?lat.
  ?resource geo:long ?lon.
}
GROUP BY ?resource
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>

SELECT distinct ?subcat ?resource ?lon ?lat
WHERE {
  #?subcat skos:broader* dbc:Airports_in_Libya.
  ?resource dcterms:subject ?subcat.
  ?resource geo:lat ?lat.
  ?resource geo:long ?lon.
filter(?resource=<http://dbpedia.org/resource/RAF_Gambut>)
}
GROUP BY ?resource
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>

SELECT distinct ?resource ?lonf ?latf 

WHERE {
  ?subcat skos:broader* dbc:Airports_in_Libya.
  ?resource dcterms:subject ?subcat.
  ?resource geo:lat ?lat.
  ?resource geo:long ?lon.

bind(xsd:float(?lat) as ?latf)
bind(xsd:float(?lon) as ?lonf)

}
GROUP BY ?resource