SlideShare a Scribd company logo
1 of 16
An annotation framework for
          Fedora

         Andrew Ashton
     Brown University Library
Textual scholarship at Brown
•   Brown University Women Writers Project
•   Virtual Humanities Lab
•   Center of Digital Epigraphy
•   Modernist Journals Project
•   Hypertext, CAVE Writing, etc.
The Pico Project
Giovanni Pico della Mirandola’s 900 Theses
                  (1486)
The Brown Digital Repository
(BDR) is a place to gather,
index, preserve, and make
available digital assets of
enduring value produced via
academic and research
activities at Brown.

https://repository.library.brown.edu
Self-service web app:

•   Upload
•   Tag
•   Annotate
•   Share
•   Describe

https://repository.library.brown.edu
A
                                                    B

                                             C




            Annotatio   Annotatio         Primary            Annotatio     Annotatio
               n           n              Object                n             n



                                        Repository




Annotatio                   Annotatio                   Annotatio                 Annotatio
   n                           n                           n                         n




    My group’s                      About component                      My annotations
    annotations                            “C”
Open Annotation Plugin for Fedora
• Requirements:
   – No modifications to Fedora
   – No content model requirements
   – No additional expertise
• Jython web service
   – Create annotations and bodies (optional) – any format
   – Query OA data
   – Serialize individual annotations or by query
   – Listen for updates from Fedora
   http://brown-university-library.github.com/oac_web_service/
   http://bit.ly/oa_fedora
Fedora repository

                  OA plugin

                                                Anno-1
  Client      Serialize
application
              Create
                                 Body-1                       Target-1


              Query                             ActiveMQ




                   Fedora APIs
@prefix   dc: <http://purl.org/dc/elements/1.1/> .
@prefix   fedora-model: <info:fedora/fedora-system:def/model#> .
@prefix   oa: <http://www.w3.org/ns/openannotation/core/> .
@prefix   oax: <http://www.w3.org/ns/openannotation/extension/> .
@prefix   rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

<info:fedora/test:133> a <oa:Annotation>;
    oa:annotated "2012-07-26T12:35:42.282999Z";
    oa:annotator "aashton@brown.edu";
    oa:generated "2012-07-26T12:35:42.404999Z";
    oa:generator "OAC TEI Demo web application";
    oa:hasBody <info:fedora/test:132>;
    oa:hasTarget <info:fedora/test:133/SpecificTarget>;
    oa:modelVersion <http://www.openannotation.org/spec/core/20120509.html>;
    fedora-model:hasModel <info:fedora/bdr-cmodel:oa-annotation>;
    fedora-model:hasService <info:fedora/oac-sdef:serialize> .

<info:fedora/test:132> a <oa:Body>;
    dc:format "text/xml" .

<info:fedora/test:133/SpecificTarget> a <oa:SpecificResource>;
    oa:hasSelector <info:fedora/test:133/selector>;
    oa:hasSource <info:fedora/changeme:35>;
    oax:hasStyle <info:fedora/test:1000010118> .

<info:fedora/test:133/selector> a <http://www.tei-c.org/release/doc/tei-p5-
doc/en/html/SA.html#SATSSR>,
        <oa:FragmentSelector>;
    rdf:value "string_range(/TEI[1]/text[1]/body[1]/div1[1]/div2[1]/p[16],782,25)" .
Create
• Creates annotation objects in Fedora [via HTTP POST]
   – Datastreams:
      • Dublin Core
      • annotation (rdf/xml)
      • specifictarget (rdf/xml)
      • selector (rdf/xml)
• Optionally, creates annotation bodies as new objects in
  Fedora. Annotation bodies can also be URIs for existing
  resources on the web. [via HTTP POST]
• Indexes the RDF content of annotations objects in Jena
Query, Serialize, and Listen
• SPARQL endpoint for querying Fedora annotation data [via
  HTTP POST and GET]
• SPARQL XML response (other formats to come)
• Serialize individual annotations, lists of annotations, or the
  entire repository.
• RDF/XML, JSON, NT, TTL, CSV
• JMS consumer to receive updates via Fedora’s ActiveMQ
  broker
Repository annotation
sandbox
Prototype application to:
• Create annotations on TEI texts in
    Fedora
• Target annotations at sections,
    strings, semantic markup
• Create annotations as XML
    objects, URIs
• Serialize and dump annotation
    repository
Fedora repository
   Sample TEI
   application       1

                                    TEI            XSLT


        2            3


    OA plugin                             Anno-1



Query
                          Body-1                          Target-1
                 4
Create


