User Tools

Site Tools


tutorials:xl-queries-and-operators

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tutorials:xl-queries-and-operators [2024/12/11 12:44] – [Test model] MHtutorials:xl-queries-and-operators [2025/06/02 07:36] (current) – added transitive closure examples ksmolen
Line 60: Line 60:
 } }
 </code> </code>
 +
 +{{ :tutorials:graph_query_example_2rot.png?200|}}
  
 The underlying 2d graph of the generated structure given below: The underlying 2d graph of the generated structure given below:
  
-{{ :tutorials:graph_query_example_2.png?550|}} +Beginning from //RGGRoot//, we have the sequence of three //Internodes// where to each a //Leaf// is linked by a branching edge. The last internode, additionally, has a Bud node successor.
- +
  
  
Line 145: Line 145:
 Aggregate operations are used to collect multiple values when traversing the graph structure and return a single value. Aggregate operations are used to collect multiple values when traversing the graph structure and return a single value.
  
-Standard [[groimp-platform:xl-operators|aggregate operations]] are: ''count'', ''sum'', ''empty'', ''exist'', ''forall'', ''first'', ''last'', ''max'', ''min'', ''mean'', ''selectRandomly'', ''selectWhereMin'', ''selectWhereMax'', ...+Standard [[:groimp-platform:xl-builtin-methods|aggregate operations]] are: ''count'', ''sum'', ''empty'', ''exist'', ''forall'', ''first'', ''last'', ''max'', ''min'', ''mean'', ''selectRandomly'', ''selectWhereMin'', ''selectWhereMax'', ...
  
   * Count all leaves:    * Count all leaves: 
Line 202: Line 202:
 </hidden> </hidden>
  
 +==== Transitive closure ====
 +
 +Transitive closure is a concept used to derive relations between successive nodes connected by several edges of the same type. For example, we want to find all descendants of some given node that are of type Internode.
 +
 +The quantifier ''+'' stands for 1-to-//n// repetitions, the quantifier ''*'' stands for 0-to-//n// repetitions.
 +
 +  * Find all internodes connected to the bud:
 + 
 +<code java> 
 +(* Bud (<--)+ Internode *)
 +</code>
 +
 +Special syntax is used after the quantifier if we are interested only in finding minimal elements '':(node_type)'' 
 +
 +  * Find the first internode connected to the bud:
 + 
 +<code java> 
 +(* Bud (<--)+ :(Internode) *)
 +</code>
tutorials/xl-queries-and-operators.1733917476.txt.gz · Last modified: 2024/12/11 12:44 by MH