我启发了这篇文章并使用 geosparql 本体创建了一个本体。创建了两个名为 Area 和 Park 的类作为 geosparql 的 Feature 类的子类。本体中添加了 3 个区域实例和 1 个公园实例。然后,几何实例被创建(asWKT)作为 geosparql 的 Polygon 类的子类。并且几何实例通过 hasGeometry 对象属性(创建的本体和实例)与 Park 和 Area 实例相关联。
我试图进行拓扑查询以找出 Park 实例中的 Area 实例。因此,我使用 Protégé 4.3 的 sparql 查询插件运行了以下查询。
前缀 geosparql:http ://www.opengis.net/ont/geosparql# 前缀 su:http ://www.example.org/su#
选择 ?x ?y WHERE { ?xa su:Area ; geosparql:hasGeometry ?xgeo 。?ya su:公园; geosparql:hasGeometry ?ygeo 。?xgeo geosparql:sfWithin ?ygeo 。}
没有结果返回,但我知道 Park 实例中有两个 Area 实例。我没有发现问题。我不使用 geosparql 和 protégé 查询拓扑关系吗?