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.