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

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 

Sent by:
17/04/2004 14:51

        cc:     "Bernard Vatant" <>, "Frank van Harmelen 
(E-mail)" <>, "SWBPD" <>, 
"Guus Schreiber" <>
        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: <>.
@prefix xsd: <>.
@prefix rdfs: <>.
@prefix : <>.

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


Received on Saturday, 17 April 2004 09:54:46 UTC