密码查询 - 仅匹配连接到一个节点的节点子集
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)
如何构建高效的密码查询以仅拉取连接到 '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)