Запрос топологии в геопространстве

Я вдохновил эту статью и создал онтологию с использованием онтологии geosparql. Два класса, названные Area и Park, были созданы как подклассы класса Feature geosparql. 3 экземпляра Area и 1 экземпляр Park были добавлены в онтологию. Затем были созданы экземпляры геометрии (asWKT) как подкласс класса Polygon класса geosparql. И экземпляры геометрии были связаны с экземплярами Park и Area через свойство объекта hasGeometry ( Созданная онтология и экземпляры).

Я попытался сделать запрос топологии, чтобы выяснить, какие экземпляры Area находятся в экземпляре Park. Итак, я выполнил приведенный ниже запрос с помощью плагина запроса sparql в Protégé 4.3.

PREFIX geosparql: http://www.opengis.net/ont/geosparql PREFIX su: http://www.example.org/su

ВЫБЕРИТЕ? X? Y ГДЕ {? Xa su: Площадь; geosparql:hasGeometry?xgeo . Су Су: Парк; geosparql:hasGeometry?ygeo .?xgeo geosparql:sfWithin?ygeo . }

Результаты не возвращаются, но я знаю, что в экземпляре Park есть два экземпляра Area. Я не обнаружил проблему. Разве я не запрашиваю топологические отношения с использованием geosparql и protégé?

1 ответ

Проблема в том, что вы не импортируете "хорошее" использование sfWithin юридическое лицо.

Есть разница между http://www.opengis.net/ont/geosparql#sfWithin а также http://www.opengis.net/def/function/geosparql/sfWithin,

На самом деле, я пока не понимаю, как поступить в Protégé с этим утверждением, я сожалею об этом.

Если вам действительно нужно использовать такой запрос топологии, вы можете вместо этого использовать GraphDB, который реализует хороший рабочий плагин для GeoSPARQL.

Другие вопросы по тегам