The Perl Advent Calendar needs more articles for 2022. Submit your idea today!

NAME

Neo4j::Driver::ResultSummary - Details about the result of running a statement

VERSION

version 0.31

SYNOPSIS

 use Neo4j::Driver;
 $driver = Neo4j::Driver->new->basic_auth(...);
 $result = $driver->session->run('MATCH (a)-[:KNOWS]-(b) RETURN a, b');
 
 $summary = $result->summary;
 
 # SummaryCounters
 $counters = $summary->counters;
 
 # query information
 $query  = $summary->statement->{text};
 $params = $summary->statement->{parameters};
 $plan   = $summary->plan;
 @notes  = $summary->notifications;
 
 # ServerInfo
 $address = $summary->server->address;
 $version = $summary->server->version;

DESCRIPTION

The result summary of running a statement. The result summary can be used to investigate details about the result, like the Neo4j server version, how many and which kinds of updates have been executed, and query plan information if available.

To obtain a result summary, call "summary" in Neo4j::Driver::Result.

METHODS

Neo4j::Driver::ResultSummary implements the following methods.

counters

 $summary_counters = $summary->counters;

Returns the SummaryCounters with statistics counts for operations the statement triggered.

notifications

 use Data::Dumper;
 @notifications = $summary->notifications;
 print Dumper @notifications;

A list of notifications that might arise when executing the statement. Notifications can be warnings about problematic statements or other valuable information that can be presented in a client. Unlike failures or errors, notifications do not affect the execution of a statement.

This driver only supports notifications over HTTP.

plan

 use Data::Dumper;
 print Dumper $summary->plan;

This describes how the database will execute your statement. Available if this is the summary of a Cypher EXPLAIN statement.

This driver only supports execution plans over HTTP.

server

 $address = $summary->server->address;
 $version = $summary->server->agent;

The ServerInfo, consisting of the host, port, protocol and Neo4j version.

statement

 $query  = $summary->statement->{text};
 $params = $summary->statement->{parameters};

The statement and parameters this summary is for.

EXPERIMENTAL FEATURES

Neo4j::Driver::ResultSummary implements the following experimental features. These are subject to unannounced modification or removal in future versions. Expect your code to break if you depend upon these features.

Calling in scalar context

 $count = $summary->notifications;

The notifications() method returns the number of notifications if called in scalar context.

Until version 0.25, it returned an array reference instead, or undef if there were no notifications.

SEE ALSO

AUTHOR

Arne Johannessen <ajnn@cpan.org>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2016-2022 by Arne Johannessen.

This is free software, licensed under:

  The Artistic License 2.0 (GPL Compatible)