
RDF::AllegroGraph::Server - AllegroGraph server handle

#-- orthodox approach my $server = new RDF::AllegroGraph::Server (ADDRESS => 'http://localhost:8080', TEST => 0, AUTHENTICATION => 'joe:secret'); my @catalogs = $server->catalogs; #-- commodity # get handles to all models (repositories) at the server my @models = $server->models; # get one in particular my $model = $server->model ('/testcat/testrepo');

Objects of this class represent handles to remote AllegroGraph HTTP server. Such a server can hold several catalogs and each of them can hold repositories. Here we also use the orthodox concept of a model which is simply one particular repository in one particular catalog.
For addressing one model we use a simple path structure, such as /testcat/testrepo.
All methods die with protocol error if they do not receive an expected success.

To get a handle to the AG server, you can instantiate this class. The following options are recognized:
ADDRESS (no default)Specifies the REST HTTP address. Must be an absolute URL, without trailing slash. The constructor dies otherwise.
TEST (default: 0)If set, the client will try to test connectivity with the AG server.
AUTHENTICATION (no default)String which must be of the form something:somethingelse (separated by :). That will be interpreted as username and password to do basic HTTP authentication against the server.
@cats = $server->catalogs
This method lists the catalogs available on the remote server. The result is a list of relative paths.
$server->ping
This method tries to connect to the server and will return 1 on success. Otherwise an exception will be raised.
%models = $server->models
This method lists all models available on the server. Returned is a hash reference. The keys are the model identifiers, all of the form /somecatalog/somerepository. The values are repository objects.
$server->model ($mod_id, option1 => value1, ...)
This method tries to find an repository in a certain catalog. This model id is always of the form /somecatalog/somerepository. The following options are understood:
MODE (default: O_RDONLY)This POSIX file mode determines how the model will be opened.
If the model does already exist, then an RDF::AllegroGraph::Repository object will be returned. If the specified catalog does not exist, then a no catalog exception will be raised. Otherwise, if the repository there does not exist and the MODE option is O_CREAT, then it will be generated. Otherwise an exception cannot open repository will be raised.

Robert Barta, <rho at devc.at>

Copyright 200[9] Robert Barta, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.