[Mulgara-dev] ITQL
Paul Gearon
gearon at ieee.org
Sat Jul 12 20:58:22 UTC 2008
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.
Well.... that's my justification for it anyway. :-)
Paul
More information about the Mulgara-dev
mailing list