使用 cypher 和 neo4j 2.0。
给定两组节点 ID(长度相等)和一组权重,我想在相应节点之间创建关系并将权重设置为属性。例如,如果我有以下三个列表:
node list 1: (101, 201, 301)  
node list 2: (102, 202, 302)
weights:     (0.1, 0.6, 0.25)
我想创建以下表示
 101 - knows {w : .1}  - 102
 201 - knows {w : .6}  - 202
 301 - knows {w : .25} - 302
但不是,例如,   101 - knows - 302
我可以通过迭代我的参数然后创建单独的查询来做到这一点。有没有办法批量运行它,将我的 lsits 作为参数传递并要求 
cypher按顺序匹配节点和属性?
我想了一会儿,以下列方式使用参数会起作用,但它会创建关系的所有排列(如预期的那样),并将整个权重列表作为属性分配给每个关系。
{
    "query": 
       "START a1=node({starts}), a2=node({ends}) 
        CREATE UNIQUE a1-[r:knows {w : {weights}}]-a2 
        RETURN type(r), r.w, a1.name, a2.name",
    "params": {
        "starts"  : [101, 201, 301],
        "ends"    : [102, 202, 302],
        "weights" : [0.1, 0.6, 0.25]
    }
}