Neo4j - Cypher vs Gremlin クエリ言語 質問する

Neo4j - Cypher vs Gremlin クエリ言語 質問する

私は REST API を使用して Neo4j で開発を始めています。複雑なクエリを実行するには、Cypher (Neo4j のクエリ言語) と Gremlin (汎用グラフ クエリ/トラバーサル言語) の 2 つのオプションがあることがわかりました。

私が知りたいのは、Gremlin を使用すると実行できて、Cypher では実行できないクエリや操作はありますか? またはその逆ですか?

Cypher は Gremlin よりはるかに分かりやすいように思えますし、一般的に Neo4j の人たちは Cypher を採用しているようです。しかし、もし Cypher が Gremlin に比べて制限があるのであれば、そのことを事前に知りたいです。

ベストアンサー1

一般的なクエリには、Cypher で十分であり、おそらくより高速です。Gremlin が Cypher よりも優れているのは、高レベルのトラバースを行う場合です。Gremlin では、正確なトラバース パターン (または独自のアルゴリズム) をより適切に定義できますが、Cypher ではエンジンが最適なトラバース ソリューションを自ら見つけようとします。

私は個人的に、そのシンプルさから Cypher を使用していますが、これまで Gremlin を使用する必要があった状況に遭遇したことはありません (Gremlin graphML インポート/エクスポート機能の使用を除く)。ただし、Gremlin を使用する必要が生じたとしても、ネット上で見つけた特定のクエリに対して使用し、二度と使用しないだろうと考えています。

いつでも Cypher を非常に速く (数日で) 学習し、その後 (より長い期間の) 一般的な Gremlin を続けることができます。

おすすめ記事