1

我对 sparql 和 geosparql 很陌生,我正在使用GraphDB 8.10并且已经通过在界面geosparql中执行它来启用插件SPARQL

PREFIX : <http://www.ontotext.com/plugins/geosparql#>

INSERT DATA {
  _:s :enabled "true" .
}

我曾经protege创建一个本体,假设我在类POINT下有 3 个feature数据类型点asWkt Literal。1 一点附在博物馆上,其他 2 点就在附近。

我要做的是使用该geof:nearby函数设置半径以检查和检索这两个点之一的正确语法。

我的查询如下:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
prefix geo: <http://www.opengis.net/ont/geosparql#>
prefix geof: <http://www.opengis.net/def/function/geosparql/>
prefix unit: <http://qudt.org/vocab/unit#>
prefix sf: <http://www.opengis.net/ont/sf#>
prefix test24: <http://www.semanticweb.org/evangelos/ontologies/2019/2/untitled-ontology-2#>

SELECT ?geom ?feature
WHERE{
    ?f a test24:GPSPoint ;
       rdfs:label ?feature ;
       geo:hasGeometry ?geom.
    ?geom geof:nearby (test24:MouseioMetaksisSoufliou 1 unit:Kilometer)
}

请记住 test24:GPSPoint 与 sf:Point 等价类

虽然我已经在图表概述中看到了三元组,但特定查询没有错,但是当我想返回上述两个中的特定点时,它什么也不返回。

4

0 回答 0