- From: Andy Seaborne <andy@apache.org>
- Date: Sat, 14 Oct 2023 10:43:09 +0100
- To: Pierre-Antoine Champin <pierre-antoine@w3.org>, public-rdf-star-wg@w3.org
On 12/10/2023 15:15, Pierre-Antoine Champin wrote: The issue of nested/recursion has already come up on github. https://github.com/w3c/rdf-concepts/pull/67#discussion_r1358739743 On this one part of Pierre-Antoine's email: > > :s :p :o %{g1}. > :s :p :o %{g2}. > :a :b %{g1}. > :c :d %{g2}. > > Seems to be that this one would be equivalent (in the /abstract syntax/) to > > :s :p :o %{g1}. > :a :b %{g1}. > :c :d %{g1}. From our group discussions so far, we seem to be putting graph terms (types) into the abstract data model (c.f. N3) and, by various proposals, having occurrences (tokens) as resources. %{g1} as a reference for a graph term - the text for %{g1} could be replaced by its definition, except N-Quads doesn't work like that. %{g1} isn't in the abstract syntax / data model. I'm assuming, like triple terms (quoted triples), recursive graph terms are not permitted. The symbol %{} being declared is not in-scope for the definition - nested graph terms are possible but cycles are not. USING %{g1} FOR { :s :p :o } USING %{g2} FOR { :s :q { :s :p :o} } %{g2} there is the same as: USING %{g2} FOR { :s :q %{g1} } but USING %{g3} FOR { :s :q %{g3} } is illegal. Re-declaration of {%g1} is either illegal or is replacement (c.f. PREFIX) USING %{g} FOR { :s :p :o1 } USING %{g} FOR { :s :p :o2 } It is not "more triples" which is how N-Quads builds up the graph term. Andy
Received on Saturday, 14 October 2023 09:43:21 UTC