2017-07-24 69 views
1

我有英格蘭和威爾士每個太陽能電場的約900個郵政編碼清單。我想找出每個郵政編碼的房價,看看在太陽能農場實施後房價可能會發生怎樣的變化。HM土地註冊處多個郵政編碼的SPARQL查詢

我是SPARQL的新手,不知道如何爲所有郵編完成單個查詢。如果任何人都可以幫助它會很好。

這是通過郵編搜索的鏈接:http://landregistry.data.gov.uk/app/qonsole

非常感謝。

+0

也許你應該註釋掉以'values'開頭的行(在這行之前放置'#')。 –

+0

好的,我會嘗試,我在哪裏輸入郵編列表? – rjo93

+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個郵編可能對於端點處理來說太多了。

Try the query in Yasgui

+0

感謝它的工作非常好,我也想檢索每個郵政編碼中的每一筆交易,我該怎麼做? – rjo93

+0

如果您只包括所有交易,則並非所有交易都與每個住房指數報告相關。我想你可以按日期加入交易,但房屋指數報告月份('refMonth')如何與交易日期相關? – evsheino