RE: How to attach a prov graph to an RDF Triple?

Well at least I understood the proposal enough to catch that limitation! 
(I think it also applies to classical reification anyway). 

I agree that you can always model your way out of the problem, and that this is generally the best solution. 

Simon 

-----Original Message-----
From: Olaf Hartig [mailto:olaf.hartig@liu.se] 
Sent: Wednesday, 11 October, 2017 18:54
To: Cox, Simon (L&W, Clayton) <Simon.Cox@csiro.au>
Cc: public-prov-comments@w3.org; L.Svensson@dnb.de
Subject: Re: How to attach a prov graph to an RDF Triple?

Hi Simon,

No, with RDF* it is not possible to _directly_ annotate the same triple with multiple separate groups of metadata. That is the only limitation of RDF* in comparison to RDF reification, singleton properties, and single-triple named graphs.

However, I do not think that this is a real problem. It is always possible to model such cases by introducing a proxy resource for every group of metadata. In the PROV case this happens automatically because the PROV activities are such type of proxies. For instance, for the triple (:bob, foaf:age, 23), you may have (in Turtle*):

<<:bob foaf:age 23>>  prov:wasGeneratedBy  exc:gen1 .
exc:gen1  rdf:type  prov:Activity .

...and now all the information about how the triple was generated can be captured in terms of the activity exc:gen1.
If the same triple, (:bob, foaf:age, 23), was generated again, you may simply do:

<<:bob foaf:age 23>>  prov:wasGeneratedBy  exc:gen2 .
exc:gen2  rdf:type  prov:Activity .

...and use activity exc:gen2 to capture all the information about this second way of generating the triple.

A similar modeling approach can be used for the isMarriedTo example that you refer to. I should mention, however, that in my opinion this example in the singleton properties paper is a misleading example of bad modeling practice, because it mixes metadata about the triple(s) and additional statements about the relationship represented by the triple.
I mean, some of the predicates that they mention are metadata (hasSource, extractedOn, hasScore), whereas the others are not (hasStart, hasEnd, tookPlaceAt). The metadata ones can be combined via proxy resources as I mentioned above, and for modeling the non-metadata ones it would be better to replace the single triple by multiple triples that talk about a marriage entity (with bride, groom, start, end, etc).

Best,
Olaf



On Wed, 2017-10-11 at 05:00 +0000, Simon.Cox@csiro.au wrote:
> That's interesting Olaf. 
> Does it accommodate the case from the original singleton property proposal https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4350149/ where there can be more than one triple with the same object, predicate and subject, with different metadata? 
> (T1:   BobDylan   isMarriedTo#1   SaraLownds, and
> T5:   BobDylan   isMarriedTo#2   SaraLownds. )
> 
> Simon Cox
> 
> 
> -----Original Message-----
> From: Olaf Hartig [mailto:olaf.hartig@liu.se]
> Sent: Wednesday, 11 October, 2017 06:58
> To: public-prov-comments@w3.org
> Cc: Svensson, Lars <L.Svensson@dnb.de>
> Subject: Re: How to attach a prov graph to an RDF Triple?
> 
> Hi Lars,
> 
> There is another approach that we are currently working on. It goes by 
> the name RDF* and SPARQL*. The basic idea is to allow for nesting of 
> triples and, similarly, nesting of triple patterns in queries. Find a 
> short, 4-pages description of the proposal and of our initial results 
> in the following
> document:
> 
> http://olafhartig.de/files/Hartig_ISWC2017_RDFStarPosterPaper.pdf

> 
> The document also includes pointers to more detailed documents.
> 
> Let me know if you have any questions about it.
> 
> Best,
> Olaf
> 
> 
> On tisdag 10 oktober 2017 kl. 12:59:10 CEST Svensson, Lars wrote:
> > Dear all,
> > 
> > This might be a question that has been asked before, but I couldn't 
> > find anything in the list archives. Please just direct me to the 
> > previous discussion, should there be one.
>  
> > In my application I want to make assertions about a specific triple 
> > in my RDF graph. The creation of the provenance graph is fairly 
> > straightforward, but I'm still at odds how to attach the provenance 
> > graph to the triple. So far I've found two ways of doing this:
>  1) Reifying the triple and then
> > attach the provenance graph to the rdf:Statement. 2) Creating named 
> > graphs (possibly one per triple) and attach the provenance graph to 
> > the graph identifier.
> > Are there any other ways or best practices on how to do this?
> > 
> > Thanks for any insight,
> > 
> > Lars
> > 
> > *** Lesen. Hören. Wissen. Deutsche Nationalbibliothek ***
> > --
> > Dr. Lars G. Svensson
> > Deutsche Nationalbibliothek
> > Informationsinfrastruktur
> > Adickesallee 1
> > 60322 Frankfurt am Main
> > Telefon: +49 69 1525-1752
> > Telefax: +49 69 1525-1799
> > mailto:l.svensson@dnb.de
> > http://www.dnb.de

> > 
> > 
> 
> 
> 
> 

Received on Thursday, 12 October 2017 07:22:27 UTC