NAME

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

VERSION

version 0.40

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>

If you contact me by email, please make sure you include the word "Perl" in your subject header to help beat the spam filters.

COPYRIGHT AND LICENSE

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

This is free software; you can redistribute it and/or modify it under the terms of the Artistic License 2.0 or (at your option) the same terms as the Perl 5 programming language system itself.