我列出了英格兰和威尔士每个太阳能农场约900个邮政编码。我想找到每个邮政编码的房价,看看太阳能农场实施后房价如何变化。
我是SPARQL的新手,不知道如何对所有邮政编码进行单一查询。如果有人能提供帮助就会很棒。
这是通过邮政编码进行搜索的链接:http://landregistry.data.gov.uk/app/qonsole。
非常感谢。
答案 0 :(得分:2)
看起来同一个端点不包含房价指数和邮政编码。但是,看起来不同enpoints中的资源是链接的,因此我们可以使用联合查询来组合信息:
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
prefix owl: <http://www.w3.org/2002/07/owl#>
prefix xsd: <http://www.w3.org/2001/XMLSchema#>
prefix sr: <http://data.ordnancesurvey.co.uk/ontology/spatialrelations/>
prefix pc: <http://data.ordnancesurvey.co.uk/ontology/postcode/>
prefix ukhpi: <http://landregistry.data.gov.uk/def/ukhpi/>
prefix lrppi: <http://landregistry.data.gov.uk/def/ppi/>
prefix skos: <http://www.w3.org/2004/02/skos/core#>
prefix lrcommon: <http://landregistry.data.gov.uk/def/common/>
SELECT DISTINCT ?regionName ?postcode ?date ?ukhpi ?volume {
SERVICE <http://data.ordnancesurvey.co.uk/datasets/os-linked-data/apis/sparql> {
VALUES ?postcode {
# Insert postcodes here (two example postcodes below)
"NP20 5AW"
"SW1W 0NY"
}
?postcodeUri rdfs:label ?postcode ;
pc:district ?ordnanceSurveyRegion .
}
?region owl:sameAs ?ordnanceSurveyRegion .
?region rdfs:label ?regionName .
FILTER (langMatches(lang(?regionName), "EN"))
?report
ukhpi:refRegion ?region;
ukhpi:refMonth ?date;
ukhpi:housePriceIndex ?ukhpi.
OPTIONAL {
?report ukhpi:salesVolume ?volume
}
} ORDER BY DESC(?date)
在这里,我们查询军械测量终点以使用邮政编码获取区域(区),然后使用这些区域获得房价指数。
请注意,一次插入所有900个邮政编码对于端点来说可能太多了。