19

Graph-Database(fe Neo4j)を使用したORMのソリューション(または必要性)があるかどうか疑問に思います。私はエンティティ(それらのエンティティの追加属性を含む)の関係(AはCなどを介してAに関連するBに関連しているため、大きなグラフを構築しています)を追跡しており、それらをDBに保存する必要があります。グラフ データベースは、このタスクに完全に適合します。

現在、SQL のような DB では、sqlalchemyś ORM を使用してオブジェクトを格納しています。特に、データベースからオブジェクトを取得し、それらを Python スタイルで操作できる (メソッドなどを使用する) ことができるためです。

Neo4j または他の Graph-DB 用のオブジェクト マッピング ソリューションはありますか?

または、Python sqlite ドキュメント (http://docs.python.org/library/sqlite3.html#letting-your-object-adapt-itself) のように、オブジェクトを取得して保存する関数やアダプターを作成しますか?

4

3 に答える 3

11

恥知らずなプラグ...あなたもチェックアウトしたいかもしれない私自身のORMもあります:https://github.com/robinedwards/neomodel

これは py2neo の上に構築されており、内部では cypher と REST API 呼び出しを使用しています。つまり、gremlin に依存していません。

于 2012-10-30T17:23:32.570 に答える
7

現在、データベースの REST インターフェイスに基づいて、Python にはいくつかの選択肢があります。

@Peter が提供したリンクで述べたように、古い Neo4j/Django 統合を更新する neo4django に取り組んでいます。複雑なクエリが必要で、ノードのインデックス作成も管理する ORM が必要な場合、または既に Django を使用している場合に適しています。ネイティブの Django ORM と非常によく似た動作をします。PyPiまたはGitHubで見つけてください。

また、ブループリントでサポートされている任意のグラフ データベースで動作することになっている、Bulbflowと呼ばれるより一般的なソリューションもあります。私はそれを使用していませんが、私が見たところ、ドメイン モデリングに重点を置いています。たとえば、Bulbflow には既に機能するリレーションシップ モデルがあり、これについてはまだ取り組んでいますが、複雑なクエリはあまりサポートしていません (私たちが行っているように)。 Django クエリセット + インデックスの使用)。また、グラフに少し近づいて作業することもできます。

于 2011-12-02T14:50:07.007 に答える
7

Django、Flask、または Pyramid でモデルを作成できるBulbflowをご覧ください。ただし、Neo4j が提供するpython-bindingの代わりにREST クライアントで動作するため、ネイティブ バインディングほど高速ではない可能性があります。

于 2011-12-02T14:54:42.410 に答える