Re: candidate requirement: boolean query

On Fri, Jun 18, 2004 at 10:26:09PM +0100, Seaborne, Andy wrote:
> 
> 
> 
> -------- Original Message --------
> > From: public-rdf-dawg-request@w3.org <>
> > Date: 
> > 
> > On Fri, Jun 18, 2004 at 02:52:10PM +0100, Seaborne, Andy wrote:
> > > 
> > > -------- Original Message --------
> > > > From: Kendall Clark <>
> > > > Date: 18 June 2004 13:01
> > > > 
> > > > Folks,
> > > > 
> > > > I'm not wedded to this wording, but I think it at least hints at an
> > > > important requirement. Ideally I'd like some kind of first class
> > > > syntax for a boolean query -- SELECT BOOL or SELECT ? or ASK -- but
> > > > the requirement isn't as much about syntax as it is about being able
> > > > to query a graph and get back TRUE or FALSE.
> > > 
> > > An observation: if we have LIMIT and if we have the trailing flag,
> > > "there was more", then "LIMIT 0" is the same as asking "does this
> > > graph pattern match at all?" and it can be optimized as such on the
> > > server - it would depend on the same decisions elsewhere for
> > > disjunction.
> > 
> > Or LIMIT 1 and no trailing flag.
> > I think you can do all the same things with that.
> 
> In the setting of querying an OWL inferred graph, it is possible to know of
> the existence of a triple without knowing what it is:
> 
> <c> rdfs:subClassOf 
>       [ rdf:type owl:Restriction ;
> 	  owl:onProperty <p> ;
>         owl:minCardinality "1"^^xsd:nonNegativeInteger
>       ] .
> 
> <x> rdf:type <c> .
> 
> then 
> 
>   (<x>  <p>  ?v)
> 
> is true but the system may not know a specific value for ?v

I see your point and call.

I was arguing for just using a LIMIT of n+1 in order to promote
simplicity and consistency. I think the complexity issues you raised
would more than offset the simplicty of striking a flag in the protocol.

So, in this scenario, a query with the boolean flag set expects an
empty response with the boolean-ness set in the there-are-more-solutions
flag. That seems managable (and definable).

> Maybe  system could return a bNode to indicate the existence of something
> not determined and then the "LIMIT 1" approach works.  Using bNodes like
> this does get into an issue of when to stop as there are infinitely many
> solutions to any query of at least one result which don't add any
> information.  That makes the interaction with LIMIT a bit tricky.
> 
> 	Andy
> 
> > 
> > > That is not to say that syntax for it would not be appropriate.
> > 
> > admittedly

-- 
-eric

office: +81.466.49.1170 W3C, Keio Research Institute at SFC,
                        Shonan Fujisawa Campus, Keio University,
                        5322 Endo, Fujisawa, Kanagawa 252-8520
                        JAPAN
        +1.617.258.5741 NE43-344, MIT, Cambridge, MA 02144 USA
cell:   +1.857.222.5741 (does not work in Asia)

(eric@w3.org)
Feel free to forward this message to any list for any purpose other than
email address distribution.

Received on Saturday, 19 June 2004 05:17:05 UTC