W3C home > Mailing lists > Public > public-swbp-wg@w3.org > April 2004

RE: [OEP] a Quantity pattern? [was: Re: [UNITS] FAQ : Constraints on data values range] $swbpd

From: Jos De_Roo <jos.deroo@agfa.com>
Date: Sat, 17 Apr 2004 15:54:04 +0200
To: Jos De_Roo <jos.deroo@agfa.com>
Cc: "Bernard Vatant" <bernard.vatant@mondeca.com>, "Frank van Harmelen (E-mail)" <Frank.van.Harmelen@cs.vu.nl>, michael.f.uschold@boeing.com, "SWBPD" <public-swbp-wg@w3.org>, "Guus Schreiber" <schreiber@cs.vu.nl>
Message-ID: <OF7735D219.56029CDB-ONC1256E79.00495F9B-C1256E79.004C30DB@agfa.com>

OEPs... maybe it should have been

:LenthQuantity owl:intersectionOf
    [ a owl:Restriction;
      owl:onProperty :value;
      owl:allValuesFrom xsd:decimal]
    [ a owl:Restriction;
      owl:onProperty :unit;
      owl:allValuesFrom :Unit]).

and then one can ask

_:W :diameterValue [ a :LenthQuantity; :value _:V; :unit _:U].

and get

:myWheel :diameterValue _:7_1. 
_:7_1 :value "15"^^xsd:decimal. 
_:7_1 :unit "cm"^^:Unit. 
_:7_1 a :LenthQuantity.

(the latter triple requires some OWL inferencing of course)

Jos De Roo, AGFA http://www.agfa.com/w3c/jdroo/ 

Sent by: public-swbp-wg-request@w3.org
17/04/2004 14:51

        To:     michael.f.uschold@boeing.com
        cc:     "Bernard Vatant" <bernard.vatant@mondeca.com>, "Frank van Harmelen 
(E-mail)" <Frank.van.Harmelen@cs.vu.nl>, "SWBPD" <public-swbp-wg@w3.org>, 
"Guus Schreiber" <schreiber@cs.vu.nl>
        Subject:        RE: [OEP] a Quantity pattern? [was: Re: [UNITS] FAQ : Constraints on data 
values range]   $swbpd


> How absolutely wonderful a treat to be able to read angle-bracket free 
> With a bit of indentation, we have something very readable indeed.
> ObjectProperty(diameterValue
>                domain(Wheel) 
>                range(LengthQuantity))
> Class(Quantity)
> DatatypeProperty(value
>                  domain(Quantity)
>                  range(xsd:decimal))
> DatatypeProperty(unit
>                  domain(Quantity) 
>                  range(Unit))
> Class(LenthQuantity
>       subClassOf(Quantity)
>       Retriction(unit, allValuesFrom(LengthQuantity))
> Individual(myWheel
>            type(Wheel) 
>            diameterValue(type(LengthQuantity) 
>                          value(15) 
>                          unit(cm)))
> I don't know what this syntax is, but I love it! it has a lot more
> information per character than raw OWL and results in between 500%
> and infinite-fold increase in speed of understanding the content.
> Infinity happens because often I never get over the syntax shock
> to try and understand it.
> Network Inference uses something much like this, for representing 
> I have accepted a number of good arguments on the problems of
> adopting another more human-friendly syntax, and with the abstract
> syntax, in particular. I am still optimistic that in principle it
> is possible to do something along these lines and do much better
> than raw OWL (say as measured in semantic content per character,
> and speed in understanding the content from reading it, both for
> teaching newbies, and for experienced folk). 
> 1. If there were easy ways for such a syntax to be cut/pasted,
>    and that tools would readily import/export the syntax,
>    then this would address one of Jim's excellent points.
> 2. If it can readily be extended to include all of OWL-Full,
>    that solves one major problem with the abstract syntax.
> Are there any showstoppers that I have forgotten?
> I agree that it is not THIS group's job to come up with such
> a syntax, I'm just hoping that one day I can avoid reading raw
> OWL/RDF entirely.

it seems to me that your syntax is indeed intuitive and
also quite similar to

:diameterValue a owl:ObjectProperty;
               rdfs:domain :Wheel;
               rdfs:range :LengthQuantity.
:Quantity a owl:Class.
:value a owl:DatatypeProperty;
       rdfs:domain :Quantity;
       rdfs:range xsd:decimal.
:unit a owl:DatatypeProperty;
      rdfs:domain :Quantity; 
      rdfs:range :Unit.
:LenthQuantity rdfs:subClassOf :Quantity;
               a owl:Retriction;
               owl:onProperty :unit;
               owl:allValuesFrom :LengthQuantity.
:myWheel a :Wheel; 
         :diameterValue [ a :LengthQuantity; 
                          :value "15"^^xsd:decimal; 
                          :unit "cm"^^:Unit].

which is Turtle N3 [1][2] but which has the indispensable
feature that it has qualified names which are resolved
to URI's using

@prefix owl: <http://www.w3.org/2002/07/owl#>.
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix : <http://example.org/eg#>.

and it fullfills your above points 1. and 2.
i.e. there are tools and it includes all of OWL Full.

Jos De Roo, AGFA http://www.agfa.com/w3c/jdroo/

[1] http://www.ilrt.bris.ac.uk/discovery/2004/01/turtle/
[2] http://www.w3.org/DesignIssues/Notation3.html
Received on Saturday, 17 April 2004 09:54:46 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:30:53 UTC