Re: Unbound vars as blank nodes

Geoff Chappell wrote:
[...]
> That's not to say NULLs won't work. I think a perfectly workable solution is
> to require that all vars mentioned in a pattern element are bound to
> something by that pattern element -- if not to an actual value, then to NULL
> -- and that NULL != NULL. IMHO that would resolve the current execution
> ordering mess (I've heard statements to the contrary but I've never seen a
> counter example). The current approach to specifying preferred execution
> orders is just too fragile. It will be a major obstruction to future
> versions of the language - e.g. good luck using sparql (squint and construct
> looks like a rule construction) as any sort of a rule language with all of
> these ordering dependencies built-in.
[...]

I don't think that the "ordering mess" is necessary. My gut fealing is
that optionals are pretty much similar to (left) outer joins in SQL. As
such, it should be possible to give a logical definition of them similar
to the definition for outer joins as given on page 29 of the following
document: http://db.uwaterloo.ca/~david/cs338/lect-SQL3.pdf

--
Arjohn

Received on Wednesday, 23 March 2005 14:46:07 UTC