NAME
Neo4j::Bolt::Path - Representation of a Neo4j Path
SYNOPSIS
$q
=
'MATCH p=(n1)-[r]->(n2) RETURN p'
;
$path
= (
$cxn
->run_query(
$q
)->fetch_next )[0];
(
$n1
,
$r
,
$n2
) =
@$path
;
@nodes
=
grep
{
ref
eq
'Neo4j::Bolt::Node'
}
@$path
;
@relationships
=
grep
{
ref
eq
'Neo4j::Bolt::Relationship'
}
@$path
;
$start_node
=
$path
->[0];
$end_node
=
$path
->[
@$path
- 1];
$length
=
@$path
>> 1;
# number of relationships
$arrayref
=
$path
->as_simple;
DESCRIPTION
Neo4j::Bolt::Path instances are created by executing a Cypher query that returns paths from a Neo4j database. Their nodes, relationships and metadata can be accessed as shown in the synopsis above.
This class conforms to the Neo4j::Types::Path API, which offers an object-oriented interface to the paths's elements and metadata. This is entirely optional to use.
If a query returns the same path twice, two separate Neo4j::Bolt::Path instances will be created.
METHODS
This class provides the following methods defined by Neo4j::Types::Path:
The following additional method is provided:
- as_simple()
-
$simple
=
$path
->as_simple;
Get path as a simple arrayref in the style of REST::Neo4p.
The simple arrayref is unblessed, but is otherwise an exact duplicate of the Neo4j::Bolt::Path instance.
SEE ALSO
Neo4j::Bolt, Neo4j::Types::Path
AUTHOR
Arne Johannessen
CPAN: AJNN
LICENSE
This software is Copyright (c) 2020-2024 by Arne Johannessen.
This is free software, licensed under:
The Apache License, Version 2.0, January 2004