Provided by: librdf-linkeddata-perl_0.58-1_all bug

NAME

       RDF::LinkedData - A simple Linked Data server implementation

VERSION

       Version 0.58

SYNOPSIS

       For just setting this up and get it to run, you would just use the "linked_data.psgi" script in this
       distribution. The usage of that is documented in Plack::App::RDF::LinkedData. If you want to try and use
       this directly, you'd do stuff like:

               my $ld = RDF::LinkedData->new(store => $config->{store},
                                        endpoint_config => $config->{endpoint},
                                        base_uri => $config->{base_uri}
                                       );
               $ld->namespaces($config->{namespaces}) if ($config->{namespaces});
               $ld->request($req);
               return $ld->response($uri)->finalize;

       See Plack::App::RDF::LinkedData for a complete example.

DESCRIPTION

       This module is used to create a minimal Linked Data server that can serve RDF data out of an
       RDF::Trine::Model. It will look up URIs in the model and do the right thing (known as the 303 dance) and
       mint URLs for that, as well as content negotiation. Thus, you can concentrate on URIs for your things,
       you need not be concerned about minting URLs for the pages to serve it.

METHODS

       "new ( store => $store, model => $model, base_uri => $base_uri, hypermedia => 1,
       namespaces_as_vocabularies => 1, request => $request, endpoint_config => $endpoint_config, void_config =>
       $void_config )"
           Creates a new handler object based on named parameters, given a store config (recommended usage is to
           pass  a  hashref  of  the type that can be passed to RDF::Trine::Store->new_with_config, but a simple
           string can also be used) or model and a base URI. Optionally, you may pass  a  Plack::Request  object
           (must  be  passed  before  you call "content") and an "endpoint_config" hashref if you want to have a
           SPARQL Endpoint running using the recommended module RDF::Endpoint.

           This module can also provide additional triples to turn the respons into a hypermedia  type.  If  you
           don't  want  this,  set the "hypermedia" argument to false. Currently this entails setting the SPARQL
           endpoint and vocabularies used using the VoID vocabulary <http://vocab.deri.ie/void>.  The latter  is
           very  limited at present, all it'll do is use the namespaces if you have "namespaces_as_vocabularies"
           enabled, which it is by default.

       "BUILD"
           Called by Moose to initialize an object.

       "model"
           Returns the RDF::Trine::Model object.

       "base_uri"
           Returns or sets the base URI for this handler.

       "request ( [ $request ] )"
           Returns the Plack::Request object if it exists or sets it if a  Plack::Request  object  is  given  as
           parameter.

       "current_etag"
           Returns  the  current  Etag  of  the  model  suitable  for  use in a HTTP header. This is a read-only
           attribute.

       "last_etag", "has_last_etag"
           Returns or sets the last Etag of so that changes to the model can be detected.

       namespaces ( { skos => 'http://www.w3.org/2004/02/skos/core#', dct => 'http://purl.org/dc/terms/' } )
           Gets or sets the namespaces that some serializers use for pretty-printing.

       "response ( $uri )"
           Will look up what to do with the given URI object and populate the response object.

       "helper_properties (  )"
           Returns the RDF::Helper::Properties object if it exists  or  sets  it  if  a  RDF::Helper::Properties
           object is given as parameter.

       "type"
           Returns  or  sets  the type of result to return, i.e. "page", in the case of a human-intended page or
           "data" for machine consumption, or an empty string if it is an actual resource  URI  that  should  be
           redirected.

       "my_node"
           A  node for the requested URI. This node is typically used as the subject to find which statements to
           return as data. This expects to get a URI object containing the full URI of the node.

       "count ( $node)"
           Returns the number of statements that has the $node as subject, or all if $node is undef.

       "endpoint ( [ $endpoint ] )"
           Returns the RDF::Endpoint object if it exists or sets it  if  a  RDF::Endpoint  object  is  given  as
           parameter.  In  most cases, it will be created for you if you pass a "endpoint_config" hashref to the
           constructor, so you would most likely not use this method.

       "void ( [ $voidg ] )"
           Returns the RDF::Generator::Void object if it exists or sets it if a RDF::Generator::Void  object  is
           given  as  parameter. Like "endpoint", it will be created for you if you pass a "void_config" hashref
           to the constructor, so you would most likely not use this method.

AUTHOR

       Kjetil Kjernsmo, "<kjetilk@cpan.org>"

BUGS

       Please report any bugs using github <https://github.com/kjetilk/RDF-LinkedData/issues>

SUPPORT

       You can find documentation for this module with the perldoc command.

           perldoc RDF::LinkedData

       The perlrdf mailing list is the right place to seek help and discuss this module:

       <http://lists.perlrdf.org/listinfo/dev>

TODO

       •   Use IO::Handle streams when they become available from the serializers.

       •   Figure out what needs to be done to use this code in other frameworks, such as Magpie.

       •   Make it read-write hypermedia.

       •   Use a environment variable for config on the command line?

       •   Make the result graph configurable.

ACKNOWLEDGEMENTS

       This module was started by Gregory Todd Williams "<gwilliams@cpan.org>" for RDF::LinkedData::Apache,  but
       has been almost totally rewritten.

COPYRIGHT & LICENSE

       Copyright 2010 Gregory Todd Williams

       Copyright 2010 ABC Startsiden AS

       Copyright 2010, 2011, 2012, 2013 Kjetil Kjernsmo

       This  program  is  free  software;  you can redistribute it and/or modify it under the same terms as Perl
       itself.

perl v5.14.2                                       2013-07-22                               RDF::LinkedData(3pm)