ontolog-forum
[Top] [All Lists]

Re: [ontolog-forum] N3+, an N3-variant for units

To: "[ontolog-forum] " <ontolog-forum@xxxxxxxxxxxxxxxx>
From: David Leal <david.leal@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 20 Mar 2009 10:44:43 +0000
Message-id: <1.5.4.32.20090320104443.00d48a3c@xxxxxxxxxxxxxxxx>
Dear Joel and other colleagues,    (01)

I agree that assigning a URI to "length" is important. Assigning a URI to
"the metre" is important also.    (02)

Datatypes
---------
There are many ways in which these URIs can be used to represent the length
that is 2 metres. One of these is as a datatype (see
http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/). A datatype assigns a
lexical representation to each member of a value space.    (03)

If the value space is "physical quantity", then a lexical representation of
2 metres within this space can be:
 (lengthURI, metreURI, 2.0) .    (04)

The inclusion of lengthURI within the lexical representation is necessary
because the same unit can be used for different physical quantities. (e.g.
the same unit is valid for moment of force and for energy).    (05)

If the value space is "length", then a lexical representation of 2 metres
can be reduced to:
 (metreURI, 2.0) .    (06)

Adding semantics
----------------
Unfortunately, the datatype approach does not care about the semantics of
metre and length, i.e. that "the metre" is a member of "length". Hence the
datatype approach is limited.    (07)

In practical engineering mathematics, "length" is regarded (usually
unconciously) as a one dimensional vector space over the reals (see
http://mathworld.wolfram.com/VectorSpace.html). This means that there are
two operators defined:    (08)

(+ll) which adds a length to a length and gives a length;
(*rl) which multiplies a real by a length and gives a length.    (09)

It seems obvious that (and can be proved that), given a non-zero length U,
for any length X there exists a real r such that:    (010)

 X = r (*rl) U    (011)

Arbitrarily we can choose U to be "the metre".    (012)

We could seek an rdf/rdfs/owl serialisation of this, but in MathML we
already have a perfectly valid serialisation. It may be better to embed
MathML in rdf/rdfs/owl, rather to invent something new.    (013)

In MathML, 2 metres is simply:    (014)

 <apply>
   <times/>
   <cn>2.0</cn>
   <cn definitionURL="metreURI"/>
 </apply>    (015)

Actually this is not quite right, because the default definition of "times"
is too generic. If we were to be really pedantic, we would assign a URI to
the operator (*rl), and specify that 2.0 represents a real. This gives:    (016)

 <apply>
   <times definitionURL="realTimeLengthURI"/>
   <cn type="real">2.0</cn>
   <cn definitionURL="metreURI"/>
 </apply>    (017)

Best regards,
David    (018)

At 17:38 19/03/2009 -0400, you wrote:
>John wrote:
>
>> The major problems here are not in logic, but ontology.  The
>> most difficult words to define in that passage are 'aspect'
>> and 'quantifiable', which raise an enormous number of logical,
>> linguistic, and philosophical issues.
>
>I disagree, in spite of the number of issues that are raised.  Beyond 
>the "I call this property/you call this an attribute" discussions, there 
>is a common understand of "measure", and yet I have not found a 
>consistent and strong way of representing it.
>
>For the purpose of this discussion I going to define a variant of N3 off 
>the top of my head, I'll call it N3+ (if there is already an N3+ 
>language out there, I apologize).  N3+ is just like N3 except that the 
>data type can be a unit of measure.
>
>     :joel ex:height "2.0"^^si:meter .
>
>So just like "2.0"^^xsd:float maps the character string "2.0" into the 
>number 2.0, "si:meter" not only maps it to same numeric space as 
>xsd:float but also to si:length as the UnitsML quantity "length" (which 
>doesn't have a URI that I've been able to find).
>
>So my mission is to describe si:meter, using rdf/rdfs/owl serialization, 
>that captures those concepts.
>
>> ...but the basic primitives of core CL are very simple
>> and very general.
>
>So in theory I should be able to take this mini language and describe it 
>using CL or IKL, and you should know what this means.  (If there are any 
>EXPRESS, OpenCyc, or other languages that would be better, I would like 
>to hear about them.)
>
>Well, to that end, I printed out ISO IEC 24707 and I'm going to go read 
>it with a cat in my lap and nice cold beverage.  And I'm staying away 
>from vectors :-).
>
>
>Joel
> 
>_________________________________________________________________
>Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
>Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
>Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
>Shared Files: http://ontolog.cim3.net/file/
>Community Wiki: http://ontolog.cim3.net/wiki/ 
>To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J
>To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx
> 
>    (019)

============================================================
David Leal
CAESAR Systems Limited
registered office: 29 Somertrees Avenue, Lee, London SE12 0BS
registered in England no. 2422371
tel:      +44 (0)20 8857 1095
mob:      +44 (0)77 0702 6926
e-mail:   david.leal@xxxxxxxxxxxxxxxxxxx
web site: http://www.caesarsystems.co.uk
============================================================    (020)


_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx    (021)

<Prev in Thread] Current Thread [Next in Thread>