- From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
- Date: Thu, 25 Jul 2024 15:01:11 -0400
- To: RDF-star Working Group <public-rdf-star-wg@w3.org>
TLDR: Triple terms are not a panacea and not even the best choice for representing things like events. [This message might, or might not, be related to the concerns that Thomas Lörtsch has brought up.] There seems to be a feeling that triple terms can do anything. Although that is technically true, if only because triples can do anything, there are things that triple terms may not be the best solution for. Consider, for example, events (or indeed any other n-ary relationship). Suppose we want to represent events, like marriages, and also want to describe events that are not necessarily true (as far as we are concerned). The old RDF way would be to create nodes for each event, with properties for the roles of the event, as in :m1 a :marriage ; :spouse :liz ; :spouse :conrad ; :start "6 May 1950"^^date ; :place :beverlyhills . :m5 a :marriage ; :spouse :liz ; :spouse :richard ; :start "15 March 1964"^^date ; :place :Ritz-Carlton . :m6 a :marriage ; :spouse :liz ; :spouse :richard ; :start "26 June 1974"^^date ; :place :Chobe . With triple terms it is possible to use edges instead, as in :liz :spouse :conrad . :m1 rdf:reifies << :liz :spouse :conrad >>; :start "6 May 1950"^^date ; :place :beverlyhills . :liz :spouse :richard . :m5 rdf:reifies << :liz :spouse :richard >> :start "15 March 1964"^^date ; :place :Ritz-Carlton . :liz :spouse :richard . :m6 rdf:reifies << :liz :spouse :richard >> :start "26 June 1974"^^date ; :place :Chobe . So far, so good, with a savings of one triple per event, and two for events that reuse a triple term. Note, however, that two of the events do share a triple term, which is an indication that there might be problems. But the edge-based representation has issues related to the node-based one. The edge-based representation elevates two of the property values of the event to primary status and relegates the others to secondary status. The edge-based representation also imposes an order on these two values - one has to be the subject and the other the object. If the relationship is symmetric as is the one above then it is unclear which value to make the subject and which the object. This can be overcome by using two triples but the two-triple solution has its own problems. If one of the events that share a triple term is disputed then things get more difficult and if one wants to keep the edge-centric representation one has to (uniformly) add something stating whether the triple term information is part of an event that actually happened. (Here I am being deliberatively imprecise as the notion itself is imprecise.) :liz :spouse :conrad . :m1 rdf:reifies << :liz :spouse :conrad >> :status :happened ; :start "6 May 1950"^^date ; :place :beverlyhills . :liz :spouse :richard . :m5 rdf:reifies << :liz :spouse :richard >> :status :happened ; :start "15 March 1964"^^date ; :place :Ritz-Carlton . :m6 rdf:reifies << :liz :spouse :richard >> :status :nothappened ; :start "26 June 1974"^^date ; :place :Chobe . In the end, it seems to me that the old way is actually a better way of capturing events. Using triple terms does sometimes provide an easier upgrade path for someone who is already using single triples as the (sole) representation of an event or a state related to an event but as far as I am concerned this is the only reason to use and edge-centric representation for events. peter
Received on Thursday, 25 July 2024 19:01:17 UTC