Serialize
                         1.   Render TEI
                         2.   Find the relevant annotations
                         3.   Fetch and parse annotations
                         4.   Create annotations
Unresolved issues
•   UUIDs instead of datastream URIs
•   Binary bodies
•   Multiple targets
•   Versioning/persistence
Thank you
                     http://bit.ly/oa_fedora

                                 A.K.A

                  http://brown-university-
           library.github.com/oac_web_service/

Email: andrew_ashton@brown.edu
Twitters: @andyashton

More Related Content

What's hot

Semtech web-protege-tutorial
Semtech web-protege-tutorialSemtech web-protege-tutorial
Semtech web-protege-tutorialmatthewhorridge
 
"Hands Off! Best Practices for Code Hand Offs"
"Hands Off!  Best Practices for Code Hand Offs""Hands Off!  Best Practices for Code Hand Offs"
"Hands Off! Best Practices for Code Hand Offs"Naomi Dushay
 
W3C Open Annotation: Status and Use Cases
W3C Open Annotation: Status and Use CasesW3C Open Annotation: Status and Use Cases
W3C Open Annotation: Status and Use CasesRobert Sanderson
 
(Live) Annotopia Overview by Paolo Ciccarese (Architect and principal developer)
(Live) Annotopia Overview by Paolo Ciccarese (Architect and principal developer)(Live) Annotopia Overview by Paolo Ciccarese (Architect and principal developer)
(Live) Annotopia Overview by Paolo Ciccarese (Architect and principal developer)Paolo Ciccarese
 
Knowledge Organization System (KOS) for biodiversity information resources, G...
Knowledge Organization System (KOS) for biodiversity information resources, G...Knowledge Organization System (KOS) for biodiversity information resources, G...
Knowledge Organization System (KOS) for biodiversity information resources, G...Dag Endresen
 
Best Practices for Multilingual Linked Open Data
Best Practices for Multilingual Linked Open DataBest Practices for Multilingual Linked Open Data
Best Practices for Multilingual Linked Open DataJose Emilio Labra Gayo
 
Building OBO Foundry ontology using semantic web tools
Building OBO Foundry ontology using semantic web toolsBuilding OBO Foundry ontology using semantic web tools
Building OBO Foundry ontology using semantic web toolsMelanie Courtot
 
Linked Data: A short(-ish) introduction
Linked Data: A short(-ish) introductionLinked Data: A short(-ish) introduction
Linked Data: A short(-ish) introductionPete Johnston
 
BioSamples Database Linked Data, SWAT4LS Tutorial
BioSamples Database Linked Data, SWAT4LS TutorialBioSamples Database Linked Data, SWAT4LS Tutorial
BioSamples Database Linked Data, SWAT4LS TutorialRothamsted Research, UK
 
Get on the Linked Data Web!
Get on the Linked Data Web!Get on the Linked Data Web!
Get on the Linked Data Web!Armin Haller
 
Semantic Web - Ontology 101
Semantic Web - Ontology 101Semantic Web - Ontology 101
Semantic Web - Ontology 101Luigi De Russis
 
The MIAPA ontology: An annotation ontology for validating minimum metadata re...
The MIAPA ontology: An annotation ontology for validating minimum metadata re...The MIAPA ontology: An annotation ontology for validating minimum metadata re...
The MIAPA ontology: An annotation ontology for validating minimum metadata re...Hilmar Lapp
 

What's hot (17)

Semtech web-protege-tutorial
Semtech web-protege-tutorialSemtech web-protege-tutorial
Semtech web-protege-tutorial
 
"Hands Off! Best Practices for Code Hand Offs"
"Hands Off!  Best Practices for Code Hand Offs""Hands Off!  Best Practices for Code Hand Offs"
"Hands Off! Best Practices for Code Hand Offs"
 
W3C Open Annotation: Status and Use Cases
W3C Open Annotation: Status and Use CasesW3C Open Annotation: Status and Use Cases
W3C Open Annotation: Status and Use Cases
 
(Live) Annotopia Overview by Paolo Ciccarese (Architect and principal developer)
(Live) Annotopia Overview by Paolo Ciccarese (Architect and principal developer)(Live) Annotopia Overview by Paolo Ciccarese (Architect and principal developer)
(Live) Annotopia Overview by Paolo Ciccarese (Architect and principal developer)
 
Knowledge Organization System (KOS) for biodiversity information resources, G...
Knowledge Organization System (KOS) for biodiversity information resources, G...Knowledge Organization System (KOS) for biodiversity information resources, G...
Knowledge Organization System (KOS) for biodiversity information resources, G...
 
