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} |