ݺߣ

ݺߣShare a Scribd company logo
2014. 3. 28(금)
EPUB을 위한 주석 활용
“Open Annotation for EPUB”
1
지식 확산을 위한 전자출판(EPUB∙EDUPUB∙DAISY) 기술표준세미나
인터파크 최두립
couplewith@gmail.com
목차
2
3
Open Annotation WG
• W3C Open Annotation Community Group
• Open Annotation Data Model (08 February 2013)
• Annotation Ontology (AO)
• Open Annotation Collaboration (OAC)
• Open Annotations in EPUB (September 2013)
• How to apply Open Annotations (OA) in the context of EPUB
• Users and authors will be able to create, store, share, and
load annotations
• Reduces interoperability across Reading Systems.
• Use cases and functional requirements (2011-12 )
 Open Annotation Data Model : http://www.openannotation.org/spec/core/
Open Annotation WG : 2013 OA-in-EPUB
4
Annotations - 'metadata on content‘ : sub-group
Requirements & issues
 Mechanism to guarantee that document content has not changed
 guarantee identity of document author
 guarantee that the public annotation has not changed
 Document identifiers
 XML/HTML Unique Identifiers
 Structural Paths (XPath Expressions)
 Unicode Character Offset, Unicode Character Range
 Time Offset, Time Range
 Spacial Area
 Single Annotation, Multiple Targets
 Annotation content can contain either/any of: audio, video, image, text.
 Synchronized audio annotates the text
 https://code.google.com/p/epub-revision/wiki/Annotations#Requirements_&_issues
Open Annotation WG
 Project chairs
 TBD (initial lead by Markus Gylling and Rob Sanderson). IDPF members who wish to chair or co-chair this
effort are requested to contact Markus.

Project Members
 Rob Sanderson (Los Alamos National Laboratory)
 Yasuki Ikeuchi (ACCESS)
 Bill McCoy (IDPF, Readium Foundation)
 Paolo Ciccarese (Harvard University)
 Markus Gylling (IDPF, DAISY)
 George Kerscher (DAISY)
 Yong-Sang Cho (KERIS)
 Hadrien Gardeur (FeedBooks)
 Daniel Weck (DAISY, Readium Foundation)
 Romain Deltour (DAISY)
 Mihnea Tufiș (LIP6)
 Jean Kaplansky (Aptara)
 Andrew Brookins (Safari Books Online)
 Jean-Marie Geffroy (Mantano, Readium Foundation)
 King-Wai Chow (ASTRI)
 Takeshi Kanai (Sony)
 Toshiaki Koike (Voyager Japan)
5
Open Annotation
6
• 연구배경 과 필요성
IDPF : Open Annotation 연구 배경
7
표준 부재
북마크, 메모,위치 저장, 교환
상호 호환성
리딩 시스템간의 상호 호환성 필요
EPUB스펙 과 별개
EPUB 컨텐츠와 별개로 저장,관리
 출판물과 별개로 저장되고 공유 됨
 EPUB,DAISY,Adobe등 여러 포멧의 Annotation이 존재
 EPUB 2.1 Working Group Charter - Current Industry Problems : http://idpf.org/epub/30/wg-charter#pr_8
 전자책 상호 호환
W3C : Open Annotation 연구 배경
8
 시멘틱 웹을 위핚 기술
RDF
(Resource Description Framework)
Annotation Ontology Open Annotation Model
협력 (유비쿼터스)
Collaboration
웹상의 자원의 정보를 표현하는 XML 규격
컴퓨터에서 다룰 수 있는 형태로 표현핚 모
델
데이터 구조 모형
기계 사람
 Open Annotation Community Group : http://www.w3.org/community/openannotation/
 RDF : http://ko.wikipedia.org/wiki/RDF‎
Open Annotation의 필요성 : 전자책 붂야
9
Share to Facebook® and Twitter®
Share ideas with other reader
Social Reading
Stats with Reading Life
syncs your bookmarks across devices.클라우드
빅데이터
상호작용
 KOBO Books : http://www.kobobooks.com
Open Annotation의 필요성 : 교육 붂야
10
 디지털교과서 : 참고자료 영상
 디지털 교과서 학습 예시 : http://dtbook.edunet.net/st_renewal/file/디지털교과서_학습예시.pdf
