Re: Annotation creation and updates

Hi Paolo,

Personally, I think the external PROV approach (link to provenance info) is attractive in the sense that it is generic, can be used for annotations and any kind of other resources. Separation of concerns.

At the REST workshop at the recent WWW, there was this paper that showed how PROV information can be used in combination with Memento to access the version of a resource as it existed at a specified time:

http://ws-rest.org/2014/sites/default/files/wsrest2014_submission_2.pdf

In the case of the demo described in the paper, versions of data are stored in GitHub and PROV info is generated dynamically from GitHub. But, obviously, your server environment could take care of those tasks too.

Herbert



On Apr 25, 2014, at 9:09, Paolo Ciccarese <paolo.ciccarese@gmail.com> wrote:

> Dear all,
> I am currently developing the Annotopia Open Annotation server [1][2][3] and there are a few topics that I believe would be wise to discuss in the mailing list in order to collect some additional feedback.
> 
> I will start with one topic: keeping track of annotation creation and update (date/agent). 
> 
> I collected some non conclusive thoughts here: http://hcklab.blogspot.com/2014/04/annotopia-creationupdates-with-open.html
> 
> No versioning for now. If that is of interest, months ago, I wrote some thoughts here: http://www.w3.org/community/openannotation/wiki/Versioning
> 
> In short, I am currently thinking of using PAV [4] with something like this:
> 
> {
>     "@id" : "http://host/s/annotation/830ED7EE-BF7B-4A18-8AE1-A9AF96AC135B",
>     "@type" : "oa:Annotation",
>     "annotatedAt" : "2014-02-17T09:46:11EST",
>     "annotatedBy" : {
>       "@id" : "http://orcid.org/0000-0002-5156-2703",
>       "@type" : "foaf:Person",
>       "name" : "Paolo Ciccarese"
>     },
>     "pav:createdOn" : "2014-02-17T09:48:11EST",
>     "pav:createdBy" : {
>       "@id" : "http://orcid.org/0000-0002-5156-2703",
>       "@type" : "foaf:Person",
>       "name" : "Paolo Ciccarese"
>     },
>     "pav:lastUpdateOn" : "2014-03-11T11:46:11EST",
>     "pav:lastUpdateBy" : {
>       "@id" : "http://example.org/johndoe",
>       "@type" : "foaf:Person",
>       "name" : "John Doe"
>     }
> ...
> }
> 
> Where:
> (i) 'createdOn/createdBy' for the original creation on the (Annotopia) server
> (ii) 'lastUpdateOn/lastUpdateBy' for the last update on the (Annotopia)  server
> 
> Question is: what is 'annotatedAt' going to indicate once the annotation has been updated? The original creation or the latest update? In fact, some application will understand only the 'annotatedAt' property. 
> 
> Another option I have, to keep the actual annotation pure OA, is to collect the additional provenance data in a separate provenance graph that can be provided on demand by who can understand it.
> 
> Any thoughts?
> 
> Best,
> Paolo
> 
> [1] GitHub (Code/wiki): https://github.com/Annotopia/AtSmartStorage
> [2] Slides (living documentation): http://www.slideshare.net/paolociccarese/annotopia-overview-by-paolo-ciccarese
> [3] Talk @ 'I Annotate 2014' https://www.youtube.com/watch?v=UGvUbFv0Zl8
> [4] PAV: http://www.jbiomedsem.com/content/4/1/37
> 
> -- 
> Dr. Paolo Ciccarese                       
> Assistant Professor of Neurology, Harvard Medical School
> Assistant in Neuroscience, Massachusetts General Hospital
> Senior Information Scientist, MGH Biomedical Informatics Core
> 

Received on Friday, 25 April 2014 15:37:49 UTC