Taking advantage of OWL's standardization on a relationship vocabulary - need an OWL API?

Hi Folks,

My idea of what OWL is and what are its benefits continues to evolve. 
Here's my current thinking:

OWL provides an XML vocabulary for defining terms and their
relationships.  That is, it provides a *standard* set of elements and
attributes, with *defined semantics*, for defining terms and their
relationships.[1]

No question, this is a huge step forward.  XML was the first step.  This
is the second step.

What I see as lacking is: "how does an application utilize a document
which has been written using the OWL XML vocabulary?"

Consider the Camera OWL Ontology.  It is a document that uses the OWL
XML vocabulary (subClassOf, equivalentProperty, etc) to define terms
(SLR, Camera, etc) and their relationships (SLR is a subClassOf Camera,
etc).  How does an application utilize this information?

Let's take an example.  Suppose my application is processing an XML
instance document that contains <SLR>...</SLR>.  Further, suppose that
my application is searching for Camera information.  Thus, my
application would like to know the relationship between SLR and Camera. 
That relationship information is in the Camera Ontology, but how does my
application find it?

One solution is for my application to parse through the Camera Ontology,
looking for SLR, and any relationship it has to Camera.  If every
application has to write this parsing code then there will be a lot of
rundandant effort.

Another solution is to provide a standard OWL API.  The API has all the
parsing smarts in it. Thus, this parsing code isn't written over and
over.

An example method in an OWL API might be:

    isRelatedBy(term1URI, term2URI)
      possible return values: 
          ---> "subClassOf"
          ---> "equivalentProperty"
          ---> "sameIndividualAs"
          etc

The bottom line is this:

1. I know how to define terms and their relationships using the standard
OWL XML vocabulary.
2. I know how to create XML instance documents that employ the terms
defined in 1.
3. It is not clear to me how to utilize 1 in processing 2.
4. Is a standard OWL API useful?
5. What other approaches are there to programmatically harvesting
information from an OWL document?
6. What do you think?  

/Roger

[1] Note: RDF Schema is, of course, part of this discussion.

Received on Thursday, 24 April 2003 09:24:37 UTC