OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

unitsml message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: FW: UnitsML and RDF


Dear Colleagues,
I'm forwarding this reply to the OASIS UnitsML list.

Curt,
I forgot to mention that only TC members can use the OASIS list; you can use the comment list, but that only sends the message to the secretary and chair of the TC.

    -Bob

-----Original Message-----
From: Curt Arnold [mailto:Curt.Arnold@modec.com] 
Sent: Tuesday, September 15, 2009 5:31 PM
To: Dragoset, Robert A.
Cc: unitsml@lists.oasis-open.org; Joseph.F.Solsky@usace.army.mil
Subject: RE: UnitsML and RDF

Thanks for the response.

First, the comment on URI was specifically dealing with identifying a unit instead of locating a definition of a unit.  If UnitDB provided a canonical URI for a unit, say something like:

http://www.nist.gov/unitdb#m3

Then anyplace that I saw that URI appear, I would be able to recognize that it was the same unit as every other occurrence of that URI and would be able to know if it was the same as the unit I have in my cached copy of UnitDB or my program might have knowledge that that is a cubic meter and behave appropriately.  All that would work without needing to fetch the definition of the unit.

For more background, see http://www.w3.org/TR/cooluris/.  

After a little more thought, I think it is likely best to represent dimensional units in RDF using the datatype instead of the predicate.  For background (and I'm sure I'm butchering it), RDF's essential atom is the statement which contains a subject that is identified with a URI, a predicate identified with a URI and either an Object that is identified with a URI or a literal value which has a textual representation and optionally a language attribute and a datatype attribute identified with a URI.  The datatype is generally the URI for an XML Schema datatype.

If you wanted to say that the current temperature in Houston is 88 F, you would need a URI for Houston (this subject), a URI for current temperature (the predicate) and a literal 88^(datatype URI for degrees farenheit), the value.


It would be useful to have some convention to use unit URI as datatypes.  Basically, that applications could either interpret the unit URI when used in a datatype context as, say, XML Schema's double datatype where the value space is interpreted in that unit, or provide some pattern to merge the URI of the base datatype and the URI of the unit to identify a typed value that is interpreted in that unit.

I haven't carefully looked at the schema, but it would be desirable if there were some area for user extensions for conversions.  So a user could have acceptable UnitDB file that contained, for example, API gravity as a mass density unit, that other users might be able to recognize as a density unit even if they could not process the extension content that defines how that could be converted to the base unit.

On that topic, what are the thoughts about units that are inversely related (mass density and specific volume)?





________________________________________
From: Dragoset, Robert A. [mailto:robert.dragoset@nist.gov] 
Sent: Tuesday, September 15, 2009 3:43 PM
To: Curt Arnold
Cc: unitsml@lists.oasis-open.org; Joseph.F.Solsky@usace.army.mil
Subject: RE: UnitsML and RDF

Dear Curt,
 
I've added a few comments to your message below. I've also copied the OASIS UnitsML TC, because some of the members may have additional comments. I hope you find the information to be useful.
 
Sincerely,
Bob Dragoset
 
Robert A. Dragoset, physicist
Chair of the OASIS UnitsML TC
Physics Laboratory
National Institute of Standards and Technology

NIST
100 Bureau Drive, Stop 8400
Gaithersburg, MD 20899
Phone: 301-975-3718
Email: dragoset@nist.gov
Website: http://physics.nist.gov

 
-----Original Message-----
From: Curt Arnold [mailto:Curt.Arnold@modec.com] 
Sent: Friday, September 11, 2009 2:01 PM
To: Dragoset, Robert A.
Subject: UnitsML and RDF
 
I ran into UnitsML as I was scouring the web trying to find a URI scheme
for units for use in an RDF application under development.  I scanned
the UnitsML guidelines and schema and saw pieces that could be applied
to RDF, but had a few places that were unclear.  The following are just
some initial thoughts and questions.
 
The examples of referencing a unit using an URI show using a relative
URI.  I was assume that that the more common use (and the essential
pattern for URI) would be to use an absolute URI would could be
establishing using the XML Base recommendation, something like:
 
<UnitsML
xmlns="urn:oasis:names:tc:unitsml:schema:xsd:UnitsMLSchema-0.9.18"
xml:base="http://www.example.gov/2009/09/UnitsDB";>
<UnitSet>
        <Unit unitID="BAR".../>
</UnitSet>
</UnitsML>
 
The unit definition could be referred to as
"http://www.example.gov/2009/09/UnitsDB#BAR";.
 
****You're probably correct in that the units being referred to (with all of the detailed information) will more frequently be contained in a separate file or database rather than being included in each instance document.****
 
****Unless there is a great demand for it, we cannot guarantee that UnitsDB would be available 24/7, which is why we would expect that developers would maintain their own "database" as a static file (possibly based on output from UnitsDB). If 24/7 access to UnitsDB is not essential, then your example is fine. NIST does have experience with providing networked  time data on a 24/7 basis to the financial community, so we would consider providing 24/7 access to UnitsDB if we thought it was essential to our user communities, but we would need to ensure that resources were available for this service. ****
 
My first instinct to apply UnitsML to RDF would be to allow unit URIs to
act as predicates, something along the line of
 
<rdf:RDF xmlns:rdf="..."
xmlns:exampleunit="http://www.example.gov/2009/09/UnitsDB#";>
   <rdf:Description rdf:about="http://www.example.gov/something";>
        <exampleunit:BAR
rdf:type="http://www.w3.org/2001/XMLSchema#double";>0.15</exampleunit:BAR
>
    </rdf:Description>
</rdf:RDF?
 
Which basically makes a statement about
"http://www.example.gov/something"; where the BAR unit is the predicate
and the value is 0.15.  Not sure if it is appropriate to reuse the unit
URI as a predicate, but it is very tempting.
 
****I'm not familiar with RDF, and I'm more experienced with developing UnitsML than using it, so I won't comment on this section other than it seems to be fine. ****
 
I was a bit surprised that the only fallback for a conversion that could
not be represented as a Float64Conversion was plain text.  Was there any
consideration of an Javascript function, MathML apply element, or other
executable representation?
 
****We actually considered adding more functionality, such as an element for MathML, but decided to consider that and other options after recommending version 1.0 of the UnitsML Schema. ****
 
 


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]