[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: An approach to describing the relationships between units-of-measure

  • To: xml-dev@l...
  • Subject: Re: An approach to describing the relationships between units-of-measure
  • From: "Roger L. Costello" <costello@m...>
  • Date: Tue, 22 Jul 2003 07:06:04 -0400
  • Cc: "Costello,Roger L." <costello@m...>
  • Organization: The MITRE Corporation

kilometer mile
Hi Folks,

Thanks for the excellent discussions.  Below I summarize
three of the issues that were raised.  Comments welcome.
/Roger
---------------------------------------------------------------

ISSUE #1: Incorporate Tolerance into Set Definition

The discussions noted that this set definition:

    {(k, m) | k = m * 1.62}

is not particularly useful since, due to precision 
differences, many (k, m) pairs would be rejected that 
we really want considered to be contained in the set.

Tolerance needs to be directly incorporated into the set 
definition:

    {(k, m, t) | k - (m * 1.62) <= t}

"The set of all k (kilometer), m (mile), and t (tolerance) 
triples such that k minus m times 1.62 is less than or equal 
to t."

In other words, this is the set of kilometer/mile pairs 
that is within a certain tolerance.

Examples:

If tolerance = 2 then

    (6340, 3914) is in the set.
    (6340, 3915) is NOT in the set.
    (6341, 3914) is in the set.
    (6339, 3914) is in the set.

The narrower the value for tolerance, the smaller the set.
The broader the value for tolerance, the bigger the set.

This ability to define "fuzzy sets" is very powerful.

Here is how the Distance class should be specified:

<Class id="Distance">
    <equivalentInstances>
        {(k, m, t) | k - (m * 1.62) <= t}
    </equivalentInstances>
</Class>

ISSUE #2: Identify which UOMs are being Related

Note: UOMs = unit-of-measures

The discussions also pointed out that there needs to be a way 
of identifying the units-of-measure that the set is relating.

I would like to propose that the UOMs being related 
be identified in the set definition:

{(k:kilometer, m:mile, t:tolerance) | k - (m * 1.62) <= t}

"The set of all k (of type kilometer), m (of type mile), 
and t (of type tolerance) triples such that ..."

MathML has a rather nice way of associating a symbol
with a type.

MathML has an attribute called definitionURL.  Here is 
how it is defined:

definitionURL: specifies a URL that contains information on
the semantics of the symbol.

definitionURL can be used to associate "k" with a standard 
definition of kilometer, and "m" with a standard definition 
of mile.

Here is how it can be used in the set definition:

<Class id="Distance">
    <equivalentInstances>
        <!-- S = {(k:kilometer, m:mile, t:tolerance) | k - (m * 1.62) <=
t}-->
        <math>
            <declare type="set">
                <ci>S<ci>
                <set>
                    <bvar>
                         <ci
definitionURL="http://www.nist.org#kilometer">k</ci>
                    </bvar>
                    <bvar>
                         <ci
definitionURL="http://www.nist.org#mile">m</ci>
                    </bvar>
                    <bvar>
                         <ci
definitionURL="http://www.nist.org#tolerance">tolerance</ci>
                    </bvar>
                    <condition>
                        ...
                    </condition>
                    <list><ci>k</ci><ci>m</ci><ci>tolerance</ci></list>
                </set>
            </declare>
        </math>
    </equivalentInstances>
</Class>

Through the use of definitionURL we can unambiguously
state:

    "This <equivalentInstances> element contains the set
     definition for equivalent kilometer/mile pairs."

What do you think about using MathML's definitionURL
for identifying which UOMs are being related?  Do you
think that it is too "implicit"?  Perhaps it needs to 
be stated more explicitly?

ISSUE #3: Reusing Set Definitions

Rather than burying set definitions within a class,
it would be beneficial to make the set definitions
standalone so that they can be reused, e.g.,

kilometer-to-mile = {(k:kilometer, m:mile, t:tolerance) | k - (m * 1.62)
<= t}

<Class id="Distance">
    <equivalentInstances resource="#kilometer-to-mile">
</Class>

The set is defined and associated with a name 
(e.g., kilometer-to-mile).  Then, a class simply 
references the set name.

Thoughts on this?  /Roger


PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.