Vue d’ensemble
L'instruction YIELD
peut être utilisée dans les instructions CALL
et NEXT
pour sélectionner et renommer des variables afin de les exposer dans les parties suivantes de la requête.
<yield clause> ::= "YIELD" <yield item list>
<yield item list> ::= <yield item> [ { "," <yield item> }... ]
<yield item> ::= <yield item name> [ <yield item alias> ]
<yield item name> ::= <field name>
<yield item alias> ::= "AS" <binding variable>
Exemple de Graph
Les exemples suivants s'exécutent sur ce graph :
Pour créer ce graph, exécutez la requête suivante sur un graph vide :
INSERT (rowlock:User {_id: 'U01', name: 'rowlock'}),
(brainy:User {_id: 'U02', name: 'Brainy'}),
(purplechalk:User {_id: 'U03', name: 'purplechalk'}),
(mochaeach:User {_id: 'U04', name: 'mochaeach'}),
(lionbower:User {_id: 'U05', name: 'lionbower'}),
(c01:Club {_id: 'C01'}),
(c02:Club {_id: 'C02'}),
(rowlock)-[:Follows]->(brainy),
(mochaeach)-[:Follows]->(brainy),
(purplechalk)-[:Follows]->(mochaeach),
(purplechalk)-[:Follows]->(lionbower),
(brainy)-[:Joins {memberNo: 1}]->(c01),
(lionbower)-[:Joins {memberNo: 2}]->(c01),
(mochaeach)-[:Joins {memberNo: 9}]->(c02)
NEXT YIELD
Cette requête trouve les clubs rejoints par les utilisateurs suivis par l'utilisateur purplechalk
:
LET name = "purplechalk"
MATCH (:User {name: name})-[:Follows]->(u:User)
RETURN *
NEXT YIELD u
MATCH (u)-[:Joins]->(c:Club)
RETURN collect_list(c._id)
Résultat:
collect_list(c) |
---|
["C01","C02"] |