2016-12-23 23 views
1

それぞれの場所(緯度および経度)を持ついくつかの建物を考えてみると、どのようにして特定の距離内にあるものだけを得ることができますか?SPARQL距離でフィルタ

私は個人が特定の場所にあるbuilding0を持っているとしましょう。

ont1:building0 rdf:type ont1:Building 
ont1:building0 pos:lat 43.22 
ont1:building0 pos:lon -6.45 

さらに、10kmに近い建物をすべて検索したいと思います。

SPARQLはこれを何らかの形でクエリできますか?または、少なくとも、他の建物との距離は何ですか? SPARQLは、三角関数をサポートしていない、http://andrew.hedges.name/experiments/haversine/

しかし:事前

+1

サポートが使用トリプル店舗によって異なります(あなたがGeoSPARQLを使用することができるしている場合)は、2つの幾何学的な点間の距離を計算する距離関数:

GeoSPARQLはへまを持っています。 GeoSPARQLをサポートするトリプルストアもあれば、組み込み関数を提供するトリプルストアもあります。 – AKSW

+1

Virtuosoがストレージエンジンであると付け加えましたので、[このページは参考になります](https://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VirtGeoSPARQLEnhancementDocs)。 – TallTed

+0

答えてくれてありがとう@TallTed。あなたが提供したページによると、Virtuoso 7.1はGeoSpatialの機能をサポートしています。下位バージョンはどうですか?この問題に役立つモジュールを追加する方法はありますか? – Havor

答えて

3

おかげであり緯度と経度に基づいて距離を計算する式です。地理空間クエリの