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
****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
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.
****