ArangoDB2

 view release on metacpan or  search on metacpan

lib/ArangoDB2/Traversal.pm  view on Meta::CPAN

=head1 API METHODS

=over 4

=item execute

POST /_api/traversal

Perform traversal.  Returns API response.

=back

=head1 PROPERTY METHODS

=over 4

=item direction

Direction for traversal.
If set, must be either "outbound", "inbound", or "any.
If not set, the expander attribute must be specified

=item edgeCollection

(optional) name of the collection that contains the edges.

=item expander

body (JavaScript) code of custom expander function must be set if direction attribute is not set function signature: (config, vertex, path) -> array expander must return an array

=item filter

(optional, default is to include all nodes): body (JavaScript code) of custom filter function function signature: (config, vertex, path) -> mixed can return four different string values:

"exclude" -> this vertex will not be visited.

"prune" -> the edges of this vertex will not be followed.

"" or undefined -> visit the vertex and follow it's edges.

Array -> containing any combination of the above. If there is at least one "exclude" or "prune" respectivly is contained, it's effect will occur.

=item graphName

(optional) name of the graph that contains the edges. Either edgeCollection or graphName has to be given. In case both values are set the graphName is prefered.

=item init

body (JavaScript) code of custom result initialisation function function signature: (config, result) -> void initialise any values in result with what is required

=item itemOrder

(optional): item iteration order can be "forward" or "backward"

=item maxDepth

(optional, ANDed with any existing filters): visits only nodes in at most the given depth

=item maxIterations

(optional): Maximum number of iterations in each traversal. This number can be set to prevent endless loops in traversal of cyclic graphs. When a traversal performs as many iterations as the maxIterations value, the traversal will abort with an error...

=item minDepth

(optional, ANDed with any existing filters): visits only nodes in at least the given depth

=item order

(optional): traversal order can be "preorder" or "postorder"

=item sort

(optional): body (JavaScript) code of a custom comparison function for the edges. The signature of this function is (l, r) -> integer (where l and r are edges) and must return -1 if l is smaller than, +1 if l is greater than, and 0 if l and r are equ...

=item startVertex

id of the startVertex, e.g. "users/foo".  You can pass either string or an ArangoDB2 object with an id attribute.

=item strategy

(optional): traversal strategy can be "depthfirst" or "breadthfirst"

=item uniqueness

(optional): specifies uniqueness for vertices and edges visited if set, must be an object like this: "uniqueness": {"vertices": "none"|"global"|path", "edges": "none"|"global"|"path"}

=item visitor

(optional): body (JavaScript) code of custom visitor function function signature: (config, result, vertex, path) -> void visitor function can do anything, but its return value is ignored. To populate a result, use the result variable by reference

=back

=head1 AUTHOR

Ersun Warncke, C<< <ersun.warncke at outlook.com> >>

http://ersun.warnckes.com

=head1 COPYRIGHT

Copyright (C) 2014 Ersun Warncke

This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.

=cut



( run in 0.885 second using v1.01-cache-2.11-cpan-96521ef73a4 )