2016-09-28 15 views
0

私はNeo4j 3.0.5を使用しています。次のようにNeo4j:スピードアッププロパティの不等式によるリレーションシップマッチング

私のクエリが見えます:私のグラフで

MATCH (cd:ConnectionDay)-[c:Connection]->() 
WHERE id(cd)= { id } AND c.departure <= { departure } 
RETURN c 

を、Connection関係の数が非常に高く、私は、検索を高速化する方法を探しています。 departureプロパティのインデックスを作成する方法はありますか?

私はいずれにしてもEmbedded Java APIを使用しているため、Cypherを使用していないソリューションもOKです。

+0

別のノードでインデックスを作成する必要があると私には思われます。 –

+0

@stdobあなたは、1つの追加ノードのオーバーヘッド+ 1つの追加の関係がそれに値すると思いますか? –

+0

これは問題ではないと私は思う。すべてのグラフ理論の精神の中で。 –

答えて

0

その他:ネイティブneo4j IDを使用してノードを検索することはお勧めできません。ノードの削除後にネイティブIDを再利用できるためです。永久にユニークなIDを格納するために独自のプロパティを追加する方が安全です。

現在、Neo4jはリレーションシッププロパティのインデックス作成をサポートしていません。インデックス作成を使用する場合は、Connectionの関係をノードとして「反映」するようにデータモデルを変更できます。たとえば、新しいデータモデルは次のようになります。

(cd:ConnectionDay)-[:CONNECTS_TO]->(c:Connection {departure: 123})-[]->() 
関連する問題