从 Neo4j 中的所有节点获取关系
Getting relationships from all node's in Neo4j
我正在尝试使用 Neo4j 进行查询。
我想在 Neo4j 中自动完成时打印获取信息的结果。
例如,假设查询创建 3 个节点,如下所示。
create (david:Person {name: 'david'}), (mike:Person {name: 'mike'}), (book:Book {title:'book'}), (david)-[:KNOWS]->(mike), (david)-[:WRITE]->(book), (mike)-[:WRITE]->(book)
这里有 2 张图片:
自动完成于
关闭自动完成
查询后如图,我想根据起始节点('book'节点)获取所有相关节点的关系。
我使用了如下所示的查询。
match (book:Book)-[r]-(person) return book, r, person
无论AUTO-COMPLETE是ON还是OFF,我希望获取所有节点的关系,包括“David knows Mike”,但系统说不是。
我在neo4j网站学习了很多Syntax结构,不知何故对我来说很难。所以,我上传这个post来为你寻求帮助。
您必须 return 您自己明确需要的所有数据。例如,Neo4j 自动 return 具有数千个关系的超级节点的所有关系是不好的,因为这意味着很多 I/O,可能一无所获。
MATCH (book:Book)-[r]-(person)-[r2]-()
RETURN book, r, person, collect(r2) AS r2
感谢 InverseFalcon,这是我有效的查询。
MATCH p = (book:Book)-[r]-(person:Person)
UNWIND nodes(p) as allnodes WITH COLLECT(ID(allnodes)) AS ALLID
MATCH (a)-[r2]-(b)
WHERE ID(a) IN ALLID AND ID(b) IN ALLID
WITH DISTINCT r2
RETURN startNode(r2), r2, endNode(r2)
我正在尝试使用 Neo4j 进行查询。 我想在 Neo4j 中自动完成时打印获取信息的结果。 例如,假设查询创建 3 个节点,如下所示。
create (david:Person {name: 'david'}), (mike:Person {name: 'mike'}), (book:Book {title:'book'}), (david)-[:KNOWS]->(mike), (david)-[:WRITE]->(book), (mike)-[:WRITE]->(book)
这里有 2 张图片:
自动完成于
关闭自动完成
查询后如图,我想根据起始节点('book'节点)获取所有相关节点的关系。 我使用了如下所示的查询。
match (book:Book)-[r]-(person) return book, r, person
无论AUTO-COMPLETE是ON还是OFF,我希望获取所有节点的关系,包括“David knows Mike”,但系统说不是。
我在neo4j网站学习了很多Syntax结构,不知何故对我来说很难。所以,我上传这个post来为你寻求帮助。
您必须 return 您自己明确需要的所有数据。例如,Neo4j 自动 return 具有数千个关系的超级节点的所有关系是不好的,因为这意味着很多 I/O,可能一无所获。
MATCH (book:Book)-[r]-(person)-[r2]-()
RETURN book, r, person, collect(r2) AS r2
感谢 InverseFalcon,这是我有效的查询。
MATCH p = (book:Book)-[r]-(person:Person)
UNWIND nodes(p) as allnodes WITH COLLECT(ID(allnodes)) AS ALLID
MATCH (a)-[r2]-(b)
WHERE ID(a) IN ALLID AND ID(b) IN ALLID
WITH DISTINCT r2
RETURN startNode(r2), r2, endNode(r2)