Re: CONSTRUCTing illegal triples should be optional

Lee pointed out a small mistake off-list . . . 

On Fri, 2012-07-20 at 12:18 -0400, David Booth wrote:
> Regarding this:
> http://www.w3.org/TR/sparql11-query/#construct
> [[
> If any such instantiation produces a triple containing an unbound
> variable or an illegal RDF construct, such as a literal in subject or
> predicate position, then that triple is not included in the output RDF
> graph.
> ]]
> 
> This really bothers me, because: (a) it unnecessarily couples SPARQL to
> a controversial decision in the RDF WG that may well change in the
> future, i.e., the prohibition against literals as subjects; and (b) it
> forces a conforming implementation to perform checks that its user may
> not want or need.  
> 
> If a user chooses to generate invalid RDF then that is his/her business.
> The SPARQL spec should not prohibit it.  If a particular implementation
> offers the feature of performing this check, then that is fine.  But it
> is unnecessarily draconian to require all implementations to do it.
> 
> I suggest changing the above to:
> [[
> If any such instantiation produces a triple containing an unbound
> variable then that triple MUST NOT be included in the output RDF graph.
> Otherwise, if any such instantiation produces a triple containing any
> illegal RDF construct, such as a literal in subject or predicate
> position, then that triple MAY be excluded from the output RDF graph.
> ]]

Since the output in such a case would not be legal RDF, I should have
worded that last phrase as: " . . . then that triple MAY be excluded
from the output graph."


-- 
David Booth, Ph.D.
http://dbooth.org/

Opinions expressed herein are those of the author and do not necessarily
reflect those of his employer.

Received on Friday, 20 July 2012 17:07:14 UTC