Vue d’ensemble
La clause de motif de graph YIELD peut être utilisée à la fin d'une instruction MATCH pour sélectionner les colonnes de la table de liaison afin de permettre leur exposition dans les parties suivantes de la requête.
<match statement> ::=  
  [ "OPTIONAL" ] "MATCH" <graph pattern> [ <graph pattern yield clause> ]
<graph pattern yield clause> ::=  
  "YIELD" <graph pattern yield item> [ { "," <graph pattern yield item> }... ]
<graph pattern yield item> ::= <element variable> | <path variable>
Exemple de Graph
Les exemples suivants s'exécutent contre ce graph :

Pour créer ce graph, exécutez la requête suivante contre 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', since: 2005}),
       (c02:Club {_id: 'C02', since: 2005}),
       (rowlock)-[:Follows {createdOn: '2024-1-5'}]->(brainy),
       (mochaeach)-[:Follows {createdOn: '2024-2-10'}]->(brainy),
       (brainy)-[:Follows {createdOn: '2024-2-1'}]->(purplechalk),
       (purplechalk)-[:Follows {createdOn: '2024-5-3'}]->(lionbower),
       (brainy)-[:Joins {memberNo: 1}]->(c01),
       (lionbower)-[:Joins {memberNo: 2}]->(c01),
       (mochaeach)-[:Joins {memberNo: 9}]->(c02)
MATCH YIELD
Cette requête renvoie uniquement n1, car c'est la seule variable spécifiée dans la clause YIELD :
MATCH (n1:User), (n2:Club)
YIELD n1
RETURN *
Résultat : n1
| _id | _uuid | schema | valeurs  | 
|---|---|---|---|
| U05 | Sys-gen | User | {name: "lionbower"} | 
| U05 | Sys-gen | User | {name: "lionbower"} | 
| U04 | Sys-gen | User | {name: "mochaeach"} | 
| U04 | Sys-gen | User | {name: "mochaeach"} | 
| U03 | Sys-gen | User | {name: "purplechalk"} | 
| U03 | Sys-gen | User | {name: "purplechalk"} | 
| U02 | Sys-gen | User | {name: "Brainy"} | 
| U02 | Sys-gen | User | {name: "Brainy"} | 
| U01 | Sys-gen | User | {name: "rowlock"} | 
| U01 | Sys-gen | User | {name: "rowlock"} | 
Cette requête déclenche une erreur de syntaxe puisque n2 n'est pas sélectionné dans la clause YIELD, donc il ne peut pas être accédé par l'instruction RETURN :
MATCH (n1:User), (n2:Club)
YIELD n1
RETURN n1, n2
Résultat : n2 non trouvé
Cette requête renvoie n1 et e :
MATCH (n1:Club)
MATCH (n2:Club)<-[e:Joins WHERE e.memberNo < 3]-()
YIELD e
RETURN *
Résultat :
n1
| _id | _uuid | schema | valeurs  | 
|---|---|---|---|
| C01 | Sys-gen | Club | {since: 2005} | 
| C01 | Sys-gen | Club | {since: 2005} | 
| C02 | Sys-gen | Club | {since: 2005} | 
| C02 | Sys-gen | Club | {since: 2005} | 
e
_uuid  | 
_from  | 
_to  | 
_from_uuid  | 
_to_uuid  | 
schema  | 
valeurs | 
|---|---|---|---|---|---|---|
| Sys-gen | U02 | C01 | UUID de U02 | UUID de C01 | Joins | {memberNo: 1} | 
| Sys-gen | U02 | C01 | UUID de U02 | UUID de C01 | Joins | {memberNo: 1} | 
| Sys-gen | U05 | C01 | UUID de U05 | UUID de C01 | Joins | {memberNo: 2} | 
| Sys-gen | U05 | C01 | UUID de U05 | UUID de C01 | Joins | {memberNo: 2} |