RDF::Server 0.08

                         toolkit for building RDF servers

INSTALLATION
   Installation follows standard Perl CPAN module installation steps:

    cpan> install RDF::Server

   or, if not using the CPAN tool, then from within the unpacked
   distribution:

    % perl Makefile.PL
    % make
    % make test
    % make install

DESCRIPTION
   RDF::Server provides a flexible framework with which you can design your
   own RDF service. By dividing itself into several areas of
   responsibility, the framework allows you to mix and match any
   capabilities you need to create the service that fits your RDF data and
   how you need to access it.

   The `rdf-server' script is installed as an easy-to-use way of building
   and running an RDF::Server service. Some sample configuration files are
   in the `examples' directory of the RDF::Server distribution.

   The framework identifies four areas of responsibility:

 Protocol

   The protocol modules manage the outward facing part of the framework and
   translating the requested operation into an HTTP::Request object that is
   understood by any of the interface modules. Conversely, it translates
   the resulting HTTP::Response object into the form required by the
   environment in which the server is operating.

   For example, the Embedded protocol provides a Perl API that can be used
   by other modules without having to frame operations in terms of HTTP
   requests and responses.

   The methods expected of protocol modules are defined in
   RDF::Server::Protocol. The outward-facing API is dependent on the
   environment the server is expected to operate within.

   Available protocols in the standard distribution:
   RDF::Server::Protocol::Embedded, RDF::Server::Protocol::HTTP.

 Interface

   The interface modules define how the HTTP requests are translated into
   operations on various handlers that manage different aspects of the RDF
   triple store.

 Semantic

   The semantic modules define the meaning attached to and information
   contained in the various documents and the heirarchy of resources
   available through the interface modules. Most of the content handlers
   are attached to a particular semantic.

   The available semantics are: RDF::Server::Semantic::Atom,
   RDF::Server::Semantic::RDF.

 Formatters

   The same information can be rendered in several different formats. The
   format modules manage this rendering.

   The available formatters are: RDF::Server::Formatter::Atom,
   RDF::Server::Formatter::JSON, RDF::Server::Formatter::RDF.

NAMESPACE DESIGN
   The RDF::Server namespace is divided into these broad areas:

   Protocol
       Modules in RDF::Server::Protocol provide the interface with the
       world. Examples include HTTP, Apache/mod_perl, and FastCGI.

   Interface
       RDF::Server::Interface modules determine the type of URI and HTTP
       method management that is used. RDF::Server comes with a REST
       interface.

   Semantic
       RDF::Server::Semantic modules manage the configuration and
       interpretation of URIs once the Interface module has passed the
       request on. RDF::Server comes with an Atom semantic of URI
       heirarchies and configuration.

   Formatter
       RDF::Server::Formatter modules translate the internal data
       structures to particular document types. The formatter for a request
       is selected by the Interface module.

   Model
       RDF::Server::Model modules interface between the Semantic and
       Formatter modules and the backend triple store.

   Resource
       RDF::Server::Resource modules represent particular resources and
       associated data within a triple store.

BUGS
   There are bugs. The test suite only covers a little over 90% of the
   code. Bugs may be reported on rt.cpan.org or by e-mailing bug-RDF-Server
   at rt.cpan.org.

AUTHOR
   James Smith, `<[email protected]>'

LICENSE
   Copyright (c) 2008 Texas A&M University.

   This library is free software. You can redistribute it and/or modify it
   under the same terms as Perl itself.