[Mulgara-dev] ITQL

Life is hard, and then you die ronald at innovation.ch
Sat Jul 12 22:53:39 UTC 2008


On Sat, Jul 12, 2008 at 03:58:22PM -0500, Paul Gearon wrote:
> On Sat, Jul 12, 2008 at 3:47 PM, Life is hard, and then you die
> <ronald at innovation.ch> wrote:
> > Hmm, let me see if I fully understand this. Given the tql
> >
> >  trans($x <rdf:next> <foo:bar> and $x <rdf:next> $y)
> >
> > you suggest in sparql to express this as
> >
> >  $x rdf:next foo:bar .
> >  $x rdf:next $y .
> >  rdf:next rdf:type mulgara:TransitivePredicate
> >
> >> I like this, since it looks just like using owl:TransitivePredicate,
> >> only it refers to extrinsic statements instead. It also means we don't
> >> have to extend SPARQL to extend the functionality of our
> >> implementation. We just define certain predicates to refer to
> >> extrinsic statements.
> >
> > Maybe I've misunderstood, but semantically this feels weird: I add a
> > constraint and as a result get _more_ results back?
> 
> Well...... yeah. :-)
> 
> Maybe I should be stating that these predicates appear in a new
> graph... but I suppose I haven't since there was no practical need.
> 
> I think there's some semantic justification though (and yes, it's
> "justification" rather than explanation). SPARQL is querying RDF,
> which in turn is "open world". I believe this entitles the graph in
> question to contain any consistent (and ideally, *valid*) information
> that was never explicitly entered. This is the basis for some systems
> to return OWL inferences along with the intrinsic data, for example.
> 
> So your returning data from a theoretically infinite set. Usually
> adding a constraint reduces the result size, but in this case it helps
> reduce the "infinite set" a little more, along the result size to
> expand.

I understand that we're querying over an open-world, and I'm perfectly
fine with statements being returned that weren't explicitly entered,
and I'm fine with the "implicit" graph.

My issue that is we're and'ing two contraints, and a conjunction of A
and B usually returns less than (or same as) A, not more, i.e.
A ⊆ A ⋂ B, for all B.


  Cheers,

  Ronald




More information about the Mulgara-dev mailing list