This version:
http://www.openannotation.org/spec/beta/examples/scholarly-editions.html
Latest version:
http://www.openannotation.org/spec/examples/scholarly-editions.html
Editor
Anna Gerber, The University of Queensland
Contributors
Jane Hunter, The University of Queensland

Abstract

Examples of annotations described using the OAC Data Model Beta, using texts from the collaborative scholarly editions case study as targets.


Table of Contents

1. Introduction
     1.2 Namespaces Used
2. Data Model Examples
     2.1 Types of Annotation
         2.1.1 Custom Annotation Types
         2.1.2 Reply
     2.2 Segments of a Target Resource and Constrained Targets
         2.2.1 Fragment Identifiers
         2.2.2 Constrained Target
     2.3 Additional Properties for Body
     2.4 Multiple Targets
     2.5 Structured Data Annotations

Appendices

A. Change Log


1. Introduction

These examples of OAC Annotations target digitized texts represented as HTML rendered from TEI/XML, plain text files and scanned images. We do not address the issue of identifying works at different FRBR levels in this document. For the purposes of these examples, we assume that each expression can be identified by a unique URI.

1.1 Namespaces Used

This example uses the following namespaces and prefixes to indicate those namespaces:

Prefix Namespace URI Description
dc http://purl.org/dc/elements/1.1/ Dublin Core elements
dcterms http://purl.org/dc/terms/ Dublin Core terms
foaf http://xmlns.com/foaf/0.1/ Friend of a Friend vocabulary terms
oac http://www.openannotation.org/ns/ OAC vocabulary terms
ore http://www.openarchives.org/ore/terms/ ORE vocabulary terms
rdf http://www.w3.org/1999/02/22-rdf-syntax-ns# RDF vocabulary terms
rdfs http://www.w3.org/2001/01/rdf-schema# RDF Schema vocabulary
aos http://purl.org/ao/selectors/ Annotation Ontology Selectors

2. Data Model Examples

2.1 Types of Annotation

Additional types of Annotations are modeled as as subClasses of oac:Annotation. See OAC Data Model Beta Section 3.4 (Annotation Types).

2.1.1 Custom Annotation Types

To support searching and filtering of different types of annotations created within our collaborative scholarly editions case study, we have defined custom subclasses of oac:Annotation:

Example 1 is an explanatory note providing historical context for The Drover's Wife, by Henry Lawson.

Example 1: Explanatory Note
Model Instance
URI Table
lit:ExplanatoryNote http://www.example.org/lit-annotation-ns#ExplanatoryNote
oac:hasTarget http://www.openannotation.org/ns/hasTarget
oac:hasBody http://www.openannotation.org/ns/hasBody
ex:Anno http://www.example.org/annotation/1
ex:User http://www.example.org/user/1
ex:text1 http://austlit.edu.au/?ex=FullTextView&docId=bulstor.xml;chunk.id=d29e2470;toc.depth=1;toc.id=d29e223
ex:note1 http://austlit.edu.au/auselit/annotea/body/1C41B1C9E18CEB63
dc:title http://purl.org/dc/elements/1.1/title
dcterms:creator http://www.purl.org/dc/terms/creator
dcterms:created http://www.purl.org/dc/terms/created
foaf:name http://xmlns.com/foaf/0.1/name
foaf:mbox http://xmlns.com/foaf/0.1/mbox
RDF
ex:Anno a lit:ExplanatoryNote ,
        oac:hasBody ex:note1 ,
        oac:hasTarget ex:text1 ,
        dc:title "Young Ladies Journal" ,
        dcterms:created "2010-09-15T18:25:12Z" ,
        dcterms:creator ex:User .
ex:User a foaf:Agent ,
        foaf:name "Roger Osborne" ,
        foaf:mbox "rosborne@example.edu" .

2.1.2 Reply

Example 2 illustrates how an instance of a custom annotation class can be the target of an oac:Reply. This is a reply to the lit:ExplanatoryNote from Example 1.