• 하일라이트, 메모 공유
Open Annotation의 필요성 : 교육 붂야
11
학습 컨텐츠
북마크기술
 iTunes University
• 학습 활동 정보, 공유
Open Annotation의 필요성 : 교육 붂야
12
 OAC for Communities : http://www.openannotation.org/documents/201207oacNyu-b.pdf
ebook
Collaboration
Annotation 의 필요성 : use cases
13
 저자 측면
◦ 보조 컨텐츠 설명 (Ancillary content)
: Included at content packaging/publication time
 Embedded Commentary
 Long descriptions
 Annotations - metadata on content : https://code.google.com/p/epub-revision/wiki/Annotations#Requirements_&_issues
Annotation 의 필요성 : use cases
14
 독자 측면
◦ 메모, 북마크,책갈피
: by a single reader for their private use
 Underlining/highlighting significant content
 Adding a bookmark & comment (note):위치&영역
 Mindless drawing/doodles : 낙서
 Create a linkage between a point in a document and any other resource
 Reader annotates two distinct sections of a doc.
 Tagging a part of a publication, rather than commenting on it.
 Annotations with multiple bodies
Annotation 의 필요성 : use cases
15
 출판물 측면
◦ 공유, 상업적 서비스 : share, commercial offering
 Answers to a quiz (rich media) meant for teacher.
 Notes from a teacher to students.
 Notes from myself to members of my book club.
 Adding a table containing additional experimental data to an existing table
in a scholarly journal.
 Annotations from a third party for sale to students reading Huckleberry Finn.
 Errata : 정오표
 “Definitive“commentary from an interesting voice (editor, celebrity, historical
player, etc).
 Annotations on annotations
Open Annotation 과 EPUB
16
Open Annotation in EPUB
 https://docs.google.com/document/d/1imR8GM-
UobvcjvxVpLTGgX7thxGpAaHe1QLzgpb7xvU/edit?pli=1#bookmark=id.kiy6d29rasxu
Open Annotation : 관렦 표준
 [ContentDocs30] EPUB Content Documents 3.0
 [CFI] EPUB Canonical Fragment Identifier (epubcfi) Specification
 [HTML5] HTML5: A vocabulary and associated APIs for HTML and XHTML.
 [MediaFrag] Media Fragments URI 1.0 (basic). Raphaël Troncy, et al. 25
September 2012.
 [RDFa11] RDFa Core 1.1. Syntax and processing rules for embedding RDF
through attributes. Ben Adida, et al. 07 June 2012.
 [RFC2119] Key words for use in RFCs to Indicate Requirement Levels (RFC
2119) . March 1997.
 [RFC3987] Internationalized Resource Identifiers (IRIs) (RFC 3987). M
Duerst, et al. January 2005.
17
EPUB 패키징
 Packaging
◦ annotations.json in Zip root
 Format
◦ be serialized in a JSON document [RFC4627]
◦ which follows the JSON-LD conventions [JSON-LD].
 Metadata
◦ DCMI Metadata Terms [DCMI]
18
Json Data Format
The following example shows the source EPUB Publication and Rendition for
resolving EPUB CFIs.
{
"@type": "oa:SpecificResource",
"hasSource": {
"@id": "http://www.example.org/ebooks/A1B0D67E-2E81-4DF5/v2.epub",
"@type": "dctypes:Text"
},
"hasState": {
"@type": "epub:RenditionState",
"opfPath": "/opfs/content.opf"
}
}
19
DCMI
{
"@context": "http://idpf.org/epub/oa/1.0/context.json",
"@id": "http://example.org/epub/annotations.json",
"@type": "epub:AnnotationCollection",
"dc:title": "Alice in Wonderland Annotations",
"dc:publisher": "Example Organization",
"dc:creator": "Anne O'Tater",
"dcterms:modified": "2014-03-17T12:30:00Z",
"dc:description": "Anne's collection of annotations on Alice in Wonderland",
"dc:rights": [
{"@value": "Quelques droits en Français", "@language": "fr"},
{"@value": "Some Rights in English", "@language": "en"}
],
"annotations": [ … ],
}
20
Open Annotation 과 EPUB
21
Data Model
Open Annotation 기술 : Data Model
22
 http://www.openannotation.org/spec/core/20130208/
 http://www.slideshare.net/azaroth42/open-annotation-overview
