【问题标题】:Retrieve the Relationship object in Neomodel在 Neomodel 中检索关系对象
【发布时间】:2021-09-23 21:42:29
【问题描述】:

我在我的项目中使用 Neomodel 和 Python。我定义了许多节点,并存储了有关它们之间关系的相关信息。但是,我似乎无法找到一种机制来检索关系对象本身以使用属性 - 我只能按关系属性过滤以返回节点。

class MyRelationship(StructuredRel):
    source = StringProperty()
    
class Person(StructuredNode):
    uid=UniqueIdProperty()
    first_name = StringProperty()
    last_name = StringProperty()
    
    people = RelationshipTo('Person', "PERSON_RELATIONSHIP", model = MyRelationship) 

我在相同的两个节点之间有许多相同类型的关系 [PERSON_RELATIONSHIP],但它们的属性不同。我希望能够遍历它们并打印出 to 节点和属性。

给定一个 person 类型的对象 Person

for p in person.people: 给我 Person 对象

person.people.relationship(p).source 总是只给我第一个关系的价值

Traversal 似乎也给了我 Person 对象

似乎获得关系对象的唯一方法是在.connect

有什么线索吗?谢谢。

【问题讨论】:

    标签: python neo4j neomodel


    【解决方案1】:

    我只是偶然发现了同样的问题,并设法解决了它,如下所示。但如果它是最高效的解决方案,我不喜欢。

    如果变量person 中已有Person 节点对象:

    for p in person.people:
        r = person.people.relationship(p)
    

    或者遍历所有Person节点:

    for person in Person.nodes.all():
        for p in person.people:
            r = person.people.relationship(p)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-27
      • 2014-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多