Example 2: Reply to Explanatory Note
Model Instance
URI Table
oac:Reply http://www.openannotation.org/ns/Reply
oac:hasTarget http://www.openannotation.org/ns/hasTarget
oac:hasBody http://www.openannotation.org/ns/hasBody
ex:Ann2 http://www.example.org/annotation/2
ex:Anno http://www.example.org/annotation/1
ex:Usr2 http://www.example.org/user/2
ex:note2 http://austlit.edu.au/auselit/annotea/body/2426C1B5462F96DD
dcterms:creator http://www.purl.org/dc/terms/creator
dcterms:created http://www.purl.org/dc/terms/created
foaf:name http://xmlns.com/foaf/0.1/name
foaf:mbox http://xmlns.com/foaf/0.1/mbox
RDF
ex:Ann2 a oac:Reply ,
        oac:hasBody ex:note2 ,
        oac:hasTarget ex:Anno ,
        dcterms:creator ex:Usr2 ,
        dcterms:created "2010-09-16T13:43:27Z" .
ex:Usr2 a foaf:Agent ,
        foaf:name "Anna Gerber" ,
        foaf:mbox "agerber@example.edu" .

2.2 Segments of a Target Resource and Constrained Targets

This section provides examples of different ways to identify segments within a text.

2.2.1 Fragment Identifiers

The text of The Drover's Wife from Example 1 is rendered as XHTML, so we are able to use an XPointer fragment identifier to identify the section of the text being annotated, as shown in Example 3. We use dcterms:isPartOf to relate the fragment with the entire text, to ensure that queries for annotations on the entire text will also return annotations targeting fragments of the text. See OAC Data Model Beta Section 3.7.1 (Fragment URIs).

Example 3: Explanatory Note targeting XPointer fragment
Model Instance
URI Table
lit:ExplanatoryNote http://www.example.org/lit-annotation-ns#ExplanatoryNote
oac:hasTarget http://www.openannotation.org/ns/hasTarget
oac:hasBody http://www.openannotation.org/ns/hasBody
ex:Anno http://www.example.org/annotation/1
ex:User http://www.example.org/user/1
ex:selection1 http://austlit.edu.au/?ex=FullTextView&docId=bulstor.xml;chunk.id=d29e2470;toc.depth=1;toc.id=d29e223#xpointer(string-range(id("div-content")/table[2]/tbody[1]/tr[1]/td[1]/div[1]/p[35]/i[1], "", 1, 22))
ex:text1 http://austlit.edu.au/?ex=FullTextView&docId=bulstor.xml;chunk.id=d29e2470;toc.depth=1;toc.id=d29e223
ex:note1 http://austlit.edu.au/auselit/annotea/body/1C41B1C9E18CEB63
dc:title http://purl.org/dc/elements/1.1/title
dcterms:creator http://www.purl.org/dc/terms/creator
dcterms:created http://www.purl.org/dc/terms/created
dcterms:isPartOf http://www.purl.org/dc/terms/isPartOf
foaf:name http://xmlns.com/foaf/0.1/name
foaf:mbox http://xmlns.com/foaf/0.1/mbox
RDF
ex:Anno a lit:ExplanatoryNote ,
        oac:hasBody ex:note1 ,
        oac:hasTarget ex:selection1 ,
        dc:title "Young Ladies Journal" ,
        dcterms:created "2010-09-15T18:25:12Z" ,
        dcterms:creator ex:User .
ex:selection1 dcterms:isPartOf ex:text1 .
ex:User a foaf:Agent ,
        foaf:name "Roger Osborne" ,
        foaf:mbox "rosborne@example.edu" .

2.2.2 Constrained Target

Using XPointers to identify of segments of a text rendered as XHTML can be a fragile approach if the presentation structure may change, for example, if the text is rendered from TEI/XML with alternate stylesheets to support different display devices and web browsers. Example 4 uses an oac:PrefixPostfixConstraint to identify the segment of the text without reference to the structure of the presentation markup.

