3

私はneo4jデータベースを初めて使用します。グラフベースのデータベースを探していたところ、neo4jが面白いと思いました。リレーショナルデータベーススタイルでneo4jデータベースをクエリできるかどうか知りたいと思いました。例を挙げて説明しましょう。

クラスのすべての生徒のグラフデータベースがあります。ノードには学生情報が含まれ、関係は「友情」です。各ノードには、学生の名前、クラス、cgpaなどのプロパティがあります。ここで、cgpaが4より大きいすべての学生のリストを取得したいと思います。これをneo4jで単一のクエリで実行することは可能ですか?または、すべてのノードを見つけて操作する必要がありますか?

また、neo4jクエリの優れたリソースを誰かが指摘できれば非常に役立ちます。

4

1 に答える 1

2

私は常にNeo4j docsで作業しました。Spring Data Neo4j を使用している場合は、無料の書籍Good Relationshipsも役立ちます。

Cypherというクエリ言語があります。ドキュメントには、あなたのケースにかなり合うかもしれないいくつかの例もあります[1] :

start n=(2, 1) where n.age < 30 return n

これは、id 2 と 1 の指定されたノードで開始し、age プロパティが 30 未満の場合にそれらを返しますstart n=(*)。すべてのノードに対して実行します。仕様全体を読む必要があります。

何をするか、特定のノードをどのように見つけたいかに応じて、 indexs を使用できます

ただし、グラフ データベースをリレーショナル データベースと同じように使用しないでください。説明したシナリオでは問題ないかもしれませんが、後でトラバーサルに使用できるようにリレーションを設計してみてください。それははるかに高速です。

于 2012-06-19T07:12:53.010 に答える