Re: A single reifier can reify more than one triple term

Dear all,

Just to also join the discussion :)

I agree with Enrico, that it would be nice to allow multiple triples to have the same identifier (for whatever he wants to use it). I would argue for that from another angle:


Let’s start with one of Enrico’s statements

<< :b1 | :enrico :married-in :rome >> :date 1962 .

This is the same as

:b1 :reifies <( :enrico :married-in :rome )>; :date 1962.

If we include equality, and assume that :married-in owl:sameAs :placeOfMarriage, we derive

:b1 :reifies <( :enrico :placeOfMarriage :rome )>; :date 1962.

(referential transparency). Here, we already have two syntactically different triples with the same reifier. But that we can cover through the semantics (I need to check in detail, but I would expect so).

So, let’s assume, that for my use case only the meaning of the fact at hand is important and I furthermore extend my logic by the concept of inverse property (with semantics like in owl). I state :married-in :inverseProperty :isMarriagePlaceOf.

Now, the two triples

:enrico :married-in :rome.

and

:rome :isMarriagePlaceOf :enrico.

Are semantically equivalent, that is, all models of the first triple most also be model of the second one and the other way around. As I am really only interested in the meaning of a triple as a whole, I would want to state

<< :b1 |:rome :isMarriagePlaceOf :enrico >> :date 1962 .

As RDF on itself does not cover all equivalences between triples its logical extensions might add, I would like to keep the option of having different triples with the same identifier open.

Kind regards,
Dörthe



Am 27.03.2024 um 20:05 schrieb Franconi Enrico <franconi@inf.unibz.it>:



On 27 Mar 2024, at 15:17, Gregory Williams <greg@evilfunhouse.com> wrote:

I think there are many use cases for RDF-star that are not primarily focused on reification, and I wonder if the tentative agreement over the `rdf:reifies` naming didn't tacitly shift the discussion a bit in this regard. We seem to be talking a lot more about n-ary relations now, rather than “statements about statements.” I'm interested mostly in triple-level provenance/annotation, and improved interoperability with LPG data, while you seem primarily focused on reifications with n-ary relationship, and I think this discussion is revealing that the varying desires can be at odds with each other.

OK, your use case is well covered by our formalisation. Why do you want to prevent that other use case could be covered by this formalisation?
Modal cases (namely, another case of statements about statements) undergoes the same issues I’m emphasising.

:john :believes << :b1 | :enrico :married-in :rome >>  .
<< :b1 | :enrico :married-in :rome >> :date 1962 .
<< :b1 | :enrico :married-on 1962 >> :location :rome .
<< :b1 | :enrico :married-in :rome >> :location :rome .
<< :b1 | :enrico :married-on 1962 >> :date 1962 .

—e.

Received on Thursday, 28 March 2024 14:00:44 UTC