Neo4j 在匹配节点列表上聚合
我有一个Cypher查询,我想将其扩展为在匹配节点列表上求和 我的查询如下所示:Neo4j 在匹配节点列表上聚合,neo4j,cypher,Neo4j,Cypher,我有一个Cypher查询,我想将其扩展为在匹配节点列表上求和 我的查询如下所示: MATCH (u:User {name: {input} })-[r:USES]-(t) RETURN SUM(t.weight) 这匹配一个用户节点,我想调整它以匹配用户节点列表,然后执行聚合 我当前的实现只是在循环中调用查询,并在Cypher之外执行聚合。这会导致稍微不准确的结果和大量API调用 有没有一种方法可以根据元素列表(在我的例子中是字符串)来评估Cypher查询 我使用的是Neo4j 2.1或2.
MATCH (u:User {name: {input} })-[r:USES]-(t) RETURN SUM(t.weight)
这匹配一个用户节点,我想调整它以匹配用户节点列表,然后执行聚合
我当前的实现只是在循环中调用查询,并在Cypher之外执行聚合。这会导致稍微不准确的结果和大量API调用
有没有一种方法可以根据元素列表(在我的例子中是字符串)来评估Cypher查询
我使用的是Neo4j 2.1或2.2
干杯您可以在操作符中使用
,并传入用户名数组:
MATCH (u:User)-[r:USES]-(t)
WHERE u.name in ['John','Jim','Jack']
RETURN u.name, SUM(t.weight)
您可以使用参数保持和数组值来代替此处的数组:
MATCH (u:User)-[r:USES]-(t)
WHERE u.name in {userNames}
RETURN u.name, SUM(t.weight)
userNames = ['John','Jim','Jack']