Я довольно новичок в sparql и geosparql, и я использую GraphDB 8.10 и уже включил плагин geosparql, выполнив это в SPARQL интерфейсе
GraphDB 8.10
geosparql
SPARQL
PREFIX : <http://www.ontotext.com/plugins/geosparql#> INSERT DATA { _:s :enabled "true" . }
Я использовал protege длясоздайте онтологию и, скажем, у меня есть 3 точки типа POINT в классе feature с типом данных asWkt Literal.1 одна точка привязана к музею, а 2 - просто точки рядом.
protege
POINT
feature
asWkt Literal
Я пытаюсь определить правильный синтаксис использования функции geof:nearby для установки радиуса для проверки и получения одного из них.из этих 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
Хотя я виделтройки в обзоре графика, конкретный запрос не ошибается, но он ничего не возвращает, когда я хочу вернуть конкретную точку из двух вышеупомянутых.