我试图使用这个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