0% found this document useful (0 votes)
21 views

A Simple Semantic Web Architecture and Protocol For Semantic Web Services

SSWAP is a semantic web architecture and protocol that aims to semantically integrate heterogeneous data and services on the web. It was developed to address limitations of pure web service technologies and semantic web technologies. SSWAP establishes how clients, providers, and discovery servers interact to allow for description, querying, discovery, invocation, and response of semantic web services. It provides a vocabulary and semantics to allow these parties to engage in semantic web services using OWL DL. A discovery server currently hosts over 2400 SSWAP resources, including custom services for plant genetic data.

Uploaded by

Henri
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views

A Simple Semantic Web Architecture and Protocol For Semantic Web Services

SSWAP is a semantic web architecture and protocol that aims to semantically integrate heterogeneous data and services on the web. It was developed to address limitations of pure web service technologies and semantic web technologies. SSWAP establishes how clients, providers, and discovery servers interact to allow for description, querying, discovery, invocation, and response of semantic web services. It provides a vocabulary and semantics to allow these parties to engage in semantic web services using OWL DL. A discovery server currently hosts over 2400 SSWAP resources, including custom services for plant genetic data.

Uploaded by

Henri
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

BMC Bioinformatics BioMed Central

Software Open Access


SSWAP: A Simple Semantic Web Architecture and Protocol for
semantic web services
Damian DG Gessler*1, Gary S Schiltz2, Greg D May2, Shulamit Avraham3,
Christopher D Town4, David Grant5 and Rex T Nelson5

Address: 1University of Arizona, 1657 E. Helen St., Tucson, AZ 85721, USA, 2National Center for Genome Resources, 2935 Rodeo Park Drive East,
Santa Fe, NM 87505, USA, 3Cold Spring Harbor Laboratory, One Bungtown Road, Cold Spring Harbor, NY 11724, USA, 4The J. Craig Venter
Institute, 9704 Medical Center Drive, Rockville, MD 20850, USA and 5USDA-ARS-CICGR and Department of Agronomy, Iowa State University,
Ames IA, 50011, USA
Email: Damian DG Gessler* - [email protected]; Gary S Schiltz - [email protected]; Greg D May - [email protected];
Shulamit Avraham - [email protected]; Christopher D Town - [email protected]; David Grant - [email protected];
Rex T Nelson - [email protected]
* Corresponding author

Published: 23 September 2009 Received: 24 September 2008


Accepted: 23 September 2009
BMC Bioinformatics 2009, 10:309 doi:10.1186/1471-2105-10-309
This article is available from: http://www.biomedcentral.com/1471-2105/10/309
© 2009 Gessler et al; licensee BioMed Central Ltd.
This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0),
which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract
Background: SSWAP (Simple Semantic Web Architecture and Protocol; pronounced "swap") is an
architecture, protocol, and platform for using reasoning to semantically integrate heterogeneous disparate data
and services on the web. SSWAP was developed as a hybrid semantic web services technology to overcome
limitations found in both pure web service technologies and pure semantic web technologies.
Results: There are currently over 2400 resources published in SSWAP. Approximately two dozen are custom-
written services for QTL (Quantitative Trait Loci) and mapping data for legumes and grasses (grains). The
remaining are wrappers to Nucleic Acids Research Database and Web Server entries. As an architecture, SSWAP
establishes how clients (users of data, services, and ontologies), providers (suppliers of data, services, and
ontologies), and discovery servers (semantic search engines) interact to allow for the description, querying,
discovery, invocation, and response of semantic web services. As a protocol, SSWAP provides the vocabulary and
semantics to allow clients, providers, and discovery servers to engage in semantic web services. The protocol is
based on the W3C-sanctioned first-order description logic language OWL DL. As an open source platform, a
discovery server running at http://sswap.info (as in to "swap info") uses the description logic reasoner Pellet to
integrate semantic resources. The platform hosts an interactive guide to the protocol at http://sswap.info/
protocol.jsp, developer tools at http://sswap.info/developer.jsp, and a portal to third-party ontologies at http://
sswapmeet.sswap.info (a "swap meet").
Conclusion: SSWAP addresses the three basic requirements of a semantic web services architecture (i.e., a
common syntax, shared semantic, and semantic discovery) while addressing three technology limitations common
in distributed service systems: i.e., i) the fatal mutability of traditional interfaces, ii) the rigidity and fragility of static
subsumption hierarchies, and iii) the confounding of content, structure, and presentation. SSWAP is novel by
establishing the concept of a canonical yet mutable OWL DL graph that allows data and service providers to
describe their resources, to allow discovery servers to offer semantically rich search engines, to allow clients to
discover and invoke those resources, and to allow providers to respond with semantically tagged data. SSWAP
allows for a mix-and-match of terms from both new and legacy third-party ontologies in these graphs.

Page 1 of 21
(page number not for citation purposes)
BMC Bioinformatics 2009, 10:309 http://www.biomedcentral.com/1471-2105/10/309

Background requires knowledge of the data's context and suitability-


Biology is rapidly becoming an information science. This for-purpose. In a low-throughput environment, where we
is driving the need for machines to become increasingly connect resources and integrate data on a case-by-case
sophisticated in finding, assimilating, and integrating basis with human intervention, the semantics may be
information. Sharing information is at the core of infor- implicit; i.e., evident to humans by reading documenta-
matics. For bioinformatics, this has been recognized in its tion and applying appropriate judgments on use. But in a
various forms since its inception [1-5]. But what was ini- high-throughput environment, where we want machines
tially seen as an issue of the setting of standards for shar- to find distributed information, to assimilate, and inte-
ing data, has grown into a mature assessment that grate it automatically, we are forced to raise semantics to
distributed, decentralized, possibly ephemeral, resources the level of explicit statements available for computation.
are now the fabric of the informatic landscape. Navigating
this landscape requires technologies that far exceed sim- There are notable efforts to address these and related
ply establishing connectivity and sharing data via a com- issues. EMBL-EBI provides web services for over two
mon format. The fact that interconnectivity and dozen operations including sequence similarity, multiple
interoperability protocols and middleware such as FTP sequence alignment, data retrieval, and others [6-9]. Many
(1971), Telnet (1973), Ethernet (1973), TCP/IP (1974- EMBL-EBI web services use the industry-standard technol-
83), SMTP (1982), Gopher (1990), HTTP (1990), and ogies of WSDL (Web Service Definition Language) docu-
CORBA (1991), have been with us for nearly 40 years, yet ments to describe services and SOAP (Simple Object
the level of integration we want in informatics remains Access Protocol) as the protocol for interoperability.
elusive, shows that broad, interoperability standards per se EMBL-EBI also support REST (REpresentational State
may be necessary but are not sufficient for integration. Transfer) interfaces for some services. In a similar manner,
NCBI offers web services using standard WSDL and SOAP
The requirements for (inter)connectivity, interoperability, descriptions and protocols. These web services can be
and integration, form a dependency stack, whereby transi- engaged via the REST-like, URL-based eUtils services that
tively the former satisfy necessary but not sufficient condi- are essentially HTTP wrappers to the Entrez query system
tions for the latter. Interconnectivity addresses those [10]. Indeed, EMBL EBI and NCBI are just two of many
technologies necessary for two or more computers to cre- bioinformatic web services available (e.g., [11]). To dis-
ate a network, such that they can be said to be "connected" cover and engage such services, one needs to either peruse
and able to send and receive bits without loss of informa- the unstructured information on web pages and within
tion. Interoperability implies a two-way exchange based the published literature, or use a discovery service specific
on common protocols, and uses interconnectivity in an for web services. For example, BioCatalogue [12] provides
application-specific manner to build productivity. Inte- a Google-like search service for web services, while Bio-
gration builds upon this with a synthetic attribute, Moby [13] provides an XML-based namespace and object
whereby distributed information is aggregated and assim- ontology that both enables discovery and invocation for
ilated either physically or virtually so as to create a whole BioMoby-compliant services. A limitation of WSDL and
greater than the sum of the parts. SOAP is that their syntactical rules of engagement do not
allow for machines to readily determine the semantics of
As we move from interconnectivity to integration, the the underlying data and services. Efforts have been made
informatic problem matures from one of predominately to address this. One approach, as taken by the myExperi-
specifying a suitable protocol and syntax to one of devel- ment project is to encapsulate the underlying service
oping and deploying an expressive semantic (from the details in a higher-order integrative layer. myExperiment
Greek semaino "to mean"; semantikos "significant"). Alter- combines social networking with scientific workflows
natively, we can see this as moving from a framework with [14], thereby emphasizing not the web services per se, but
an explicit syntax and implicit semantics, to one where the end product of their thoughtful integration. Moving to
both the syntax and semantics are now explicit. The a state where machines can better contribute to higher
requirement for an explicit semantics is driven as much by level integration has been slow coming, in part because
the increasing sophistication of science as by the need to steady progress in implementing an infrastructure that
address current technology limitations. For example, in allows machines to discover services and assess their suit-
the area of bioinformatics, scientists want the synthetic ability-for-purpose in a fully automated manner presup-
whole generated from an integration of genomic and poses a formal logic over web resources (e.g., [15]). It has
functional data, but they will generate the underlying data only been relatively recently that the tripartite of syntax,
only from within the fractured sociological infrastructure semantics, and logic is available in a web standard, such
of separate disciplines of scientific thought, research as the W3C standard of OWL (Web Ontology Language
establishments, and funding programs. Because data is [16-19]).
generated in different semantic spaces, integrating it

Page 2 of 21
(page number not for citation purposes)
BMC Bioinformatics 2009, 10:309 http://www.biomedcentral.com/1471-2105/10/309

