RDF::AllegroGraph::Server - AllegroGraph server handle
#-- orthodox approach my $server = new RDF::AllegroGraph::Server (ADDRESS => 'http://localhost:8080', 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 a 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.
/testcat/testrepo
All methods die with protocol error if they do not receive an expected success.
protocol error
To get a handle to the AG server, you can instantiate this class. The following options are recognized:
ADDRESS
Specifies the REST HTTP address. Must be an absolute URL, without a trailing slash. The constructor dies otherwise.
AUTHENTICATION
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.
something:somethingelse
:
This method tries to figure out which protocol version the server talks. As the AG 3.x servers do not seem to support a dedicated endpoint, some guesswork is involved.
$server->ping
This method tries to connect to the server and will return 1 on success. Otherwise an exception will be raised.
1
@cats = $server->catalogs
This method lists the catalogs available on the remote server. The result is a list of relative paths.
%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.
/somecatalog/somerepository
$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
O_RDONLY
This POSIX file mode determines how the model will be opened.
If the model already does 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.
no catalog
O_CREAT
cannot open repository
Robert Barta, <rho at devc.at>
<rho at devc.at>
Copyright 20(09|11) 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.
RDF::AllegroGraph, RDF::AllegroGraph::Server4
To install RDF::AllegroGraph::Easy, copy and paste the appropriate command in to your terminal.
cpanm
cpanm RDF::AllegroGraph::Easy
CPAN shell
perl -MCPAN -e shell install RDF::AllegroGraph::Easy
For more information on module installation, please visit the detailed CPAN module installation guide.