Re: unsaid/not: any champions?

On Mon, Oct 04, 2004 at 08:20:34 +0100, Andy Seaborne wrote:
> >SELECT ?x
> >WHERE   (?x rdf:type foaf:Person)
> >      [ (?x foaf:mbox_sha1sum ?sum) ]
> >AND &dawg:unbound(?sum)
> >
> >( "AND ?sum IS NULL" if we go down the three value logic route )
> >obviously the 2nd example is not as easy to read.
> 
> That's a good example - we can argue that the function evaluation happens 
> after all attempts to bind the variable (pragmatically, we'll need a 
> procedural interpretation to define function calling - I think that means 
> in a logical view, functions may be called multiple times in the same 
> solution for backtracking so no side effects but that is implementation 
> dependent).
> 
> It is more readable (its just a style thing) to have constraints near the 
> place where they make most sense.  Constraints already have to go with 
> blocks and intermixing is possible.  Implementations can reorder to suit
> - implementation freedom is a good reason for having query results not be 
> order dependent.

That a matter of opinion, I slightly prefer the form where the graph
pattern expressions are kept seperate from the constriants.
 
> This also recognizes the duality with the predicate view of constraints in 
> the form of like math:lessThan.

Well, except that (<universe> dawg:unbound ?sum) is a truely wierd graph
pattern, but probably I misunderstood what youre referring to.

- Steve 

Received on Monday, 4 October 2004 20:04:13 UTC