2

関係プロパティがまだ neo4django に実装されていないことがわかりました。このスレッドで公開されている回避策は、プロパティとの関係ごとに新しいノード タイプを持つことです。

あまりにも多くの計算をする余裕がないので、この手法を使用したくありません。私が見たソースコードを読んでいる間、Relationshipクラスのdocstringとして、これは:"""Extend to add properties to relationships."""

私の質問は、それを行う方法ですか?少なくとも 1 つのプロパティを追加するには、どこから始めればよいですか?

ありがとう

4

1 に答える 1

3

docstring にもかかわらず、これは未解決の問題であり、実際にはプロジェクトで最も古い問題です。Relationshipとを拡張することでそれをやってのける方法があるかもしれませんが、BoundRelationshipその問題を解決できるようになるまでは簡単ではありません。

この問題は、Neo4j にリレーションシップ ストアよりも多くのメモリをノード ストアに与えることができるため、このプロジェクトを使用するとおそらくボトルネックにはならないと主張します。もちろんYMMV。

しかし、それがハックのように感じるのは知っています。カスタムのリレーションシップ プロパティが本当に必要な場合、REST クライアント レベルにドロップダウンするのが最短経路かもしれません。プロパティとの関係を作成するには、次のようなことができます

class Person(NodeModel):
  name = StringProperty()
  friends = Relationship('self', rel_type='friends_with')

pete = Person.objects.create(name='Pete')
dave = Person.objects.create(name='Dave')

# from the neo4j-rest-client [docs][2]
pete.node.relationships.create("friends_with", dave.node, since=123456789, introduced_at="Christmas party")

WDYT?

于 2013-04-28T17:12:23.613 に答える