2

我已经看到关系属性尚未在 neo4django 中实现。此线程中公开的解决方法是为每个与属性的关系创建一个新的节点类型。

我负担不起太多的计算,所以我不想使用这种技术。在阅读我看到的源代码Relationship时,作为类的文档字符串,这个:"""Extend to add properties to relationships."""

我的问题是,如何做到这一点?从哪里开始添加至少一个属性?

谢谢

4

1 回答 1

3

尽管有文档字符串,但这仍然是一个悬而未决的问题——实际上是该项目最古老的问题。您可能有一种方法可以通过扩展Relationshipand来完成它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 回答