In this paper, we examine high-throughput integration ing cascading repercussions. The core issue for seman-
(the "integration equation") by first highlighting three tic web services is that static asserted subsumption
technology limitations that are hindering current solu- hierarchies--in contrast to dynamic subsumption hier-
tions; we then describe the SSWAP architecture as an archies calculated closer to transaction time--do not
approach to addressing these limitations by delivering on lend themselves well to changes in application, while
the syntax/semantics/logic stack; lastly we point to its often leading to a confounding of concepts with their
deployment as a platform in the Virtual Plant Information data model: the extreme (yet common) case being
Network (VPIN). when concepts have no explicit properties, meaning
that attributes are implied solely from the class' posi-
Three current technology constraints limiting integration tion in the subsumption hierarchy. For example, the
over the web statements 'M subClassOf V; V subClassOf E' implies
We identify three current technology limitations that are that any individual of type M (e.g., Magnoliophyta
hindering solutions to the "integration equation." They [flowering plants]) has all the necessary and sufficient
are the: properties of type V (e.g., Viridiplantae [green plants])
and may be more; and similarly V to E (e.g., Eukaryota
1. fatal mutability of traditional interfaces - the problem [eukaryotes]). Yet without explicitly delineating those
where if data and service providers change their inter- properties (i.e., codifying them to make them availa-
face signatures, client code depending on that signa- ble to reasoners), machine reasoners are limited in
ture fails en masse. This has the undesirable property what they can infer from the ontology. This is imme-
that the more clients engage an interface (i.e., the more diately apparent in many of the Open Biomedical
widely it is adopted), the less flexibility providers have Ontologies, for example, in the 20,000+ node Gene
in evolving it. For example, consider a provider's inter- Ontology [20]. The Gene Ontology has separate ontol-
face that is simply a URI (Uniform Resource Identifier) ogies for Biological Process, Molecular Function, and
expected to be dereferenced by a HTTP GET: http:// Cellular Component exactly because subsumption
www.myProvider.org/myRe- claims on one topic--e.g., Biological Process--are of lit-
source?geneName="CDC40". If the provider now tle value when organizing knowledge on another
changes the query substring to http://www.myPro- topic, e.g., Molecular Function. The Gene Ontology's
vider.org/myResource?locusName="CDC40", then well-deserved success rests largely on its authoritative
scripts and programs expecting the former syntax fail. subsumption hierarchy and community acceptance of
HTTP as a protocol per se and REST as an architectural the implied underlying logic [21]. For high-through-
style offer no protection from this en masse failure; it put integration--particularly cross-ontology integra-
would be up to the provider to address backwards tion--the problem of asserted vs. derived subsumption
compatibility by, for example, supporting both URIs becomes acute when the properties underlying the jus-
concurrently. This fuels rigidity (the inability of soft- tification of the subsumption statements are not
ware to change to meet new demands) and fragility themselves defined within the ontology (as is often
(the propensity of software to fail, often in multiple the case). In that situation, the subsumption hierarchy
and seemingly unrelated places, under changes). The stands as essentially a static statement of axiomatic
problem occurs because the binding, i.e., the synchro- relationships. One possible solution to this problem is
nization of client code to the host's signature, is tradi- to deploy ontologies with a greater emphasis on prop-
tionally established both syntactically and erties [22-24] and push subsumption determination
semantically when the client code is written, rather closer to transaction time.
than when it is invoked. What we would like is an
architecture that supports late binding, whereby signa- 3. confounding content, structure, and presentation - the
ture validation is delayed until transaction time, pref- problem where the information payload--the data
erably within a logical framework whereby clients and itself--is entangled with its data structure and/or the
hosts could negotiate and assess suitability-for-pur- presentation layer and implicit behaviors of the pres-
pose. entation software. HTML and many applications
exploiting the hierarchical nature of XML suffer from
2. rigidity and fragility of static subsumption hierarchies - this type of entanglement. This has the undesirable
the problem where changing the properties of a class property that the data of value to the client may be dif-
near the root of an inheritance hierarchy (an ontol- ficult or essentially impossible to generically parse
ogy) redefines subsumption criteria for the entire sub- from the data delivered by an arbitrary provider,
tree. This has the undesirable property that nodes near thereby crippling machine-automated disentangle-
the root, which were built when the system was least ment. When data is buried deep in XML hierarchical
evolved, are the least able to change without generat- structures, or available only as "hidden" side-effects of

Page 3 of 21
(page number not for citation purposes)
BMC Bioinformatics 2009, 10:309 http://www.biomedcentral.com/1471-2105/10/309

semantically opaque SOAP signatures, or encoded as a solution to satisfy a set of three basal requirements; viz.,
combination of images and tables in HTML, the client to:
is restricted in the utility it can extract from the data,
even if such restrictions are not the intent of the pro- • deploy a common syntax - that is, allow clients and pro-
vider. What we would like is an architecture that sup- viders to engage each other under shared syntactical
ports a clean separation of content, structure, and rules. Currently, the GET query strings to major web-
presentation, whereby a provider's dissemination of based biological information resources such as Entrez
the data imposes minimal side-effects on the client's http://www.ncbi.nlm.nih.gov/Entrez, Gramene http:/
suitability-for-purpose. /www.gramene.org, and LIS http://www.comparative-
legumes.org all have differing and idiosyncratic syn-
No protocol completely address all these limitations in all taxes, thereby making interoperability consist of one-
scenarios. But in the protocol we describe here we make off scripts that are inherently non-scalable;
progress on them specifically by grounding a new proto-
col in a formal logic. Thus the fatal mutability of interfaces • develop a shared semantic - that is, allow machine-dis-
is addressed by designing a protocol that allows for cernable meaning so clients can request the same con-
cached or transaction time reasoning for assessment of ceptual object or service from different providers. For
what the service is offering and what it returns. Similarly, example, many providers offer equivalent DNA
by allowing services to describe their offerings using sequences or sequence comparison algorithms, yet
classes and properties, it is backwards-compatible with scripts cannot compare and contrast the offerings
deep subsumption hierarchies while also enabling just-in- without low-throughput, case-by-case customization.
time subsumption determination based on common An infrastructure for semantic negotiation is needed;
properties instead of explicit subclass assertions. Lastly, especially one that is cognizant of the sociological
the protocol encapsulates the semantic description of influences of achieving a shared semantic;
services and data from the presentation layer using non-
hierarchical RDF (Resource Description Framework • implement a discovery server - that is, allow clients to
[25,26]), thereby helping to separate content, structure, find providers based on the semantics of their data
and presentation. and services. Specifically we introduce the capability
of semantic searching as defined below. As built upon
Syntactical, Semantic, and Discovery Requirements a common syntax and semantic amenable to a formal
An architecture that addresses the above challenges would logic, this is the necessary condition for scalable inte-
go a long way to achieving the robustness, evolvability, gration.
and scalability that are required for high-throughput inte-
gration [13-15]. In light of these challenges, we were Our design goals are to address the three technology lim-
impressed with the overwhelming success of the web; its itations listed earlier while satisfying the three require-
stateless, method-sparse, document-based architecture ments listed above. We found both current-day pure-play
demonstrating many desirable properties of robustness, semantic web and pure-play web service solutions lacking
evolvability, and scalability. Our solution was to design in this regard--the former because of its lack of web service
an architecture that mimicked much of what worked for protocols and the latter because of its lack of a formal
the web; in particular, a document-based architecture with semantics amenable to reasoning. Cognizant of this, our
explicit delineations of data and its contextual relation- design approach is to deeply embed the semantic web
ships. This leaves the manipulation of the data's "raw "philosophy" to the application of web services. We
value" to any particular technology of the day, allowing describe here a new protocol to do this. What follows is a
the system to evolve as new technologies are developed. A document-based design that uses a W3C-compliant mid-
technology assessment phase in an earlier related project dle-layer for a semantically rich encoding of data and serv-
called Semantic MOBY (an independent arm of Bio- ice descriptions.
MOBY) led to the choice of RDF and OWL DL as the
underlying enabling technologies. Implementation
SSWAP: A Simple Semantic Web Architecture and Protocol
These considerations essentially recast any solution to the Architecturally, SSWAP posits the existence of four actors
"integration equation" from being one of specifying a syn- on the web: i) providers: web sites offering resources--
tax and messaging layer used to connect clients and pro- essentially web services for data retrieval or remote algo-
viders, to being one of providing clients and providers a rithm execution; ii) clients: users of web resources. Provid-
way to describe their queries and data, find each other on ers may also be clients, just as traditional web servers may
the web, and engage semantic negotiation to determine both request and supply web pages; iii) a discovery server:
suitability-for-purpose at transaction time. This requires a a non-exclusive, web broker that helps clients find provid-

Page 4 of 21
(page number not for citation purposes)
BMC Bioinformatics 2009, 10:309 http://www.biomedcentral.com/1471-2105/10/309

