- 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