Björn Höhrmann

NAME

Graph::Feather - Like Graph::Directed basics, but with SQLite backend

SYNOPSIS

  use Graph::Feather;
  my $g = Graph::Feather->new;

  $g->add_edge(...);
  $g->has_edge(...)
  $g->delete_edge(...);
  ...

DESCRIPTION

Light-weight drop-in replacement for Graph::Directed using SQLite to store directed graph data. Only basic graph manipulation functions are supported. Some applications may find this module faster and/or use less memory than Graph::Directed, particularily when using edge or vertex attributes.

The test suite ensures the behavior of each method is equivalent to those in Graph::Directed when called with legal arguments.

CONSTRUCTOR

new(%options)

The %options hash supports the following keys:

vertices

Array of vertices.

edges

Array of edges.

METHODS

See the documentation of Graph::Directed for details:

add_vertex
add_edge
has_vertex
has_edge
delete_vertex
delete_vertices
delete_edge
delete_edges
add_vertices
add_edges
vertices
edges
successors
all_successors
successorless_vertices
predecessors
all_predecessors
predecessorless_vertices
edges_at
edges_to
edges_from
set_vertex_attribute
get_vertex_attribute
has_vertex_attribute
delete_vertex_attribute
get_vertex_attribute_names
delete_vertex_attributes
set_edge_attribute
get_edge_attribute
has_edge_attribute
delete_edge_attribute
get_edge_attribute_names
delete_edge_attributes
set_graph_attribute
get_graph_attribute
has_graph_attribute
delete_graph_attribute
get_graph_attribute_names
delete_graph_attributes

EXTENSIONS

feather_export_to($compatible_graph)

Adds vertices, edges, their attributes, and any graph attributes to the target graph, overwriting any existing attributes.

feather_import_from($compatible_graph)

Adds vertices, edges, their attributes, and any graph attributes from the other graph, overwriting any existing attributes.

TODO

  • ...

BUG REPORTS

Please report bugs in this module via http://rt.cpan.org/NoAuth/Bugs.html?Dist=Graph-Feather

SEE ALSO

  * Graph::Directed

ACKNOWLEDGEMENTS

Thanks to the people on #perl on Freenode for a discussion on how to name the module.

AUTHOR / COPYRIGHT / LICENSE

  Copyright (c) 2017-2018 Bjoern Hoehrmann <bjoern@hoehrmann.de>.
  This module is licensed under the same terms as Perl itself.