Best Practices for Multilingual Linked Open Data
Best Practices for Multilingual Linked Open DataBest Practices for Multilingual Linked Open Data
Best Practices for Multilingual Linked Open Data
 
Building OBO Foundry ontology using semantic web tools
Building OBO Foundry ontology using semantic web toolsBuilding OBO Foundry ontology using semantic web tools
Building OBO Foundry ontology using semantic web tools
 
Linked Data: A short(-ish) introduction
Linked Data: A short(-ish) introductionLinked Data: A short(-ish) introduction
Linked Data: A short(-ish) introduction
 
BioSamples Database Linked Data, SWAT4LS Tutorial
BioSamples Database Linked Data, SWAT4LS TutorialBioSamples Database Linked Data, SWAT4LS Tutorial
BioSamples Database Linked Data, SWAT4LS Tutorial
 
semantic web & natural language
semantic web & natural languagesemantic web & natural language
semantic web & natural language
 
Get on the Linked Data Web!
Get on the Linked Data Web!Get on the Linked Data Web!
Get on the Linked Data Web!
 
Semantic Web - Ontology 101
Semantic Web - Ontology 101Semantic Web - Ontology 101
Semantic Web - Ontology 101
 
General Introduction for Semantic Web and Linked Open Data
General Introduction for Semantic Web and Linked Open DataGeneral Introduction for Semantic Web and Linked Open Data
General Introduction for Semantic Web and Linked Open Data
 
Introduction to RDF
Introduction to RDFIntroduction to RDF
Introduction to RDF
 
Fedora 4 :Introduction and Overview
Fedora 4 :Introduction and OverviewFedora 4 :Introduction and Overview
Fedora 4 :Introduction and Overview
 
The MIAPA ontology: An annotation ontology for validating minimum metadata re...
The MIAPA ontology: An annotation ontology for validating minimum metadata re...The MIAPA ontology: An annotation ontology for validating minimum metadata re...
The MIAPA ontology: An annotation ontology for validating minimum metadata re...
 
WordPress Data Storage
WordPress Data StorageWordPress Data Storage
WordPress Data Storage
 

Similar to An Annotation Framework for Fedora

Building APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformBuilding APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformAntonio Peric-Mazar
 
API Design & Security in django
API Design & Security in djangoAPI Design & Security in django
API Design & Security in djangoTareque Hossain
 
Research Shared: researchobject.org
Research Shared: researchobject.orgResearch Shared: researchobject.org
Research Shared: researchobject.orgNorman Morrison
 
Usage of Linked Data: Introduction and Application Scenarios
Usage of Linked Data: Introduction and Application ScenariosUsage of Linked Data: Introduction and Application Scenarios
Usage of Linked Data: Introduction and Application ScenariosEUCLID project
 
Darwin Core Archive (DwC-A) validation: A New Collaborative Effort
Darwin Core Archive (DwC-A) validation: A New Collaborative EffortDarwin Core Archive (DwC-A) validation: A New Collaborative Effort
Darwin Core Archive (DwC-A) validation: A New Collaborative Effortkristgen
 
Pharo Status ESUG 2014
Pharo Status ESUG 2014Pharo Status ESUG 2014
Pharo Status ESUG 2014Pharo
 
Annotations Supporting Scholarly Editing
Annotations Supporting Scholarly EditingAnnotations Supporting Scholarly Editing
Annotations Supporting Scholarly EditingAnna Gerber
 
DSpace 4.2 Transmission: Import/Export
DSpace 4.2 Transmission: Import/ExportDSpace 4.2 Transmission: Import/Export
DSpace 4.2 Transmission: Import/ExportDuraSpace
 
Managing Annotations (OR2016)
Managing Annotations (OR2016)Managing Annotations (OR2016)
Managing Annotations (OR2016)Robert Sanderson
 
The WorldCat Search API
The WorldCat Search APIThe WorldCat Search API
The WorldCat Search APIOCLC Research
 
"Data Provenance: Principles and Why it matters for BioMedical Applications"
"Data Provenance: Principles and Why it matters for BioMedical Applications""Data Provenance: Principles and Why it matters for BioMedical Applications"
"Data Provenance: Principles and Why it matters for BioMedical Applications"Pinar Alper
 
Open Writing ! - Collaborative Authoring on Apache’s First Open-Source Cloud ...
Open Writing ! -	Collaborative Authoring on Apache’s First Open-Source Cloud ...Open Writing ! -	Collaborative Authoring on Apache’s First Open-Source Cloud ...
Open Writing ! - Collaborative Authoring on Apache’s First Open-Source Cloud ...Radhika Puthiyetath
 
