- From: Vivien Kraus <vivien@planete-kraus.eu>
- Date: Sun, 12 Nov 2023 23:38:58 +0100
- To: public-n3-dev@w3.org
Dear Notation-3 authors, In the process of implementing Solid, I am starting with a Notation-3 parser. I made good progress, however I am still puzzled about a few aspects of the specification. I intended to use the same parser for both Turtle and Notation3, but the incompatibility between N3 collections and RDF collections is worrying me a bit. It is not explicitely incompatible, but I wonder what would happen if a N3 PATCH request were to modify a RDF collection with a N3 syntax. This is a purely hypothetical problem right now, as Solid won’t accept blank nodes in PATCH requests. I am leaning on the Turtle specification to know how to parse a stream of triples. I believe the parser state and productions described in the Turtle document could be adapted to Notation3 by simply recording the current formula and adjusting for pathes, but I may be missing something still. I use a yacc/bison-like parser generator. It is possible to produce the triples (quads if we are working with formulas) in the correct order, but it requires overloading the IPLSTART, [, ( and { terminals with non-terminals (to mint the new node early) and make sure the triple with the new node is emitted only once. I also had to create a couple extra nonterminals to clear the state for path resolution. The formulaContent rule is hard to translate to yacc/bison, because of the separation dot after n3Statements. The rule for a collection is also hard to translate. I managed to bypass both problems by adding new rules. Other than that, I am not sure what the verb keywords "has expression", "is expression of" and "=" mean. I guess "is expression of" is the same as "<-". Maybe "has expression" is the same as "expression"? I don’t know for "=". In section Relationship to Other Languages, Turtle (5.1), you write about these keywords: All keywords can be optionally preceded by "@", for consistency with the "@prefix" and "@base" keywords. I am not sure this is reflected in the grammar. Best regards, Vivien
Received on Sunday, 12 November 2023 22:40:30 UTC