RE: Roles, multiple bodies, and creating wiki page of potential solution

For those who might be interested, I did create a wiki page illustrating most of the proposed ways so far raised to describe (and thereby differentiate) the non-multiplicity roles played by individual Bodies / Targets included in a multi-Body / Target Annotation:

  https://www.w3.org/annotation/wiki/Expressing_Role_in_Multi-Body_Annotations

I created 2 multi-body annotations and 1 multi-target annotation as examples (scenarios), and then created serializations in both JSON and Turtle illustrating the various approaches. The annotations created lack required annotation provenance, but otherwise include (I think) all of the MUST and SHOULD triples required by our data model.  The multi-target scenario is a bit of a stretch -- I suspect either we don't need to worry about multi-Target use cases or we need to revise and maybe augment our current list of Motivation terms to better handle multi-Target use cases.

The first example includes 3 bodies: a Textual Body, a SemanticTag Body, and a SpecificResource derived from a YouTube Video. 

The second example has 2 Textual Bodies, and the third example has 2 Web page Targets. 

The approaches illustrated have mostly been discussed on the list, except for the last approach which would type Bodies and Targets according to their role in the Annotation (which will likely make Rob cringe a little). 

Anyway, may be helpful for our discussion Wednesday and beyond in case you find the email links Fredrick provide not quite enough. 

Rob, Fredrick, since this page is transient, I did not try to link from the WG Wiki's home page.  Feel free if you think that useful.

Thanks,

Tim Cole


-----Original Message-----
From: Frederick Hirsch [mailto:w3c@fjhirsch.com] 
Sent: Monday, August 10, 2015 2:00 PM
To: t-cole3@illinois.edu
Cc: W3C Public Annotation List <public-annotation@w3.org>; Robert Sanderson <azaroth42@gmail.com>; Paolo Ciccarese <paolo.ciccarese@gmail.com>
Subject: Re: Roles, multiple bodies, and creating wiki page of potential solution

Tim

understand & no worries  

I just thought I should mention in case there was a (unknown) problem

thanks

regards, frederick

> On Aug 10, 2015, at 1:35 PM, Timothy Cole <t-cole3@illinois.edu> wrote:
> 
> Sorry -- my fault for the urldefense.proofpoint.com stuff.  Our Campus IT got tired of students (and faculty) getting virus by clicking on unsafe links that they set this up for all incoming email to University of Illinois servers.  If I forget (as I did the other day), shows when I reply to emails.
> 
> -Tim Cole
> 
> -----Original Message-----
> From: Frederick Hirsch [mailto:w3c@fjhirsch.com] 
> Sent: Monday, August 10, 2015 11:38 AM
> To: W3C Public Annotation List <public-annotation@w3.org>
> Cc: Robert Sanderson <azaroth42@gmail.com>; t-cole3 <t-cole3@illinois.edu>; Paolo Ciccarese <paolo.ciccarese@gmail.com>
> Subject: Re: Roles, multiple bodies, and creating wiki page of potential solution
> 
> this all is making sense.
> 
> Note that the urldefense.proofpoint.com stuff in the web archive wasn't in the direct email so should be ignored (right?)
> 
> (where did that get inserted and by whom?)
> 
> https://lists.w3.org/Archives/Public/public-annotation/2015Aug/0048.html
> 
> regards, Frederick
> 
> 
>> On Aug 5, 2015, at 2:41 PM, 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",
>> 
>>  "@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",
>> 
>>      "@type": "EmbeddedContent",
>> 
>>      "value": "MustRead"
>> 
>>    }
>> 
>>  ],
>> 
>>  "target":  "@id": "http://example.org/paris.html",
>> 
>>  "roles": [
>> 
>>    {"role": "commenting", "for": "_:n1"},
>> 
>>    {"role": "tagging", "for": "http://example.org/tag1"},
>> 
>>    {"role": "tagging", "for": "http://example.org/tag2"}
>> 
>>  ]
>> 
>> }
>> 
>> -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",
>> 
>>  "@type": "Annotation",
>> 
>>  "motivation": "bookmarking",
>> 
>>  "body": [
>> 
>>    {
>> 
>>      "@id": "http://example.org/comment1",
>> 
>>      "@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",
>> 
>>      "@type": "EmbeddedContent",
>> 
>>      "value": "MustRead"
>> 
>>    }
>> 
>>  ],
>> 
>>  "target":  "@id": "http://example.org/paris.html",
>> 
>>  "roles": [
>> 
>>    {"role": "commenting", "for": "http://example.org/comment1"},
>> 
>>    {"role": "tagging", "for": "http://example.org/tag1"},
>> 
>>    {"role": "tagging", "for": "http://example.org/tag2"}
>> 
>>  ]
>> 
>> }
>> 
>> 
>> 
>> Turtle (hand written, please verify)
>> 
>> 
>> 
>> <http://example.org/anno1> a oa:Annotation ;
>> 
>>  oa:motivatedBy oa:bookmarking ;
>> 
>>  oa:hasTarget <http://example.org/paris.html> ;
>> 
>>  oa:hasBody <http://example.org/comment1>, <http://example.org/tag1>, <http://example.org.tag2> ;
>> 
>>  oa:hasRole [
>> 
>>    oa:role oa:commenting ;
>> 
>>    oa:roleFor <http://example.org/comment1> ],
>> 
>>    [
>> 
>>    oa:role oa:tagging ;
>> 
>>    oa:roleFor <http://example.org/tag1> ],
>> 
>>    [
>> 
>>    oa:role oa:tagging ;
>> 
>>    oa:roleFor <http://example.org/tag2> ] .
>> 
>> 
>> 
>> <http://example.org/comment1> a oa:EmbeddedResource ;
>> 
>>  rdf:value "Come back and read this page about Paris" .
>> 
>> 
>> 
>> <http://example.org/tag1> a oa:EmbeddedResource ;
>> 
>>  rdf:value "paris" .
>> 
>> 
>> 
>> <http://example.org/tag1> 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
> 
> regards, Frederick
> 
> Frederick Hirsch
> Chair, W3C Device APIs WG (DAP)
> 
> www.fjhirsch.com
> @fjhirsch
> 
> 
> 
> 

Received on Monday, 10 August 2015 22:04:17 UTC