NAME

REST::Neo4p::Path - Container for Neo4j path elements

SYNOPSIS

  use REST::Neo4p::Query;
  $query = REST::Neo4p::Query->new(
    'START n=node(0), m=node(1) MATCH p=(n)-[*..3]->(m) RETURN p'
  );
  $query->execute;
  $path = $query->fetch->[0];
  @nodes = $path->nodes;
  @relns = $path->relationships;
  while ($n = shift @nodes) {
    my $r = shift @relns;
    print $r ? $n->id."-".$r->id."->" : $n->id."\n";
  }

DESCRIPTION

REST::Neo4p::Path provides a simple container for Neo4j paths as returned by Cypher queries. Nodes and relationships are stored in path order.

Creating de novo instances of this class is really the job of REST::Neo4p::Query.

METHODS

nodes()
 @nodes = $path->nodes;

Get the nodes in path order.

relationships()
 @relationships = $path->relationships;

Get the relationships in path order.

as_simple()
 $a = $path->as_simple;
 @simple_nodes = grep { $_->{_node} } @$a;
 @simple_relns = grep { $_->{_relationship} } @$a;

Get the path as an array of simple node and relationship hashes (see "as_simple()" in REST::Neo4p::Node, "as_simple()" in REST::Neo4p::Relationship).

SEE ALSO

REST::Neo4p, REST::Neo4p::Node, REST::Neo4p::Relationship, REST::Neo4p::Query.

AUTHOR

   Mark A. Jensen
   CPAN ID: MAJENSEN
   majensen -at- cpan -dot- org

LICENSE

Copyright (c) 2012-2022 Mark A. Jensen. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.