OAI Identifiers: Decentralised PIDs for Research Outputs in Repositories
OAI Identifiers: Decentralised PIDs for Research Outputs in RepositoriesOAI Identifiers: Decentralised PIDs for Research Outputs in Repositories
OAI Identifiers: Decentralised PIDs for Research Outputs in Repositoriespetrknoth
 
WOTS2E: A Search Engine for a Semantic Web of Things
WOTS2E: A Search Engine for a Semantic Web of ThingsWOTS2E: A Search Engine for a Semantic Web of Things
WOTS2E: A Search Engine for a Semantic Web of ThingsAndreas Kamilaris
 
Getting Started with Wonder
Getting Started with WonderGetting Started with Wonder
Getting Started with WonderWO Community
 

Similar to An Annotation Framework for Fedora (20)

OCCIware
OCCIwareOCCIware
OCCIware
 
Building APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformBuilding APIs in an easy way using API Platform
Building APIs in an easy way using API Platform
 
API Design & Security in django
API Design & Security in djangoAPI Design & Security in django
API Design & Security in django
 
Publishing Linked Data from RDB
Publishing Linked Data from RDBPublishing Linked Data from RDB
Publishing Linked Data from RDB
 
Research Shared: researchobject.org
Research Shared: researchobject.orgResearch Shared: researchobject.org
Research Shared: researchobject.org
 
Usage of Linked Data: Introduction and Application Scenarios
Usage of Linked Data: Introduction and Application ScenariosUsage of Linked Data: Introduction and Application Scenarios
Usage of Linked Data: Introduction and Application Scenarios
 
Darwin Core Archive (DwC-A) validation: A New Collaborative Effort
Darwin Core Archive (DwC-A) validation: A New Collaborative EffortDarwin Core Archive (DwC-A) validation: A New Collaborative Effort
Darwin Core Archive (DwC-A) validation: A New Collaborative Effort
 
Introduction to FIWARE IoT
Introduction to FIWARE IoTIntroduction to FIWARE IoT
Introduction to FIWARE IoT
 
Pharo Status ESUG 2014
Pharo Status ESUG 2014Pharo Status ESUG 2014
Pharo Status ESUG 2014
 
Annotations Supporting Scholarly Editing
Annotations Supporting Scholarly EditingAnnotations Supporting Scholarly Editing
Annotations Supporting Scholarly Editing
 
DSpace 4.2 Transmission: Import/Export
DSpace 4.2 Transmission: Import/ExportDSpace 4.2 Transmission: Import/Export
DSpace 4.2 Transmission: Import/Export
 
Managing Annotations (OR2016)
Managing Annotations (OR2016)Managing Annotations (OR2016)
Managing Annotations (OR2016)
 
How to debug IoT Agents
How to debug IoT AgentsHow to debug IoT Agents
How to debug IoT Agents
 
The WorldCat Search API
The WorldCat Search APIThe WorldCat Search API
The WorldCat Search API
 
"Data Provenance: Principles and Why it matters for BioMedical Applications"
"Data Provenance: Principles and Why it matters for BioMedical Applications""Data Provenance: Principles and Why it matters for BioMedical Applications"
"Data Provenance: Principles and Why it matters for BioMedical Applications"
 
Open Writing ! - Collaborative Authoring on Apache’s First Open-Source Cloud ...
Open Writing ! -	Collaborative Authoring on Apache’s First Open-Source Cloud ...Open Writing ! -	Collaborative Authoring on Apache’s First Open-Source Cloud ...
Open Writing ! - Collaborative Authoring on Apache’s First Open-Source Cloud ...
 
OAI Identifiers: Decentralised PIDs for Research Outputs in Repositories
OAI Identifiers: Decentralised PIDs for Research Outputs in RepositoriesOAI Identifiers: Decentralised PIDs for Research Outputs in Repositories
OAI Identifiers: Decentralised PIDs for Research Outputs in Repositories
 
Fedora4
Fedora4Fedora4
Fedora4
 
WOTS2E: A Search Engine for a Semantic Web of Things
WOTS2E: A Search Engine for a Semantic Web of ThingsWOTS2E: A Search Engine for a Semantic Web of Things
WOTS2E: A Search Engine for a Semantic Web of Things
 
Getting Started with Wonder
Getting Started with WonderGetting Started with Wonder
Getting Started with Wonder
 

Recently uploaded

Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfPatidar M
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...JojoEDelaCruz
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxlancelewisportillo
 
Activity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationActivity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationRosabel UA
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptshraddhaparab530
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptxmary850239
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxVanesaIglesias10
 
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxMusic 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxleah joy valeriano
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 

Recently uploaded (20)

Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdf
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
 
