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 10:44:24 +0100
Message-ID: <CAPRnXtm8E3=m1BAExeLr+8L-jixSrLVM8wg4vPPFnycMQmMLAA@mail.gmail.com>
To: Paolo Ciccarese <paolo.ciccarese@gmail.com>
Cc: public-openannotation <public-openannotation@w3.org>
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
Received on Thursday, 15 August 2013 09:45:17 UTC

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