Example 4: Explanatory Note with Constrained Target
Model Instance
URI Table
lit:ExplanatoryNote http://www.example.org/lit-annotation-ns#ExplanatoryNote
oac:hasTarget http://www.openannotation.org/ns/hasTarget
oac:hasBody http://www.openannotation.org/ns/hasBody
oac:ConstrainedTarget http://www.openannotation.org/ns/ConstrainedTarget
oac:constrainedBy http://www.openannotation.org/ns/constrainedBy
oac:constrains http://www.openannotation.org/ns/constrains
oac:PrefixPostfixConstraint http://www.openannotation.org/ns/PrefixPostfixConstraint
ex:Anno http://www.example.org/annotation/1
ex:User http://www.example.org/user/1
ex:text1 http://austlit.edu.au/?ex=FullTextView&docId=bulstor.xml;chunk.id=d29e2470;toc.depth=1;toc.id=d29e223
ex:note1 http://austlit.edu.au/auselit/annotea/body/1C41B1C9E18CEB63
dc:title http://purl.org/dc/elements/1.1/title
dcterms:creator http://www.purl.org/dc/terms/creator
dcterms:created http://www.purl.org/dc/terms/created
uu1 urn:uuid:be459980-c305-11e0-9ca8-0002a5d5c51b
uu2 urn:uuid:ce037220-c305-11e0-87ab-0002a5d5c51b
aos:prefix http://purl.org/ao/selectors/prefix
aos:exact http://purl.org/ao/selectors/exact
aos:postfix http://purl.org/ao/selectors/postfix
foaf:name http://xmlns.com/foaf/0.1/name
foaf:mbox http://xmlns.com/foaf/0.1/mbox
RDF
ex:Anno a lit:ExplanatoryNote ,
        oac:hasBody ex:note1 ,
        oac:hasTarget uu1 ,
        dc:title "Young Ladies Journal" ,
        dcterms:created "2010-09-15T18:25:12Z" ,
        dcterms:creator ex:User .
uu1 a oac:ConstrainedTarget ,
        oac:constrains ex:text1 ,
        oac:constrainedBy uu2 .
uu2 a oac:PrefixSuffixConstraint ,
        aos:prefix "needs in the " ,
        aos:exact "Young Ladies Journal," ,
        aos:suffix " and— Heaven" .
ex:User a foaf:Agent ,
        foaf:name "Roger Osborne" ,
        foaf:mbox "rosborne@example.edu" .

2.4 Additional Properties for Body

The OAC data model allows additional properties to be specified for the annotation, body or target resources. An annotation from a digital scholarly edition published in 2005 has been represented using the OAC data model, so that it may be viewed or discussed using an OAC-compliant annotation client. Properties are specified for both the body and the annotation to differentiate the creator and creation date of the body content from the creator and creation date of the new annotation. This distinction is useful when representing historical and non-digital annotations. In these cases, the annotation creator is likely to be a person transcribing the original material or a tool used to import annotation content from another system, rather than the person who authored the body content. See OAC Data Model Beta Section 3.3 (Additional Properties and Relationships)

In Example 5, both the target and the body are segments of larger documents, identified by fragment identifiers.

The content for this example is sourced from Eggert, Paul. (2005) Ned Kelly's Jerilderie Letter (1879) An Electronic Edition and Collaborative Study.

Example 5: Textual Note where body and annotation creators differ
Model Instance
URI Table
lit:TextualNote http://www.example.org/lit-annotation-ns#TextualNote
oac:hasTarget http://www.openannotation.org/ns/hasTarget
oac:hasBody http://www.openannotation.org/ns/hasBody
ex:Anno http://www.example.org/annotation/1
ex:Usr1 http://www.example.org/user/1
ex:Usr2 http://www.example.org/user/2
oac:Target http://www.openannotation.org/ns/Target
oac:Body http://www.openannotation.org/ns/Body
ex:text1 http://web.srv.adfa.edu.au/JITM/JL/JL%20PE/JL%20Preferred%20Perspective.html
ex:selection1 http://web.srv.adfa.edu.au/JITM/JL/JL%20PE/JL%20Preferred%20Perspective.html#xpointer(string-range(id("JL-PE.TE-22"), "", 495, 11))
ex:notes http://web.srv.adfa.edu.au/JITM/JL/JL%20PE/JL%20PE/Ancillary/Textual%20Notes(PE).html
ex:note13 http://web.srv.adfa.edu.au/JITM/JL/JL%20PE/JL%20PE/Ancillary/Textual%20Notes(PE).html#Annotations(PE).Note13
dc:title http://purl.org/dc/elements/1.1/title
dcterms:creator http://www.purl.org/dc/terms/creator
dcterms:created http://www.purl.org/dc/terms/created
dcterms:isPartOf http://www.purl.org/dc/terms/isPartOf
foaf:name http://xmlns.com/foaf/0.1/name
foaf:mbox http://xmlns.com/foaf/0.1/mbox
RDF
ex:Anno a lit:TextualNote ,
        oac:hasTarget ex:selection1 ,
        oac:hasBody ex:note13 ,
        dcterms:created "2010-05-24T19:12.33Z" ,
        dc:title "thi trooper" ,
        dcterms: creator ex:Usr2 .
