The Need for an Ontology Path Language

Creator: Suzanne Little

Date.Created: 2003-10-14

Data.Updated: 2004-08-18

In the course of the FUSION project, the need has arisen to be able to refer to a specific concept within an OWL ontology in an unambiguous manner. For XML documents XPath is the standard used to reference a particular element. However, as this discussion will demonstrate, this is insufficient for identifying ontological terms. The two questions addressed are

  1. Why is an unambiguous reference to ontology terms needed?
  2. Why is XPath insufficient?

Firstly, specific, unambiguous references to ontology items are needed for defining rules which are implementation independent and utilise the implicit knowledge contained within the ontology. Figure 1 shows a sample rule described in MathML which uses variables in the MathML content indicator element, mathml:ci, to refer to either data (stored in XML documents) or domain concepts (described and defined in OWL ontologies). The same concept also applies to rules described in RuleML where variables are referred to between var and ind tags.

<!-- The mean width of an anode is the mean of the difference between y1 and y2 
coords of the object found in the media. -->
<mathml:reln><mathml:eg/>
  <mathml:ci>/anode/width/mean</mathml:ci>
  <mathml:ci>
    <mathml:mean>
      <mathml:reln><mathml:minus/>
        <mathml:ci>/mpeg7/object[id="x3gr5"]/region/coords/y2</mathml:ci>
        <mathml:ci>/mpeg7/object[id="x3gr5"]/region/coords/y1</mathml:ci>
      </mathml:reln>
    </mathml:mean>
  </mathml:ci>
</mathml:reln>

Figure 1: Sample rule in MathML

The overall structure of the rule is that the "mean width of the anode" equals some value or x = y where x is the "mean anode width" and y is the numerical value. The variable x is a reference to the ontological concept of 'fusion:Fuelcell-abc:contains->fusion:Anode-fusion:width-fusion:mean->fusion:Width' --> this is shown graphically in figure 2.

example fragment of FUSION ontology

Figure 2: Example fragment of the FUSION ontology - graphical

The ontology is formally described in OWL - an XML language. Figure 3 shows a fragment of the FUSION OWL ontology for describing some of the classes and properties displayed in Figure 2. The difficulty arises in explicitly describing the concept that is referred to in the mathml:ci element as firstly the "anode", secondly the "width" property of an "anode" and finally the "mean" of the "width" property of the "anode".

<owl:Class rdf:ID="Anode">
  <rdfs:subClassOf rdf:resource="#Electrode"/>
</owl:Class>
...
<owl:ObjectProperty rdf:ID="mean">
  <rdfs:subPropertyOf rdf:resource="#statisticalQuantifier"/>
</owl:ObjectProperty>
...
<owl:ObjectProperty rdf:ID="width" rdf:type="http://www.w3.org/2002/07/owl#FunctionalProperty">
  <rdfs:subPropertyOf rdf:resource="#dimension"/>
  <rdfs:range rdf:resource="#Width"/>
  <rdfs:domain>
      <owl:Class>
        <owl:unionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#Electrode"/>
          <owl:Class rdf:about="#Electrolyte"/>
        </owl:unionOf>
      </owl:Class>
    </rdfs:domain>
  </owl:ObjectProperty>
...
<owl:Class rdf:ID="Width">
  <rdfs:subClassOf rdf:resource="#Dimension"/>
  <rdfs:subClassOf>
    <owl:Restriction>
      <owl:onProperty rdf:resource="#value"/>
      <owl:allValuesFrom rdf:datatype="http://www.w3.org/2001/XMLSchema#float"/>
    </owl:Restriction>
  </rdfs:subClassOf>
  <rdfs:subClassOf>
    <owl:Restriction>
      <owl:onProperty rdf:resource="#unit"/>
      <owl:allValuesFrom rdf:datatype="http://www.w3.org/2001/XMLSchema#string"/>
    </owl:Restriction>
  </rdfs:subClassOf>
</owl:Class>

Figure 3: Example fragment of the FUSION ontology - OWL format

So if the OWL ontology is described in XML, why can't XPath be used to identify the concept being referred to? XPath uses the XML document's parent-child tree to identify specific elements within the document. However if we look at Figure 3, we can see that while it is possible to identify a particular element (eg: //*/owl:Class[rdf:ID="width"]/rdfs:range/) this will only give us the xml child node of that path (the range of the width property). No information about the subClass/subProperty/domain/range relationships of the ontology can be used since they are not reflected in the document's XML structure. Therefore it is not possible to use XPath to identify and refer to the concept "mean anode width".

Additionally XPath utilises the structure of the XML document and therefore needs to change when the document structure changes. The rules we want to develop should be based where possible on the semantic concepts so the representation can be separated and flexible. This is also the reason why using XPath references to the schema is not a good solution as this is also an implementation dependant path. The XML Schema document also suffers from the same ambiguity when trying to use XPath as ontology XML languages.

What we need is some way, similar to XPath, to explicitly refer to a concept (that is the class-property-class path) defined in an (OWL) ontology within the mathml:ci, ruleml:var or ruleml:ind tags. Then using this reference and the XML Schema documents which link to ontology definition using the xx:semantics attribute, the processing application is able to retrieve (or complete) the required XML elements in the data document.

Updates


Suzanne Little
Last modified: Wed Aug 18 12:03:53 EST 2004