ers based on the semantic qualifications of desired data or others to use property aggregation dynamically at transac-
services (collectively referred to as resources). The archi- tion time. This has a natural extension to ontology align-
tecture does not require that there be any exclusive or spe- ment.
cially authorized discovery server; iv) ontologies: terms
used by all actors to communicate in a semantically con- SSWAP establishes a small set of reserved classes and pred-
sistent manner. As will become evident, ontological defi- icates to allow OWL to be used for semantic web services.
nitions may be hosted term-by-term by anyone on the This is the protocol itself; essentially a light-weight SSWAP
web, so any web server may act as an ontology server. In ontology designated in this paper with the prefix 'sswap:'
many cases providers may act as ontology servers for con- and available at http://sswapmeet.sswap.info/sswap. In
cepts that are specific to their offerings. This basic model SSWAP, all actors operate on a SSWAP-compliant, OWL
of providers, clients, and discovery servers (search DL graph. The graph uses the SSWAP protocol http://
engines) is purposely analogous to our common under- sswap.info/protocol.jsp to express the relationship
standing of the World Wide Web as it operates today. between a semantic web service and its data. This architec-
ture (Figure 1) is different from traditional provider/cli-
SSWAP is deeply based on RDF (Resource Description ent/search-engine models. In traditional systems,
Framework [25,26]), both in its use of RDF as a technol- different technologies are used to describe services, to dis-
ogy and also in RDF's conceptual model of presenting cover services, to engage them, and to handle the result. In
information in the form of entities and relationships. RDF SSWAP, all actors work from the same, mutable graph; a
allows semantics to be expressed via a series of subject- graph that always adheres to the same canonical structure.
predicate-object assertions (an 'RDF-triple'). Assertions This establishes both a common syntax and skeleton
simply state that some "thing" (the subject) has some rela- structure across all actors and activities and yields benefits
tionship (the predicate, also called a 'property') to some- in terms of shared parsing constructs and re-usable code.
thing else (the object). A series of subject-predicate-object This is worth emphasizing: the same canonical structure
triples creates a network of assertions that can be repre- that allows providers to describe their offerings, is the
sented as a graph. RDF may be serialized in a number of same canonical structure for expressing queries on those
different formats; the W3C specifies RDF/XML as the rec- offerings, which is in turn the same canonical structure for
ommended messaging layer. In this manner RDF and phrasing service invocation, which is the same canonical
RDF/XML set the basic underlying syntax for anyone to structure for representing results. Exposition on this point
say anything about anything [27]. OWL (Web Ontology follows.
Language [16-19]), and specifically OWL DL and the
newer OWL 2.0 variants, is the W3C recommendation of The SSWAP protocol
how to express a first-order description logic for the web. SSWAP deploys semantic web technologies in a more
OWL is based on RDF. OWL introduces reserved classes restricted manner than the broad scope of the semantic
and predicates with a formal semantic so that machines web proper. By doing so, it is compatible with the web
can reason over statements and come to conclusions. and web server practices, but does not lay claim to the
OWL DL is mappable to an underlying first-order Descrip- broader visions of the semantic web. Specifically, provid-
tion Logic (DL) with guarantees of completeness and ers describe their resources to the world by putting an
decidability. This provides a precise and explicit semantics OWL DL RDF/XML document on the web available to
which enables DL reasoning. Theoretically, the ability to anyone via a simple HTTP GET. This means that anyone
reason should alleviate the need for static "is a" relation- can read a resource's description by simply dereferencing
ships, because subsumption (i.e., subclass) relationships its URI. The document, called a Resource Description
can be computed dynamically from examining an aggre- Graph (RDG), makes specific statements about the
gation of properties. In practice, just-in-time or even resource by using a subset of the SSWAP protocol (see the
offline reasoning presents computational challenges even Annotated SSWAP Protocol page at http://sswap.info/pro
for some non-worst case scenarios, though experience tocol.jsp). The protocol defines a small set of reserved
shows these challenges are manageable in a wide variety OWL classes and predicates that allow any provider to
of cases. Indeed, simple subsumption can be determined describe itself (Figure 2a) and its resources (Figure 2b)
without DL reasoning, but adding DL support allows within a canonical, recognizable structure. In practice,
restrictions on cardinality and complex classes built upon service providers host one RDF/XML file defining them-
union and intersection operations that are useful in real- selves as a sswap:Provider, and any number of other RDF/
world applications. An important advantage to this XML files, each with its own sswap:Resource. Of course
approach is that instead of needing to declare all "is a" there is no implementation requirement that these be
relationships directly at design time one can state proper- physical files: e.g., web masters may deploy servlets to
ties about subjects (i.e., subject-predicate-object asser- parse URIs. The explicit use of reserved classes and prop-
tions) as the evidence so supports, and thereby allow erties allows us to establish an explicit semantics under

Page 5 of 21
(page number not for citation purposes)
BMC Bioinformatics 2009, 10:309 http://www.biomedcentral.com/1471-2105/10/309

Figure
Traditional
1 vs. SSWAP Information Flow
Traditional vs. SSWAP Information Flow. A) In a traditional model, different formats and technologies are used for reg-
istering/publishing (1,2), discovering (3), discriminating (4), invoking (5), and returning results from (6) services. B) In SSWAP,
all actors operate on mutable, SSWAP-compliant, OWL DL graphs serialized in RDF/XML. Actors exchange graphs for
description, discovery, querying, invocation, and response. All graphs are variations on the structured canonical protocol. An
HTTP GET on a SSWAP semantic web service returns the SSWAP-compliant, OWL DL description of the service; an HTTP
POST to the same URI with the query data in the body of the message (or HTTP GET with the graph serialized in the URI
query string) invokes execution; the response is a similar OWL DL graph, but with explicit mappings of the query data to the
return data. In all cases URIs to the data can be used instead of embedding the data itself.

