The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

SADI::Simple::ServiceDescription - A module that describes a SADI web service.

SYNOPSIS

 use SADI::Simple::ServiceDescription;

 # create a new blank SADI service instance object
 my $data = SADI::Simple::ServiceDescription->new ();

 # create a new primed SADI service instance object
 $data = SADI::Simple::ServiceDescription->new (
     ServiceName => "helloworld",
     ServiceType => "http://someontology.org/services/sometype",
     InputClass => "http://someontology.org/datatypes#Input1",
     OutputClass => "http://someontology.org/datatypes#Output1",
     Description => "the usual hello world service",
     NanoPublisher ="true",
     UniqueIdentifier => "urn:lsid:myservices:helloworld",
     Authority => "helloworld.com",
     Authoritative => 1,
     Provider => 'myaddress@organization.org',
     ServiceURI => "http://helloworld.com/cgi-bin/helloworld.pl",
     URL => "http://helloworld.com/cgi-bin/helloworld.pl",
     SignatureURL =>"http://foo.bar/myServiceDescription",
 );

 # get an RDF representation of the service description
 my $rdf = $data->getServiceInterface;

 # get the service name
 my $name = $data->ServiceName;
 # set the service name
 $data->ServiceName($name);

 # get the service type
 my $type = $data->ServiceType;
 # set the service type
 $data->ServiceType($type);

 # get the input class URI
 my $input_class = $data->InputClass;
 # set the input class URI
 $data->InputClass($input_class);

 # get the output class URI
 my $output_class = $data->OutputClass;
 # set the output class URI
 $data->OutputClass($input_class);

 # get the description
 my $desc = $data->Description;
 # set the description
 $data->Description($desc);

 # get the NanoPublishing Status
 my $desc = $data->NanoPublisher;
 # set the nanopublishing status
 $data->NanoPublisher($desc);

 # get the unique id
 my $id = $data->UniqueIdentifier;
 # set the unique id
 $data->UniqueIdentifier($id);

 # get the authority
 my $auth = $data->Authority;
 # set the authority
 $data->Authority($auth);

 # get the service provider URI
 my $uri = $data->Provider;
 # set the service provider URI
 $data->Provider($uri);

 # get the service URI
 my $uri = $data->ServiceURI;
 # set the service URI
 $data->ServiceURI($uri);

 # get the service URL
 my $url = $data->URL;
 # set the service URL
 $data->URL($url);

 # get the signature url
 my $sig = $data->SignatureURL;
 # set the signature url
 $data->SignatureURL($sig);
=head1 DESCRIPTION

An object representing a SADI service signature.

AUTHORS

 Ben Vandevalk (ben [dot] vvalk [at] gmail [dot] com)
 Edward Kawas (edward [dot] kawas [at] gmail [dot] com)

ACCESSIBLE ATTRIBUTES

Details are in SADI::Base. Here just a list of them (additionally to the attributes from the parent classes)

ServiceName

A name for the service.

ServiceType

Our SADI service type.

InputClass

The URI to the input class for our SADI service.

OutputClass

The URI to the output class for our SADI service.

Description

A description for our SADI service.

NanoPublisher

(boolean) Can the service output n-quads compatible with the NanoPublications specifications?

UniqueIdentifier

A unique identifier (like an LSID, etc) for our SADI service.

Authority

The service provider URI for our SADI service.

ServiceURI

The service URI for our SADI service.

URL

The URL to our SADI service.

Provider

The email address of the service provider. Note: This method throws an exception if the address is syntactically invalid!.

Authoritative

Whether or not the provider of the SADI service is an authority over the data. This value must be a boolean value. True values match =~ /true|\+|1|yes|ano/. All other values are false.

Defaults to 1;

Format

The format of the service. More than likely, it will be 'sadi' if it is a SADI web service.

SignatureURL

A url to the SADI service signature.