- 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