- From: Doerthe Arndt <doerthe.arndt@tu-dresden.de>
- Date: Tue, 18 Jun 2024 12:16:12 +0000
- To: William Van Woensel <william.vanwoensel@gmail.com>
- CC: "public-n3-dev@w3.org" <public-n3-dev@w3.org>
- Message-ID: <C6EE7938-BE52-4A2E-9B6B-725975066D10@tu-dresden.de>
Hi William, Sorry for my late answer (I had a computer crash in between). Am 09.06.2024 um 23:42 schrieb William Van Woensel <william.vanwoensel@gmail.com>: Hello everyone, Upon revisiting the N3 grammar, I found some potential issues / ambiguities: - What do you expect the scope of @prefix, @base within these graph terms to be? E.g., @prefix : <http://example.org/> . :a :b { @prefix : <http://anotherexample.org/> . :d :e :f . } . :g :h :i . What should the namespace for :g, :h and :i be? (eye thinks it's the second namespace; jen3 thinks it's the first). https://editor.notation3.org/s/rXp1ZqnM I remember that we discussed that in the community group some time ago (it was in the context of @forSome and @forAll and whether or not they should behave like prefix declarations). Back then, we said in our discussions, that the prefix declaration is an extra logical thing and that everything which comes after the declaration in the document, no matter whether it is nested or not, is then under the new prefix declaration. I do not know whether that is what we want, but that was how I understood what we have. We had this discussion, because technically, we talk about declarations in a set, but we said that here it is about parsing and there, triples have an oder. But: I am open to change that. - According to the grammar<https://w3c.github.io/N3/spec/#grammar>, collections can include any expression; so, also resource paths and (blank node / iri) property lists. Admittedly, I never thought about this much, but I think that only the following should be allowed: iri | blankNode | quickVar | collection | literal | formula. Both eye and jen3 generate the same for the following (adding separate triples outside of the collection): @prefix : <http://example.org/> . :a :b ( :x!:y [ :b 1 ; :c 2 ] :d ) . https://editor.notation3.org/s/zzqFtaaa But is it what people would expect? Or is it useful as a kind of "shorthand"? Here, I am not sure about the concrete problem, maybe you can elaborate? I always see it as an advantage that everything is allowed. Especially since the things you put in your example are just syntactic sugar, I am not sure why we should forbid them. Kind regards, Dörthe William
Received on Tuesday, 18 June 2024 12:16:26 UTC