- From: Tim Finin <finin@umbc.edu>
- Date: Thu, 18 Jun 2020 11:44:02 -0400
- To: public-rdf-star@w3.org
- Message-ID: <CAFxDnUXDi+1EetT_keEu=STikq6nT+PQF7zDM06aLneDg_POVg@mail.gmail.com>
While experimenting with RDF* I realized one issue: for some relations, we may have several properties that should be treated as a group. For example, the provenance of a relation extracted from the text of a web page might include a link to the page and the date retrieved. Using the following two RDF* expressions merges the four properties so that we can no longer determine which *:source* and *:retrieved *values go together. << :man :hasSpouse :woman >> :source <http://foo.com/>; :retrieved "2020-06-17"^^xsd:date . << :man :hasSpouse :woman >> :source <http://bar.com/>; :retrieved "2020-01-01"^^xsd:date . Using a traditional RDF reification approach maintains the pairing. :man2 :hasSpouse :woman2 . [ ] a rdf:Statement ; rdf:subject :man2 ; rdf:predicate :hasSpouse ; rdf:object :woman2 ; :source <http://foo.com/> ; :retrieved "2020-06-17"^^xsd:date . [ ] a rdf:Statement ; rdf:subject :man2 ; rdf:predicate :hasSpouse ; rdf:object :woman2 ; :source <http://bar.com/>; :retrieved "2020-01-01"^^xsd:date . A possible solution when using RDF* is to encapsulate associated properties as a blank node entity, as in the following :man3 :hasSpouse :woman3 . << :man3 :hasSpouse :woman3 >> :provenance [ :source <http://foo.com/>; :retrieved "2020-06-17"^^xsd:date ] . << :man3 :hasSpouse :woman3 >> :provenance [ :source <http://bar.com/>; :retrieved "2020-01-01"^^xsd:date ] . However, this approach seems to violate the normal key/value pattern of property graph properties, which could be a compatibility issue. -- Tim Finin, Willard and Lillian Hackerman Chair in Engineering, Computer Science and Electrical Engineering, U. Maryland, Baltimore County, 1000 Hilltop Circle, Baltimore MD 21250. http://umbc.edu/~finin, finin@umbc.edu, tfinin@gmail.com, mobile:410-499-3522
Received on Thursday, 18 June 2020 15:44:53 UTC