J'essaie d'afficher un réseau dans le navigateur neo4j. J'ai un graphique où les noeuds sont Person
et il y a deux types de relations MANAGED
et FRIENDS
.Comment retourner des nœuds liés à un ensemble de nœuds mais pas les uns aux autres
Étant donné une personne initiale avec id '123'
je peux trouver toutes les personnes récursive gérées par eux, comme si
MATCH (p:Person { person_id:"123" })-[r:MANAGES *0..100]->(managed:Person)
RETURN managed,r
Ce que je veux faire est maintenant pour afficher toutes ces personnes et tous les géré flèches mais en plus, afficher toutes les personnes qui ont une relation FRIENDS
avec les personnes managed
et les flèches friends
. Cependant, je ne veux pas montrer la flèche FRIENDS
entre les personnes dans managed
à d'autres personnes dans managed
même s'il existe une relation FRIENDS
.
Certains pseudo-code non fonctionnel pourrait être
MATCH (p:Person { person_id:"123" })-[m:MANAGES *0..100]->(managed:Person)-[f:FRIENDS]-(friend:Person)
RETURN managed,m, f if friend not in managed, friend if friend not in managed