- From: Robert Sanderson <azaroth42@gmail.com>
- Date: Wed, 5 Aug 2015 13:32:40 -0700
- To: Paolo Ciccarese <paolo.ciccarese@gmail.com>
- Cc: t-cole3 <t-cole3@illinois.edu>, W3C Public Annotation List <public-annotation@w3.org>
- Message-ID: <CABevsUF-1_OWjJSktA54d19Y=-Fk8bEeyJ4oT2mmE0dYdcxSBw@mail.gmail.com>
And, for Specific Resource bodies, for example: { "@id": "http://example.org/anno1", "@type": "Annotation", "motivation": "bookmarking", "body": [ { "@id": "_:b1", "@type": "SpecificResource", "source": "http://example.org/image.jpg", "selector": { "@type": "FragmentSelector", "value": "xywh=1,1,100,100" } }, { "@id": "http://example.org/tag1", "@type": "EmbeddedContent", "value": "paris" }, { "@id": "http://example.org/tag2", "@type": "EmbeddedContent", "value": "MustRead" } ], "target": "http://example.org/paris.html", "roles": [ {"role": "commenting", "for": "_:b1"}, {"role": "tagging", "for": "http://example.org/tag1"}, {"role": "tagging", "for": "http://example.org/tag2"} ] } Note that it must be the @id of the SpecificResource, not of the image, as different selectors could be used on the same resource to pull out different segments. On Wed, Aug 5, 2015 at 11:41 AM, Paolo Ciccarese <paolo.ciccarese@gmail.com> wrote: > I honestly really like this solution! > Paolo > > On Wed, Aug 5, 2015 at 2:31 PM, Robert Sanderson <azaroth42@gmail.com> > wrote: > >> >> Yes, that's right :) >> >> Rob >> >> On Wed, Aug 5, 2015 at 11:11 AM, Timothy Cole <t-cole3@illinois.edu> >> wrote: >> >>> Posting my reply to the list as you suggested (I was initially focused >>> on the administrivia of getting the wiki page going, not the details of >>> Ray's solution). >>> >>> >>> >>> To continue on with your strawman illustrating Ray's role assignment >>> approach -- If I wanted to use a blank node for the Embedded Textual >>> Resource in your example, would this be the JSON? >>> >>> >>> >>> { >>> >>> "@id": "http://example.org/anno1 >>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__example.org_anno1&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=zjI0r-H6xRs5fYf2_jJkju6US9ijk0nLw4ns2nuwU2k&m=cJqARgr41lCItdetoau46NrfOtmYXb1XEdEOItktpAs&s=DmFqIJtEzhqkaDeDwf6E9PYx-7GLfzTUCq9-ZWq4FC0&e=> >>> ", >>> >>> "@type": "Annotation", >>> >>> "motivation": "bookmarking", >>> >>> "body": [ >>> >>> { >>> >>> "@id": "_:n1", >>> >>> "@type": "EmbeddedContent", >>> >>> "value": "Come back and read this page about Paris." >>> >>> }, >>> >>> { >>> >>> "@id": "http://example.org/tag1", >>> >>> "@type": "EmbeddedContent", >>> >>> "value": "paris" >>> >>> }, >>> >>> { >>> >>> "@id": "http://example.org/tag2 >>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__example.org_tag2&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=zjI0r-H6xRs5fYf2_jJkju6US9ijk0nLw4ns2nuwU2k&m=cJqARgr41lCItdetoau46NrfOtmYXb1XEdEOItktpAs&s=VSOMbmuGR41XHMJ5xpJJpxSGDgoi0WzTXC22Q7wg_rc&e=> >>> ", >>> >>> "@type": "EmbeddedContent", >>> >>> "value": "MustRead" >>> >>> } >>> >>> ], >>> >>> "target": "@id": "http://example.org/paris.html >>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__example.org_paris.html&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=zjI0r-H6xRs5fYf2_jJkju6US9ijk0nLw4ns2nuwU2k&m=cJqARgr41lCItdetoau46NrfOtmYXb1XEdEOItktpAs&s=5w8OVOI-tWa9ONYZqozWv0FlDWxM6W8hHvg10fSR9_o&e=> >>> ", >>> >>> "roles": [ >>> >>> {"role": "commenting", "for": "_:n1"}, >>> >>> {"role": "tagging", "for": "http://example.org/tag1 >>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__example.org_tag1&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=zjI0r-H6xRs5fYf2_jJkju6US9ijk0nLw4ns2nuwU2k&m=cJqARgr41lCItdetoau46NrfOtmYXb1XEdEOItktpAs&s=wAyNglO23dQpoSvolgABgz7hAVHB8O7AeVPohr98ee4&e=> >>> "}, >>> >>> {"role": "tagging", "for": "http://example.org/tag2 >>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__example.org_tag2&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=zjI0r-H6xRs5fYf2_jJkju6US9ijk0nLw4ns2nuwU2k&m=cJqARgr41lCItdetoau46NrfOtmYXb1XEdEOItktpAs&s=VSOMbmuGR41XHMJ5xpJJpxSGDgoi0WzTXC22Q7wg_rc&e=> >>> "} >>> >>> ] >>> >>> } >>> >>> -Tim Cole >>> >>> >>> >>> *From:* Robert Sanderson [mailto:azaroth42@gmail.com] >>> *Sent:* Wednesday, August 05, 2015 12:19 PM >>> *To:* t-cole3 <t-cole3@illinois.edu>; Ivan Herman <ivan@w3.org> >>> *Cc:* Denenberg, Ray <rden@loc.gov>; Frederick Hirsch <w3c@fjhirsch.com> >>> *Subject:* Re: Web Annotation -- New Wiki page >>> >>> >>> >>> On Wed, Aug 5, 2015 at 9:29 AM, Timothy Cole <t-cole3@illinois.edu> >>> wrote (edited/updated): >>> >>> My take away from today's WG call is that we need: >>> >>> 1) a complete, concrete annotation example or 2 based on Ray's proposed >>> solution in Turtle as well as JSON-LD, and >>> >>> >>> >>> Yup, I propose the simple bookmark export use case, rather than the >>> edits with custom motivations. >>> >>> >>> >>> >>> >>> 2) a wiki page that integrates this/these examples (adding >>> JSON/JSON-LD) with representative examples of currently supported approach >>> and other proposed solutions still under discussion. >>> >>> >>> >>> Yep, and the priority being 1 then 2. >>> >>> >>> >>> All examples on the wiki page would be serialized in both JSON/JSON-LD >>> and Turtle. >>> >>> Am I right that I should take the lead on 2 (creating the wiki page)? >>> >>> >>> >>> As a strawperson for 1: >>> >>> >>> >>> { >>> >>> "@id": "http://example.org/anno1 >>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__example.org_anno1&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=zjI0r-H6xRs5fYf2_jJkju6US9ijk0nLw4ns2nuwU2k&m=cJqARgr41lCItdetoau46NrfOtmYXb1XEdEOItktpAs&s=DmFqIJtEzhqkaDeDwf6E9PYx-7GLfzTUCq9-ZWq4FC0&e=> >>> ", >>> >>> "@type": "Annotation", >>> >>> "motivation": "bookmarking", >>> >>> "body": [ >>> >>> { >>> >>> "@id": "http://example.org/comment1 >>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__example.org_comment1&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=zjI0r-H6xRs5fYf2_jJkju6US9ijk0nLw4ns2nuwU2k&m=cJqARgr41lCItdetoau46NrfOtmYXb1XEdEOItktpAs&s=_oibSjDeFz1gR9uFc6RosvefyN_DZ3CZZL3dJzclHDQ&e=> >>> ", >>> >>> "@type": "EmbeddedContent", >>> >>> "value": "Come back and read this page about Paris." >>> >>> }, >>> >>> { >>> >>> "@id": "http://example.org/tag1 >>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__example.org_tag1&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=zjI0r-H6xRs5fYf2_jJkju6US9ijk0nLw4ns2nuwU2k&m=cJqARgr41lCItdetoau46NrfOtmYXb1XEdEOItktpAs&s=wAyNglO23dQpoSvolgABgz7hAVHB8O7AeVPohr98ee4&e=> >>> ", >>> >>> "@type": "EmbeddedContent", >>> >>> "value": "paris" >>> >>> }, >>> >>> { >>> >>> "@id": "http://example.org/tag2 >>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__example.org_tag2&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=zjI0r-H6xRs5fYf2_jJkju6US9ijk0nLw4ns2nuwU2k&m=cJqARgr41lCItdetoau46NrfOtmYXb1XEdEOItktpAs&s=VSOMbmuGR41XHMJ5xpJJpxSGDgoi0WzTXC22Q7wg_rc&e=> >>> ", >>> >>> "@type": "EmbeddedContent", >>> >>> "value": "MustRead" >>> >>> } >>> >>> ], >>> >>> "target": "@id": "http://example.org/paris.html >>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__example.org_paris.html&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=zjI0r-H6xRs5fYf2_jJkju6US9ijk0nLw4ns2nuwU2k&m=cJqARgr41lCItdetoau46NrfOtmYXb1XEdEOItktpAs&s=5w8OVOI-tWa9ONYZqozWv0FlDWxM6W8hHvg10fSR9_o&e=> >>> ", >>> >>> "roles": [ >>> >>> {"role": "commenting", "for": "http://example.org/comment1 >>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__example.org_comment1&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=zjI0r-H6xRs5fYf2_jJkju6US9ijk0nLw4ns2nuwU2k&m=cJqARgr41lCItdetoau46NrfOtmYXb1XEdEOItktpAs&s=_oibSjDeFz1gR9uFc6RosvefyN_DZ3CZZL3dJzclHDQ&e=> >>> "}, >>> >>> {"role": "tagging", "for": "http://example.org/tag1 >>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__example.org_tag1&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=zjI0r-H6xRs5fYf2_jJkju6US9ijk0nLw4ns2nuwU2k&m=cJqARgr41lCItdetoau46NrfOtmYXb1XEdEOItktpAs&s=wAyNglO23dQpoSvolgABgz7hAVHB8O7AeVPohr98ee4&e=> >>> "}, >>> >>> {"role": "tagging", "for": "http://example.org/tag2 >>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__example.org_tag2&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=zjI0r-H6xRs5fYf2_jJkju6US9ijk0nLw4ns2nuwU2k&m=cJqARgr41lCItdetoau46NrfOtmYXb1XEdEOItktpAs&s=VSOMbmuGR41XHMJ5xpJJpxSGDgoi0WzTXC22Q7wg_rc&e=> >>> "} >>> >>> ] >>> >>> } >>> >>> >>> >>> Turtle (hand written, please verify) >>> >>> >>> >>> <http://example.org/anno1 >>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__example.org_anno1&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=zjI0r-H6xRs5fYf2_jJkju6US9ijk0nLw4ns2nuwU2k&m=cJqARgr41lCItdetoau46NrfOtmYXb1XEdEOItktpAs&s=DmFqIJtEzhqkaDeDwf6E9PYx-7GLfzTUCq9-ZWq4FC0&e=>> >>> a oa:Annotation ; >>> >>> oa:motivatedBy oa:bookmarking ; >>> >>> oa:hasTarget <http://example.org/paris.html >>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__example.org_paris.html&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=zjI0r-H6xRs5fYf2_jJkju6US9ijk0nLw4ns2nuwU2k&m=cJqARgr41lCItdetoau46NrfOtmYXb1XEdEOItktpAs&s=5w8OVOI-tWa9ONYZqozWv0FlDWxM6W8hHvg10fSR9_o&e=>> >>> ; >>> >>> oa:hasBody <http://example.org/comment1 >>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__example.org_comment1&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=zjI0r-H6xRs5fYf2_jJkju6US9ijk0nLw4ns2nuwU2k&m=cJqARgr41lCItdetoau46NrfOtmYXb1XEdEOItktpAs&s=_oibSjDeFz1gR9uFc6RosvefyN_DZ3CZZL3dJzclHDQ&e=>>, >>> <http://example.org/tag1 >>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__example.org_tag1&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=zjI0r-H6xRs5fYf2_jJkju6US9ijk0nLw4ns2nuwU2k&m=cJqARgr41lCItdetoau46NrfOtmYXb1XEdEOItktpAs&s=wAyNglO23dQpoSvolgABgz7hAVHB8O7AeVPohr98ee4&e=>>, >>> <http://example.org.tag2 >>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__example.org.tag2&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=zjI0r-H6xRs5fYf2_jJkju6US9ijk0nLw4ns2nuwU2k&m=cJqARgr41lCItdetoau46NrfOtmYXb1XEdEOItktpAs&s=yNA7EnbXC05mh2eXtBr6jIOP4LyLayVx5uiO6yUBRxM&e=>> >>> ; >>> >>> oa:hasRole [ >>> >>> oa:role oa:commenting ; >>> >>> oa:roleFor <http://example.org/comment1 >>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__example.org_comment1&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=zjI0r-H6xRs5fYf2_jJkju6US9ijk0nLw4ns2nuwU2k&m=cJqARgr41lCItdetoau46NrfOtmYXb1XEdEOItktpAs&s=_oibSjDeFz1gR9uFc6RosvefyN_DZ3CZZL3dJzclHDQ&e=>> >>> ], >>> >>> [ >>> >>> oa:role oa:tagging ; >>> >>> oa:roleFor <http://example.org/tag1 >>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__example.org_tag1&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=zjI0r-H6xRs5fYf2_jJkju6US9ijk0nLw4ns2nuwU2k&m=cJqARgr41lCItdetoau46NrfOtmYXb1XEdEOItktpAs&s=wAyNglO23dQpoSvolgABgz7hAVHB8O7AeVPohr98ee4&e=>> >>> ], >>> >>> [ >>> >>> oa:role oa:tagging ; >>> >>> oa:roleFor <http://example.org/tag2 >>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__example.org_tag2&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=zjI0r-H6xRs5fYf2_jJkju6US9ijk0nLw4ns2nuwU2k&m=cJqARgr41lCItdetoau46NrfOtmYXb1XEdEOItktpAs&s=VSOMbmuGR41XHMJ5xpJJpxSGDgoi0WzTXC22Q7wg_rc&e=>> >>> ] . >>> >>> >>> >>> <http://example.org/comment1 >>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__example.org_comment1&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=zjI0r-H6xRs5fYf2_jJkju6US9ijk0nLw4ns2nuwU2k&m=cJqARgr41lCItdetoau46NrfOtmYXb1XEdEOItktpAs&s=_oibSjDeFz1gR9uFc6RosvefyN_DZ3CZZL3dJzclHDQ&e=>> >>> a oa:EmbeddedResource ; >>> >>> rdf:value "Come back and read this page about Paris" . >>> >>> >>> >>> <http://example.org/tag1 >>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__example.org_tag1&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=zjI0r-H6xRs5fYf2_jJkju6US9ijk0nLw4ns2nuwU2k&m=cJqARgr41lCItdetoau46NrfOtmYXb1XEdEOItktpAs&s=wAyNglO23dQpoSvolgABgz7hAVHB8O7AeVPohr98ee4&e=>> >>> a oa:EmbeddedResource ; >>> >>> rdf:value "paris" . >>> >>> >>> >>> <http://example.org/tag1 >>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__example.org_tag1&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=zjI0r-H6xRs5fYf2_jJkju6US9ijk0nLw4ns2nuwU2k&m=cJqARgr41lCItdetoau46NrfOtmYXb1XEdEOItktpAs&s=wAyNglO23dQpoSvolgABgz7hAVHB8O7AeVPohr98ee4&e=>> >>> a oa:EmbeddedResource ; >>> >>> rdf:value "MustRead" . >>> >>> >>> >>> >>> >>> >>> >>> Some initial observations: >>> >>> * All bodies need URIs to be referred to from the role. Meaning that >>> clients creating the annotation would have to assign, for example, a UUID >>> or blank node identifier. >>> >>> * There's no need to have the Tag class and the role :) So if we're >>> adopting this we can drop Tag and SemanticTag :) >>> >>> * I don't think we have a use case where the exact same resource is both >>> a body AND a target, but it would be potentially ambiguous if that were >>> true, and the same role could be used as both a body role and target role. >>> >>> >>> >>> R >>> >>> >>> >>> -- >>> >>> Rob Sanderson >>> >>> Information Standards Advocate >>> >>> Digital Library Systems and Services >>> >>> Stanford, CA 94305 >>> >> >> >> >> -- >> Rob Sanderson >> Information Standards Advocate >> Digital Library Systems and Services >> Stanford, CA 94305 >> > > > > -- > Dr. Paolo Ciccarese > Principal Knowledge and Software Engineer at PerkinElmer Innovation Lab > Assistant Professor of Neurology at Harvard Medical School > > Assistant in Neuroscience at Mass General Hospital > ORCID: http://orcid.org/0000-0002-5156-2703 > -- Rob Sanderson Information Standards Advocate Digital Library Systems and Services Stanford, CA 94305
Received on Wednesday, 5 August 2015 20:33:10 UTC