the larger umbrella of OWL DL. This means machines RDF subject-predicate-object assertions not shown on the
have clear, unambiguous rules within which to parse any graph and immaterial to SSWAP), it has a particular
SSWAP graph, and can ignore assertions that are not rele- sswap:providesResource relationship to another individual
vant to SSWAP. Out of a universe of ways one could use of type sswap:Resource. Here, individuals are web
OWL DL to describe a resource, the canonical graph struc- resources. SSWAP guarantees that dereferencing any node
tures all resource definitions in terms of a transformation with a sswap: prefix via a HTTP GET will return a SSWAP-
of some (possibly null) input to some (possibly null) out- compliant, OWL DL definition of the node which defines
put. The protocol delivers a minimal set of constructs to appropriate restrictions, cardinality constraints on proper-
allow providers to describe their resources, and for ties, and so forth. Indeed, SSWAP best-operating practices
resources to assert their data/service transformations. state that any URI referencing an ontological term in a
Implementers may use OWL DL to add and extend prop- SSWAP-compliant graph should always be dereferencea-
erties and classes and further idiosyncratically describe ble, returning an OWL DL definition of the resource. If a
their offerings. We are currently examining the feasibility URI is not dereferenceable, the system does not fail, but
of front-ending RDGs with RDFa [28], such that providers actors will simply not be privy to on-demand resolution
could simply host marked-up web pages that could be of a term's definition. This works well with OWL's guaran-
transformed into RDGs upon the action of an agent. This tee of monotonicity. In this manner, the architecture
would tighten SSWAP's position with linked data [29]. brings the flavor and power of hyperlinks and linked data
to web service interface declarations. In Figure 2B, the URI
In Figure 2A, the canonical graph states that there is some :canonicalResource reciprocates the association assertion
provider (i.e., :resourceProvider), and out of the universe of back to the provider with a sswap:providedBy predicate.
relationships it has to things in the world (i.e., additional This reciprocation, along with a default behavior, is used

Page 6 of 21
(page number not for citation purposes)
BMC Bioinformatics 2009, 10:309 http://www.biomedcentral.com/1471-2105/10/309

Figure
The Canonical
2 Graph
The Canonical Graph. OWL DL definitions (not shown) of the fundamental SSWAP classes require all SSWAP compliant
resources to express themselves within the framework of the five classes and six predicates as shown here. General practice is
to create one file for the provider's description (2A), and one file for each semantic web service (2B). Ovals represent classes;
blue ovals are SSWAP reserved classes, orange ovals are third-party classes; rounded-cornered rectangles represent instances
(individuals); arrows represent predicates (properties). SSWAP uses the W3C sanctioned encoding of RDF/XML, but code
snippets shown here and in the following figures is in the more compact N3 solely for readability. A note on N3: the word 'a'
is shorthand for rdf:type and denotes instantiation. Multiple classes are specified serially in a statement with a comma (,) delim-
iter. A semicolon (;) means that the RDF subject of the assertion is the same as the subject of the preceding line, so the line
lists only the predicate and object; blank nodes are represented by square brackets ([]) which allow a nesting of relationships.
In some cases blank nodes are labeled explicitly using the prefix underscore-colon (_:) followed by the label.

Page 7 of 21
(page number not for citation purposes)
BMC Bioinformatics 2009, 10:309 http://www.biomedcentral.com/1471-2105/10/309

by the platform to enforce bilateral assertions so that, for ing the taxon or hyperlinks to database entries. Yet the
example, a resource's claim to be provided by a third-party non-standardized nature of these common sense conven-
provider can be verified by querying the provider. The tions makes it almost impossible to write broadly re-usa-
resource also has a sswap:operatesOn relationship to a ble code to reliably extract this metadata across generic
sswap:Graph. The sswap:Graph class allows one to build web sites. "What data is currently available on legumes?"
data structures so providers and clients can unambigu- is a laborious and difficult question to answer. Even seem-
ously distinguish between such structures as a list of pairs ingly trivial complications such as spellings and alterna-
and a pair of lists. The blank node (an anonymous tive names for taxa offer substantial challenges to writing
resource) that is a sswap:Graph may also have many rela- generic, high throughput parsers. These types of tower-of-
tionships to other things in the world, but again, we are Babel problems occur regularly in bioinformatics and
interested only in its sswap:hasMappping relationship to a they conspire to thwart integration. RDF offers a natural
sswap:Subject which in turn is related by sswap:mapsTo to a mechanism to address a proximal solution: simply refer-
sswap:Object. ence an unique URI for each taxon and then associate the
URI whenever we wish to reference the taxon. For exam-
The sswap:Subject and sswap:Object classes are used to iden- ple, the persistent and unique URI for the legume Medi-
tify input to output mappings, and as such are equivalent cago truncatula at NCBI's Taxonomy database is http://
to the input parameters and output return values of tradi- www.ncbi.nlm.nih.gov/Taxonomy/Browser/
tional interface declarations. For example, Soybase, wwwtax.cgi?id=3880&lvl=0. When we associate data with
Gramene, and LIS (Legume Information System) SSWAP this URI under a well defined semantic, we are making a
services all use the value associated with their various machine-parseable, unambiguous assertion that can be
sswap:Subjects as lookup keys into databases from which used to universally tag the data with the taxon. The taxon-
they return a value associated with the sswap:Object. But omyLookupService accepts a string of common words as a
the semantics of the sswap:mapsTo predicate does not force key (e.g., the common name "barrel medic") and queries
a delineation of input and output data: RDF's support for NCBI for the associated taxonomy record (Medicago trun-
multiple relationships means that it offers a natural way catula). If it finds a record, it returns the taxon's URI as
for providers to specify one-to-many and inverse map- well as supporting properties as defined at ncbiTaxa:Taxon-
pings (e.g., given a sswap:Object, return a sswap:Subject by omyRecord.
reversing the subject and object of the sswap:mapsTo rela-
tion). Because SSWAP does not use traditional, ordered Ontologies are systems of terms and their relationships. In
input and output parameters, invocation requirements this example the taxonomyLookupService service is using
can be changed, deleted, or appended within the con- terms from the third-party ontology ncbiTaxa for both the
straints of a first-order logic amenable to machine-reason- sswap:Subject and sswap:Object. Yet generically SSWAP
ing, thereby alleviating one of the major disadvantages of allows a mix-and-match of terms from across ontologies
traditional, static interfaces. SSWAP builds a semantic web on the web. This support for mixing independent third-
service interface based upon logical assertions, thus deliv- party ontologies while under a formal semantic is central
ering an enabling environment whereby machines can to SSWAP's sociological model of achieving a shared
better reason at transaction time to assess suitability-for- semantic (see http://sswapmeet.sswap.info). This offers
purpose. an important distinction from traditional XML/DTD-
based models. In those cases, the lack of a formal seman-
The Web of Ontologies tic and logic underlying the data model and tagging
Figure 3 shows how a resource customizes the canonical scheme means that extensions tend to break the standard.
graph to describe the specific web resource (service) it is In SSWAP, OWL's formal first-order description logic
offering to the world. The resource does this by qualifying (DL) means that extensions are amenable to machine rea-
the nodes that are instances of sswap:Resource, soning. In practice, implementations of first-order DL rea-
sswap:Graph, sswap:Subject, and sswap:Object. In Figure 3, soning lags behind our ability to make assertions, so
the taxonomyLookupService states that it maps the string SSWAP relies heavily on basic subsumption and realiza-
value of the predicate ncbiTaxa:commonName to an object tion (including inferences from rdfs:domain and
of type ncbiTaxa:TaxonomyRecord. This service is a working rdfs:range). Interestingly, it is not necessary that there
example http://sswap.info/examples/resources/taxono exist a formal ontological mapping between any two
myLookupService/inputForm.jsp addressing a minor but ontological concepts--a problem that in its generic form of
recurring problem in bioinformatics: the problem of ontology alignment is difficult and unsolved. The sole
unambiguously and universally associating data with the existence of a resource description graph (RDG) is a de
species or taxon from which they were derived. For facto claim of at least a partial ontology alignment: it is a
human readable web pages and idiosyncratic data files, statement to the world that this resource, offered by this
this is traditionally done by inserting ad hoc strings nam- provider, offers a service that maps instances of one onto-

Page 8 of 21
(page number not for citation purposes)
BMC Bioinformatics 2009, 10:309 http://www.biomedcentral.com/1471-2105/10/309

Figure 3 Description Graph (RDG)


Resource
Resource Description Graph (RDG). An example of how the semantic web service taxonomyLookupService describes itself
using SSWAP classes and predicates. In this case, the resource maps any sswap:Subject with a ncbiTaxa:commonName to a
sswap:Object of type ncbiTaxa:TaxonomyRecord. This is an example of using a database key (a string) to retrieve data. The full
Resource Definition Graph (RDG) is at http://sswap.info/examples/resources/taxonomyLookupService/taxonomyLookupServ-
ice and is available to anyone via a HTTP GET.

Page 9 of 21
(page number not for citation purposes)
BMC Bioinformatics 2009, 10:309 http://www.biomedcentral.com/1471-2105/10/309

logical concept to another. The appropriateness of the web like any other document, there is no active registra-
mapping may be further described within OWL DL, or tion process with the discovery server, just like there is no
may lie implicit in the resource's implementation. active registration process with Google. This alleviates
many of the security issues associated with de-registration
Because all providers and clients have public access via or changing service definitions associated with active reg-
URIs to the same set of ontological terms on the web, the istration models, though it also means that the discovery
semantics of data and services is open to a shared evolu- server's knowledge of resources may be out of date with
tion and marketplace competition. Well-defined, useful what is currently live on the web. When the discovery
terms maintained by trusted public resources encourage server is informed of a resource, it will at its discretion per-
re-use. This forms the basis of a shared semantic and con- form a HTTP GET on the resource to retrieve its descrip-
sequent integration. Integration is further enhanced by tion graph. Upon retrieving the RDG, the discovery server
SSWAP's reliance on OWL semantics, so, for example, one dereferences terms up to three levels of indirection in an
may exploit subsumption relations to deduce suitability- attempt to broaden its knowledge of concepts (ontology
for-purpose rather than relying on lexical matching to terms) used by the resource description graph (RDG). We
enforce naïve equivalency via re-use of the same term. The refer to the resulting set of RDF statements as a three
architecture creates what we call a "Web of Ontologies" degree closure. We then validate the graph for SSWAP con-
that is specifically aimed at refocusing the labor of ontol- sistency using the OWL reasoner Pellet [30]. We use Pellet
ogy construction from monolithic enterprises to distrib- to make explicit any and all implicit statements. The rea-
uted, dynamic "atoms of knowledge." soner performs the following four operations: i) classifica-
tion: computing all subclass relations between named
In summary, SSWAP encourages third-parties to build classes, ii) realization: assigning individuals to their most
ontologies as they see the world. It then supplies a frame- specific subclass, iii) consistency checking: complete
work whereby anyone can pick and choose which con- check for logical contradictions, and iv) satisfiability
cepts best fit what they are looking for or what they are checking: complete check for classes empty by necessity.
offering while allowing providers to associate these con-
cepts with data types. It additionally supplies a mecha- As an example, the taxonomyLookupService accepts as input
nism to "learn more"--that is, enable semantic an object with the predicate ncbiTaxa:commonName (data
negotiation--about unrecognized terms by performing an type xsd:string). This allows one to query the service with a
HTTP GET on any term to get a graph of OWL DL state- common taxon name as a lookup key to the official NCBI
ments about the term, be the resource either a service or taxon web page and scientific name. When building a
an ontology term. knowledge base (KB) of resources, our reasoner executes a
HTTP GET on ncbiTaxa:commonName and examines its
Resource publication with a Discovery Server definition. It discovers that the domain of the predicate
A provider defines its resource by putting the SSWAP- ncbiTaxa:commonName is ncbiTaxa:TaxonomyRecord--an
compliant, OWL DL resource description graph (an RDG) ontological class tagging the object. The reasoner then cor-
on the web, accessible to anybody by a simple HTTP GET. rectly classifies the taxonomyLookupService service as
In this manner, providers describe themselves in the web, accepting objects of type ncbiTaxa:TaxonomyRecord, even
as part of the web, and use the web not just as a data deliv- though the service definition never made the statement
ery pipeline, but with all its associated infrastructure. explicitly. This inference step generates explicit sub-class
Architecturally, this means their "publishing of service" and sub-property relationships from implicit relations
consists of no more than placing an SSWAP OWL DL that broaden the KB's statements for later semantic search-
RDF/XML document on a web site and supporting a HTTP ing. In Kantian terms this is the generation of synthetic a
POST (or HTTP GET w/a query substring) for service invo- priori judgments and constitutes new knowledge [31]. In
cation. The page can be deployed using their organiza- practice, a RDG of a dozen or so statements is often ren-
tion's standard web practice work flow; it can be changed dered into thousands of statements after execution of the
without coordination with a central site, and so forth. third degree closure and reasoning (try it at http://
sswap.info/resource-validator.jsp). This reasoning step
In practice, we do not run spiders crawling the web to find greatly enhances capabilities for semantic searching.
SSWAP resources, so to garner publishable resources, we
run a semantic discovery server at http://sswap.info that If a resource is already in the KB and the URI dereferences
hosts a URL http://sswap.info/publish-resource that to an invalid description graph, then the resource is
accepts HTTP POSTs from resources to inform the discov- flagged for removal from the KB; similarly, if the graph is
ery server of their presence. (Alternatively, humans may new or changed, then the discovery server updates its
interactively publish resources at http://sswap.info/pub internal model appropriately. Currently this is done by
lish.jsp.) Because resource description graphs sit on the rebuilding the entire KB because algorithms for making

Page 10 of 21
(page number not for citation purposes)
BMC Bioinformatics 2009, 10:309 http://www.biomedcentral.com/1471-2105/10/309

