- From: Paolo Ciccarese <paolo.ciccarese@gmail.com>
- Date: Thu, 25 Jun 2015 07:50:05 -0400
- To: Ivan Herman <ivan@w3.org>
- Cc: Robert Sanderson <azaroth42@gmail.com>, Doug Schepers <schepers@w3.org>, Chris Birk <cmbirk@gmail.com>, Jacob Jett <jjett2@illinois.edu>, W3C Public Annotation List <public-annotation@w3.org>
- Message-ID: <CAFPX2kAfDYPVV9bQZ0au3awd6y7yTH_wiECwQy_eitz=1PXhVw@mail.gmail.com>
Ivan, In my case the body was not twice into the equation, those were two different bodies belonging to two different Annotations: Annotation #1 (snippet): Literal body [NOT COMPLIANT WITH CURRENT VERSION OF THE MODEL] {"body" : [ { "role" : "edit", "content" : "literalcontent" }]} Annotation #2 (snippet): Resource body [NOT COMPLIANT WITH CURRENT VERSION OF THE MODEL] .. {"body" : [ { "role" : "edit", "content" : { "@id": "http://youtube.com/somevideo" } }]} ... Of course we can have an Annotation with both kinds of bodies: [NOT COMPLIANT WITH CURRENT VERSION OF THE MODEL] {"body" : [ { "role" : "edit", "content" : "literalcontent" }, { "role" : "edit", "content" : { "@id": "http://youtube.com/somevideo" } ]} Rob is referring to a specific construct already explained in the specs the oa:SpecificResource which we normally associate to targets but it is more general and can be applied to bodies. That construct allow to refer to a 'resource' through the oa:hasSource. And he referred also to oa:EmbeddedContent So my last snippet above would become, for example: {"body" : [ { "@type": "oa:EmbeddedContent", "role" : "edit", "value":"literalcontent" }, { "@type": "oa:SpecificResource", "role" : "edit", "source" : { "@id": "http://youtube.com/somevideo" } ]} Now, according to specs, the class oa:SpecificResource SHOULD be assigned, which means we could omit it as well to keep it simple. However oa:EmbeddedContent MUST be assigned so the above would become: {"body" : [ { "@type": "oa:EmbeddedContent", "role" : "edit", "value":"literalcontent" }, { "role" : "edit", "source" : { "@id": "http://youtube.com/somevideo" } ]} Question is, could we change the oa:EmbeddedContent to be 'inferred' so that we could write: {"body" : [ { "role" : "edit", "value":"literalcontent" }, { "role" : "edit", "source" : { "@id": "http://youtube.com/somevideo" } ]} Which is the closest we could get to what Doug was asking initially. Unfortunately that is not the pure JSON way as Chris was asking. But seems a decent compromise? Paolo On Thu, Jun 25, 2015 at 6:06 AM, Ivan Herman <ivan@w3.org> wrote: > Well… I still find all this confusing, because we sort of agree, then we > seem not to agree (and I am not sure why), then agree again… > > Rob, can you write down how you think we can have multiple bodies in an > annotation with roles/motivations? Because, frankly, I am lost. (And yes, I > did read the specifier section. But that is related in higher level > concepts level, which I think I understand, and not addressing specifically > the issue of multiple bodies…) > > Thanks > > Ivan > > > > On 25 Jun 2015, at 02:26 , Robert Sanderson <azaroth42@gmail.com> wrote: > > > > > > Call me devious or lazy, but if you read through: > > http://www.w3.org/TR/annotation-model/#specifiers > > > > And at the end don't understand what the role of SpecificResource is, > then we need to create some issues to fix the data model description :) > > > > Rob > > > > > > On Wed, Jun 24, 2015 at 5:16 PM, Doug Schepers <schepers@w3.org> wrote: > > Hey, Rob– > > > > Hmm... somehow, this is starting to get really hairy… Are you saying > that to have a motivation/role on a body, it would have to have this > additional type:SpecificResource key/value? Why is that? > > > > Can you explain to me what role 'SpecificResource' plays, and what the > name means. It's not intuitive to me. > > > > (That nested body thing worries me.) > > > > Thanks– > > –Doug > > > > > > On 6/24/15 4:09 PM, Robert Sanderson wrote: > > > > I'm fine with that ... and to expand it slightly, it fits exactly into > > the pattern of Fig 29+ > > > > { > > "@id": "http://example.org/anno1", > > "@type": "oa:Annotation", > > "body": { > > "@type": "oa:SpecificResource", > > "role": "commenting", > > "source": { > > "@id": "http://example.org/body1", > > "@type": "dctypes:Sound" > > }, > > "target" : "http://example.org/target1" > > } > > > > The concern is about literals / embedded text, and following the same > > pattern for consistency. > > > > { > > "@id": "http://example.org/anno1", > > "@type": "oa:Annotation", > > "body": { > > "@type": "oa:SpecificResource", > > "role": "commenting", > > "source": { > > "@id": "http://example.org/body1", > > "@type": "oa:EmbeddedContent", > > "value": "I love this thing" > > }, > > "target" : "http://example.org/target1" > > } > > > > > > Otherwise, if the role is NOT on the specific resource, and a specific > > resource is needed, we would have an unnecessary node sitting between > > the annotation and the specific resource just to hold the role. > > > > Also, for the literal case, currently the literal body is the object of > > oa:hasBody ... meaning .... > > > > { > > "@id": "http://example.org/anno1", > > "@type": "oa:Annotation", > > "body": { > > "@type": "oa:SpecificResource", > > "role": "commenting", > > "body": "I love this thing" > > } > > } > > > > That seems extremely hacky and introduces ridiculous recursion > > possibilities. Even bodyValue : literal would be better -- at least > > that could easily be translated into body {value: literal} more cleanly. > > > > Rob > > > > > > On Wed, Jun 24, 2015 at 12:52 PM, Paolo Ciccarese > > <paolo.ciccarese@gmail.com <mailto:paolo.ciccarese@gmail.com>> wrote: > > > > In other words, this (figure 3 of the specs): > > > > "body": { > > "@id":"http://example.org/body1", > > "@type":"dctypes:Sound" > > } > > > > Would become > > > > body" : [ > > { > > "role" : "soundtrack", > > "content" : { > > "@id":"http://example.org/body1", > > "@type":"dctypes:Sound" > > } > > } > > … > > > > > > > > > > > > -- > > Rob Sanderson > > Information Standards Advocate > > Digital Library Systems and Services > > Stanford, CA 94305 > > > ---- > Ivan Herman, W3C > Digital Publishing Activity Lead > Home: http://www.w3.org/People/Ivan/ > mobile: +31-641044153 > ORCID ID: http://orcid.org/0000-0003-0782-2704 > > > > > -- Dr. Paolo Ciccarese Principal Knowledge and Software Engineer at PerkinElmer Innovation Lab Assistant Professor in Neurology at Harvard Medical School Assistant in Neuroscience at Mass General Hospital ORCID: http://orcid.org/0000-0002-5156-2703
Received on Thursday, 25 June 2015 11:50:34 UTC