Open ericprud opened 3 years ago
That change was inspired by the original Notation3 Team Submission with the idea that long IRIs (URIs, then) could be broken up across different lines. However, the N3 CG later rejected the change, because of the potential to blow up parsers if it's malformed. Not unlike ANON ::= '[' WS* ']'
which could also blow-up.
There were some additional considerations, considering that <=
is a token, and we briefly considered <-
.
Although, because it's not an unprecedented use of whitespace within a token, it could be revisited if there was sufficient interest.
In a similar vein, @pchampin suggested changing the ObjectList production (or equivalent), to allow a dangling ,
. For example, change to [79] ObjectList ::= Object ( ',' Object? )*
. This would be consistent with the dangling ;
allowed in [77] PropertyListNotEmpty ::= Verb ObjectList ( ';' ( Verb ObjectList )? )*
.
Why?
Folks like @gkellogg are innovating on the N3 grammar with changes like https://github.com/w3c/N3/pull/37/files#diff-0f5ba1fe6835360f9e192917b201bfe2R100 . We might want to mirror the applicable changes (e.g. changes to terminals for IRI but not N3-specific stuff like tokens for log:implies).
Previous work
The beauty of this is that N3 folks do all the work for us.
Proposed solution
watch and copy
Considerations for backward compatibility
Even if SPARQL 1.1 isn't magically forward-compatible with SPARQL 1.2, certain tools like URL scrapers might be. Changing fundamental terminals could break those.