[tmql-wg] Comments against TMQL draft 2006-02-22

Robert Barta rho at bigpond.net.au
Sat Mar 10 22:57:13 EST 2007

On Sat, Mar 10, 2007 at 03:20:04PM +0100, Lars Marius Garshol wrote:
> >[Why isn't navigation along axes a QL thing?]
> >
> >Because it is a model thing? The navigation section is the _only_
> >thing in TMQL which touches TMDM. The rest is vanilla query
> >mechanics. This is an indicator for me, that that part might go
> >elsewhere later.
> Well. Since we all agree that this won't happen now I think we can  
> save time by not discussing this now. (Ie: I don't agree, but it  
> doesn't matter now, so I'll concentrate on issues that do matter now.)

It matters in that I am ramping up arguments agains "TMQL is too big". My
line of argumentation is that there is a reason that SPARQL does not contain

  - predicates (this is ontology stuff)
  - functions (they come externally)
  - model match (this is RDF(S) model semantics)

And TMQL is additionally coupled with CTM because it is MUCH harder to
denote maps than triples.

> I understand. That sounds like a way to meet the requirement I hint  
> at above. I'm curious why this operator was introduced, though. What  
> was the rationale?

The motivation for this shortcut is/was that one may need this a lot
when occurrence values are just missing:

  select $person / name, $person / shoesize || "no shoesize"
  where ...

It also can come handy if you want to implement a function/predicate with
default values:

  likes-to-work-at-university isa tmql:predicate
  tmql:where : """
       is-employed-at (employee: $person, employer: $employer || bond-uni)
     & $person / salary > "100000000000"^http://en.wikipedia.org/wiki/Papua_New_Guinean_kina


More information about the tmql-wg mailing list