假设我使用 Cypher 从 Neo4J 3.3.9 数据库中提取节点列表,如下所示:
MATCH (c:Concept)-[:BY]->(u:User{uid:'16c01100-aa92-11e3-a3f6-35e25c9775ff'})
RETURN DISTINCT c;
然后我如何以最有效的方式显示这些节点之间的所有关系?
目前,在我的数据库结构中,Concept
类型的节点与 :TO
类型的关系链接。
当我在 Neo4J 浏览器中进行此类查询时,提取的节点之间的连接会自动显示,那么我如何在请求中执行相同的操作?
我尝试过这样的事情:
MATCH (c:Concept)-[:BY]->(u:User{uid:'16c01100-aa92-11e3-a3f6-35e25c9775ff'})
WITH DISTINCT c
MATCH (u:User{uid:'16c01100-aa92-11e3-a3f6-35e25c9775ff'})<-[:BY]-(con:Concept)-[rel:TO]->(c)
RETURN DISTINCT rel limit 10;
但这太慢了,而且会导致我的数据库停顿(我有大约 10000 个 c
节点,因此关系的数量达到了数百个。
什么是更有效的请求?