Re: (Round 2) Proposed Extensions to OWL

Hi Folks,

This morning I had an excellent conversation with Tom Passin.  I'd like
to recap our discussion.

1. Two instance documents may express, say, the same length measurement
values using different units.  It would be useful to record the
equivalence of the two values.

2. Two instance documents may be created at different times, and at
different places.  An aggregator tool may be used to discover that the
values in the two instance documents are equivalent.  The aggregator
tool should record that the values in the two instance documents are
equivalent.  Thus, the information about the two instance documents
grows over time.

**** Connecting two separate documents by noting that their values are
equivalent is a very important step!  According to Metcalf's Law, the
value of a collection of documents is related to the square of the
number of connections between the documents.  You might think of the
statement of equivalence as analogous to a hyperlink on the Web. ****

Example: Suppose that an aggregator discovers these two documents (only
the relevant portion of the documents are shown):

Document #1:

<LengthValue rdf:ID="YangtzeRiverLengthInMiles">
          <numericalValue>3914</numericalValue>
          <unitSpecification rdf:resource="#Miles"/>
</LengthValue>

Document #2:

<LengthValue rdf:ID="YangtzeRiverLengthInKilometers">
          <numericalValue>6300</numericalValue>
          <unitSpecification rdf:resource="#Kilometer"/>
</LengthValue>

The aggregator is able to determine (by an unspecified means) that the
two lengths are equivalent.

In the interest of extending the knowledge base the aggregator then
extends the description of one (or both) of the LengthValue resources.
Here is one possible syntax to show that the value in Document #1 is
equivalent to the value in Document #2:

<LengthValue rdf:ID="YangtzeRiverLengthInMiles">
      <owlx:equivalentValueAs rdf:parseType="Collection">
            <owlx:tolerance>0.1%</owlx:tolerance>
            <owlx:sourceValue
rdf:resource="#YangtzeRiverLengthInMiles/numericalValue"/>
            <owlx:targetValue
rdf:resource="#YangtzeRiverLengthInKilometers/numericalValue"/>
            <owlx:sourceUnits rdf:resource="#Miles"/>
            <owlx:targetUnits rdf:resource="#Kilometers"/>
            <owlx:conversion rdf:resource="&NIST;MilesToKilometers"/>
      </owlx:equivalentValueAs>
</LengthValue>

Here's how to read this:  "The YangtzeRiverLengthInMiles has an
equivalentValueAs the YangtzeRiverLengthInKilometers, to within a
tolerance of 0.1%.  The equivalent values are identified by sourceValue
and targetValue.  The matching units are identified by sourceUnits and
targetUnits.  The conversion factor used by the aggregator is
&NIST;MilesToKilometers".

Here's an alternate syntax:

<LengthValue rdf:ID="YangtzeRiverLengthInMiles">
      <owlx:equivalentValueAs rdf:parseType="Collection">
            <owlx:tolerance>0.1%</owlx:tolerance>
            <owlx:source rdf:parseType="Collection">
                  <owlx:sourceValue
rdf:resource="#YangtzeRiverLengthInMiles/numericalValue"/>
                  <owlx:sourceUnits rdf:resource="#Miles"/>
            </owlx:source>
            <owlx:target rdf:parseType="Collection">
                  <owlx:targetValue
rdf:resource="#YangtzeRiverLengthInKilometers/numericalValue"/>
                   <owlx:targetUnits rdf:resource="#Kilometers"/>
            </owlx:source>
            <owlx:conversion rdf:resource="&NIST;MilesToKilometers"/>
      </owlx:equivalentValueAs>
</LengthValue>

Which syntax do you prefer?  Do you have suggestions on a better
syntax?  What do you think about identifying a subpart of a resource:

      rdf:resource="#YangtzeRiverLengthInMiles/numericalValue"

/Roger

Received on Thursday, 10 July 2003 16:19:02 UTC