我对 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 等价类
虽然我已经在图表概述中看到了三元组,但特定查询没有错,但是当我想返回上述两个中的特定点时,它什么也不返回。