適切なサイズの Neo4j アプリ (1,000 万のノード/rel) を設計および実装したことのある方からの連絡をお待ちしています。また、モデリングとさまざまな API (vanilla java/groovy Neo4j vs Spring-Data -Neo4j 対 Grails GORM/Neo4j)。
追加の OGM (object-graph-mapping) レイヤーと関連する抽象化を追加することが実際に報われるかどうかに興味がありますか?
ノード+プロパティ、リレーションシップ+プロパティ、トラバーサル、および(たとえば)サイファーを使用してデータをモデル化および保存する「プレーンな」グラフモデリングに固執するのが最善であるという経験はありますか?
私の懸念は、特定の OGM 抽象化をグラフ データベースに「強制」すると、ドメイン モデルの適応/変更における将来の柔軟性および/またはデータのクエリにおける柔軟性に影響することです。
私たちは Grails ショップで、GORM/Neo4J と spring-data-neo4j を試しました。
データセットの主な目的は、多数の人々、その別名、仲間、あらゆる種類の犯罪行為と歴史の間の関係をモデル化し、クエリすることです。50 を超えるメイン ドメイン クラスが存在します。モデル (プロジェクトの初期段階で急速に進化する必要があります) と、クエリの速度と柔軟性に柔軟性がなければなりません。
正直に言うと、(例) POJO や POGO、ちょっとした Groovy マジック、いくつかの単純な手巻きのドメイン オブジェクト <-> ノード/リレーションシップ マッピング コードを使用できる場合に、OGM レイヤーを使用する説得力のある理由を見つけるのに苦労しています。 . 私が知る限り、ノードとトラバーサルとサイファー (別名 KISS) を扱うだけで満足できると思います。しかし、他の人の経験や推奨事項を聞いてとてもうれしく思います。
あなたの時間と考えをありがとう、
TP