incremental changes to first-order description logic ently and in ignorance of class V, and even if our data was
knowledge bases are still in their infancy. Once we have classified ignorant of class E (i.e., classifying our data as of
built a KB, we use the open source applications of Jena class V implies that we satisfy its definition, but it does not
[32] for RDF manipulation via SPARQL on top of a Post- require that we have knowledge of the complete sub-
greSQL RDBMS [33] as a triple-store. sumption hierarchy).

Resource Discovery and Semantic searching Figures 4 and 5 give a demonstrative example of how
Clients engage the discovery service by using either the these operational guarantees deliver semantic search
web front-end at http://sswap.info or programmatically results in a decentralized model. In Figure 4., the client
engaging the SSWAP query service with a Resource Query asks for all resources that return data of type taxa:Taxa. In
Graph (RQG) (Figure 4). Clients construct their query Figure 5, the discovery server returns a graph with the
graphs using the same publicly available ontological con- resource http://...taxonomyLookupService. Dereferencing
cepts as used by providers to describe their resource. Just :taxonomyLookupService (retrieving its SSWAP RDG with a
as search engines on the web provide non-exclusive points HTTP GET) shows that the service returns data of type
of entry for web surfing, the discovery server provides a ncbiTaxa:TaxonomyRecord (not shown in figure). Derefer-
non-exclusive point of entry for resource discovery. Archi- encing that class shows that it is a subclass of taxa:Taxa,
tecturally, clients are not required to use the discovery thereby satisfying the search request based on the seman-
server; indeed, if they know of a resource's URI then they tic relations of the data, not on any lexical equivalencies.
may engage it directly (see below). In Figure 4, the client
is asking the discovery server to return all resources (the The model of semantic searching with query graphs is to
named _:resource blank node) that map "anything" (the return all resources that are a "sub-concept" of the query
blank sswap:Subject node) to something of the class graph. Given a query graph with a sswap:Resource node of
taxa:Taxa. A dereference on the taxa:Taxa URL gives neces- arbitrary named classes R1, ... Rn, with a sswap:Subject node
sary and sufficient conditions (properties and classes) of of arbitrary named classes S1, ... Sm and a sswap:Object
individuals of that class. The use of a query graph that has node of arbitrary named classes O1, ... Oo, the discovery
the same canonical structure as description graphs, invo- server returns all known resources that satisfy member-
cation graphs, and response graphs is a novel approach to ship in the class{∩: R1, ... Rn} (and by implication any of
operational integration (Figure 1). For example, the client its subclasses) with subjects that satisfy membership in
could send a graph without the taxa:Taxa qualifier, any superclass of {∩:S1, ... Sm} and objects that satisfy
thereby asking "Get me anyone who can map anything to membership in the class {∩:O1, ... Oo} (and by implica-
anything." Clearly, numerous combinations are possible. tion any of its subclasses). As is standard, a class is always
While the discovery server fulfills the role described vari- a trivial subclass of itself. Thus the returned resources
ously as "matchmaking" or "brokering" [34], the underly- would be (possible) specializations of what one
ing OWL ontology extends the usual lexical basis for such requested; that operate on the typed input data (or gener-
matches by allowing for semantic searching based on sub- alizations of it), and returned the typed output data (or
sumption relations. specializations of it). In this manner, semantic searching
seeks to reduce false positives in service discovery by
For semantic searching, we seek a mechanism to find all returning those, and only those, services that are guaran-
resources (services) that are: 1) of a particular (or more teed to operate on the requested data and return transfor-
specific) type according to some ontology; 2) operate on mations that are at least as specialized as requested. In
a particular (or more general) type of data; and/or 3) Figure 5, the discovery server response graph sent back to
return a particular (or more specific) type of data. For the querying client returns the taxonomyLookupService as
example, we may want to search for all services that per- satisfying the request. The service returns data of type
form sequence comparison, or operate on DNA ncbiTaxa:TaxonomyRecord (Figure 3) which is a subclass (a
sequences, or return gene annotations. Consider class E specialization) of the requested taxa:Taxa in Figure 4. In
defined such that all individuals of class E have properties practice, transaction-time reasoning on graphs to com-
p and q. We now consider class V subClassOf E; necessarily pute subconcepts is expensive and algorithms are still in
all individuals of class V have properties p and q, and pos- their infancy. Thus SSWAP satisfies mostly subsumption
sibly additional properties. This is guaranteed by the for- support on named, explicit classes already established in
mal semantics of rdfs:subClassOf. Thus if we have the KB.
data belonging to class V and we ask the question: "What
services can operate on my data?", we should get all serv- Service invocation
ices that accept a sswap:Subject of type V as well as type E. By SSWAP convention, POSTing a graph to a resource is
Indeed, a service operating on data of class E will necessar- interpreted as a request to invoke the service. Once a client
ily work on our data, even if it was constructed independ- has a service's URI (for example, from a discovery server

Page 11 of 21
(page number not for citation purposes)
BMC Bioinformatics 2009, 10:309 http://www.biomedcentral.com/1471-2105/10/309

Figure 4 Query Graph (RQG)


Resource
Resource Query Graph (RQG). Clients query a discovery server for data and service providers using the same canonical
graph structure and sharing the same publicly available ontologies used by providers when the providers described their
resources. The query in the figure is asking "Get me all resources that map anything to a taxa:Taxa". Anyone can do a HTTP
GET on taxa:Taxa to see its definition. Architecturally, more complicated queries can be built by using additional OWL DL
assertions, replacing blank nodes with individuals, or using concepts from other publicly available ontologies. Currently, the dis-
covery server running at http://sswap.info does not support all OWL DL embellishments but implements semantic searching by
returning all services that are subclasses of the sswap:Resource with super classes of the sswap:Subject and subclasses of the
sswap:Object. For programmatic access see http://sswap.info/sswap/resources/queryForResources/inputForm.jsp.

query response graph or its own listings), the client can LookupService. In all cases, the client will either instantiate
POST the service's RDG back to the service with input data the sswap:Subject with a resource (a URI) that is used as the
typed as the sswap:Subject (Figure 6). The client always "input data", or will fill in predicate value(s) directly in
knows the service's interface because the RDG is a logical the graph (Figure 6).
description of the service's transformation available to
anyone with a simple HTTP GET on the same URI used for Service completion
invocation. In Figure 6, the client replaces the null string The resource provider receives the graph from the client,
value of the predicate taxa:commonName with the look up parses it according to the canonical structure, and looks
key "barrel medic" and POSTs the graph to the taxonomy- for ways to enhance it. In Figure 7 the service completes

Page 12 of 21
(page number not for citation purposes)
BMC Bioinformatics 2009, 10:309 http://www.biomedcentral.com/1471-2105/10/309

Figure 5 Server Response Graph


Discovery
Discovery Server Response Graph. The discovery server returns all graphs that satisfy the query. "Satisfaction" means that
any resource returned in a response graph could be substituted as an individual of type sswap:Resource in the query graph while
maintaining the truth of the assertions. Properties of semantic searching (Figure 4) mean that when querying for resources, dis-
covered services are exactly those that are semantically guaranteed to operate on the input data (including those that accept
more general classes) while returning the stipulated output data classes (including more specific classes). In the example here
the client asked for all services that return data of type taxa:Taxa (Figure 4). The discovery server returned a service that
returns data of type ncbiTaxa:TaxonomyRecord, which is a subclass (a specialization) of taxa:Taxa, thereby satisfying the request.
Notice how this allows clients to find data and services based on the semantic and ontological relationships of services and
data, even if neither the client nor any provider anticipated this usage. Full information is not returned in the response graph,
but it available to clients by dereferencing resources to obtain their RDGs.

Page 13 of 21
(page number not for citation purposes)
BMC Bioinformatics 2009, 10:309 http://www.biomedcentral.com/1471-2105/10/309

