ArangoDB2
view release on metacpan or search on metacpan
lib/ArangoDB2/Traversal.pm view on Meta::CPAN
package ArangoDB2::Traversal;
use strict;
use warnings;
use base qw(
ArangoDB2::Base
);
use Data::Dumper;
use JSON::XS;
my $JSON = JSON::XS->new->utf8;
my @PARAMS = qw(
direction edgeCollection expander filter graphName init itemOrder maxDepth
maxIterations minDepth order sort startVertex strategy uniqueness visitor
);
# direction
#
# get/ set direction
sub direction { shift->_get_set('direction', @_) }
# edgeCollection
#
# get/ set edgeCollection
sub edgeCollection { shift->_get_set('edgeCollection', @_) }
# execute
#
# POST /_api/traversal
sub execute
{
my($self, $args) = @_;
# process request args
$args = $self->_build_args($args, \@PARAMS);
# if neither edgeCollection or graphName is set then
# use the current graph name
$args->{graphName} = $self->graph->name
unless defined $args->{graphName}
or defined $args->{edgeCollection};
# make request
return $self->arango->http->post(
$self->api_path('traversal'),
undef,
$JSON->encode($args),
);
}
# expander
#
# get/ set expander
sub expander { shift->_get_set('expander', @_) }
# filter
#
# get/ set filter
sub filter { shift->_get_set('filter', @_) }
# graphName
#
# get/ set graphName
sub graphName { shift->_get_set('graphName', @_) }
# init
#
# get/ set init
sub init { shift->_get_set('init', @_) }
# itemOrder
#
# get/ set itemOrder
( run in 1.601 second using v1.01-cache-2.11-cpan-39bf76dae61 )