LIMIT keeps the first N rows in the alias, and discards the rest of rows.
Syntax: LIMIT <number>
Input:
- <number>: The number of rows to keep, or keep all rows when set to -1
For instance, keep the first 2 rows of path:
find().nodes([1, 5]) as nodes
n(nodes).e()[:2].n() as path
limit 2
return path
Please note the difference between clause LIMIT and chain command parameter .limit()
, that .limit()
keeps the first 2 rows of each subquery of path, not the first 2 rows of the whole path:
find().nodes([1, 5]) as nodes
n(nodes).e()[:2].n().limit(2) as path
return path
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("student").node_schema("course")
create().node_property(@*, "name").node_property(@student, "age", int32).node_property(@course, "credit", int32)
insert().into(@student).nodes([{_id:"S001", _uuid:1, name:"Jason", age:25}, {_id:"S002", _uuid:2, name:"Lina", age:23}, {_id:"S003", _uuid:3, name:"Eric", age:24}, {_id:"S004", _uuid:4, name:"Emma", age:26}, {_id:"S005", _uuid:5, name:"Pepe", age:24}])
insert().into(@course).nodes([{_id:"C001", _uuid:6, name:"French", credit:4}, {_id:"C002", _uuid:7, name:"Math", credit:5}])
insert().into(@default).edges([{_uuid:1, _from_uuid:1, _to_uuid:6}, {_uuid:2, _from_uuid:2, _to_uuid:6}, {_uuid:3, _from_uuid:3, _to_uuid:6}, {_uuid:4, _from_uuid:2, _to_uuid:7}, {_uuid:5, _from_uuid:3, _to_uuid:7}, {_uuid:6, _from_uuid:4, _to_uuid:7}, {_uuid:7, _from_uuid:5, _to_uuid:7}])
Common Usage
Example: Find 3 nodes of @student that are eldest
find().nodes({@student}) as n
order by n.age desc
limit 3
return n.name
Emma
Jason
Pepe