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 )