the mapping of the string "barrel medic" to the resource Framework; http://www.w3.org/RDF), RDFS (RDF
http://www.ncbi.nlm.nih.gov/Taxonomy/Browser/ Schema; http://www.w3.org/TR/rdf-schema), XML
wwwtax.cgi?id=3880&lvl=0. In this case, the URL is itself Schema; http://www.w3.org/xml/Schema) and OWL
a reference to lexical (non-semantic) "output data": i.e., a (Web Ontology Language; http://www.w3.org/2004/
web page. The class ncbiTaxa:TaxonomyRecord is defined OWL) over HTTP; it does not use SOAP (Simple Object
via various properties that allow for semantically tagging Access Protocol [acronym now deprecated]; http://
key data such as the scientific name, taxonomy id, etc The www.w3.org/TR/soap) and its oft accompanying WSDL
service extracts this unstructured information and places it (Web Services Description Language; http://www.w3.org/
in a structured, semantic context of OWL predicates (e.g., TR/wsdl) formalism, nor does it use UDDI (Universal
nbciTaxa:commonName, ncbiTaxa:scientificName, etc.). Description, Discovery and Integration; http://
uddi.xml.org) for discovery. We rejected SOAP, WSDL,
Upon receiving the response graph from the provider, the and UDDI because their heavy web service model did not
client can parse the graph according to its unambiguous offer strong support for open semantics and description
structure. Because RDF triples can be parsed order-inde- logic reasoning. Adding an explicit and open semantic on
pendent, the client is not required to traverse the graph in top of SOAP, WSDL, and UDDI added a complexity that
a particular hierarchical order. Both content and metadata offered little advantage over using OWL RDF/XML sup-
are "first class" elements, which can be sorted or otherwise ported by a DL (Description Logic) reasoner over straight
searched and organized by clients without losing the pro- HTTP.
vider's statements about the data's relational structure.
This helps address the limitations of confounding data SSWAP employs a loose-coupling, late-binding model
content with data structure. To disambiguate content and using OWL DL semantics to achieve dynamic semantic
presentation, SSWAP provides two predicates (sswap:inpu- negotiation between suppliers and users of data and serv-
tURI and sswap:outputURI) for sswap:Resources which allow ices. In SSWAP we introduce a design whereby a single,
resources to identify URIs that should handle the canonical structure (a template OWL DL graph) embeds
resources' human readable input and output interfaces the information for how a provider's resource is described
(see example at http://sswap.info/sswap/resources/query and published to the world, how a client's request is made
ForResources/inputForm.jsp). The combination of RDF to the discovery service to find a resource, how that
order-independence and resource binding to presentation request is satisfied by the discovery service, how the cli-
managers, means that SSWAP exists as a true semantic ent's query is made to the resource, how the resource's
middle layer, appropriate and capable for machine- answer is returned to the client, and how the client parses
machine semantic integration. that response. This canonical structure means that the
description frames the query frames the answer (Figure 1).
The canonical graph structures a process for semantic This model is in stark contrast to most existing models
negotiation between client and provider, which is essen- where technologies used for resource description, discov-
tially brokered by using shared, third-party ontological ery, querying, invocation, and response may share little in
terms, the meaning of which are available at transaction common (e.g., compare WSDL for description, to SOAP
time. The document-centric, serialization of a logic (OWL for invocation, etc.). At first it may seem impossible for
DL) means that the graph can sit in persistent storage the provider's resource description to know anything
without loss of its description/query/answer information. about the client's anticipated query; or the client's discov-
This preserves the integrity of the "data as a statement" ery request to share anything with the format of the pro-
and decouples it from the particulars of the current vider's return data. Yet it is in addressing this in a single,
manipulating technology. If in the future a new serializa- mutable graph that allows us to make progress on the
tion or a more powerful logic is implemented, then for- problems of the fatal mutability of interfaces, rigidity and
ward compatibility is achieved by translating the OWL DL fragility of static subsumption hierarchies, and the con-
serialization into the new representation. A relevant founding of content, structure, and presentation. Surpris-
example is the relatively new introduction of OWL 2.0. ingly, these graphs are not long lists of idiosyncratic
specifications, but are concise representations of the data
Results and Discussion and its relationships to the resource using publicly availa-
SSWAP is a semantic web services architecture and proto- ble shared ontologies. We conceptually break apart the
col. We designed it because SOAP-based web services do ontological use of concepts and the data type of objects,
not provide a sufficiently rich semantic framework, while and provide an architecture for a dynamic web of ontolo-
the W3C OWL does not provide a sufficiently rich web gies, in a manner strongly analogous to how HTML docu-
services framework. SSWAP uses the W3C standard ments are hyperlinked to each other and one of the major
semantic web technologies of RDF (Resource Description goals of the W3C OWL effort.

Page 14 of 21
(page number not for citation purposes)
BMC Bioinformatics 2009, 10:309 http://www.biomedcentral.com/1471-2105/10/309

Figure 6 Invocation Graph (RIG)


Resource
Resource Invocation Graph (RIG). The client creates an invocation graph by either using the response graph returned
from the discovery server or executing a HTTP GET on a resource returned by the discovery server to get the resource's lat-
est definition. In either case, the client then annotates the graph with its specific input data. Here, the client enters the key
value ncbiTaxa:commonName = "barrel medic" and HTTP POSTs the graph to the resource. SSWAP best practices encourage
providers to attempt to satisfy invocation graphs sent to them by altering those graphs (for example, by completing sswap:Sub-
ject to sswap:Object mappings) instead of returning their own de novo representations of the mappings. This allows clients to
assimilate contributions from various resources on a single graph of their choosing by passing it from resource to resource.

Page 15 of 21
(page number not for citation purposes)
BMC Bioinformatics 2009, 10:309 http://www.biomedcentral.com/1471-2105/10/309

Figure 7 Response Graph (RRG)


Resource
Resource Response Graph (RRG). The graph returned from the resource to the client with the completed ncbiTaxa:com-
monName to ncbiTaxa:TaxonomyRecord mapping. In this example the returned sswap:Object is an annotated URI: it is both the
URI of the Medicago truncatula web page at NCBI and has semantically well defined predicates with relevant metadata. Elegant
models can be built by returning individuals with URIs pointing to data instead of encoding data directly in the graph. Note how
the provider's response (RRG) is a variation on the client's invocation (RIG), which is itself a variation on the provider's
description (RDG); all graphs are simple variations on the canonical (Figure 2), including the discovery of new resources
(RQG).

Page 16 of 21
(page number not for citation purposes)
BMC Bioinformatics 2009, 10:309 http://www.biomedcentral.com/1471-2105/10/309

The nature of the graph model means that providers may complete failure is often a fundamental design feature.
optionally only partially satisfy a graph. This is in distinc- The second feature is how SSWAP's persistent canonical
tion from more traditional web service models where graph structure means that pipelining semantic web serv-
services tend to either work completely or not at all. In the ices is syntactically trivial: the sswap:Object of one pro-
SSWAP model, a single resource may not be able to fully vider's response graph becomes the sswap:Subject of
satisfy a graph, but a series of resources may each be able downstream provider's invocation graph. In this manner
to read the graph, append data, and contribute to an inte- a query can traverse the web, both in terms of embellish-
grated, synthetic "answer." SSWAP best practices encour- ing a single sswap:Subject to sswap:Object mapping among
age resources to: i) "Do no harm," ii) "Ignore what you numerous providers implementing different aspects of
don't understand," and iii) preserve the logical integrity of the same mapping, and also pipelining a sswap:Object to
the graph. The first point means that resources should sswap:Subject transitively across providers.
attempt to accept input (sswap:Subject) as broadly as pos-
sible (few properties; high level super classes), and return SSWAP's enablement of easily mix-and-matching terms
output (sswap:Object) as specific as possible (many prop- across ontologies is closely aligned with the vision of the
erties; low level subclasses). This will give clients the great- semantic web and the design of RDF. But from the per-
est flexibility in constructing pipelines of services. In spective of well-formed ontological reasoning, one may
practice it means that between invocation and response, be hesitant to re-use ontological terms outside of a closed,
services should modify a graph in any of three ways: a) well-defined ontology. Inevitably, mixing terms from dif-
adding new information and instances of sswap:Object, ferent ontologies can sacrifice desirable global guarantees
thereby fulfilling the mapping, with allowance for inverse and can lead to logical inconsistencies if done haphaz-
mappings; b) adding multiple sswap:operatesOn, sswap:has- ardly. This is partially addressed by SSWAP's encourage-
Mapping and sswap:mapsTo predicates to build 1:many, ment of using property-rich, subsumption-poor (i.e.,
many:1, and many:many mappings as appropriate; c) shallow) hierarchies, since in such systems dynamic sub-
adding explicit statements that are logically implied but sumption determination is less prone to the rigidity and
not explicitly present. A resource should not remove state- fragility of deep, static subsumption classifications. Yet
ments, even if they are logically redundant, since other SSWAP also addresses this under an embracement of
actors' parsers that do not perform reasoning may rely on requiring only local consistency. In practice, fragmentary
their explicit existence. The second point, "Ignore what knowledge of ontologies is often sufficient for determin-
you don't understand," means that parsers should pass ing suitability-for-purpose in a transaction between two
through assertions that cannot be semantically resolved, actors. SSWAP enforces local consistency on resources
rather than dropping them or generating an error. This during their publication to the discovery server, but it
assures that SSWAP statements augment, but do not pre- does not require global consistency across all uses of a
clude, other RDF statements in the graph. Both points term. (Resources not read into the knowledge base [KB]
imply that resources should strive to complete the graph can function independently as semantic web services, but
passed to them and return an amended graph back to the they will not be discoverable at http://sswap.info. This is
client, rather than generating de novo "answer graphs" as a analogous to how traditional web search engines exercise
response. The third point, to preserve the logical integrity discretion in deciding which URI's they index.) While
of the graph, means that no resource is required to proc- SSWAP's discovery server does not require global consist-
ess, nor should it return, an ill-formed or inconsistent ency, at regular intervals we do reason over the entire KB
graph. The extent that a partial match is satisfied is up to to see if global consistency is achievable. To date, we have
the provider: open-ended requests leave much discrep- always achieved this. The ramifications of failing to
ancy to providers, while overly-restrictive requests will achieve global consistency mean that some logically
yield many providers unable to add any information. equivalent searches could return contradictory responses.
Either way, both clients and providers treat a graph as a From the perspective of expert systems or ontological sci-
contract, where passage through a provider's service ence this is undesirable, but from the perspective of a
retains the logical consistency and implication of the world-wide semantic web it is likely that global consist-
invoking graph. ency as a criterion should be abandoned. For example, as
users we never know the true false positive or false nega-
Thus SSWAP allows one to combine two powerful fea- tive rate of non-semantic search engines such as Google,
tures of graph-based semantic web services. The first is and we are unsurprised if independent searches on "gene"
partial graph completion, which means that the same and "hereditary unit" return non-equivalent search results
graph can be sent to multiple services, and each can anno- even if these are considered as equivalent keys under some
tate or augment it according it own view of the world. This system of definition. Thus SSWAP aims for a middle
is conceptually distinct from how most traditional web ground, whereby it brings a level of formalism and seman-
services are implemented, where complete success or tics to web resources allowing them to describe their offer-

Page 17 of 21
(page number not for citation purposes)
BMC Bioinformatics 2009, 10:309 http://www.biomedcentral.com/1471-2105/10/309

ings, yet still delivers operational value to users navigating covery of those resources, to allow partners to share and
within a world of possible logical inconsistencies. OWL's integrate data and terms, and to invoke those web proc-
property of monotonicity and its rejection of the unique esses to operate on those data. By using these semantic
name assumption ensures that no mix-and-match strategy technologies we go beyond token matching (e.g., search-
breaks the properties of completeness and decidability for ing for the string 'QTL' on the web) and open a combina-
consistent models, though computational tractability tion of lexical and semantic searching instead. In this
with finite resources is not guaranteed. manner, users may find services that operate on formal
QTL objects. Gramene offers distinct SSWAP semantic
For use in semantic web services, ideally ontologies would web services for accessing QTLs by accession ID, pheno-
be constructed with an emphasis on properties (predi- typic trait symbol, trait name, trait synonym, trait cate-
cates) instead of deep subsumption relations (class hierar- gory, species scientific name, species common name, QTL
chies). Thus the emphasis should be on shallow symbol, linkage group, and Trait Ontology ID. Future
subsumption ontologies rich in properties, versus deep plans are to improve the current ontology, integrate
subsumption hierarchies built axiomatically on resources with other existing ontologies to enable integra-
rdfs:subClassOf assertions. This approach provides tion with other services and add further capabilities as the
an opportunity to shift subsumption determination from QTL database is expanded.
creation time to closer to transaction time, and thereby
enhances ontologies' flexibility for addressing suitability- SoyBase http://soybase.org, is the USDA-ARS public
for-purpose. This is expected to increase the likelihood of repository for community contributed and professionally
term reuse by third-parties outside of the original context, curated genetic and genomic data for the soybean Glycine
and makes it more likely that independently produced max (L.) Merr As part of the comparative genomics activity
ontologies will retain global consistency after aggregation. in the Legume Information System (LIS) we have devel-
We have investigated the use Formal Concept Analysis oped and deployed a number of SSWAP services that pro-
(FCA) to build just-in-time ontologies [22-24]. vide tools for automatic retrieval of data from SoyBase.
Two types of services have currently been designed for
Virtual Plant Information Network (VPIN) SoyBase Locus and QTL classes. The first service type
We are deploying SSWAP as the underlying semantic tech- returns a full report of data contained in the Soybean
nology for the Virtual Plant Information Network (VPIN). Breeders Toolbox (the current database for SoyBase) for
The VPIN consists of semantic web services offered by an input soybean genetic map QTL or Locus symbol, Soy-
Gramene http://www.gramene.org, SoyBase (soy- baseQtlReportService and SoybaseLocusReportService respec-
base.org), The Legume Information System (LIS; http:// tively. The second type of services return a selection of
www.comparative-legumes.org), and over 2400 database data type properties (database fields) making them more
and web server entry points from Nucleic Acids Research atomic and easily parseable. The services deliver data
(NAR). Services are discoverable at http://sswap.info. The combinations which would most likely to be needed by
NAR entries wrap web sites under the NAR service ontol- other databases or soybean researchers, such as the ability
ogies, but do not map the input or output data types to to get a list of all soybean germplasms in which a marker
data-specific ontological terms. A description of the has been analyzed (SoybaseLocusGermplasmService) or the
VPIN's Gramene, SoyBase, and LIS services will appear ability to get a list of all soybean genetic maps to which a
elsewhere. Here, we introduce just a brief introduction to SoyBase Locus is associated. Other databases can interro-
these services to substantiate SSWAP's real-world imple- gate the Soybean Breeders Toolbox and retrieve a list of
mentation. Discovery and invocation of these services is the types of soybean loci available (SoybaseLocusTypeServ-
available at http://sswap.info. ice). This list can then be used to systematically retrieve all
loci from the database by their "type" using the SoybaseL-
Gramene's cereal QTL resources are available to the com- ocusByTypeService and so on. Future improvements to the
munity as semantic web services using SSWAP. The use of SoyBase SSWAP services will include the ability to retrieve
semantic web services allows Gramene QTLs to be inte- sequence data associated with soybean loci as well as the
grated with comparative mapping data, genomic data, expansion of services to include other data types con-
germplasm data, and other information that has been tained in the Soybean Breeders Toolbox. As the soybean
made available via the VPIN. The Gramene QTL database genomic sequence data becomes publicly available and
includes QTLs identified for numerous agronomic traits incorporated into the Toolbox, information on those data
in the grasses (e.g., rice, maize and barley). The emphasis will also be made available through SoyBase SSWAP serv-
is on presenting QTLs with information on both associ- ices.
ated traits and a mapped locus on a genetic map. Gramene
acts as a provider within the VPIN semantic web services The Legume Information System (LIS) has developed
platform to describe QTL data and services, to enable dis- SSWAP semantic web services in collaboration with

Page 18 of 21
(page number not for citation purposes)
BMC Bioinformatics 2009, 10:309 http://www.biomedcentral.com/1471-2105/10/309

Gramene and SoyBase. First generation services provide Yet our research also found limitations: 1) OWL DL's
an entry point to the Legume Information Network (LIN), property of monotonicity means that some simple prop-
while second generation services return LIS genomic and erties of web services, such as specifying and enforcing the
transcriptome sequences given accession ids and marker number and/or codependency of required and optional
symbols, as well as a service entry point to BLAST. The LIS parameters for a service can be obtuse (e.g., specifying
service getSequenceForIdentifier demonstrates the ease in BLAST parameters). Work-arounds address this with a
which RDF allows one to return pointers to data instead best practices convention on the use of necessary and suf-
of embedding large amounts of data in XML files. The ficient owl:Restrictions (e.g., see http://sswap
service maps a GenBank accession number, a TIGR tran- meet.sswap.info/sswap/Resource) but the fit is not natu-
script assembly number, or a TIGR consensus sequence ral from a web services perspective; 2) a service's logical
number to its associated LIS sequence. Because sequence description can be implemented in any number of differ-
data may be voluminous, instead of embedding the data ent syntactical ways. Thus for validation, it is not sufficient
in the response graph, the service makes the sswap:Object a to parse graphs solely based on syntactical structure. Yet
URL to where the data is located. It annotates the URL just-in-time reasoners deployed at transaction time are
with a class (ontological term) designating it of type not well developed, so currently service providers rely
FASTA, and appends a property with the FASTA header heavily on parsing explicit statements which may lead
information. Users of the service simply dereference the them to incorrectly accept or reject some invocation
URL with an HTTP GET to retrieve the FASTA sequence. graphs; 3) OWL DL may be too powerful. Complex restric-
tions on classes, predicates, and individuals can be ver-
If Gramene, SoyBase, and LIS had used traditional web bose and difficult for humans to master when serialized in
service technologies, their offerings would have prolifer- RDF/XML. The recommended approach is to work at a
ated the current silo effect now seen with hundreds of web higher level employing reasoners and parsers to operate
services each requiring low-throughput, non-semantic on the underlying graphs. But reasoners are still maturing
discovery and engagement. Their use of SSWAP mitigated and have some undesirable properties. For example, it is
this by establishing an early ground in providing semanti- difficult or even impossible to estimate how long a rea-
cally enabled services and data amenable to semantic dis- soner will take to complete based on a given input graph;
covery and invocation. 4) knowledge bases--the result of running a reasoner on a
set of statements and inferring new truths--are fragile to
Conclusion incremental additions, deletions, and changes in the
Implementing SSWAP for the VPIN showed both the underlying input statements. In general, once information
strengths and limitations of the semantic web services changes, the reasoner has to be re-run on the entire input
approach. Re strengths, the ontological flexibility of the corpus, which can take a substantial amount of time.
model (the "Web of Ontologies") means that new data Incremental reasoning is an area of active research; 5)
types and service categories can be introduced in a manner developer tools are still in their infancy. For widespread
that makes them approachable and available to all actors. deployment, bioinformaticians will need helper tools,
In contrast to the flexibility of data and service descrip- much in the same way that many web developers use high
tions, SSWAP protocol standardization means that pars- level languages and integrated development environ-
ing and low-level code can be easily shared across ments to generate HTML and server-side web code.
implementations. Standardization over a formal semantic
means that we can apply a reasoner to discover implicit We view these limitations as "growing pains" on a path
truths, and then build a semantic search capability to use towards web integration that offers to transcend many of
those assertions to return services based on both their the limitations that currently limit integration. Some lim-
service categorization and their data's semantic tagging, as itations, such as a relative unfamiliarity with OWL in the
well implied subsumption relations. In future implemen- bioinformatic community or the lack of suitable devel-
tations, the deployment of reasoners not only for KB oper tools are addressable. Other limitations, such as
building supporting semantic searching but also at trans- advances in just-in-time or incremental reasoning will
action time by individual actors offers a promising require new advances in computer science.
approach for addressing the fatal mutability of traditional
interfaces. When combined with property-rich classes and Availability and requirements
shallow subsumption relations, the approach alleviates Project name: SSWAP
many of the limitations of static subsumption hierarchies.
Finally, OWL's reliance on RDF and our use of SSWAP Project home page: http://sswap.info; source code depos-
predicates such as sswap:inputURI and sswap:outputURI ited at http://sourceforge.net/projects/sswap
provides a natural mechanism to segregate data and con-
tent from presentation layers. Operating system: Platform independent; implemented
on unix

