Re: [web-annotation] PROV-O Mapping

 Thanks, my apologies for missing this earlier.

I like and agree with your exploration in

The current mapping is in

I think the problem here with serializedBy and annotatedBy is a kind
of HTTP Range 14 issue, which is that the basic OA model assumes the
concrete serialization and the abstract annotation concept is 'the
same resource'.   It gets murkier if you want to distinguish the
formation of the oa:Annotation as separate from the formation of an
annotation conceptually, e.g. there could be an annotation of some old
markings in a text book when Stian was a student in 2002, modelled as
an oa:Annotation in 2014 by an OCR bot, and serialised as JSON-LD in

Without expressing the specializations, and by letting <anno1> be both
the abstract resource that is the generalization of both the
oa:Annotation and its serialization, it easily gets inconsistent (or
everything must have been made in an instant).

It's like saying the :cake and the :deliveredCake is the same thing,
which makes it harder. It only really works if you group all those
activites into a single :makingCake activity which all three agents
participate in. The :cake can then be generated by both activities
:delivering and :makingCake - which is fine as the start/end times
would then line up nicely.

In PROV we never got as far as to describe composition of activities -
but here there are simply two alternative (and compatible) world

World view A:

An oa:Annotation resource (whatever that means) was generated in 2015,
attributed by Stian and the OCR bot. The generating mega-activity
finished in 2015.  (and started in 2002, but this is not expressed by
PROV as oa:annotatedAt is not a subproperty of prov:generatedAtTime)

World view B:
In 2002, a study activity by Stian generated a hand writing entity in
a book manifestation.  (Let's not go into versioning of that book with
and without hand writings!)

In 2015, an OCR activity by the bot generated an oa:Annotation
resource and its serialization. It used the hand writing, and the
annotation document is derived from the hand writing.

Now the question is the oa:Annotation.. was the oa:Annotation an RDF
Resource that was derived from the hand-writing, or was it some
conceptual entity that was made in 2002 and now has just manifested
itself as a RDF in an Annotation Document? I think we generally prefer
the second solution as RDF is used to describe real resources (e.g.
foaf:Person is a person, not a person description). We use RDF
reification and such if we really need to express the RDF
serialization provenance.

Also we can generally keep this split if we do HTTP Range 14
distinctions by not making the Annotation Document and the Annotation
the same URI.  (although you would still struggle to separate RDF
model in 2014 and a particular Turtle/JSON serialization in 2015
unless you do both # and content negotiation)

But this is effectively merging the :deliveredCake and :cake - in a
split entities you could say rather:

  :cake pav:hasCurrentVersion :deliveredCake ;
      pav:hasVersion :deliveredCake, :wrappedCake, :unwrappedCake .;
      prov:generalizationOf :deliveredCake, :wrappedCake, :unwrappedCake .

I think your mapping examples are elegant.

Adding oa:serializedInto is a good solution for enforcing/encouraging
the HTTP Range-14 split, and is similar to the OAI ORE's
ore:isDescribedBy to separate the ore:Aggregation and the
ore:ResourceMap (the RDF document that serializes the ore:Aggregation
concept). However I think it is not a approach in general for every
vocabulary to have its own "I'm serialized in document .." property.
foaf:isPrimaryTopicOf  is a more general property used for this
property, e.g. as used in VoID.

However do I understand your suggestion right is that you would want
to add  oa:serializedInto to the Web Annotation Vocabulary (OWL
ontology) only, and to change the superproperty of oa:serializedBy to
NOT be oa:wasAttributedTo and instead be a property path?
oa:serializedInto would then be mainly for internal OWL purposes.

Or should oa:serializedInto also be added to the Web Annotation Data Model?

On 16 September 2015 at 16:21, Luc Moreau <> wrote:
> On 13/09/2015 05:48, Stian Soiland-Reyes via GitHub wrote:
>> @lucmoreau any links..? I can't find the proposal :(
> --
> Professor Luc Moreau
> Head of the Web and Internet Science Group
> Electronics and Computer Science   tel:   +44 23 8059 4487
> University of Southampton          twitter: @lucmoreau
> Southampton SO17 1BJ, UK 

Stian Soiland-Reyes, eScience Lab
School of Computer Science
The University of Manchester

Received on Thursday, 17 September 2015 12:54:01 UTC