Re: Against the notion of reification well-formed graph (i.e., atomicity)

On 1/23/24 03:24, Franconi Enrico wrote:
> 
> 
>> On 22 Jan 2024, at 20:46, Peter F. Patel-Schneider <pfpschneider@gmail.com> 
>> wrote:
>>
>> The mapping from names to triples is not an injection,
> 
>  From what I read in your document:
> 
>     Definition: An RDF graph is reification well-formed iff any node in it
>     that is the subject of a triple in the graph with predicate |rdf:subject|,
>     |rdf:predicate|, or |rdf:object| must be the subject of *_exactly_* one
>     triple in the graph with each of these predicates. /[bold/underline is mine]/
> 
> So, the definition I am reading from you requires a bijection.
> If I am wrong, then I guess we agree

This says nothing about names, only rdf:subject, rdf:predicate, and rdf:object 
links.  It doesn't require *any* bijections.

>> All well-formedness says is that you can't mess up the reification 
>> structures, i.e., you can't add something like
>>
>> :e rdf:subject :t .
>>
>> to the above graph and retain well-formedness.
> 
> I believe that here we are confusing two distinct aspects:
> 
>  1. avoiding dangling links in the expansion to :e rdf:subject :s.
    :e
>     rdf:predicate :p.
    :e rdf:predicate :o.
>  2. having a bijection between triples and their names,
>     which, in turn, should be clarified whether it is intended
>        2a.  syntactically or
>        2b.  semantically

There is no hint of a bijection anywhere, aside from the requirement that 
non-literal nodes in an RDF graph have to be either IRIs or blank nodes.  Even 
this isn't a bijection, really.

> I believe that (1) should be always enforced, while we should not enforce (2) 
> in neither forms 2.a or 2.b.

The proposal's notion of RDF graphs is taken directly from 
/https://www.w3.org/TR/rdf11-concepts/#section-rdf-graph.  Its notion of 
(simple) semantics is taken directly from 
https://www.w3.org/TR/rdf11-mt/#simple-interpretations

In the proposal triples don't have names.  They don't even exist outside of 
being elements of an RDF graph.  There is no suggestion in the proposal of a 
bijection between triples and anything.

What the proposal does talk about is RDF reifications, nodes in an RDF graph 
that are subjects of rdf:subject, rdf:predicate, or rdf:object triples.  The 
well-formedness requirement states that an RDF graph is ill-formed if it has a 
node that is the subject of a triple with any of these predicates and is not 
the subject of exactly one triple with each of these predicates.  No bijection 
between triples and anything is either mentioned or implied.  The notion of 
well-formedness is completely syntactic.

> We should describe in the best practices section the case where users should 
> use RDF* to encode reification with bijection, by just self-imposing such 
> restriction.
> But there are many cases where this shouldn’t be the case.
> It seems that we agree here, so I am happy - but please fix the definition.
> 
> cheers
> —e.
> 
>> On 1/22/24 10:51, Franconi Enrico wrote:
>>> In this message I want to argue against the notion of reification 
>>> well-formed graph (i.e., atomicity).
>>> Adding atomicity violates a necessary aspect of the proposal (as written by 
>>> pfps):
>>> "There is no intended meaning of the new concrete syntax beyond what it 
>>> expands to".
>>> According to atomicity:
>>> (1)
>>> <<:a | :s1 :p1 :o1>> :s :o .
>>> <<:b | :s2 :p2 :o2>> :s :o .
>>> :s1 :same-as :s2 .
>>> :p1 :same-as :p2 .
>>> :o1 :same-as :o2 .
>>> should entail
>>> :a :same-as :b .
>>> Atomicity adds an intended meaning: it assumes that the same triple has 
>>> systematically the same identifier, and therefore (1) should be a valid 
>>> entailment.
>>> If you don’t like entailment (1), then you contradict the intention of 
>>> atomicity, UNLESS you assume full opacity.
>>> (2)
>>> <<:a | :s1 :p1 :o1>> :s :o .
>>> <<:b | :s2 :p2 :o2>> :s :o .
>>> :a :same-as :b .
>>> should entail
>>> :s1 :same-as :s2 .
>>> :p1 :same-as :p2 .
>>> :o1 :same-as :o2 .
>>> Atomicity adds an intended meaning: it assumes that a resource identifies 
>>> at most one triple.
>>> If you don’t like entailment (2), then you contradict the intention of 
>>> atomicity, UNLESS you assume full opacity.
>>> So, (1) and (2) show that _EITHER_ you assume full opacity (and therefore 
>>> you are assuming an intended meaning), _OR_ you accept the above 
>>> entailments (and therefore you are assuming an intended meaning).
>>> Note also that entailments like the above make the life of SPARQL BGP 
>>> matching more complex.
>>> I also understand that most (if not all) use cases assume transparency.
>>> (3)
>>> Atomicity would disallow writing typical reification statements like:
>>> << :w1 | :bill-clinton :related-to :hillary-rodham >> :starts 1975 .
>>> << :w1 | :42nd-potus :husband :1st-female-NY-senator >> :starts 1975 .
>>> cheers
>>> —e.
>>
> 

Received on Tuesday, 23 January 2024 11:22:39 UTC