- From: Pierre-Antoine Champin <pierre-antoine@w3.org>
- Date: Fri, 19 Apr 2024 14:52:30 +0200
- To: Thomas Lörtsch <tl@rat.io>, public-rdf-star-wg@w3.org, Gregory Williams <greg@evilfunhouse.com>, Franconi Enrico <franconi@inf.unibz.it>
- Message-ID: <81b1b847-e846-476a-90f7-8a752a112748@w3.org>
Thomas, my response below On 19/04/2024 10:26, Thomas Lörtsch wrote: > Am 18. April 2024 23:04:54 MESZ schrieb Pierre-Antoine Champin<pierre-antoine@w3.org>: >> 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> 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". > Would you agree to rephrasing this in the following way: > a reifier always reifies exactly one thing (or entity), but that thing might be represented by one or multiple not co-refering statements (multiple co-refering statements understood as a special case of the one-statement case). > Oh well, it seemed more elegant when I started to write it down. No I wouldn't agree. Interestingly, at some point, I started writing something similar, but decided against it. Here is why: Your proposed rephrasing relying on a a distinction between "representing" and "referring to / denoting", and I don't think that this distinction is helpful. The way I see it, this is not solving any problem that we have with rdf:reifies, this is merely displacing them to the new relation "represents": * several triples can represent the same thing, but can different things be represented by the same triples ? i.e. is "represent" many-to-one or many-to-one ? * should we have an IRI for this "represent" relation? what are the domain and range of this relation pa > > > tl > > > >> pa >> >>
Attachments
- application/pgp-keys attachment: OpenPGP public key
Received on Friday, 19 April 2024 12:52:34 UTC