2017-12-02 3 views
0

私はthisの記事に触発し、geosparqlオントロジを使用してオントロジーを作成しました。 AreaとParkという2つのクラスがgeosparqlのFeatureクラスのサブクラスとして作成されました。 3つのAreaインスタンスと1つのParkインスタンスがオントロジーに追加されました。次に、geosparqlのPolygonクラスのサブクラスとしてジオメトリインスタンスが作成されました(asWKT)。ジオメトリインスタンスはhasGeometryオブジェクトプロパティ(The created ontology and instances)を介してParkインスタンスとAreaインスタンスに関連付けられていました。geosparqlのトポロジクエリ

私は、どのインスタンスがParkインスタンス内にあるかを調べるためにトポロジクエリを作成しようとしました。ですから、私はProtete 4.3のsparqlクエリープラグインを使用して以下のクエリを実行しました。

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

SELECT X { はSU X Yの :???エリア。 geosparql:hasGeometry?xgeo。 ?y a su:Park; geosparql:hasGeometry?ygeo。 ?xgeo geosparql:sfWithin?ygeo。 }

結果は返されませんが、私はParkインスタンス内に2つのAreaインスタンスがあることを知っています。私は問題を見つけられませんでした。 geosparqlとprotégéを使ってトポロジカルな関係を問いませんか?

答えて

1

問題は、sfWithinエンティティの「良い」使用をインポートしていないことです。

http://www.opengis.net/ont/geosparql#sfWithinhttp://www.opengis.net/def/function/geosparql/sfWithinの間に違いがあります。

実際、私はこの声明でプロテネをどのように進めるべきかまだ分かりませんが、残念です。

このようなトポロジクエリを使用する必要がある場合は、代わりにGraphDBを使用できます。これは、GeoSPARQLの優れた作業プラグインを実装しています。

関連する問題