如何根据URI在sparql端点中检索结果

时间:2019-03-13 13:32:10

标签: uri sparql json-ld

我正在尝试在sparql endpoint from the Dutch goverment中进行sparql查询。

我希望能够根据我拥有的给定标识符(例如“ 100174287”)来检索建筑物

当我随机单击另一个查询的结果之一并以json-ld格式评估查询的输出时,我看到每个建筑物的URI存储在以下行中

,"@id":"http://brt.basisregistraties.overheid.nl/top10nl/id/gebouw/100174287"

我的问题是,当我现在预先URI包含以下数字时,如何显式检索该建筑物:“ 100174287 ”。 我使用带有 filter 和/或 regex 函数的以下谓词进行了尝试,但是没有用。 >

  • top10NL @ id
  • top10NL:identificatie此属性应该由Building类继承,但是由于某些原因,当我将其用作谓词时,它无法成功检索URI。

我尝试以下查询无济于事

PREFIX top10nl: <http://brt.basisregistraties.overheid.nl/def/top10nl#>
SELECT ?x WHERE {
 ?x a top10nl:Gebouw.
  ?x top10nl:identificatie ?identificatie.
  Filter (?identificatie= '102046456')
}
LIMIT 100

基于AKSW的建议,我设法基于标识符选择了建筑物,但是当我尝试详细查询时,出现超时错误。 我不确定这是否与我的查询或sparql endpoint本身有关。

PREFIX top10nl: <http://brt.basisregistraties.overheid.nl/def/top10nl#>
PREFIX brt: <http://brt.basisregistraties.overheid.nl/def/top10nl#>
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
prefix geof: <http://www.opengis.net/def/function/geosparql/>
PREFIX uom: <http://www.opengis.net/def/uom/OGC/1.0/>

select ?y ?Gebouwgeo where { ?s a <http://brt.basisregistraties.overheid.nl/def/top10nl#Gebouw>
filter(contains(str(?s), '102696347'))
?s geo:hasGeometry/geo:asWKT ?Gebouwgeo.
?y a brt:Museum;
geo:hasGeometry/geo:asWKT ?Museumgeo.
  FILTER(geof:distance(?Museumgeo, ?Gebouwgeo, uom:metre) < 20000)

我收到以下错误

Gateway Time-out (#504)
<html>
<head><title>504 Gateway Time-out</title></head>
<body bgcolor="white">
<center><h1>504 Gateway Time-out</h1></center>
<hr><center>nginx</center>
</body>
</html>
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->

0 个答案:

没有答案