Re: proposal: a reifier should reify only one "thing"

Pierre-Antoine has shown a different perspective of my argument, and I agree with it.
—e.

On 18 Apr 2024, at 23:05, Pierre-Antoine Champin <pierre-antoine@w3.org> wrote:



Gregory, Enrico, all,

TL/DR; Enrico convinced me to retract my proposal, and accept that a reifier can reify several thing.

On 18/04/2024 17:41, Gregory Williams wrote:
On Apr 18, 2024, at 6:37 AM, Franconi Enrico <franconi@inf.unibz.it><mailto:franconi@inf.unibz.it> wrote:
While I am against this choice on the ground that it would rule out several typical reification use cases, let’s assume I accept it.

We have two ways to look at it:

  1.  the objects denote the same resource, but not their components s,p,o;
  2.  the objects denote the same resource, and also their components s,p,o denote the same resource, respectively.

(1) We can still write triples that Amazon-et-al apparently find confusing (most of us do not):

We all come from diverse backgrounds. I’m not sure if “us” was meant to mean WG members, or the RDF community/users, or something else, but I’d suggest we not make claims about what “most” people are or are not confused by here.

I’m not sure I’d describe myself as being confused by (most of) your proposal, but I do think it addresses use-cases which I myself have never encountered, it adds complexity for implementations, and (for myself) it adds mental complexity as I find the modeling counter to how I would naturally try to approach “statements about statements."

:w1 rdf:reifies <<( :liz : married :richard )>> .
:w1 :location :miami .
:w1 rdf:reifies <<( :liz :married-in :miami )>> .
:w1 :groom :richard .
:w1 rdf:reifies <<( :richard : married :liz )>> .

which by the way entails:
<<( :liz : married :richard )>> owl:same-as <<( :liz :married-in :las-vegas )>> .

I do think this entailment might fall a bit closer towards “confused,” though. I thought I could get myself to an understanding of your reification use-case where the reified :w1 is in some way representing the marriage event. But this new entailment is saying that the triple terms themselves are the same, and I am really struggling to get an intuitive understanding of that. The triples do not represent the same relationship (one between two people, the other between a person and a location), and to me only start to have some connection once the reification or some other modeling of the wedding brings them together as being different aspects of the same event.
Gregory, I think what's confusing you is that you are misinterpreting Enrico's intention with this owl:sameAs entailment.
IIUC, Enrico is not advocating for this entailment. On the contrary, he is pointing out that my proposal would have this kind of undesirable consequences.

Enrico, to be clear:
in my suggestion, this "intended meaning" of rdf:reifies being functional, would not be captured by RDF semantics –just like rdf:subject is meant to be functional, but this is not captured either. So this entailment would not happen under simple entailment nor RDFS entailment. So this would have no negative consequence on the complexity of RDFS reasonners or SPARQL BGP matching.


However the inferences that you describe would still be valid from an abstract point of view, or if someone using OWL decided to enforce this "intended meaning" formally. And I agree, this would be a problem.

Actually, I would like to rephrase your example; 1st to check that I got it correctly, and 2nd, to emphasize why I think it is a valid counter-example of rdf:reifies being functional.

1. Alice publishes the following graph as <a.ttl>

    <#w1> rdf:reifies <<( :liz : married :richard )>> .
    <#w1> :year 1964 .
    <#w2> rdf:reifies <<( :liz : married :richard )>> .
    <#w2> :year 1975 .

I don't expect this one to be controversial, as it complies with the easy-to-explain many-to-one "mode" of rdf:reifies.


2. Bob publishes the following graph as <b.ttl>

    <#w64> rdf:reifies <<( :liz :married-in 1964 )>> .
    <#w64> :groom :richard .

Same comment as above.


3. Charlie then notices that Alice and Bob are actually talking about the same wedding, and states

    <alice.ttl#w1> owl:sameAs <bob.ttl#w64>.

Boom! From there, Charlie infers that

    <<( :liz : married :richard )>> owl:sameAs <<( :liz :married-in 1964 )>>.

Is this really a problem after all? Considering that it leads to the following

    <alice.ttl#w1> rdf:reifies <<(:liz :married-in 1964 )>> ;
        :year 1975.

I believe it is!!
So we have a problem. If we agree that Alice and Bob are entitled to publish those graphs,
we must conclude that either
a) Charlie was wrong in asserting the owl:sameAs between the two wedding, or that
b) we must accept that a given reifier may reify different things.

I strongly believe that Charlie's graph is legit, so I lean towards option b), and I retract my proposal that "a reifier should reify only one thing".

  pa

<OpenPGP_0x9D1EDAEEEF98D438.asc>

Received on Friday, 19 April 2024 05:03:31 UTC