我已经看到neo4django中尚未实现关系属性。 this thread中公开的变通方法是为每个与属性的关系建立一个新的节点类型。
我承担不起太多的计算,所以我不想使用这种技术。在阅读source code我看过Relationship
类的文档字符串时,请:"""Extend to add properties to relationships."""
我的问题是,怎么做?从哪里开始添加至少一个属性?
由于
答案 0 :(得分:3)
尽管有文档字符串,但这仍然是open issue - 实际上是该项目最早的项目。您可以通过扩展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?