Open Annotation 기술 : Data Model
23
<x:MyAnno> a oa:Annotation ;
oa:hasBody <http://www.youtube.com/watch?v=uPh81LIe7B8> ;
oa:hasTarget <http://en.wikipedia.org/> .
RDF:
Model:
 http://www.w3.org/community/openannotation/wiki/Sopa_Basic
oa:hasTarget
Open Annotation 기술 : Data Model
24
Open Annotation 기술 : Data Model
25
RDF:
Model:
<x:MyAnno> a oa:Annotation ;
oa:hasBody <urn:uuid:6C97B503-25EE-4E37-875C-B7C850E13194> ;
oa:hasTarget <http://en.wikipedia.org/> .
<urn:uuid:6C97B503-25EE-4E37-875C-B7C850E13194> a oa:SpecificResource ;
oa:hasSource <http://www.youtube.com/watch?v=uPh81LIe7B8> ;
oa:hasSelector <urn:uuid:40F2B17E-7CA2-42C2-B5AF-5F35E5992B8B> .
<urn:uuid:40F2B17E-7CA2-42C2-B5AF-5F35E5992B8B> a oa:FragmentSelector ;
rdf:value "t=npt:35,60" .
 http://www.w3.org/community/openannotation/wiki/Sopa_Selector
oa:hasSelector
Fragment Selector
Open Annotation 향후 고려 기술
26
Data Model의 표현 방식 소개
Open Annotation 기술 : RDF/XML
<?xml version="1.0" encoding="UTF-8"?><rdf:RDF
xmlns:cnt="http://www.w3.org/2008/content#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dms="http://dms.stanford.edu/ns/"
xmlns:exif="http://www.w3.org/2003/12/exif/ns#"
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:oac="http://www.openannotation.org/ns/"
xmlns:ore="http://www.openarchives.org/ore/terms/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="urn:uuid:377a6417-3629-49e6-a0fe-d2dcbf7b3818">
<oac:hasTarget rdf:resource="http://www.shared-canvas.org/impl/demo1/res/Canvas-
f32r"/>
<oac:hasBody rdf:resource="http://www.shared-canvas.org/impl/demo1/res/image-
f32r.jpg"/>
<rdf:type rdf:resource="http://dms.stanford.edu/ns/ImageAnnotation"/>
<rdf:type rdf:resource="http://www.openannotation.org/ns/Annotation"/>
</rdf:Description>
</rdf:RDF>
27
 Over view Of Open Annoatation : lib.stanford.edu/files/oac-dmss_0.ppt‎
 http://www.slideshare.net/azaroth42/open-annotation-overview
Open Annotation 기술 : RDF
28
 http://www.w3.org/community/openannotation/wiki/Annotating_a_Webpage_with_a_Textual_Note
 RDFa is a specification for attributes to express structured data in any markup language
ex:Anno a oax:Annotation ;
oa:hasTarget <http://www.w3.org/community/openannotation/> ;
oa:hasBody ex:uuid ;
oa:annotatedBy ex:Person1 ;
oa:annotatedAt "2012-02-12T15:02:14Z" ;
oa:serializedBy ex:Software1 ;
oa:serializedAt "2012-02-12T15:02:14Z" .
<http://www.w3.org/community/openannotation/>
dc:format "text/html" .
ex:uuid a cnt:ContentAsText ;
cnt:chars "This is the result of the merging process of Annotation Ontology (AO) and
Open Annotation Collaboration (OAC)" ;
cnt:characterEncoding "utf-8" .
ex:Person1 a foaf:Person ;
foaf:mbox "john.doe@example.org" ;
foaf:name "John Doe" .
ex:Software1
foaf:name "ExAnnotator" .
Open Annotation 기술 : HTML5+RDFa
29
 http://www.w3.org/community/openannotation/wiki/Serializations
 http://www.w3.org/TR/2008/PR-rdfa-syntax-20080904/#s_xhtmlrdfa
