You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改SPARQL查询从英国土地登记处数据库获取全英国汇总房价指数数据

调整SPARQL查询以返回全英国范围的房价指数数据

没问题,我来帮你修改这个SPARQL查询,让它输出全英国范围的房价指数,而不是按区域拆分的结果。先拆解下原查询的问题:原查询里的?region变量会遍历所有区域资源,所以结果会按每个区域单独返回数据。要得到全英国的整体数据,有两种常用的解决方式,你可以根据实际数据情况选择:

方法1:直接查询代表全英国的区域条目

英国土地登记处的数据库里,通常会有一个专门代表整个英格兰和威尔士(或全英国)的区域资源。你可以先通过下面的查询找到对应的区域标签和URI:

prefix skos: <http://www.w3.org/2004/02/skos/core#>
prefix ukhpi: <http://landregistry.data.gov.uk/def/ukhpi/>

SELECT ?region ?label WHERE {
  ?region a ukhpi:Region ;
          skos:prefLabel ?label .
}

执行后,你会看到所有区域的标签,比如"England and Wales"@en就是常见的全范围区域标签。

找到对应标签后,修改原查询,只匹配这个全区域的资源即可:

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 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 ?date ?hpi {
  ?ukRegion skos:prefLabel "England and Wales"@en ;
            ukhpi:refPeriodStart ?date ;
            ukhpi:housePriceIndex ?hpi .
  FILTER ( ?date > "2008-12-31"^^xsd:date && ?date < "2009-03-01"^^xsd:date )
}

如果已经知道全区域的URI(比如http://landregistry.data.gov.uk/id/region/england-and-wales),也可以直接替换?ukRegion为这个URI,查询会更高效。

方法2:聚合区域数据计算全英国平均指数

如果数据库里没有单独的全英国指数条目,你可以用SPARQL的聚合函数,按日期分组计算所有区域指数的平均值:

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 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 ?date (AVG(?hpi) AS ?ukAvgHpi) {
  ?region ukhpi:refPeriodStart ?date ;
          ukhpi:housePriceIndex ?hpi .
  FILTER ( ?date > "2008-12-31"^^xsd:date && ?date < "2009-03-01"^^xsd:date )
}
GROUP BY ?date

这个查询会把同一日期下所有区域的房价指数取平均值,得到全英国的整体指数数据。

内容的提问来源于stack exchange,提问作者local-optimum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 08:53:13