Page 19 of 21
(page number not for citation purposes)
BMC Bioinformatics 2009, 10:309 http://www.biomedcentral.com/1471-2105/10/309

Programming languages: Java, OWL, HTML, JSP 2. Karp P: A strategy for database interoperation. J Comp Biol
1995, 2:573-586.
3. Markowitz VM, Ritter O: Characterizing heterogeneous molec-
Requirements for Provider Development Kit: Java 1.5 or ular biology database systems. J Comp Biol 1995, 2:547-556.
higher, ant 1.7 or higher, Tomcat 5.0 or higher, Jena 2.5 or 4. Ritter O: The integrated genomic database (IGD). In Computa-
tional Methods in Genome Research Edited by: Suhai S. New York: Ple-
higher. Hosting an independent discovery server also num Press; 1994:57-73.
requires Pellet 1.5 or higher and a database backend such 5. Robbins RJ: Information infrastructure. IEEE Engin Med Biol 1995,
as PostgreSQL 8.2. Protégé 3.3 or higher is useful for 14:746-759.
6. McWilliam H, Valentin F, Goujon M, Li W, Narayanasamy M, Martin
developing ontologies. J, Miyar T, Lopez R: Web services at the European Bioinformat-
ics Institute - 2009. Nucleic Acids Research 2009:W6-W10.
7. Labarga A, Valentin F, Andersson M, Lopez R: Web Services at the
License: minor variant on MIT license; see lib/license.txt European Bioinformatics Institute. Nucleic Acids Research
on main SVN trunk at http://sourceforge.net/projects/ 2007:W6-W11.
sswap. 8. Pillai S, Silventoinen V, Kallio K, Senger M, Sobhany S, Tate J, Velankar
S, Golovin A, Henrick K, Rice P, Stoehr P, Lopez R: SOAP-based
services provided by the European Bioinformatics Institute.
Any restrictions to use by non-academics: none beyond Nucleic Acids Research 2005, 33:W25-W28.
9. Harte N, Silventoinen V, Quevillon E, Robinson S, Kallio K, Fustero
general licensing terms; see license for details. X, Patel P, Jokinen P, Lopez R: Public web-based services from
the European Bioinformatics Institute. Nucleic Acids Research
List of Abbreviations 2004:W3-W9.
10. Sayers E, David Wheeler D: Building Customized Data Pipelines
DL: Description Logic; KB: Knowledge Base; LIS: Legume Using the Entrez Programming Utilities (eUtils). 2004 [http/
Information System; OWL: Web Ontology Language; www.ncbi.nlm.nih.gov/bookshelf/br.fcgi?book=course
QTL: Quantitative Trait Locus; RDF: Resource Description work&part=eutils].
11. Benson G: Editorial: 2009 Web Server Issue. Nucleic Acids
Framework; RDFS: RDF Schema; RDG: Resource Descrip- Research 2009, 37(No suppl_2):W1-W2.
tion Graph; RIG: Resource Invocation Graph; RQG: 12. Goble CA, De Roure D: Curating Scientific Web Services and
Workflows. EDUCAUSE Review 2008, 43(5):.
Resource Query Graph; RRG: Resource Response Graph; 13. Wilkinson M, Schoof H, Ernst R, Haase D: BioMOBY successfully
SOAP: Simple Object Access Protocol (acronym depre- integrates distributed heterogeneous bioinformatics web
cated); SSWAP: Simple Semantic Web Architecture and services. The PlaNet exemplar case. Plant Physol 2005, 138:1-13
[http://www.plantphysiol.org/cgi/content/abstract/138/1/5].
Protocol; UDDI: Universal Description Discovery and 14. De Roure D, Goble C, Stevens R: The Design and Realisation of
Integration; VPIN: Virtual Plant Information Network; the myExperiment Virtual Research Environment for Social
W3C: World Wide Web Consortium; WSDL: Web Service Sharing of Workflows. Future Generation Computer Systems 2009,
25:561-567.
Definition Language; XML: Extensible Markup Language; 15. McIlraith SA, Son TC, Zeng H: Semantic Web Services. IEEE Intel-
XMLS: XML Schema; XSD: XML Schema Document; URI: ligent Systems 2001, 16(2):46-53.
16. Bechhofer S, van Harmelen F, Hendler J, Horrocks I, McGuinness DL,
Uniform Resource Identifier; URL: Uniform Resource Patel-Schneider PF, Stein LA, Dean M, Schreiber G: OWL Web
Locator. Ontology Language: Reference. [http://www.w3.org/TR/2004/
REC-owl-ref-20040210].
17. McGuinness DL, van Harmelen F: OWL Web Ontology Lan-
Authors' contributions guage: Overview. [http://www.w3.org/TR/2004/REC-owl-fea
DDGG was the Principal Investigator on the project and tures-20040210].
18. Patel-Schneider PFHP, Horrocks I: OWL Web Ontology Lan-
wrote the main paper; GSS was the principal software guage: Semantics and Abstract Syntax. [http://www.w3.org/
developer; GDM was co-PI for LIS; SA provided software TR/2004/REC-owl-semantics-20040210].
development for Gramene and wrote the section on 19. Smith MK, Welty C, McGuinness DL: OWL Web Ontology Lan-
guage: Guide. [http://www.w3.org/TR/2004/REC-owl-guide-
Gramene services; CDT was co-PI for JCVI; DG was over- 20040210].
sight for SoyBase; RTN provided software development 20. Gene Ontology Consortium: The Gene Ontology (GO) Project
for SoyBase and wrote the section on SoyBase services. All in 2006. Nucleic Acids Research 2006, 34:D332-D326 [http://
nar.oxfordjournals.org/cgi/content/full/34/suppl_1/D322].
authors read and approved the manuscript. 21. Rhee SY, Wood V, Dolinski K, Draghici S: Use and misuse of the
gene ontology annotations. Nature Reviews Genetics 2008,
9:509-515.
Acknowledgements 22. Gessler DDG, Joslyn CA, Verspoor KM, Schmidt SE: Deconstruc-
We thank Doreen Ware of Gramene and Lincoln Stein as co-PI for sup- tion, Reconstruction, and Ontogenesis for Large, Monolithic,
port. We also thank Andrew Farmer, Selene Virk, Jun Zhuang, and Prateek Legacy Ontologies in Semantic Web Service Applications.
Gangwal for software development contributions. This material is based Los Alamos National Laboratory Report 06-5859; 2006.
23. Joslyn CA, Gessler DDG, Schmidt SE, Verspoor KM: Distributed
upon work supported by the National Science Foundation (NSF) under
Representations of Bio-Ontologies for Semantic Web Serv-
grant #0516487, the NSF Plant Cyberinfrastructure Program (#EF- ices. Joint BioLINK and 9th Bio-Ontologies Meeting (JBB 06): 2006 2006
0735191), and by the United States Department of Agriculture, Agricultural [http://www.bio-ontologies.org.uk/2006/download/
Research Service (USDA-ARS) Specific Cooperative Agreement 3625- Joslyn1EtAlDistributed.pdf]. ISMB
24. Joslyn CA, Verspoor KM, Gessler DDG: Knowledge Integration
21000-038-01.
in Open Worlds: Applying the Mathematics of Hierarchical
Structure. ICSC07 First IEEE International Conference on Semantic
References Computing: (Invited; submitted) 2007 2007 [http://www2.computer.org/
1. Davidson SB, Overton GC, Buneman P: Challenges in integrating portal/web/csdl/doi/10.1109/ICSC.2007.82]. IEEE
biological data sources. J Comp Biol 1995, 2:557-572.

