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