A neat, but impractical, solution

It occurs to me that one way to manage the distinguished/ 
semidistinguished/nondistinguished mechanism a bit more neatly would  
be to dispense with the distinction between BNodes and query  
variables (except for spelling and syntactic restrictions on  
placements) in queries, and force the range of the variables to  
depend on the query form. That is, SELECT forces distinguished  
variables, and ASK the rest. We could then allow variables to be  
listed in the "head" of the ASK clause (as in the SELECT clause), so  
that the distinction between semi and nondistinguished variables is  
merely projection/listing in the head. You could list BNodes in the  
head just like other query variables, or dispense with them  
altogether, or allow them to have their present form, to wit, being  
dedicately non-distinguished.

Unfortunately, while rather neat, it's not very practical, as people  
are used to using SELECT as their query form (a la SQL) and,  
especially in the RDF case, likely to want semi-distinguished  
variables by default.

But it *would* be neat ;)

Perhaps an argument could be made that violating the SQL expections  
would help people avoid false analogies. This is a common problem  
with things that look similar but behave rather differently, people  
think that they should behave as similarly as they look.

Cheers,
Bijan.

Received on Saturday, 5 August 2006 21:39:47 UTC