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
- set_vertex_attributes
- get_vertex_attributes
- get_vertex_attribute_names
- delete_vertex_attributes
- set_edge_attribute
- get_edge_attribute
- has_edge_attribute
- delete_edge_attribute
- set_edge_attributes
- get_edge_attributes
- get_edge_attribute_names
- delete_edge_attributes
- set_graph_attribute
- get_graph_attribute
- has_graph_attribute
- set_graph_attributes
- delete_graph_attribute
- get_graph_attributes
- 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.
- feather_delete_edges(@edges)
-
In the original Graph module,
delete_edges
takes a flat list of vertices instead of a list of vertex pairs. This function takes a list of vertex pairs instead.
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.