<note id="annotation1">
<p>
<a property="annotatedBy" href="http://example.com/people/shepazu">Shepazu</a>
</p>
<time datetime="2014-01-14T01:28:22-0500">
<a href="http://example.com/annotations/shepazu-1389680902"
title="1:28 AM - 14 Jan 2014">A few minutes ago</a>
</time>
<blockquote cite="http://example.com/sourcedoc.html"
data-prefix="essential feature of the memex. "
data-suffix=" When the user is building a tra">
<p>The process of tying two items together is the important thing.</p>
<footer>
- <cite>
<a href="http://en.wikipedia.org/wiki/Vannevar_Bush">Vannevar Bush</a>
</cite>
</footer>
</blockquote>
<p>Annotations are at the Web's core.</p>
<ul>
<li property="tag">annotations</li>
<li property="tag">web</li>
<li property="tag">standards</li>
</ul>
</note>
HTML
<note> element
Open Annotation 기술 : HTML
30
Standard HTML <a>
<p>
Vannevar Bush described about the increased complexity, publication, and specialization
of scientific disciplines<a property="note" href="#annotation2" />. He proposed a new
machine for linking and sharing different sources of information, which he called a
<a property="note" href="#annotation2">memex</a>.
<p>
...
<note id="annotation1">
<cite>Bush, Vannevar (Jul 1945),
<a href="http://www.theatlantic.com/magazine/archive/1945/07/as-we-may-
think/3881/">“As We May Think”</a>,
<i>The <a href="http://www.theatlantic.com/" title="Atlantic Monthly">Atlantic
Monthly</a></i>
<b>176</b> (1): 101–8
</cite>
</note>
 http://www.w3.org/community/openannotation/wiki/Serializations
 http://www.w3.org/TR/2008/PR-rdfa-syntax-20080904/#sec_D.2.
Open Annotation 기술 : JSON , JSON-LD
31
 http://www.w3.org/community/openannotation/wiki/Serializations
 http://www.w3.org/ns/oa.json
{
"@context": "http://www.w3.org/ns/oa.json",
"@type": "Annotation",
"annotatedAt": "2014-01-14T01:28:22-0500",
"annotatedBy": {
"@id": "http://example.com/people/shepazu",
"name": "Shepazu",
"@type" : "Person"
},
"hasBody": [
{
"chars" : "Annotations are at the Web's core."
},
{
"@type": "Tag",
"chars": [
"web",
"standards",
"annotations"
]
}
],
"hasTarget": "http://example.com/sourcedoc.html"
}
Annotation in JSON
- Using client-side
JavaScript into HTML
- Updates to web pages
via XHR or sockets
Open Annotation 향후 고려 기술
32
epub3 CFI 연계
EPUB CFI : 위치 정보
33
#epubcfi(/2/6/4!/2/4/16) : img element
 https://code.google.com/p/epub-revision/wiki/ImplementationProposalFragmentIdentifier
chapter01.xhtml
.opf file
EPUB CFI : 링크
34
...
<a href="chapter01.xhtml#epubcfi(/2/4/10/2/1:3b)">location</a>
...
 CFI can be also used to cross-reference XML content inside
the EPUB package
chapter02.xhtmlchapter01.xhtml
Open Annotation 향후 고려 기술
35
XPATH 연계
XPATH
36
jQuery
$(context).xpath(expression, resolver)
$.xpath(context, expression, resolver)
$(document.body).xpath("preceding-sibling::element()");
$(document).xpath("//*[parent::html][last()]")
 https://github.com/ilinsky/jquery-xpath
@XPath("/book")
@XPath("/*")
@XPath("/*[name() = 'book']")
@XPath("/*/*/..")
@XPath("/*/child:*/parent:book")
Xpath Expression
Open Annotation 향후 고려 기술
37
EPUB Link 연계
EPUB Link
38
 http://blog.threepress.org/2010/10/21/developing-an-epub-linking-spec/
Uniform Resource Identifiers (URI)in RFC2396:
<scheme>://<authority><path>?<query>
epub://urn%3Auuid%335d750c0-184f-2c4f-2ce2-1f9b7a7b891e/OEBPS/Introduction.xhtml#toc-
anchor-2
39
컨텐츠 서비스
전자책
기술
civilizationCulture
Q&A 인터파크 최두립
couplewith@gmail.com

