Kirill Simonov avatar Kirill Simonov committed a2741df

Added reference tables for aggregate and navigational functions.

Comments (0)

Files changed (1)

doc/reference.rst

 .. |date-diff-in| replace:: ``date('2028-12-09')-date('1991-08-20')``
 
 
+Aggregate Functions
+-------------------
+
++----------------------+---------------------------+---------------------------+----------------------+
+| Function             | Description               | Example Input             | Output               |
++======================+===========================+===========================+======================+
+| `exists(ps)`         | *TRUE* if *ps* contains   |                           |                      |
+|                      | at least one *TRUE*       |                           |                      |
+|                      | value; *FALSE* otherwise  |                           |                      |
++----------------------+---------------------------+---------------------------+----------------------+
+| `every(ps)`          | *TRUE* if *ps* contains   |                           |                      |
+|                      | only *TRUE* values;       |                           |                      |
+|                      | *FALSE* otherwise         |                           |                      |
++----------------------+---------------------------+---------------------------+----------------------+
+| `count(ps)`          | number of *TRUE* values   |                           |                      |
+|                      | in *ps*                   |                           |                      |
++----------------------+---------------------------+---------------------------+----------------------+
+| `min(xs)`            | smallest *x* in *sx*      |                           |                      |
++----------------------+---------------------------+---------------------------+----------------------+
+| `max(xs)`            | largest *x* in *sx*       |                           |                      |
++----------------------+---------------------------+---------------------------+----------------------+
+| `sum(xs)`            | sum of *x* in *xs*        |                           |                      |
++----------------------+---------------------------+---------------------------+----------------------+
+| `avg(xs)`            | average value of *x*      |                           |                      |
+|                      | in *xs*                   |                           |                      |
++----------------------+---------------------------+---------------------------+----------------------+
+
+
+Navigation Functions and Operators
+----------------------------------
+
++----------------------+---------------------------+---------------------------+----------------------+
+| Function             | Description               | Example Input             | Output               |
++======================+===========================+===========================+======================+
+| `chain . link`       | follow a link             |                           |                      |
++----------------------+---------------------------+---------------------------+----------------------+
+| `chain . attr`       | attribute value           |                           |                      |
++----------------------+---------------------------+---------------------------+----------------------+
+| `chain ? p`          | records from *chain*      |                           |                      |
+|                      | satisfying condition *p*  |                           |                      |
++----------------------+---------------------------+---------------------------+----------------------+
+| `chain.sort(x,...)`  | records from *chain*      |                           |                      |
+|                      | sorted by *x*, ...        |                           |                      |
++----------------------+---------------------------+---------------------------+----------------------+
+| `chain.limit(n)`     | first *n* records from    |                           |                      |
+|                      | *chain*                   |                           |                      |
++----------------------+---------------------------+---------------------------+----------------------+
+| `chain.limit(n,k)`   | *n* records from *chain*  |                           |                      |
+|                      | starting from *k*-th      |                           |                      |
++----------------------+---------------------------+---------------------------+----------------------+
+| `chain {x,...}`      | select *x*, ... from      |                           |                      |
+|                      | *chain*                   |                           |                      |
++----------------------+---------------------------+---------------------------+----------------------+
+| `root()`             | scalar class              |                           |                      |
++----------------------+---------------------------+---------------------------+----------------------+
+| `this()`             | current chain             |                           |                      |
++----------------------+---------------------------+---------------------------+----------------------+
+
+
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.