ex:selection1 a oac:Target ,
        dcterms:isPartOf ex:text1 .
ex:note13 a oac:Body .
        dcterms:isPartOf ex:notes ,
        dcterms:creator ex:Usr1 ,
        dcterms:created "2005" .
ex:Usr1 foaf:name "Paul Eggert" .
ex:Usr2 foaf:name "Damien Ayers",
        foaf:mbox "dayers@example.edu" .

2.3 Multiple Targets

Sections of a transcript of a text and its facsimile are targets of a single annotation in Example 6. A media fragment identifier is used to identify the segment of the image targeted by the annotation, while a plain text fragment is used to identify the segment of the targeted text. Additional properties of the annotation have been omitted for the sake of brevity.

See OAC Data Model Beta Section 3.6 (Multiple Targets), Section 3.7.1 (Fragment URIs), and Section 3.7.2 (Media Fragment URIs).

Example 6: Multiple targets
Model Instance
URI Table
lit:TextualNote http://www.example.org/lit-annotation-ns#TextualNote
oac:hasTarget http://www.openannotation.org/ns/hasTarget
oac:hasBody http://www.openannotation.org/ns/hasBody
ex:Anno http://www.example.org/annotation/1/
ex:selection1 http://austlit.edu.au/---/OMYF/WBB_01_WR_OMYF.txt#char=2639,2651
ex:text1 http://austlit.edu.au/---/OMYF/WBB_01_WR_OMYF.txt
ex:imgregion1 http://acms.sl.nsw.gov.au/_DAMx/image/19/121/a1211001h.jpg#xywh=559,784,235,52
ex:img1 http://acms.sl.nsw.gov.au/_DAMx/image/19/121/a1211001h.jpg
ex:note1 http://www.example.org/body/AA6B8124C3A48BC1
dcterms:isPartOf http://www.purl.org/dc/terms/isPartOf
RDF
ex:Anno a lit:TextualNote ,
        oac:hasTarget ex:selection1 ,
        oac:hasTarget ex:imgregion1 ,
        oac:hasBody ex:note1 .
ex:imgregion1 dcterms:isPartOf ex:img1 .
ex:selection1 dcterms:isPartOf ex:text1 .

2.5 Structured Data Annotations

Example 7 is an oac:DataAnnotation that annotates variations between different versions of a poem, to attach metadata such as the agent responsible for the variation, the date when the variation occurred, or a description of the significance or reason for the variation. The Targets are text segments from two expressions of The Creek of the Four Graves by Charles Harpur. The Body is an ore:ResourceMap that captures structured metadata about the variation, and which also describes a relationship between the annotation targets (lit:isVariantOf). The properties shown in the Model Instance diagram in blue are from the Body, which is a separate resource to the annotation, in this case an RDF/XML serialization of the ore:ResourceMap. The properties shown in black are from the oac:DataAnnotation. Only the RDF for the annotation is shown below, the content of the body is provided here.

Example 7: Structured Body
Model Instance
URI Table
oac:DataAnnotation http://www.openannotation.org/ns/DataAnnotation
oac:hasTarget http://www.openannotation.org/ns/hasTarget
oac:hasBody http://www.openannotation.org/ns/hasBody
ex:Anno http://www.example.org/annotation/1/
ex:selection1 http://austlit.edu.au/---/H1867A87.html#xpointer(string-range(/html[1]/body[1]/pre[1], "", 82, 8))
ex:text1 http://austlit.edu.au/---/H1867A87.html
ex:selection2 http://austlit.edu.au/---/I1883.html#xpointer(string-range(/html[1]/body[1]/pre[1], "", 1, 82))
ex:text2 http://austlit.edu.au/---/I1883.html
ex:rem1 http://www.example.org/rem1
dcterms:isPartOf http://www.purl.org/dc/terms/isPartOf
RDF
ex:Anno a oac:DataAnnotation ,
        oac:hasTarget ex:selection1 ,
        oac:hasTarget ex:selection2 ,
        oac:hasBody ex:rem1 .
ex:selection1 a oac:Target ,
        dcterms:isPartOf ex:text1 .
ex:selection2 a oac:Target ,
        dcterms:isPartOf ex:text2 .
ex:rem1 a oac:Body ,
        dc:format "application/rdf+xml" .

B. Change Log

Date Editor Description
2011-08-10 agerber Internal beta release
 
Creative Commons LicenseThis work by the Open Annotation Collaboration is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.