使用SPARQL导出数据并根据本地存储的数据过滤结果

时间:2018-05-21 09:37:32

标签: sparql

我正在尝试将本地存储在我计算机上的邮政编码与发送到数据库opendatacommunities.org和ordnancesurvey.co.uk的查询产生的邮政编码进行匹配。

存储在我的计算机上的邮政编码将遵循标准格式,例如:

IP3 
NR32 
IP8  
IP6  
IP18 
CB8  
Ip13 
IP31  
IP3  
IP11 

(注意:我通过删除最后三个字母对邮政编码进行了匿名处理)

我根据another StackOverflow question设法做的是以下查询。

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?lsoa_name ?area_name ?postcode ?period ?imd_dec
WHERE {
  ?obs <http://opendatacommunities.org/def/ontology/communities/societal_wellbeing/imd/indices>
    <http://opendatacommunities.org/def/concept/general-concepts/imd/combineddeprivation>.
  ?obs <http://opendatacommunities.org/def/ontology/geography/refArea> ?areauri .
  ?obs <http://opendatacommunities.org/def/ontology/time/refPeriod> ?perioduri .
  ?obs <http://opendatacommunities.org/def/ontology/communities/societal_wellbeing/imd/decObs> ?imd_dec .

  ?postcodeUnit a <http://data.ordnancesurvey.co.uk/ontology/postcode/PostcodeUnit>;
  <http://opendatacommunities.org/def/geography#lsoa> ?lsoa .

  ?areauri <http://www.w3.org/2002/07/owl#sameAs> ?sg .
  ?lsoa <http://www.w3.org/2002/07/owl#sameAs> ?sg .


  ?areauri rdfs:label ?lsoa_name .
  ?perioduri rdfs:label ?period .
  ?lsoa rdfs:label ?area_name.
  ?postcodeUnit rdfs:label ?postcode.
} LIMIT 10

查询返回英格兰的所有邮政编码以及相应的多重剥夺索引和LSOA等。问题是结果太大,以至于无法下载并保存在我的计算机上。因为我不需要所有邮政编码的整个数据集,只有与我的计算机上本地存储的样本相匹配的样本(参见上面的例子)我认为通过某种方式匹配邮政编码,我将能够成功减少数量数据,只过滤相关的邮政编码,从而得到我真正需要的数据样本。

0 个答案:

没有答案