2016-05-13 6 views
2

私は最新のNeo4j Spatial(neo4j-spatial-0.16-neo4j-3.0.0-server-plugin.jar)をソースからコンパイルし、Neo4j 3.0.0プラグインフォルダにドロップしました。CypherのNeo4j 3.0.0 + SPATIAL

拡張子がブラウザに表示されている、と私は、空間機能のためPOST通話を行うことができます。しかし

、私はまた、このように、Cypher電話をかけることがNeo4j 3.0.0に気の利いた新CALL機能を使用することができるはずと信じて:

How do I create a spacial index in neo4j using only cypher?:ここステファンのアップデートで示唆したように

CALL spatial.addPointLayer('cities'); 

そして、ここに示されている:

http://jexp.github.io/graphgist/idx?dropbox-14493611%2Fcypher_spatial.adoc

はしかし、私は、「このデータベース・インスタンスの登録名spatial.addPointLayerとは手順がありません。」を取得しますエラーが発生し、同じ呼び出しがjexpの例でも失敗するのを見ることができます...私がパーティーに早すぎるのか、何か不足しているのかどうかはわかりません。

+0

この質問に対する解決策を見つけましたか? 「CALL spatial.procedures()」を使用してプロシージャのリストを取得できます。また、「CALL spatial.laterTypes()」を使用する場合はレイヤのリストを取得できますが、返されたプロシージャまたはドキュメント化されたプロシージャのいずれかを呼び出そうとすると、私は "spatial.layers'プロシージャを呼び出せませんでした:原因:java.lang.NoClassDefFoundError:org/geotools/filter/text/cql2/CQLException" – Blake

答えて

0

プラグインは、データベース固有のプラグインフォルダにありません「のNeo4j CE 3.0.xの/プラグイン」フォルダにする必要があります。

0

のNeo4j 3.0では、基本的な操作のためにあなたは、空間的なプラグインを必要としません。

pointdistanceのデフォルトサポートがあります。このサポートは、lat/lonプロパティー・キーをlatitudelongitudeと設定することを前提としています。

次の例のように、2つのノード間の距離を計算するためにそれらを使用することができます。

MATCH (a:City {name:'London'}), (b:City {name:'Barcelona'}) 
RETURN distance(point(a), point(b))/1000 as dist 

あなたはこのgraphgistで詳細な例を見つけることができます:

http://gist.asciidoctor.org/?dropbox-14493611%2Fcypher_spatial.adoc#_spatial_procedures

第二に、のNeo4j 3.0に

https://github.com/neo4j-contrib/neo4j-apoc-procedures:ストアドプロシージャに表示され、手続きの公式セットは、ここでのNeo4jによってサポートされています

これは、より空間的な特徴を提供します。

+0

ありがとうChristophe、私は空間インデックスを試してみたいと思います。 Neo4j 3.0のデフォルトの空間機能は遅いようですので、Neo4j-spatialを使用してインデックスを実装し、Cypher経由でこれを行うことを望んでいました。 – maly

+0

ああ、私はクレイグTavernerがその側で取り組んでいると思う、私は彼に尋ねる –

関連する問題