Re: A proposal for basing quotation and annotation upon blank graphs

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