Re: Requirements for a possible "RDF 2.0"

2010/1/18 Kjetil Kjernsmo <kjetil@kjernsmo.net>:
> On Monday 18. January 2010 18:57:37 Danny Ayers wrote:
>> and the ESW Wiki page which has unit-specific examples:
>>
>>    http://esw.w3.org/topic/InterpretationProperties
>>
>> (note in particular the "train wreck" mentioned there - an easy trap
>> to fall into)
>
> Yep, but that page is several years old, and I've seen very little uptake,
> and I tend to think it is because it is too complex. It is not sufficient
> to say that "it can be done", it has be done in a way that people can live
> with. That's why I think this needs attention in RDF 1.1 or 2.0.

I can't see how it could be much simpler.

> I'll just throw something out there:
> @prefix : <http://example.org/> .
> @prefix u: <http://example.org/units> .
>
> :foo :weighs "15"¤u:kg .
> :bar :weighs "20"¤u:lb .
>
> where the ¤ character is used to say the literal has a unit, and expect a
> query like
>
> SELECT sum(?weight) AS ?totalweight¤u:kg
> WHERE {
>  ?var :weighs ?weight .
> }
>
> and
>
> SELECT ?weight
> WHERE {
>  ?var :weighs ?weight .
>  FILTER (?weight > "10"¤u:kg)
> }
>
> and expect that to do the right thing (i.e. 24.07 kg and 15 kg).
>
> It would require some arithmetic on the query engine, but it can't be all
> that difficult, can it?

Why not -

:foo u:kg "15" .
:bar u:lb "20" .

There's still the issue of arithmetic, but something like this, maybe -

SELECT sum(?kgweight + 2.2*?lbweight)

WHERE {
   OPTIONAL {
       ?x u:kg ?kgweight .
   }
   OPTIONAL {
       ?x u:kg ?lbweight .
   }
}

surely easier?

Cheers,
Danny.

Received on Tuesday, 19 January 2010 00:04:56 UTC