Function collect()
arranges each row of an alias into a list (ignoring the rows that are null), in their original order, and returns this list. Only one row from the alias will be kept after this function is called, and all the rest rows will be abandoned.
Arguments:
- Alias <any>, object value of each NODE/EDGE/PATH in the alias, and list value of each row in the TABLE alias
Returns:
- List <list>
Sample graph: (to be used for the following examples)
Run below UQLs one by one in an empty graphset to create graph data:create().node_schema("professor").node_schema("student")
create().node_property(@*, "age", int32).node_property(@*, "email", string)
insert().into(@professor).nodes([{_id:"P001",_uuid:1,age:53,email:"[email protected]"},{_id:"P002",_uuid:2,age:27,email:"[email protected]"}])
insert().into(@student).nodes([{_id:"S001",_uuid:3,age:27,email:"[email protected]"},{_id:"S002",_uuid:4,age:20,email:"[email protected]"},{_id:"S003",_uuid:5,age:25,email:"[email protected]"}])
Common Usage
Example: Return the list of age of all nodes in the graph
find().nodes() as n
return collect(n.age)
[53,27,20,27,25]
Example: Return the list of nodes of @professor in the graph
find().nodes({@professor}) as n
return collect(n)
[
{"id":"P001","uuid":"1","schema":"professor","values":{"age":"53","email":"[email protected]"}},
{"id":"P002","uuid":"2","schema":"professor","values":{"age":"27","email":"[email protected]"}}
]