我試圖使用這個http://landregistry.data.gov.uk/app/qonsole,我特意試圖使用'郵政編碼中的交易'選項。這是我的JS的電話。如何格式化我的SPARQL for JS?
var query =[
"prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>",
"prefix skos: <http://www.w3.org/2004/02/skos/core#>",
"prefix lrcommon: <http://landregistry.data.gov.uk/def/common/>",
"prefix lrppi: <http://landregistry.data.gov.uk/def/ppi/>",
"prefix xsd: <http://www.w3.org/2001/XMLSchema#>",
"SELECT ?paon ?saon ?street ?town ?county ?postcode ?amount ?date ?category",
"WHERE {",
"VALUES ?postcode {'PL6 8RU'^^xsd:string}",
"?addr lrcommon:postcode ?postcode.",
"?transx lrppi:propertyAddress ?addr ;",
"lrppi:pricePaid ?amount ;",
"lrppi:transactionDate ?date ;",
"lrppi:transactionCategory/skos:prefLabel ?category.",
"OPTIONAL {?addr lrcommon:county ?county}",
"OPTIONAL {?addr lrcommon:paon ?paon}",
"OPTIONAL {?addr lrcommon:saon ?saon}",
"OPTIONAL {?addr lrcommon:street ?street}",
"OPTIONAL {?addr lrcommon:town ?town}",
"}",
"ORDER BY ?amount"].join(" ");
var endpoint = 'http://landregistry.data.gov.uk/app/root/qonsole/query';
var queryUrl = encodeURI(endpoint+"?query="+query);
var fet = fetch(queryUrl)
.then((resp) => resp.json()) // Transform the data into json
.then(function(data) {
console.log(data)
});
但我不斷收到:
"Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0"
.then((resp) => resp.json()) // Transform the data into json
.then(function(data) { //This line is the culprit according to console
console.log(data)
});
環視,似乎它與嘗試使用以.json()方法來做。
我相信「<」來自查詢中的前綴URL。我該如何解決?
什麼是你得到的原始響應?我的賭注是XML,而不是JSON。 – DarthJDG
問題出在響應而不是請求,看來。所以檢查一下,實際返回的是什麼。它可能是一個HTML錯誤頁面。 – Sirko
是的 - 它似乎是響應中的一個完整的HTML頁面。它看起來就像您點擊我帖子頂部的網址時看到的頁面。所以現在我有一種感覺我正在使用錯誤的查詢URL。如何找到哪一個是正確的? – ProEvilz