More Related Content

140328 전자출판 기술표준세미나 epub 주석 표준 open_annotation_최두립_v2

  • 1. 2014. 3. 28(금) EPUB을 위한 주석 활용 “Open Annotation for EPUB” 1 지식 확산을 위한 전자출판(EPUB∙EDUPUB∙DAISY) 기술표준세미나 인터파크 최두립 couplewith@gmail.com
  • 3. 3 Open Annotation WG • W3C Open Annotation Community Group • Open Annotation Data Model (08 February 2013) • Annotation Ontology (AO) • Open Annotation Collaboration (OAC) • Open Annotations in EPUB (September 2013) • How to apply Open Annotations (OA) in the context of EPUB • Users and authors will be able to create, store, share, and load annotations • Reduces interoperability across Reading Systems. • Use cases and functional requirements (2011-12 )  Open Annotation Data Model : http://www.openannotation.org/spec/core/
  • 4. Open Annotation WG : 2013 OA-in-EPUB 4 Annotations - 'metadata on content‘ : sub-group Requirements & issues  Mechanism to guarantee that document content has not changed  guarantee identity of document author  guarantee that the public annotation has not changed  Document identifiers  XML/HTML Unique Identifiers  Structural Paths (XPath Expressions)  Unicode Character Offset, Unicode Character Range  Time Offset, Time Range  Spacial Area  Single Annotation, Multiple Targets  Annotation content can contain either/any of: audio, video, image, text.  Synchronized audio annotates the text  https://code.google.com/p/epub-revision/wiki/Annotations#Requirements_&_issues
  • 5. Open Annotation WG  Project chairs  TBD (initial lead by Markus Gylling and Rob Sanderson). IDPF members who wish to chair or co-chair this effort are requested to contact Markus.  Project Members  Rob Sanderson (Los Alamos National Laboratory)  Yasuki Ikeuchi (ACCESS)  Bill McCoy (IDPF, Readium Foundation)  Paolo Ciccarese (Harvard University)  Markus Gylling (IDPF, DAISY)  George Kerscher (DAISY)  Yong-Sang Cho (KERIS)  Hadrien Gardeur (FeedBooks)  Daniel Weck (DAISY, Readium Foundation)  Romain Deltour (DAISY)  Mihnea Tufiș (LIP6)  Jean Kaplansky (Aptara)  Andrew Brookins (Safari Books Online)  Jean-Marie Geffroy (Mantano, Readium Foundation)  King-Wai Chow (ASTRI)  Takeshi Kanai (Sony)  Toshiaki Koike (Voyager Japan) 5
  • 7. IDPF : Open Annotation 연구 배경 7 표준 부재 북마크, 메모,위치 저장, 교환 상호 호환성 리딩 시스템간의 상호 호환성 필요 EPUB스펙 과 별개 EPUB 컨텐츠와 별개로 저장,관리  출판물과 별개로 저장되고 공유 됨  EPUB,DAISY,Adobe등 여러 포멧의 Annotation이 존재  EPUB 2.1 Working Group Charter - Current Industry Problems : http://idpf.org/epub/30/wg-charter#pr_8  전자책 상호 호환
  • 8. W3C : Open Annotation 연구 배경 8  시멘틱 웹을 위핚 기술 RDF (Resource Description Framework) Annotation Ontology Open Annotation Model 협력 (유비쿼터스) Collaboration 웹상의 자원의 정보를 표현하는 XML 규격 컴퓨터에서 다룰 수 있는 형태로 표현핚 모 델 데이터 구조 모형 기계 사람  Open Annotation Community Group : http://www.w3.org/community/openannotation/  RDF : http://ko.wikipedia.org/wiki/RDF‎
  • 9. Open Annotation의 필요성 : 전자책 붂야 9 Share to Facebook® and Twitter® Share ideas with other reader Social Reading Stats with Reading Life syncs your bookmarks across devices.클라우드 빅데이터 상호작용  KOBO Books : http://www.kobobooks.com
  • 10. Open Annotation의 필요성 : 교육 붂야 10  디지털교과서 : 참고자료 영상  디지털 교과서 학습 예시 : http://dtbook.edunet.net/st_renewal/file/디지털교과서_학습예시.pdf • 하일라이트, 메모 공유
  • 11. Open Annotation의 필요성 : 교육 붂야 11 학습 컨텐츠 북마크기술  iTunes University • 학습 활동 정보, 공유
  • 12. Open Annotation의 필요성 : 교육 붂야 12  OAC for Communities : http://www.openannotation.org/documents/201207oacNyu-b.pdf ebook Collaboration
  • 13. Annotation 의 필요성 : use cases 13  저자 측면 ◦ 보조 컨텐츠 설명 (Ancillary content) : Included at content packaging/publication time  Embedded Commentary  Long descriptions  Annotations - metadata on content : https://code.google.com/p/epub-revision/wiki/Annotations#Requirements_&_issues
  • 14. Annotation 의 필요성 : use cases 14  독자 측면 ◦ 메모, 북마크,책갈피 : by a single reader for their private use  Underlining/highlighting significant content  Adding a bookmark & comment (note):위치&영역  Mindless drawing/doodles : 낙서  Create a linkage between a point in a document and any other resource  Reader annotates two distinct sections of a doc.  Tagging a part of a publication, rather than commenting on it.  Annotations with multiple bodies
  • 15. Annotation 의 필요성 : use cases 15  출판물 측면 ◦ 공유, 상업적 서비스 : share, commercial offering  Answers to a quiz (rich media) meant for teacher.  Notes from a teacher to students.  Notes from myself to members of my book club.  Adding a table containing additional experimental data to an existing table in a scholarly journal.  Annotations from a third party for sale to students reading Huckleberry Finn.  Errata : 정오표  “Definitive“commentary from an interesting voice (editor, celebrity, historical player, etc).  Annotations on annotations
  • 16. Open Annotation 과 EPUB 16 Open Annotation in EPUB  https://docs.google.com/document/d/1imR8GM- UobvcjvxVpLTGgX7thxGpAaHe1QLzgpb7xvU/edit?pli=1#bookmark=id.kiy6d29rasxu
  • 17. Open Annotation : 관렦 표준  [ContentDocs30] EPUB Content Documents 3.0  [CFI] EPUB Canonical Fragment Identifier (epubcfi) Specification  [HTML5] HTML5: A vocabulary and associated APIs for HTML and XHTML.  [MediaFrag] Media Fragments URI 1.0 (basic). Raphaël Troncy, et al. 25 September 2012.  [RDFa11] RDFa Core 1.1. Syntax and processing rules for embedding RDF through attributes. Ben Adida, et al. 07 June 2012.  [RFC2119] Key words for use in RFCs to Indicate Requirement Levels (RFC 2119) . March 1997.  [RFC3987] Internationalized Resource Identifiers (IRIs) (RFC 3987). M Duerst, et al. January 2005. 17
  • 18. EPUB 패키징  Packaging ◦ annotations.json in Zip root  Format ◦ be serialized in a JSON document [RFC4627] ◦ which follows the JSON-LD conventions [JSON-LD].  Metadata ◦ DCMI Metadata Terms [DCMI] 18
  • 19. Json Data Format The following example shows the source EPUB Publication and Rendition for resolving EPUB CFIs. { "@type": "oa:SpecificResource", "hasSource": { "@id": "http://www.example.org/ebooks/A1B0D67E-2E81-4DF5/v2.epub", "@type": "dctypes:Text" }, "hasState": { "@type": "epub:RenditionState", "opfPath": "/opfs/content.opf" } } 19
  • 20. DCMI { "@context": "http://idpf.org/epub/oa/1.0/context.json", "@id": "http://example.org/epub/annotations.json", "@type": "epub:AnnotationCollection", "dc:title": "Alice in Wonderland Annotations", "dc:publisher": "Example Organization", "dc:creator": "Anne O'Tater", "dcterms:modified": "2014-03-17T12:30:00Z", "dc:description": "Anne's collection of annotations on Alice in Wonderland", "dc:rights": [ {"@value": "Quelques droits en Français", "@language": "fr"}, {"@value": "Some Rights in English", "@language": "en"} ], "annotations": [ … ], } 20
  • 21. Open Annotation 과 EPUB 21 Data Model
  • 22. Open Annotation 기술 : Data Model 22  http://www.openannotation.org/spec/core/20130208/  http://www.slideshare.net/azaroth42/open-annotation-overview
  • 23. Open Annotation 기술 : Data Model 23 <x:MyAnno> a oa:Annotation ; oa:hasBody <http://www.youtube.com/watch?v=uPh81LIe7B8> ; oa:hasTarget <http://en.wikipedia.org/> . RDF: Model:  http://www.w3.org/community/openannotation/wiki/Sopa_Basic oa:hasTarget
  • 24. Open Annotation 기술 : Data Model 24
  • 25. Open Annotation 기술 : Data Model 25 RDF: Model: <x:MyAnno> a oa:Annotation ; oa:hasBody <urn:uuid:6C97B503-25EE-4E37-875C-B7C850E13194> ; oa:hasTarget <http://en.wikipedia.org/> . <urn:uuid:6C97B503-25EE-4E37-875C-B7C850E13194> a oa:SpecificResource ; oa:hasSource <http://www.youtube.com/watch?v=uPh81LIe7B8> ; oa:hasSelector <urn:uuid:40F2B17E-7CA2-42C2-B5AF-5F35E5992B8B> . <urn:uuid:40F2B17E-7CA2-42C2-B5AF-5F35E5992B8B> a oa:FragmentSelector ; rdf:value "t=npt:35,60" .  http://www.w3.org/community/openannotation/wiki/Sopa_Selector oa:hasSelector Fragment Selector
  • 26. Open Annotation 향후 고려 기술 26 Data Model의 표현 방식 소개
  • 27. Open Annotation 기술 : RDF/XML <?xml version="1.0" encoding="UTF-8"?><rdf:RDF xmlns:cnt="http://www.w3.org/2008/content#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dms="http://dms.stanford.edu/ns/" xmlns:exif="http://www.w3.org/2003/12/exif/ns#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:oac="http://www.openannotation.org/ns/" xmlns:ore="http://www.openarchives.org/ore/terms/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="urn:uuid:377a6417-3629-49e6-a0fe-d2dcbf7b3818"> <oac:hasTarget rdf:resource="http://www.shared-canvas.org/impl/demo1/res/Canvas- f32r"/> <oac:hasBody rdf:resource="http://www.shared-canvas.org/impl/demo1/res/image- f32r.jpg"/> <rdf:type rdf:resource="http://dms.stanford.edu/ns/ImageAnnotation"/> <rdf:type rdf:resource="http://www.openannotation.org/ns/Annotation"/> </rdf:Description> </rdf:RDF> 27  Over view Of Open Annoatation : lib.stanford.edu/files/oac-dmss_0.ppt‎  http://www.slideshare.net/azaroth42/open-annotation-overview
  • 28. Open Annotation 기술 : RDF 28  http://www.w3.org/community/openannotation/wiki/Annotating_a_Webpage_with_a_Textual_Note  RDFa is a specification for attributes to express structured data in any markup language ex:Anno a oax:Annotation ; oa:hasTarget <http://www.w3.org/community/openannotation/> ; oa:hasBody ex:uuid ; oa:annotatedBy ex:Person1 ; oa:annotatedAt "2012-02-12T15:02:14Z" ; oa:serializedBy ex:Software1 ; oa:serializedAt "2012-02-12T15:02:14Z" . <http://www.w3.org/community/openannotation/> dc:format "text/html" . ex:uuid a cnt:ContentAsText ; cnt:chars "This is the result of the merging process of Annotation Ontology (AO) and Open Annotation Collaboration (OAC)" ; cnt:characterEncoding "utf-8" . ex:Person1 a foaf:Person ; foaf:mbox "john.doe@example.org" ; foaf:name "John Doe" . ex:Software1 foaf:name "ExAnnotator" .
  • 29. Open Annotation 기술 : HTML5+RDFa 29  http://www.w3.org/community/openannotation/wiki/Serializations  http://www.w3.org/TR/2008/PR-rdfa-syntax-20080904/#s_xhtmlrdfa <note id="annotation1"> <p> <a property="annotatedBy" href="http://example.com/people/shepazu">Shepazu</a> </p> <time datetime="2014-01-14T01:28:22-0500"> <a href="http://example.com/annotations/shepazu-1389680902" title="1:28 AM - 14 Jan 2014">A few minutes ago</a> </time> <blockquote cite="http://example.com/sourcedoc.html" data-prefix="essential feature of the memex. " data-suffix=" When the user is building a tra"> <p>The process of tying two items together is the important thing.</p> <footer> - <cite> <a href="http://en.wikipedia.org/wiki/Vannevar_Bush">Vannevar Bush</a> </cite> </footer> </blockquote> <p>Annotations are at the Web's core.</p> <ul> <li property="tag">annotations</li> <li property="tag">web</li> <li property="tag">standards</li> </ul> </note> HTML <note> element
  • 30. Open Annotation 기술 : HTML 30 Standard HTML <a> <p> Vannevar Bush described about the increased complexity, publication, and specialization of scientific disciplines<a property="note" href="#annotation2" />. He proposed a new machine for linking and sharing different sources of information, which he called a <a property="note" href="#annotation2">memex</a>. <p> ... <note id="annotation1"> <cite>Bush, Vannevar (Jul 1945), <a href="http://www.theatlantic.com/magazine/archive/1945/07/as-we-may- think/3881/">“As We May Think”</a>, <i>The <a href="http://www.theatlantic.com/" title="Atlantic Monthly">Atlantic Monthly</a></i> <b>176</b> (1): 101–8 </cite> </note>  http://www.w3.org/community/openannotation/wiki/Serializations  http://www.w3.org/TR/2008/PR-rdfa-syntax-20080904/#sec_D.2.
  • 31. Open Annotation 기술 : JSON , JSON-LD 31  http://www.w3.org/community/openannotation/wiki/Serializations  http://www.w3.org/ns/oa.json { "@context": "http://www.w3.org/ns/oa.json", "@type": "Annotation", "annotatedAt": "2014-01-14T01:28:22-0500", "annotatedBy": { "@id": "http://example.com/people/shepazu", "name": "Shepazu", "@type" : "Person" }, "hasBody": [ { "chars" : "Annotations are at the Web's core." }, { "@type": "Tag", "chars": [ "web", "standards", "annotations" ] } ], "hasTarget": "http://example.com/sourcedoc.html" } Annotation in JSON - Using client-side JavaScript into HTML - Updates to web pages via XHR or sockets
  • 32. Open Annotation 향후 고려 기술 32 epub3 CFI 연계
  • 33. EPUB CFI : 위치 정보 33 #epubcfi(/2/6/4!/2/4/16) : img element  https://code.google.com/p/epub-revision/wiki/ImplementationProposalFragmentIdentifier chapter01.xhtml .opf file
  • 34. EPUB CFI : 링크 34 ... <a href="chapter01.xhtml#epubcfi(/2/4/10/2/1:3b)">location</a> ...  CFI can be also used to cross-reference XML content inside the EPUB package chapter02.xhtmlchapter01.xhtml
  • 35. Open Annotation 향후 고려 기술 35 XPATH 연계
  • 36. XPATH 36 jQuery $(context).xpath(expression, resolver) $.xpath(context, expression, resolver) $(document.body).xpath("preceding-sibling::element()"); $(document).xpath("//*[parent::html][last()]")  https://github.com/ilinsky/jquery-xpath @XPath("/book") @XPath("/*") @XPath("/*[name() = 'book']") @XPath("/*/*/..") @XPath("/*/child:*/parent:book") Xpath Expression
  • 37. Open Annotation 향후 고려 기술 37 EPUB Link 연계
  • 38. EPUB Link 38  http://blog.threepress.org/2010/10/21/developing-an-epub-linking-spec/ Uniform Resource Identifiers (URI)in RFC2396: <scheme>://<authority><path>?<query> epub://urn%3Auuid%335d750c0-184f-2c4f-2ce2-1f9b7a7b891e/OEBPS/Introduction.xhtml#toc- anchor-2