Re: Well-formedness for option 3

On 28/02/2024 18:36, Franconi Enrico wrote:
>> On 28 Feb 2024, at 17:09, Andy Seaborne <andy@apache.org> wrote:
...
>> A graph written in Turtle only using occurrence and annotation syntax 
>> will be "reification well-formed" but the definition isn't tied to the 
>> macros. It is having triple terms only in the object position of 
>> rdf:nameOf and that can be applied to a N-triples.
> 
> I have shown that these two ways to look at "reification 
> well-formedness” are equivalent, according to my definitions.
> Note that, as I have shown in the “upfront restricted abstract syntax”, 
> well-formedness is more than what you said above.
> 
>> The macros do not allow a graph of just an occurrence because macros 
>> require that the occurrence be used somewhere. The "reification 
>> well-formed" condition does not. That is, a graph that is all 
>> "occurrences" (edges) does not fit the macros.
> 
> *My* definition of reification well-formedness corresponds (as I 
> strongly believe) to the usage of occurrences in triples, so in my case 
> what you are saying is not true. And if you check the  “upfront 
> restricted abstract syntax” you can see that.

The two ways aren't equivalent.

This is how I'm reading the "Best practice" section which defines the 
macro and defines "reification well-formed" (RWF).

"We introduce a macro for triple occurrences"

and "tripleOccurence" is allowed as a subject or object of a triple so 
there must be X3 and X4 to complete a triple.

This is shown in the expansion.

The definition of "reification well-formed" is based on the macro:

"""
An RDF graph which does not contain any triple term nor any rdf:nameOf 
triple but for the ones coming from the expansion of the macro for 
triple occurrences is called reification well-formed.
"""

The graph

   identifier rdf:nameOf triple .

comes under the "graph ::=" of the Upfront Abstract Syntax.

It seems that RWF
"""
Any graph conforming the upfront restricted abstract syntax is always 
reification well-formed.
"""
intends to cover the graph above as well.

   graph ::= ( triple | tripleOccurrence | ...)*

and the expansion is

   ( identifier triple ) . ➡️ identifier rdf:nameOf triple .

     Andy

Received on Thursday, 29 February 2024 11:25:30 UTC