- From: Alberto Reggiori <alberto@asemantics.com>
- Date: Wed, 26 Jan 2005 12:21:18 +0100
- To: RDF Data Access Working Group <public-rdf-dawg@w3.org>
in the current editor's draft v1.174 specified grammar the OPTIONAL keyword is also allowed in front of an optional block specified by [] (square brackets) and well as a constraints expression: [7] OptionalGraphPattern ::= 'optional' PatternElement | '[' GraphPattern ']' [8] GraphPattern ::= GraphAndPattern ('union' GraphAndPattern)* [9] GraphAndPattern ::= PatternElement+ [10] PatternElement ::= TriplePattern | GroupGraphPattern | SourceGraphPattern | OptionalGraphPattern | 'and'? Expression making legal queries like: PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?name ?mbox WHERE ( ?x foaf:name ?name ) OPTIONAL [ ( ?x foaf:mbox ?mbox ) ] OPTIONAL AND ( ?x =~ /foo/ ) which is clearly redundancy for the the second triple-pattern, and wrong(?) for the constraints clause. what about getting rid of the OPTIONAL keyword and only allow clearly marked optional blocks? I would prefer to have optional blocks (or one/more triple-patterns and/or constraints) expressed using [] (square brackets) - which would reduce the above [7] production to: [7] OptionalGraphPattern ::= '[' GraphPattern ']' or if you wish to OPTIONAL just a triple-pattern, not sure the simply s/PatternElement/TriplePattern/ in [7] would make the trick - which might make the grammar ambiguous. did this issue come up already in the recent grammar discussions or people implementing OPTIONALs? Yours Alberto - Alberto Reggiori, Senior Partner, R&D @Semantics S.R.L. www.asemantics.com Milan Office
Received on Wednesday, 26 January 2005 11:21:21 UTC