package Net::Neo4j; use MooseX::Net::API; net_api_declare neo4j => ( api_format => 'json', api_format_mode => 'content-type', ); net_api_method root => ( method => 'GET', path => '/', expected => [qw/200/], ); net_api_method add_node => ( method => 'POST', path => '/node', strict => 0, expected => [qw/201/], ); net_api_method node => ( method => 'GET', path => '/node/:id', params => [qw/id/], required => [qw/id/], expected => [qw/200 404/], ); net_api_method set_node_properties => ( method => 'PUT', path => '/node/:id/properties', strict => 0, params => [qw/id/], required => [qw/id/], expected => [qw/204 400 404/], ); net_api_method node_properties => ( method => 'GET', path => '/node/:id/properties', params => [qw/id/], required => [qw/id/], expected => [qw/200 204 404/], ); net_api_method delete_node_properties => ( method => 'DELETE', path => '/node/:id/properties', params => [qw/id/], required => [qw/id/], expected => [qw/204 404/], ); # XXX won't work with JSON... net_api_method set_node_property => ( method => 'PUT', path => '/node/:id/properties/:property', params => [qw/id property/], required => [qw/id property/], expected => [qw/200 404/], ); net_api_method node_property => ( method => 'GET', path => '/node/:id/properties/:property', params => [qw/id property/], required => [qw/id property/], expected => [qw/200 404/], ); net_api_method delete_node_property => ( method => 'DELETE', path => '/node/:id/properties/:property', params => [qw/id property/], required => [qw/id property/], expected => [qw/204 404 /], ); net_api_method delete_node => ( method => 'DELETE', path => '/node/:id', params => [qw/id/], required => [qw/id/], expected => [qw/204 404 409/], ); net_api_method add_edge => ( method => 'POST', path => '/node/:id/relationships', params => [qw/id to data type/], required => [qw/id to data type/], expeced => [qw/201 400 404/], ); net_api_method set_edge_properties => ( method => 'PUT', path => '/relationship/:id/properties', params => [qw/id/], required => [qw/id/], strict => 0, expected => [qw/204 400 404/], ); net_api_method edge_properties => ( method => 'GET', path => '/relationship/:id/properties', params => [qw/id/], required => [qw/id/], expected => [qw/200 204 404/], ); net_api_method delete_edge_properties => ( method => 'DELETE', path => '/relationship/:id/properties', params => [qw/id/], required => [qw/id/], expected => [qw/204 404/], ); net_api_method set_edge_property => ( method => 'PUT', path => '/relationship/:id/properties/:property', params => [qw/id property/], required => [qw/id property/], expected => [qw/204 404 400/], ); net_api_method edge_property => ( method => 'GET', path => '/relationship/:id/properties/:property', params => [qw/id property/], required => [qw/id property/], expected => [qw/200 404/], ); net_api_method delete_edge_property => ( method => 'DELETE', path => '/relationship/:id/properties/:property', params => [qw/id property/], required => [qw/id property/], expected => [qw/204 404/], ); net_api_method delete_edge => ( method => 'DELETE', path => '/relationship/:id', params => [qw/id /], required => [qw/id /], expected => [qw/204 404/], ); net_api_method get_edges => ( method => 'GET', path => '/node/123/relationships/:dir/:types', params => [qw/id dir types/], required => [qw/id dir types/], expected => [qw/200 404/], ); # XXX index methods net_api_method traverse => ( method => 'POST', path => '/node/:id/traverse/:returntype', params => [qw/id returntype/], required => [qw/id returntype/], expected => [qw/200 404/], strict => 0, ); 1;