J'aimerais connaître toutes les relations entrantes et sortantes pour un nœud. J'ai essayé quelques requêtes suggérées dans d'autres questions mais n'ayant pas beaucoup de chance. Ce sont les deux j'ai essayé
MATCH (a:User {username: "user6"})-[r*]-(b)
RETURN a, r, b
Je n'ai que 500 nœuds et il fonctionne pour toujours. J'ai abandonné au bout d'une heure.
J'ai essayé ça
MATCH (c:User {username : 'user6'})-[r:*0..1]-(d)
WITH c, collect(r) as rs
RETURN c, rs
Mais je reçois cette erreur
WARNING: Invalid input '*': expected whitespace or a rel type name (line 1, column 35 (offset: 34))
"MATCH (c {username : 'user6'})-[r:*0..1]-(d)"
Quelle serait la bonne façon d'obtenir toutes les relations pour un nœud?
J'utilise la version 3.0.3
Le moyen le plus simple d'obtenir toutes les relations pour un seul nœud est le suivant:
MATCH (:User {username: 'user6'})-[r]-()
RETURN r
La solution ci-dessus ne renvoie plus une représentation graphique en 3.1. Au lieu de la solution ci-dessous devrait fonctionner
MATCH (a:User {username: 'user6'})-[r]-(b)
RETURN r, a, b
Ceci a été répondu dans une autre SO question
La plupart de ces réponses fonctionneront parfaitement, mais si comme moi, vous avez également besoin du nom de la relation elle-même, vous devez insérer r
avec type()
:
MATCH (a:User {username: 'user6'})-[r]-(b)
RETURN type(r), a, b
: Récupère tous les nœuds: - START n = node () RETURN n; ou match (n) retourne n 2: Affiche les nœuds et les relations: - MATCH (n) MATCH (n) - [r] - () RETURN n, r ou START n = noeud () MATCH (n) - [r] -> (m) RETURN n, r, m 3: faites correspondre les nœuds et les relations: - MATCH (a: Policy) - [: APPLIES_TO] - (Cluster) WHERE a.name = "pol-1nils" RETURN a, cluster 4: obtenir tous les objets de nœuds particuliers: - MATCH (liste: politique) retour liste 5: lié aux entités entre deux nœuds: - match (a: WorkLoad) - [b: APPLIES_TO] -> (c: Policy) où c.name = "shamshad" renvoie a, b, c;