【问题标题】:neo4j: creating the same relationship towards multiple nodes using neo4j-restclientneo4j:使用 neo4j-restclient 为多个节点创建相同的关系
【发布时间】:2014-08-23 17:58:50
【问题描述】:

使用 Python neo4j-restclient,我试图找出是否可以简化从同一节点到不同节点的相同关系的创建。所以目前,我有

alice = g.nodes.create(name='Alice')
bob = g.nodes.create(name='Bob')
chuck = g.nodes.create(name='Chuck')
darryl = g.nodes.create(name='Darryl')
eve = g.nodes.create(name='Eve')

alice.relationships.create("is friends with", bob)
alice.relationships.create("is friends with", chuck)
alice.relationships.create("is friends with", darryl)
alice.relationships.create("is friends with", eve)

有没有更简单的方法来做到这一点,而不必调用relationships.create 十几次?

【问题讨论】:

  • 考虑使用 Cypher:MATCH (alice:Person {name:'Alice'}), (friend:Person) WHERE friend.name in ["Bob","Chuck","Darryl","Eve] MERGE (alice)-[:friend_of]->(friend)

标签: python-2.7 neo4j neo4jrestclient


【解决方案1】:

我会为此使用 Cypher 查询或基于批处理的事务。

with g.transaction():
    alice = g.nodes.create(name='Alice')
    for name in ["Bob","Chuck","Darryl","Eve"]:
        friend = g.nodes.create(name=name)
        alice.relationships.create("is friends with", friend)

甚至没有交易。

【讨论】:

    猜你喜欢
    • 2014-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多