Re: Well-formedness for option 3

On 29 Feb 2024, at 19:26, Gregory Williams <greg@evilfunhouse.com> wrote:
On Feb 29, 2024, at 8:11 AM, Franconi Enrico <franconi@inf.unibz.it> wrote:

They both talk about my birth.
It is the prototypical example of reification of n-ary relations.

They both talk about *different aspects* of your birth. I’ll defer to your understanding of the theoretical grounding of reification here, but I can’t square this example with any use-case I’d want to use with this data.

Note that our “wedding” example has exactly the same flavour: it is a reification of an n-ary relation:
wedding(liz, richard, 1964)
<< :w1 | :liz :wife :richard >> :starts 1964.
<< :w1 | :liz :wedding-start 1964>> :spouse :richard.

birth(:enrico,:rome,1962)
<< :b1 | :enrico :born-in :rome >> :on-date 1962 .
<< :b1 | :enrico :born-on 1962 >> :location :rome .

There’s a relevant W3C Note[1] on this issue with this "N-ary relations and reification in RDF” section:

It may be natural to think of RDF reification when representing n-ary relations. We do not want to use the RDF reification vocabulary to represent n-ary relations in general for the following reasons. The RDF reification vocabulary is designed to talk about statements—individuals that are instances of rdf:Statement. A statement is a object, predicate, subject triple and reification in RDF is used to put additional information about this triple. This information may include the source of the information in the triple, for example. In n-ary relations, however, additional arguments in the relation do not usually characterize the statement but rather provide additional information about the relation instance itself. Thus, it is more natural to talk about instances of a diagnosis relation or a purchase rather than about a statement. In the use cases that we discussed in the note, the intent is to talk about instances of a relation, not about statements about such instances.

I’ve discussed with Alan about this several times during my five years as professor in Manchester (early 2000), and I have always strongly disagreed with him :-)
Reification is THE way to deal with n-ary relations when you have a logic with only binary relations [1,2,3].

I think that’s a pretty good summary of the issue I’m having with this example. I’m coming at it from the perspective of wanting to “talk about statements” (and also about wanting to be able to have model compatibility with LPG edges), and that is very much complicated if the name (or reference, resource, or whatever) used in place of the statement doesn’t actually uniquely identify a statement.

Sure, but reification is not only useful to “talk about statements”, but, as we have seen, it is also useful to deal with n-ary relations, with edges of property graphs, with provenance, etc.
We want RDF-star to be the “assembly language” to represent all these cases.

cheers
—e.

[1] Alessandro Artale, Enrico Franconi: Towards a Logical Foundation of Reification in Modelling Languages. Ontology Makes Sense - Essays in honor of Nicola Guarino, IOS Press 2019: 242-256.
[2]  Alessandro Artale, Enrico Franconi, Rafael Peñaloza, Francesco Sportelli: A Decidable Very Expressive n-ary Description Logic for Database Applications (extended abstract). SEBD 2017.
[3] Alessandro Artale, Enrico Franconi, Rafael Peñaloza, Francesco Sportelli: A Decidable Very Expressive Description Logic for Databases. ISWC (1) 2017: 37-52.

Received on Friday, 1 March 2024 08:38:06 UTC