Activity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationActivity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translation
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.ppt
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptx
 
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxMusic 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 

An Annotation Framework for Fedora

  • 1. An annotation framework for Fedora Andrew Ashton Brown University Library
  • 2. Textual scholarship at Brown • Brown University Women Writers Project • Virtual Humanities Lab • Center of Digital Epigraphy • Modernist Journals Project • Hypertext, CAVE Writing, etc.
  • 4. Giovanni Pico della Mirandola’s 900 Theses (1486)
  • 5. The Brown Digital Repository (BDR) is a place to gather, index, preserve, and make available digital assets of enduring value produced via academic and research activities at Brown. https://repository.library.brown.edu
  • 6. Self-service web app: • Upload • Tag • Annotate • Share • Describe https://repository.library.brown.edu
  • 7. A B C Annotatio Annotatio Primary Annotatio Annotatio n n Object n n Repository Annotatio Annotatio Annotatio Annotatio n n n n My group’s About component My annotations annotations “C”
  • 8. Open Annotation Plugin for Fedora • Requirements: – No modifications to Fedora – No content model requirements – No additional expertise • Jython web service – Create annotations and bodies (optional) – any format – Query OA data – Serialize individual annotations or by query – Listen for updates from Fedora http://brown-university-library.github.com/oac_web_service/ http://bit.ly/oa_fedora
  • 9. Fedora repository OA plugin Anno-1 Client Serialize application Create Body-1 Target-1 Query ActiveMQ Fedora APIs
  • 10. @prefix dc: <http://purl.org/dc/elements/1.1/> . @prefix fedora-model: <info:fedora/fedora-system:def/model#> . @prefix oa: <http://www.w3.org/ns/openannotation/core/> . @prefix oax: <http://www.w3.org/ns/openannotation/extension/> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . <info:fedora/test:133> a <oa:Annotation>; oa:annotated "2012-07-26T12:35:42.282999Z"; oa:annotator "aashton@brown.edu"; oa:generated "2012-07-26T12:35:42.404999Z"; oa:generator "OAC TEI Demo web application"; oa:hasBody <info:fedora/test:132>; oa:hasTarget <info:fedora/test:133/SpecificTarget>; oa:modelVersion <http://www.openannotation.org/spec/core/20120509.html>; fedora-model:hasModel <info:fedora/bdr-cmodel:oa-annotation>; fedora-model:hasService <info:fedora/oac-sdef:serialize> . <info:fedora/test:132> a <oa:Body>; dc:format "text/xml" . <info:fedora/test:133/SpecificTarget> a <oa:SpecificResource>; oa:hasSelector <info:fedora/test:133/selector>; oa:hasSource <info:fedora/changeme:35>; oax:hasStyle <info:fedora/test:1000010118> . <info:fedora/test:133/selector> a <http://www.tei-c.org/release/doc/tei-p5- doc/en/html/SA.html#SATSSR>, <oa:FragmentSelector>; rdf:value "string_range(/TEI[1]/text[1]/body[1]/div1[1]/div2[1]/p[16],782,25)" .
  • 11. Create • Creates annotation objects in Fedora [via HTTP POST] – Datastreams: • Dublin Core • annotation (rdf/xml) • specifictarget (rdf/xml) • selector (rdf/xml) • Optionally, creates annotation bodies as new objects in Fedora. Annotation bodies can also be URIs for existing resources on the web. [via HTTP POST] • Indexes the RDF content of annotations objects in Jena
  • 12. Query, Serialize, and Listen • SPARQL endpoint for querying Fedora annotation data [via HTTP POST and GET] • SPARQL XML response (other formats to come) • Serialize individual annotations, lists of annotations, or the entire repository. • RDF/XML, JSON, NT, TTL, CSV • JMS consumer to receive updates via Fedora’s ActiveMQ broker
  • 13. Repository annotation sandbox Prototype application to: • Create annotations on TEI texts in Fedora • Target annotations at sections, strings, semantic markup • Create annotations as XML objects, URIs • Serialize and dump annotation repository
  • 14. Fedora repository Sample TEI application 1 TEI XSLT 2 3 OA plugin Anno-1 Query Body-1 Target-1 4 Create Serialize 1. Render TEI 2. Find the relevant annotations 3. Fetch and parse annotations 4. Create annotations
  • 15. Unresolved issues • UUIDs instead of datastream URIs • Binary bodies • Multiple targets • Versioning/persistence
  • 16. Thank you http://bit.ly/oa_fedora A.K.A http://brown-university- library.github.com/oac_web_service/ Email: andrew_ashton@brown.edu Twitters: @andyashton