Introduction to OWL Web Ontology Language for Medical and Biosciences Applications (Continued)

Previous  Next
Contents  References

The OWL Web Ontology Language

OWL is a part of the Semantic Web, which is a vision for the future of the Web where applications can process information discovered on the web 'intelligently', or at least not stupidly as most applications are thought to process this information today.  Web browsers, when processing HTML, focus on presentation of text information and accompanying images.  Although browsers do make a start on connecting web documents using hyperlinks, which is one of the main things behind the enormous success of the Web, this is generally unstructured data.

RDF goes further, for example, by enabling RSS browsers to help user's find recent news articles and interesting pod casts.  However, RDF doesn't go far enough to make meaningful statements allowing reasoning about those resources.   Hendler, Berners-Lee, and Miller elaborate on the Semantic Web in their paper Integrating Applications on the Semantic Web14.

OWL is intended to support meaning to be attached to objects and meaningful relationships to be defined between objects.  It has some of the elements of an object oriented programming language but it is intended for description and discovery rather than processing instructions and algorithms, as a programming language is.  OWL adds more capability to RDF, including reasoning about properties and classes, disjointness and other relations between classes, cardinality of relations (for example 'one-to-one')..

OWL is systematically described by the World Wide Web Consortium (W3C) 2004 OWL Web Ontology Language Reference3.    The OWL Web Ontology Language Overview4 is a more informal overview.  The OWL Web Ontology Language Guide5 is a demonstration of the technology.  The formal description of OWL is provided in OWL Web Ontology Language Semantics and Abstract Syntax6.

There are three flavors of OWL:

  • OWL Lite is intended primarily for classification hierarchy and simple constraints.  It is appropriate for taxonomies.
  • OWL DL (Description Logics) includes the full OWL language with certain restrictions to allow guarantees for computability
  • OWL Full removes the restrictions on the use of language constructs in OWL DL and looses the computational guarantees.

OWL Lite

A property (or relation) may be an inverse of another property. If property R1 is the inverse of the property R2 and X is related to Y by R2, then Y is related to X by the R1. For example, if hasWife is the inverse of hasHusband and Fred hasWife Wilma then Wilma hasHusband Fred.  Some properties may be their own inverse.  For example, hasSpouse is its own inverse because if Fred hasSpouse Wilma then that Wilma hasSpouse Fred. 

A property P is transitive if for every instance Y related to X by P (X→Y) then if instance Z related to Y by R (Y→Z) it implies that Z is related to X by R (X→Z).  The property trusts is defined as transitive in many security models.  In that model if Fred trusts Barney and Barney trusts Joe then it is implied that Fred trusts Joe. 

A property P is symmetric if for every Y related to X by P (X→Y), X is also related to Y by P (Y→X). For example, if the property trusts is mutual then it can be considered symmetric. In a mutual trust model if Fred trusts Wilma then Wilma trusts Fred.

OWL Lite also has an intersectionOf constructor with the usual set interpretation.



Tools

There a number of tools available for working with OWL and many of them are freely available.  This section lists some of them and the references section at the end of this article lists more.

Protégé15 from Stanford University is an open source ontology editor and knowledge-base framework.  OWLDoc is a tool that generates JavaDoc style html page documentation for an OWL ontology.  It works as a plug-in for Protege.   Protégé was used to edit the OWL documents in this article. 

Searching ontologies is something that most projects are going to need to do.  XML in general can be searched with XPath, a standard from the W3C31.  XPath is implemented by most eXensible Style Sheet Language Transformation (XSLT) processors.  Xalan is the XSLT processor used in the XSLT example in the related article Introduction to Extensible Markup Language for Chemistry and Biosciences.

XPath is a query language that can retrieve a selection of nodes from the input documents, or an atomic value, or more generally, any sequence allowed by the data model.  This can be enough for many applications but the more specific language SPARQL, which is a query language for RDF32.  McCarthy33,34 discusses the use of SPARQL.  ARQ35 is a SPARQL Processor for Jena. An online demo is provided at the sparql.org site36.

Previous  Next
Contents  References


Please send ideas and opinions by email at webmaster@medicalcomputing.net or add comments to my blog.  The content may become part of the web site.

© Alex Amies 2006