W3C home > Mailing lists > Public > public-openannotation@w3.org > August 2013

Re: OA and provenance

From: Stian Soiland-Reyes <soiland-reyes@cs.manchester.ac.uk>
Date: Thu, 15 Aug 2013 13:48:26 +0100
Message-ID: <CAPRnXtmASJrSTy9Ju7BBs2FNwoTqWgu+n+3ACZhzbKU=qX_2tg@mail.gmail.com>
To: Paolo Ciccarese <paolo.ciccarese@gmail.com>
Cc: public-openannotation <public-openannotation@w3.org>
I am not sure what "system serialized it last" means here - serialized
from what? Some internal model?

I think this looks good - a bit detailed - but then those are the
details you said you need to preserve.

>From an OA perspective the provenance is simple, Darwin made the
conceptual annotation (not just the body), and this was serialized
much later by some system. Who put it into the system, through which
hoops etc, is not captured by the OA provenance - but PAV gives a
summary of that.

A detailed trace could additionally be given with prov derivations.
(I would recommend linking to such detailed traces as external
resources - say by adding a prov:has_provenance reference in the HTTP
headers http://www.w3.org/TR/prov-aq/#resource-accessed-by-http or
within the RDF:
http://www.w3.org/TR/prov-aq/#resource-represented-as-rdf -- this
allows for shared provenance for many annotations, or for such
provenance to be generated on the fly, like what was just demonstrated
with http://git2prov.org/

On 15 August 2013 13:14, Paolo Ciccarese <paolo.ciccarese@gmail.com> wrote:
> Stian,
> looking at your last example (I frankly would not consider the previous ones
> for many different reasons) I would then infer that in your opinion:
> pav:authoredBy is equivalent to oa:annotatedBy
>
> I think that is fair. My full-provenance example - where I am even
> considering the curation has been performed by an expert and the
> digitization by a student - would become:
>
>
> <ann2> a oa:Annotation
>    pav:createdBy -Student-
>    pav:createdOn -2013-
>    pav:curatedBy -Expert-
>    pav:curatedOn -2013-
>
>    pav:createdWith -Domeo-
>    pav:createdAt -Boston location-
>    pav:authoredBy -Darwin-
>    pav:authoredOn -Date of the original annotation-
>    oa:annotatedBy -Darwin-
>    oa:annotatedAt -Date of the original annotation-
>    oa:serializedBy -Whatever system serialized it last-
>    oa:serializedAt -Time of serialization-
>
> where
> pav:curatedBy
> Specifies an agent specialist responsible for shaping the expression in an
> appropriate format. Often the primary agent responsible for ensuring the
> quality of the representation. The curator may be different from the author
> (pav:authoredBy) and creator of the digital resource (pav:createdBy). The
> curator may in some cases be a software agent, for instance text mining
> software which adds hyperlinks for recognized genome names.
>
> How does the sketch above look?
>
> Best,
> Paolo
>
>
> On Thu, Aug 15, 2013 at 5:44 AM, Stian Soiland-Reyes
> <soiland-reyes@cs.manchester.ac.uk> wrote:
>>
>> With my provenance hat on, I think this all depends on what is the
>> scope of an oa:Annotation and its creation.
>>
>> We have the same challenge with provenance of entities and documents
>> in general - if I write a letter in Word on Monday, and you (Paolo)
>> print it out on paper on Tuesday, and then on Wednesday Robert puts it
>> in an envelope and mails it, then who 'created' that thing that pops
>> in through the mailbox at the recipient?
>>
>> Well it depends what you consider that thing to be - as an envelope
>> with something inside, Robert made it, on Wednesday. As a printed
>> letter (which happen to have an envelope in transit), Paolo made it on
>> Tuesday, and as a conceptual letter, I wrote it on Monday. In a PROV
>> setting, we recommend everyone to think carefully about the extent of
>> their entity, in a way determining their life-span and what
>> aspects/attributes can be considered mutable or fixed. If more than
>> one kind of characterization is deemed necessary, then PROV has the
>> concepts of specialization and alternates to relate them to
>> each-other: http://www.w3.org/TR/prov-dm/#component5
>>
>> Now at first glance I think this sounds like one of those use cases
>> where you would need multiple characterizations to model the
>> provenance correctly. A quick go:
>>
>> <origAnno1> a oa:Annotation ;
>>   oa:annotatedBy <OriginalAuthor> ;
>>   oa:hasTarget <somebook> .
>>
>> <anno1> a oa:Annotation ;
>>   oa:annotatedBy <Paolo> ;
>>   oa:specializationOf <origAnno1> ;
>>   oa:hasTarget <somebook> .
>
>
>>
>>
>> This does seem like a bit of duplication - and also a bit strange
>> considering both <origAnno1> and <anno1> are expressed as
>> oa:Annotations. This kind of split-up of the annotation could however
>> make sense in cases where the body/target are also at different
>> specialization levels:
>>
>> <conceptualAnno1> a oa:Annotation ;
>>   oa:annotatedBy <OriginalAuthor> ;
>>   oa:hasBody <note.txt> ;
>>   oa:hasTarget <isbn:0-85131-041-9> .
>>
>> <instanceAnno1> a oa:Annotation ;
>>   oa:annotatedBy <MrLibrarian> ;
>>   oa:hasBody <scannedNote.jpeg> ;
>>   oa:hasTarget <redBookOnShelf5> ;
>>   prov:specializatonOf <conceptualAnno1> .
>>
>> <note1.txt> prov:alternateOf <scannedNote.jpeg> ;
>>     prov:wasDerivedFrom <scannedNote.jpeg> .
>>
>> <redBookOnShelf5> prov:specializationOf <isbn:0-85131-041-9> .
>>
>>
>> (This could be expanded with the full FRBR model or equivalent)
>>
>>
>> We have discussed conceptual vs representational oa:Annotations earlier:
>>
>>
>> http://lists.w3.org/Archives/Public/public-openannotation/2013Jan/0051.html
>>
>> http://lists.w3.org/Archives/Public/public-openannotation/2013Jan/0027.html
>>
>> and the conclusion seemed to have been that it is simpler to merge the
>> conceptual annotation with the formalized annotation as a
>> datastructure.
>>
>> However, the discussion then did not delve into the provenance aspects
>> - what we still need to keep somewhat clear is what the two provenance
>> aspects we do provide cover for, annotatedBy/At and serialisedBy/At.
>> We have a PROV unrolling of these at
>> http://www.openannotation.org/spec/core/appendices.html#ProvMapping:
>>
>> >  There are two Entities in the Open Annotation model, which for
>> > expediency and simplicity are collapsed into just oa:Annotation. These are
>> > the Annotation document, and the concept that the Annotation embodies or
>> > describes. This is the distinction between oa:annotatedBy and
>> > oa:annotatedAt, versus oa:serializedBy and oa:serializedAt.
>>
>> OK - the wording order here is wrong (annotation/document and
>> concept/serialized) - perhaps something to fix! But basically it says
>> that annotated* is who created it conceptually - so in your case:
>>
>>   <ann1>  oa:annotatedBy <OriginalAuthor> ;
>>           oa:serializedBy <Domeo> .
>>
>> The reasoning being that it was OriginalAuthor who created the
>> relation between the body (his note) and the book (where he wrote his
>> note) - we consider the oa:Annotation as a conceptual entity that was
>> formed all those years ago, long time before RDF was invented.
>>
>> To record the digital formation of the oa:Annotation data structure as
>> distinct from its 'authorship', then you would need to use other
>> provenance properties - pav:curatedBy and pav:createdBy sounds like
>> good matches. I would not put <Paolo> as the serializer, unless he
>> more directly typed in the RDF.
>>
>> (Another practical consideration - I would side with Antoine here and
>> keep oa:serializedBy at RDF Graph level, so even if Paolo typed in
>> Turtle and Domeo put out RDF/XML, then it would still be serializedBy
>> <Paolo>.)
>>
>>
>> This said - there should not be anything in OA that prevents my
>> expanded form with specialization - but of course then you have to be
>> much more careful. You might wonder for inter-operability measures
>> what this would mean - well, an annotatoin mean different thing in
>> different systems and domains. For instance in my application, Wf4Ever
>> research objects, we even have annotations where the body is just an
>> RDF graph to declare the rdf:type of a resource - we needed something
>> like OA to structure this, because such statements could be made by a
>> user in the UI (and thus error-prone but more authorative), or
>> inferred by automatic scripts (which might be guessing wrongly).
>>
>>
>>
>> On 14 August 2013 15:00, Paolo Ciccarese <paolo.ciccarese@gmail.com>
>> wrote:
>> > Dear all,
>> > I would like to share a solution that I am currently implementing in
>> > Domeo
>> > in relation to provenance and a question related to it. Apologies in
>> > advance
>> > for the length of the email.
>> >
>> > Use Case: I am dealing with an existing annotation that is written on
>> > paper.
>> > The author of the annotation can be the author of the original
>> > manuscript or
>> > a third party (let's assume the latter for this example). The annotation
>> > is
>> > anchored in a specific location of the original text. My user is
>> > transforming that annotation into a OA annotation. It is very similar to
>> > the
>> > Darwin's annotation in the specs [1] but I got to a slightly different
>> > conclusion.
>> >
>> > I would like to keep track of:
>> > - the agent that creates the OA annotation
>> > - the application the agent used to create the annotation (could be
>> > different than the application that serialized the annotation)
>> > - the author of the body of the annotation (third party)
>> > - the author of the original association of the annotation with the
>> > original
>> > text
>> >
>> > In Domeo I use PAV (Provenance Authoring and Versioning ontology) [2][3]
>> > and
>> > I append to the oa:Annotation the following properties
>> >
>> > 1) pav:createdBy -> Domeo user
>> > An agent primarily responsible for encoding the digital artifact or
>> > resource
>> > representation. This creation is distinct from forming the content,
>> > which is
>> > indicated with pav:contributedBy or its subproperties.
>> > It is more specific than dct:createdBy - which might or might not be
>> > interpreted to also cover the creation of the content of the artifact.
>> >
>> > 2) pav:createdOn -> When the Domeo user created the digital object
>> > The date of creation of the digital artifact or resource representation.
>> > The
>> > agents responsible can be indicated with pav:createdBy.
>> >
>> > 3) pav:createdAt -> Where the user created the digital object
>> > The geo-location of the agent that created the annotation.
>> >
>> > 4) pav:createdWith -> In may case the Domeo tool
>> > The software/tool used by the creator (pav:createdBy) when making the
>> > digital resource, for instance a word processor or an annotation tool. A
>> > more independent software agent that creates the resource without direct
>> > interactions by a human creator should instead be indicated using
>> > pav:createdBy.
>> >
>> > 5) pav:authoredBy -> The author of the original annotation on paper
>> > Indicates an agent that originated or gave existence to the work that is
>> > expressed by the digital resource. The author of the content of a
>> > resource
>> > may be different from the creator of that resource representation
>> > (pav:createdBy), although they are often the same. The author is usually
>> > not
>> > a software agent (which would be indicated with pav:createdWith,
>> > pav:createdBy or pav:importedBy), unless the software actually authored
>> > the
>> > content itself; for instance an artificial intelligence algorithm which
>> > authored a piece of music or a machine learning algorithm that authored
>> > a
>> > classification of a tumor sample
>> >
>> > 6) pav:authoredOn -> The date of the original annotation
>> > Indicates the date this resource was authored by the agents given by
>> > pav:authoredBy. Note that pav:authoredOn is different from
>> > pav:createdOn,
>> > although their values are often the same.
>> >
>> > In summary I have something like:
>> >
>> > <ann1> a oa:Annotation
>> >    pav:createdBy -Paolo-
>> >    pav:createdOn -today-
>> >    pav:createdWith -Domeo-
>> >    pav:createdAt -Boston location-
>> >    pav:authoredBy -Annotation’s author-
>> >    pav:authoredOn -Date of the original annotation-
>> >
>> > In other words, using PAV I can keep the distinction between the creator
>> > of
>> > the digital artifact and the author of the original content/association.
>> >
>> > However, there are possibly a couple of overlaps with the current OA
>> > properties. As I would like to provide the OA provenance as well, I am
>> > wondering which of the following applies:
>> > <ann1> a oa:Annotation ;
>> >     oa:annotatedBy <Paolo> .
>> > or
>> > <ann1> a oa:Annotation ;
>> >     oa:annotatedBy <OriginalAuthor> .
>> >
>> > Or compared to PAV:
>> > - pav:createdBy =? oa:annotatedBy --or--
>> > - pav:authoredBy =? oa:annotatedBy
>> >
>> > Looking at the Darwin’s example in the specs, if the student is
>> > digitizing a
>> > note from Darwin on his own content I would say:
>> > <ann2> a oa:Annotation
>> >    pav:createdBy -Student-
>> >    pav:createdOn -2013-
>> >    pav:createdWith -Domeo-
>> >    pav:createdAt -Boston location-
>> >    pav:authoredBy -Darwin-
>> >    pav:authoredOn -Date of the original annotation-
>> >
>> > Then of course the ‘body’ of the annotation can be also authored by the
>> > original author of the annotation. But, as pointed out above, it is
>> > important for me to attribute also the association of body and target to
>> > the
>> > original author as that represent the historical provenance of it.
>> >
>> > What this comes down to is basically what an oa:Annotation really is:
>> > “an
>> > Annotation expresses the relationship between two or more resources, and
>> > their metadata, using an RDF graph”. We talked about this before - my
>> > question here becomes if oa:annotatedBy indicates who formed the
>> > relationship (the ‘author’ of the conceptual annotation); or the person
>> > who
>> > (using some OA aware tools) formalized this as an oa:Annotation data
>> > structure (the RDF structure)?
>> >
>> > Best,
>> > Paolo
>> >
>> >
>> > [1] http://www.openannotation.org/spec/core/core.html#Provenance
>> > [2] http://arxiv.org/abs/1304.7224
>> > [3] http://code.google.com/p/pav-ontology/
>> >
>> >
>> > --
>> > Dr. Paolo Ciccarese
>> > http://www.paolociccarese.info/
>> > Biomedical Informatics Research & Development
>> > Instructor of Neurology at Harvard Medical School
>> > Assistant in Neuroscience at Mass General Hospital
>> > Member of the MGH Biomedical Informatics Core
>> > +1-857-366-1524 (mobile)   +1-617-768-8744 (office)
>> >
>> > CONFIDENTIALITY NOTICE: This message is intended only for the
>> > addressee(s),
>> > may contain information that is considered
>> > to be sensitive or confidential and may not be forwarded or disclosed to
>> > any
>> > other party without the permission of the sender.
>> > If you have received this message in error, please notify the sender
>> > immediately.
>>
>>
>>
>> --
>> Stian Soiland-Reyes, myGrid team
>> School of Computer Science
>> The University of Manchester
>> http://soiland-reyes.com/stian/work/ http://orcid.org/0000-0001-9842-9718
>
>
>
>
>



-- 
Stian Soiland-Reyes, myGrid team
School of Computer Science
The University of Manchester
http://soiland-reyes.com/stian/work/ http://orcid.org/0000-0001-9842-9718
Received on Thursday, 15 August 2013 12:49:19 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 16:38:23 UTC