- From: Simon Schenk <sschenk@uni-koblenz.de>
- Date: Tue, 26 May 2009 11:35:44 +0000
- To: Steve Harris <steve.harris@garlik.com>
- Cc: "Seaborne, Andy" <andy.seaborne@hp.com>, Ivan Mikhailov <imikhailov@openlinksw.com>, Axel Polleres <axel.polleres@deri.org>, "public-rdf-dawg@w3.org" <public-rdf-dawg@w3.org>
- Message-Id: <1243337744.13942.79.camel@tweety>
Am Dienstag, den 26.05.2009, 11:29 +0100 schrieb Steve Harris:
> On 26 May 2009, at 11:10, Simon Schenk wrote:
>
> > Am Montag, den 25.05.2009, 17:48 +0000 schrieb Seaborne, Andy:
> >
> >> Simon/Eric - you gave do you have examples where either MINUS or
> >> EXISTS can not easily be used where EXISTS or MINUS can?
> >>
> >> The distinguishing example is helpful - seem to me that MINUS needs
> >> a slightly artificial form to introduce ?name to be set-compatible
> >> with the preceding pattern. But is this an artefact of the example
> >> and is there a counter example of EXISTs having to be slightly
> >> artificial?
> >>
> >> http://www.w3.org/2009/sparql/wiki/index.php?title=Design:Negation#Distinguish_MINUS_from_UNSAID
> >
> > I don't think there are cases, which can not be expressed using one of
> > the forms: EXISTS can be translated into MINUS by extending the
> > pattern,
> > if necessary. However, MINUS really is a bit ugly in many cases.
> >
> >>> In addition, I still think that EXISTS without FILTER around are a
> >>> bit
> >>> confusing, esp. if the next clause is OPTIONAL {...}.
> >>
> >> I'm tending to both forms although underneath raw EXISTs because I
> >> thing using iut on its own is going to be common. Internally, it
> >> behaves just like a FILTER which is not moved to the end of a BGP.
> >
> > I think FILTER better captures the intended semantics. I am not sure,
> > whether an order dependent inline form is intuitive. On the other
> > hand,
> > aesthetically I like it better. :) Why not completely translate it
> > into
> > a FILTER, including a reordering?
>
> Well, that means that you have to chuck in extra {}s to say what you
> mean, but I'm somewhat sympathetic to the viewpoint. Having two
> syntaxes that do the same thing is a bit odd. I prefer it outside
> FILTER() myself, but not that strongly.
Moreover, we still have !BOUND...
> Won't having it inside FILTER weird the syntax a fair bit? EXISTS(...)
> will have to include the whole BGP enchilada... hopefully except
> FILTER and EXISTS :)
You will need a nesting of FILTER / EXISTS to express double negation.
Yes, there are real world use cases. ;-)
Cheers,
Simon
--
Simon Schenk | ISWeb | Uni Koblenz
http://isweb.uni-koblenz.de
http://www.uni-koblenz.de/~sschenk
Received on Tuesday, 26 May 2009 11:36:22 UTC