Mostly a fully automatic translation through deepl - I started to think about this in german...
Or Reify vs. RDF Star. Or Davidsonian event semantics for modeling.
I think I got the above example with Caesar from John Sowa's "Knowledge Representation", that I unfortunately lent and never got back, so the exact page reference is missing.
John Sowa describes there as far as I remember that the naive representation of e.g. Brutus murdering Caesar as stabbed(Brutus, Caesar)
used in many introductions to formal logic is not very useful. A question like "When did Brutus stab Caesar?" cannot be answered with this. For such additional information we need to represent the event as a separate individual, as an event, this is the only way to represent additional information.
This way of representing an event as its own individual was made famous in the 1960s, especially by Donald Davidson. He postulated that every action verb represents an action, an event, and this event must be represented accordingly. In language processing (NLP), this is called reification.
The confusingly named "reification" syntax snippet of RDF that allows a triple to be treated as a "thing", a target of an attribute is not, to me, reification in the above sense. And the oft-made statement that reification in RDF is a bad idea refers to this syntax, not to the idea of reification or the underlying event semantics.
To write more easily about RDF reification syntax, I use here the RDF-Star syntax under development, which was initially designed to be a pure simplification of RDF reification, though it is now being slightly extended.
Despite this, the simple form of RDF-Star allows a statement about a triple to be written much as in classical reification, only more elegantly: <:Brutus :stabbed :Caesar>> :ptim "-0044-03-15T00:00:00"^^xsd:dateTime.
This could be a way to add more information to the naive model, but in my opinion it mixes modeling and metamodeling.
"The murder" of Caesar is part of the world being modeled (Uiniverse of Discourse, UoD), as you can see just from the fact that we talk about it that way in normal speech. Much like we talk about "my friendship with X" and "my appointment with customer X".
And that is exactly how such an event should be modeled, as its own individual in the model language, be it formal logic or RDF.
RDF reification or RDF star plays an important role in meta information about a triple, in my opinion. For both the origin and the moment of input (transaction time), and the editor of an information, RDF star can provide a good syntax without burdening the modeling of the UoD.
More triples by directly modeling reification?
A counter-argument against representing such an event in RDF as an individual is "we then need many more triples", which may lead to worse performance.
And for the simple representation this is true: we need at least two instead of one triple so 100% more triples. This is a lot and a possibly resulting performance degradation is a reason to omit this in itself correct modeling,
But as soon as we need more information about what is happening, the difference between both solutions becomes smaller and smaller. If I have four additional information so the difference stands only with five to six triples in the representation, which will have hardly still a crucial influence on the performance.
On the other hand I can represent the whole process with correct modeling, because finally it is by no means so that only Brutus stabbed Caesar. There were, after all, at least 20 Caesar killers, which is simply not representable in the simple :Brutus :stabbed :Caesar
, not even with RDF-Star.
Dangers of reification
Replacing verbs with nouns is also called nominalization in coaching, for example, and is viewed rather suspiciously. When someone says he "is" afraid, this statement hides the verb and the agent: he is afraid. And the habit of calling this being afraid a thing, of reifying it, can make it harder to stop being afraid, because there is this bad "thing" called fear that "one" can't get rid of.
A slightly different case is a "suspect" who is, after all, more of a "suspect", that is, in this reification of "suspect", the property is assigned to the person who is suspected, rather than to the person who suspects him. Thus, "a suspicion" can stick to someone innocent, because the - falsely - suspect is blanked out in the language.
A friend made me think of reification as an administrative act: a "move" may be treated as a thing, as a reification of "Mr. Maier is moving today," but confusing this "move" with reality can lead to false expectations. I myself have "moved" over a period of half a year, and mail to one of my addresses might not have been read for a month, and a database entry "moving from X on Y to Z" can lead to incorrect addressing.
Despite this, I think event semantics is a useful way to model processes. As long as you remain aware (!) that you're still blocking out parts of reality. Making verbs into things also means blocking out all the changes between those things. A bit like the bad habit of connecting discrete measurement points taken by the hour with a line, suggesting that one knows what would have been measured in the time in between. Measuring performance every minute tells me nothing may hide the important memory bottlenecks between these measurement points.
Literature
- Knowledge Representation, 2000, John Sowa
- The Logical Form of Action Sentences. (1966 lecture). In: The Logic of Decision and Action. Ed. by Nicholas Rescher, Pittsburgh 1967, pp. 81-120
- Demystifying OWL for the Enterprise, 2018, Michael Uschold
- Why I'm not exited about RDF-Star, 2022, Dean Allemang