密码查询 - 仅匹配连接到一个节点的节点子集

Cypher query - Only match on subset of nodes connected to one node

如何构建高效的密码查询以仅拉取连接到 'Group' 标记节点的 'City' 和 'Age'?提前致谢

到目前为止我已经尝试过这个查询:

MATCH(a:Group)-[r]-(b) WHERE b:City OR b:Age RETURN a, b

这个查询让我完成了一半。它 return 是正确的数据,但是 table 格式的数据是错误的。我想包括有连接到 City、Age、Name 和 Race

的其他 Group 节点的情况

查询应 return 这种格式,其中每一行都是一个不同的组:

Group1, City, Age
Group2, City, Age

你可以试试:

MATCH (a:Group)-->(b:City), (a)-->(c:Age)  RETURN a,b,c

直接用cypher指定关系不就行了吗?我从你的问题中得到了预期的结果:

MATCH (g:Group)-->(c:City), (g:Group)-->(a:Age)
RETURN a, c, g

甚至

MATCH (a:Age)<--(g:Group)-->(c:City)
RETURN a, c, g

示例数据:

CREATE (g1:Group{name:"Group1"}),
  (g2:Group{name:"Group2"}),
  (a:Age{name:"42"}),
  (c:City{name:"Springfield"}),
  (a)<-[:R]-(g1)-[:R]->(c),
  (a)<-[:R]-(g2)-[:R]->(c)