|
Quick Start: try the Taxonomy Lookup Service.
Plant Ontology Services
Legume Information System Services
These and more, discoverable, of course, at sswap.info
The SSWAP web site provides example resources and associated ontology
terms. The directory structure of the examples directory
on sswap.info illustrates a best practice
suggestion for directory layout. You are encouraged to copy files from
these directories to serve as starting points in your own resource and
ontology creation tasks.
Best Practice Site Layout
Choose a directory to serve as a root for all SSWAP semantic web service
resources and ontology terms. For these examples at sswap.info,
that directory is sswap.info/examples. You may wish to
have a structure such as http://www.mySite.org/sswap/.
The files in the directory map directly to individuals (instances) and
predicate (property) values of the SSWAP Protocol,
as well as classes and predicates in ontologies you may define. Below,
we annotate how the files in the examples directory map to
the specifications of the SSWAP Protocol:
-
A Provider file (e.g.,
resourceProvider) which is a
machine-readable (and to an extent human-readable) SSWAP OWL DL RDF/XML
file with a single
sswap:Provider instance that enumerates the semantic web service
instances of
sswap:Resource that this site provides. Usually a site has only
one Provider, providing one or more Resources, though there is nothing
architecturally that would prohibit a site from hosting multiple
Providers. See the SSWAP Protocol for
Provider and
Resource.
-
A resources directory that contains a
subdirectory for each resource. Each resource directory (e.g.,
sswap.info/examples/resources/canonical)
will normally contain the following items:
-
A Resource file (e.g.,
canonicalResource)
which is a machine-readable (and to an extent human-readable) SSWAP
OWL DL RDF/XML file with a single
sswap:Resource
instance. This file is called the Resource Description Graph (RDG)
for the resource and is the actual semantic web service you are offering.
The URL of the file must match the URL of the
sswap:Resource
defined in the file (e.g.,
sswap.info/examples/resources/canonical/canonicalResource). Executing
a simple HTTP GET on this address returns the file; thus anyone can see
your definition of your semantic web service by simply GETting the file.
Use this to your advantage; for example, search on any term at
sswap.info and click on the RDF icon
next to the resource name on the results
page to see how that resource defines itself. Use these as well as the
examples here as templates to help you write your own RDGs. Note how the
RDG structure implements the SSWAP Protocol.
Once your RDG is written, validate it with the
SSWAP validator. To let
sswap.info know about your service,
publish it. Publishing automatically
calls the validator. Publishing per se does nothing to activate
your service, but it does allow us to discover it and add it to the knowledge
base supplying the discovery at sswap.info. To "unpublish"
your service with us, simply remove or otherwise invalidate the RDG and
publish the URL again. When we investigate a URL
for unpublishing, we'll detect that it is no longer a valid SSWAP resource
and will remove it from our knowledge base. It may take some time before
our engines rebuild the knowledge base and remove your service. To activate
your service, you need to set up your web server to respond to HTTP POSTs
and GETs. We have a Software Development Kit to help you with this; please
see our Developer's Page and contact us.
In summary, hosting a SSWAP semantic web service means supporting as few
as two URLs on your web server: one to define you or your institution as
the Provider of the resource
and one as the actual semantic web service
Resource itself. These URLs
must be distinct. "Supporting a URL" means, in the case of the
Provider
URL, your web server returns the SSWAP OWL DL RDF/XML file defining the
Provider
on a HTTP GET; in the case of the
Resource
URL, it means returning the SSWAP OWL DL RDF/XML file defining the service
on an HTTP GET and invoking (executing) the service on a HTTP POST. It is
up to you if the files physically and statically exist on your server or if
your web server interprets the URL and dynamically generates content. It is
common for sites to have one
Provider
and multiple
Resources
(services). Other files can be helpful to your users are called out by the
Protocol and are outlined below:
-
[Optional] An HTML file (or other browser-displayable URL such as a
JSP) containing additional information and links about the resource for your
users. The URL of this file is the literal value of the
sswap:aboutURI
property.
-
[Optional] An HTML file (or other browser-displayable URL such as
a JSP) containing a web front-end for users to invoke the service. This is
a way to make semantic web services not only accessible to machines, but
also associated with an input presentation layer invokable by your users.
The URL of this file is the literal value of the
sswap:inputURI
property.
-
[Optional] An HTML file (or other browser-displayable URL such as a
JSP) containing a web front-end for users to view formatted results of the
service. This is a way to make semantic web services not only accessible to
machines, but also associated with an output presentation layer displayable
for your users. The URL of this file is the literal value of the
sswap:outputURI
property.
-
[Optional] A plain text file containing words and phrases that you
want semantic search engines to associate with your service. This file is an
aid to third-parties for making lexical matches to your service (for example,
by associating species or gene names with your service). You have complete
control of the content, but you do not have control over how it is used by
third-parties. This file is solely as a helper file for third-party lexical
associations; to semantically tag the input and/or output data of your service,
use OWL DL and ontological classes and predicates (for example as found at
sswapmeet.sswap.info) to annotate the
SSWAP graphs themselves. The URL of this file is the literal value of the the
sswap:metadata
property.
-
[Optional] An ontologies directory that
contains OWL ontology term definitions. An important architectural property
of SSWAP is its support for a shared semantic; in other words, people
using, sharing, and extending ontological terms under the formal semantics
of SSWAP and OWL. A portal for ontologies is hosted at
sswapmeet.sswap.info. If these
terms defined by others are sufficient for your needs, you do not need to
define your own ontological terms – simply reference those of others
and define your service and its data types. If the ontological terms of
others do not suit you needs, you can define and extend your own. Ontological
terms must be OWL DL serialized in RDF/XML, each term in its own file. In
this manner, anyone can execute a HTTP GET on any term and get its atomic
definition; follow the URLs and semantics of other terms used in the
definition to get the term's extended logical implications. A best practice
is to create subdirectories to hold all the terms for a given ontology. For
example, the example
speciesInformationPage resource on the SSWAP web site uses
terms from the
MySpeciesRecord ontology. Many
more examples are at
sswapmeet.sswap.info. Such
ontologies can be created by the Protégé ontology editor and split into
constituent term files using the
SSWAP OWL Ontology Splitter.
The Ontology Splitter page provides some ontology
authoring guidelines, and enumerates the files produced by the splitting
process. These split files are what should be in the ontology subdirectory.
Your ontologies are available to anyone by virtue of your web server; if
you would like us to host a link to your work at
sswapmeet.sswap.info
to heighten their exposure, email us and we will be happy to do so.
-
[Optional] A README file (such as what you are reading now) that
provides a human readable index of the SSWAP resources and ontology terms
that are provided. The file could be plain text or HTML, or if the site
supports Java Servlet Pages, it can contain a mixture of HTML and JSP code
as does this site.
Example Resources on sswap.info
|
canonical
|
Directory for the
canonicalResource
that provides a skeleton SSWAP Resource Description Graph (RDG)
conforming to the SSWAP Protocol. This resource is a good starting
point for experimenting with creating your resources by copying an
existing one.
|
| |
|
taxonomyLookupService
|
Directory for the
taxonomyLookupService resource, which accepts any free text and
interprets it as a NCBI taxon lookup key. It sends the text to NCBI's
Taxonomy database and returns a
TaxonomyRecord for that taxon. In this manner, varied data and services
can refer to the same taxon by reference to a universally accessible NCBI URL,
instead of lexical and error-prone tags and strings. This resource has defined its
sswap:inputURI
to point to an
interactive web page
so users can invoke it from a browser.
You can discover this resource by typing "taxonomy" into the search engine at
sswap.info.
You can read more about sswap:inputURI
and on the SSWAP Resource page of the
clickable protocol.
|
| |
|
speciesInformationPage
|
Directory for the
speciesInformationPage resource. This is a specialization of the
taxonomyLookupService to demonstrate semantic searching on
subclasses. Currently defined and discoverable, but not implemented.
|
|
|