- From: Seaborne, Andy <andy.seaborne@hp.com>
- Date: Mon, 22 Nov 2004 16:48:07 +0000
- To: Dan Connolly <connolly@w3.org>
- CC: RDF Data Access Working Group <public-rdf-dawg@w3.org>
Dan Connolly wrote:
> I'm studying...
>
> "Definition: Constraints
>
> A constraint is a boolean-valued expression of variables and RDF Terms
> that can be applied to restrict query solutions."
>
> I think that should be "and RDF Literals", right?
> i.e.
> AND dc:title < 5
> is not a constraint in that sense, is it?
>
> Nor is
> AND dc:title eq dc:creator
> is it?
Yes - it is. Maybe it shouldn't be, but the following is possible:
dc:title =~ /^http:/ # Test whether http URI
so extension functions may take URIs as arguments.
>
>
> I *think* a constraint is just a boolean function of a solution,
> right? i.e. the constraint
> ?X < 5
> is true of the solution { ?X => 4 } and false for { ?X => 6 }.
Yes - that is the intention.
>
> Looking at it that way gives a definition for
> isBound(expr). Though... isn't isBound always redundant?
Hmm - theer is something odd here.
> Don't all solutions bind all variables?
Optionals cause solutions with unbound variables.
>
> Also, this scares me:
>
> "The following operators work in any type, and will cast values to
> appropriate types before testing: eq, ne"
>
> Design of casting is one of the most time-consuming things a WG
> can do. Please strike that or replace it with a very precise
> pointer into a mature spec (Java or maybe XQuery) that gives
> the casting rules.
Agreed!
The casting should be devolved to F&O mostly. The exceptions are corner cases
like passing bNodes or unbound variables to op:numeric-add etc (it's an error).
Specifcally for eq/ne, which are general "are they the same/different"
operations and are backed by proper operations : example, quoting F&O:
[[
8.2 op:anyURI-equal
op:anyURI-equal($arg1 as xs:anyURI, $arg2 as xs:anyURI) as xs:boolean
Summary: Returns true if $arg1 and $arg2 compare equal on a
codepoint-by-codepoint basis. Otherwise, returns false. This function backs up
the "eq" and "ne" operators on anyURI.
For more details on comparing URIs see [Uniform Resource Identifiers (URI):
Generic Syntax].
]]
Hopefully, they will address the casting issue when that section is properly
draft. I will tweak the current text right now.
>
>
> ref
> http://www.w3.org/2001/sw/DataAccess/rq23/
> $Revision: 1.137 $ of $Date: 2004/11/19 17:44:46 $
Thank you for noting the version.
Andy
Received on Monday, 22 November 2004 16:54:22 UTC