Page 20 of 21
(page number not for citation purposes)
BMC Bioinformatics 2009, 10:309 http://www.biomedcentral.com/1471-2105/10/309

25. Klyne G, Carroll JJ: Resource Description Framework (RDF):


Concepts and Abstract Syntax. 2004 [http://www.w3.org/TR/
rdf-concepts].
26. Manola F, Miller E, eds: RDF Primer. [http://www.w3.org/TR/2004/
REC-rdf-primer-20040210].
27. Berners-Lee T: What the Semantic Web can represent. [http:/
/www.w3.org/DesignIssues/RDFnot.html].
28. Adida B, Birbeck M, McCarron S, Pemberton S: RDFa in XHTML:
Syntax and Processing. 2008 [http://www.w3.org/TR/rdfa-syn
tax].
29. Berners-Lee T: Linked Data. 2006 [http://www.w3.org/DesignIs
sues/LinkedData.html].
30. Sirin E, Parsia B, Cuenca Grau B, Kalyanpur A, Katz Y: Pellet: A
practical OWL-DL reasoner. Journal of Web Semantics 2007,
5(251-53 [http://linkinghub.elsevier.com/retrieve/pii/
S1570826807000169].
31. Kant I: Prolegomena. (1902 translation by Paul Carus; 1996 printing)
Open Court, Chicago 1783.
32. McBride B: Jena: A Semantic Web Toolkit. IEEE Internet Comput-
ing 2002, 6(6):55-59.
33. PostgreSQL [http://www.postgreSQL.org]
34. Lord P, Bechhofer S, Wilkinson MD, Schiltz G, Gessler D, Hull D,
Goble C, Stein L: Applying semantic web services to Bioinfor-
matics: Experiences gained, lessons learnt in ISWC 2004.
2004:350-364 [http://springerlink.metapress.com/content/
1b7b409w0lw92326/
?p=d3fb227b7fdc4c399475a513f9f97ac4&pi=24]. Springer-Verlag
Berlin Heidelberg

Publish with Bio Med Central and every


scientist can read your work free of charge
"BioMed Central will be the most significant development for
disseminating the results of biomedical researc h in our lifetime."
Sir Paul Nurse, Cancer Research UK

Your research papers will be:


available free of charge to the entire biomedical community
peer reviewed and published immediately upon acceptance
cited in PubMed and archived on PubMed Central
yours — you keep the copyright

Submit your manuscript here: BioMedcentral


http://www.biomedcentral.com/info/publishing_adv.asp

Page 21 of 21
(page number not for citation purposes)

You might also like