NAME Net::GraphSpace - API bindings for GraphSpace VERSION version 0.0006 SYNOPSIS use Net::GraphSpace; use JSON qw(decode_json); use Try::Tiny; my $client = Net::GraphSpace->new( user => 'bob', password => 'secret', host => 'graphspace.org' ); my $graph = Net::GraphSpace::Graph->new(description => 'yeast ppi'); my $node1 = Net::GraphSpace::Node->new(id => 'node-a', label => 'A'); my $node2 = Net::GraphSpace::Node->new(id => 'node-b', label => 'B'); my $edge = Net::GraphSpace::Edge->new( id => 'a-b', source => 'node-a', target => 'node-b'); $graph->add_nodes([$node1, $node2]); $graph->add_edge($edge); $graph->add_node(Net::GraphSpace::Node->new(id => 3, label => 'C')); # Upload graph to server and set the graph id my $graph_id = 'graph-id-1'; my $data = $client->set_graph($graph, $graph_id); my $url = $data->{url}; # Upload graph to server and have server autogenerate the graph id $data = $client->add_graph($graph); $graph_id = $data->{id}; $url = $data->{url}; print "Your graph (id: $graph_id) can be viewed at $url\n"; # Get and update a graph $graph = $clent->get_graph($graph_id) or die "Could not find graph $graph_id"; $graph->tags(['foo', 'bar']); $client->set_graph($graph, $graph_id); # Delete a graph try { $client->delete_graph($graph_id); print "Deleted graph $graph_id: $_\n"; } catch { print "Could not delete graph $graph_id: $_\n"; }; DESCRIPTION Net::GraphSpace provides bindings for the GraphSpace API. GraphSpace is a web based graph/network visualization tool and data store. See <http://graphspace.org> for more information. ATTRIBUTES Required: user password host Optional: port Defaults to 80. METHODS new(%params) Takes key/value arguments corresponding to the attributes above. get_graph($graph_id) Returns a Net::GraphSpace::Graph object for the given $graph_id. Returns undef if the graph could not be found. set_graph($graph, $graph_id) Creates or updates the graph on the server with id $graph_id. Returns a hashref just like add_graph(). Dies on server error. add_graph($graph) Takes a Net::GraphSpace::Graph object and uploads it. Use this method only if you don't care what id is assigned to your graph. Otherwise, use set_graph to create your graph. Returns a hashref of the form: { id => 1, url => 'http://...', } The url is the location where the graph can be viewed. Dies on server error. delete_graph($graph_id) Deletes the graph with id $graph_id. Returns a true value on success. Dies on failure or if the graph didn't exist. SEE ALSO <http://graphspace.org> AUTHOR Naveed Massjouni <naveedm9@gmail.com> COPYRIGHT AND LICENSE This software is copyright (c) 2011 by Naveed Massjouni. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.