- From: Franconi Enrico <franconi@inf.unibz.it>
- Date: Mon, 25 Mar 2024 08:12:01 +0000
- To: RDF-star Working Group <public-rdf-star-wg@w3.org>
- Message-ID: <5CD55EBF-0A16-4E0A-972A-0D3130FF341C@inf.unibz.it>
I wish to insist on the meaningfulness of my example: << :b1 | :enrico :born-in :rome >> :date 1962 . << :b1 | :enrico :born-on 1962 >> :location :rome . Please read on to understand my argument. Suppose there is a database in the registry office: BIRTH-CERTIFICATE +-----+---------+----------+------+ | ID | name | location | date | +-----+---------+----------+------+ | :b1 | :enrico | :rome | 1962 | | :b2 | :mary | :rome | 1962 | | :b3 | :enrico | :rome | 1980 | | :b4 | :mary | :rome | 1980 | | :b5 | :enrico | :milan | 1962 | | :b6 | :mary | :milan | 1962 | | :b7 | :enrico | :milan | 1980 | | :b8 | :mary | :milan | 1980 | +-----+---------+----------+------+ Primary Key: ID Alternate Key: name, location, date It is important to notice that no pair among the three attributes name, location, date is sufficient to identify a birth certificate. Two departments decide to expose this data as LOD, but in different ways. Generated graph-1: << :b1 | :enrico :born-in :rome >> :date 1962 . << :b2 | :mary :born-in :rome >> :date 1962 . << :b3 | :enrico :born-in :rome >> :date 1980 . etc Observe that they had to choose a different name for the attribute within the context of the triple term: this is because the predicate :born-in in the triple term relates the name of a person with its birth location, as opposed the attribute :location which relates a birth certificate with the birth location of the name of a person at a certain date. Similarly for the second department - they also changed the predicate :date to :born-on: Generated graph-2: << :b1 | :enrico :born-on 1962 >> :location :rome . << :b2 | :mary :born-on 1962 >> :location :rome . etc If we merge the two LOD graphs (set union): << :b1 | :enrico :born-in :rome >> :date 1962 . << :b1 | :enrico :born-on 1962 >> :location :rome . etc which entails << :b1 | :enrico :born-in :rome >> :location :rome . << :b1 | :enrico :born-on 1962 >> :date 1962 . etc ➡️ Observe that even if it seems that there is redundant information, the predicates are different (:born-in vs :location, and :born-on vs :date). This is because they serve different purposes: one applies to the name of a person, the other applies to a certificate. I hope this clarifies: 1. the need to allow a reifier to reify two distinct triple terms; 2. the possibility to express the same information in different ways. cheers —e.
Received on Monday, 25 March 2024 08:12:09 UTC