RDFa
From Open Annotation Community Group
Modified example
This is the latest version of the starting example below in this page.
See thread: http://lists.w3.org/Archives/Public/public-openannotation/2014Jan/0082.html
Changes from previous version:
- updated the Target section to reflect current OA specs:
- modified the 'blockquote to represent a SpecificResource
- included a 'details' section for including the document source 'hasSource'
- added a 'div' element for representing the TextQuoteSelector
- included prefix and suffix as 'meta' tags to fully describe the selector
- updated the textual body to include the Content in RDF properties (with prefix cnt)
- Comment (Ivan): I wonder whether there are no alternatives to 'cnt' that would make this simpler.
<aside vocab="http://www.w3.org/ns/oa#" typeof="Annotation"> <p> <a property="annotatedBy" href="http://example.com/people/shepazu" typeof="foaf:Person"> <span property="foaf:name">Shepazu</span> </a> </p> <time property="annotatedAt" 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 property="hasTarget" typeof="SpecificResource" cite="http://example.com/sourcedoc.html" > <details> <summary>Source</summary> <a property="hasSource" resource="http://example.com/sourcedoc.html" href="http://example.com/sourcedoc.html">http://example.com/sourcedoc.html</a> </details> <div property="hasSelector" typeof="TextQuoteSeletor"> <meta property="prefix" content="essential feature of the memex."> <p property="exact">The process of tying two items together is the important thing.</p> <meta property="suffix" content="When the user is building a tra"> <div> <footer> - <cite> <a href="http://en.wikipedia.org/wiki/Vannevar_Bush"> <span>Vannevar Bush</span> </a> </cite> </footer> </blockquote> <p property="hasBody" prefix="cnt:http://www.w3.org/2011/content#" typeof="cnt:ContentAsText"><span property="cnt:chars">Annotations are at the Web's core.</span></p> </aside>
Resulting JSON-LD
{ "@type": "Annotation", "hasBody": { "@type": "cnt:ContentAsText", "cnt:chars": "Annotations are at the Web's core." }, "hasTarget": { "@type": "SpecificResource", "hasSource": "http://example.com/sourcedoc.html", "hasSelector": { "@type": "TextQuoteSeletor", "exact": "The process of tying two items together is the important thing.", "prefix": "essential feature of the memex.", "suffix": "When the user is building a tra" } }, "annotatedBy": { "@id": "http://example.com/people/shepazu", "@type": "foaf:Person", "foaf:name": "Shepazu" }, "annotatedAt": "2014-01-14T01:28:22-0500" }
Starting example (Obsolete)
From http://lists.w3.org/Archives/Public/public-openannotation/2014Jan/0038.html
<aside vocab="http://www.w3.org/ns/oa#" typeof="Annotation"> <p> <a property="annotatedBy" href="http://example.com/people/shepazu" typeof="foaf:Person"> <span property="foaf:name">Shepazu</span> </a> </p> <time property="annotatedAt" 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 property="hasTarget" resource="http://example.com/sourcedoc.html" cite="http://example.com/sourcedoc.html" data-prefix="essential feature of the memex. " data-suffix=" When the user is building a tra" typeof=""> <p>The process of tying two items together is the important thing.</p> <footer> - <cite> <a href="http://en.wikipedia.org/wiki/Vannevar_Bush"> <span>Vannevar Bush</span> </a> </cite> </footer> </blockquote> <p property="hasBody" typeof=""><span property="rdf:value">Annotations are at the Web's core.</span></p> <ul property="hasBody" typeof="SemanticTag"> <li property="rdf:value">annotations</li> <li property="rdf:value">web</li> <li property="rdf:value">standards</li> </ul> </aside>
Resulting JSON-LD (you can verify yourself by using the RDFa 1.1 distiller
{ "@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": [ { "value" : "Annotations are at the Web's core." }, { "@type": "SemanticTag", "value": [ "web", "standards", "annotations" ] } ], "hasTarget": "http://example.com/sourcedoc.html" }