- From: Robert Sanderson <azaroth42@gmail.com>
- Date: Mon, 3 Aug 2015 11:03:09 -0700
- To: Ivan Herman <ivan@w3.org>
- Cc: Frederick Hirsch <w3c@fjhirsch.com>, "Denenberg, Ray" <rden@loc.gov>, W3C Public Annotation List <public-annotation@w3.org>
- Message-ID: <CABevsUF8M7pG7=qEhBcV9ZiRX+QmjBm4T+mSfJch_eSrFj9EcA@mail.gmail.com>
Sorry, yes that JSON is fine (after s/kind/@type/). It must be "source" (as per Frederick's example) not "@id" (as per my previous ones), which I missed. So for an embedded comment with a role, it would look like: { "@type": "Annotation", "target": "uri-for-target", "body": { "role": "commenting", "source": { "@type": "EmbeddedContent", "chars": "Some Text here", "format": "text/plain" } } } Rob On Mon, Aug 3, 2015 at 4:01 AM, Ivan Herman <ivan@w3.org> wrote: > (Coming late in the discussion, having been on vacations) > > > > On 23 Jul 2015, at 17:34 , Frederick Hirsch <w3c@fjhirsch.com> wrote: > > > > (not as chair) > > > > And not as a staff contact:-) > > > Rob > > > > yes that helps quite a bit. > > > > I still see a problem explaining to JSON (non-turtle, non-RDF, > non-JSON-LD) people why what looks like straightforward JSON is wrong, > since they don't care about SpecificResources and triples.. > > > > if there were no JSON-LD and no linked data, the following *would be > fine* JSON, right? > > > > { > > "kind": "Annotation", > > "target" : "some-uri.html", > > "body": { > > "source: "meme-image.jpg", > > "role": "commenting" > > } > > } > > > > Rob, why isn't this structure o.k.? > > I have ran this through the JSON-LD playground (adding a prefix to the > properties to avoid writing a separate context) and the result, in terms of > N-Triples, is this: > > _:b0 <o:body> _:b1 . > _:b0 <o:kind> "Annotation" . > _:b0 <o:target> "some-uri.html" . > _:b1 <o:role> "commenting" . > _:b1 <o:source> "meme-image.jpg" . > > translated back into Turtle for readability: > > _:b0 > <o:kind> "Annotation", > <o:target> "some-uri.html", > <o:body> [ > <o:role> "commenting", > <o:source> "meme-image.jpg" > ] . > > > The only difference I can see is that there is no explicit typing for > SpecificResource. So what? Only RDF people really care about the exact > typing, and if we define the vocabulary in such a way that the domain of > "source" is SpecificResource, then we got it. > > What do I miss? > > Ivan > > > This is why the problem is "non-obvious". > > > > Is there a way to transform this via implementation to using > SpecificResource by default? Did this come up in the JSON-LD discussions? > > > > Does this make the issue clear from the JSON implementer point of view? > > > > regards, Frederick > > > > Frederick Hirsch > > > > fjhirsch.com > > @fjhirsch > > > > > >> On Jul 23, 2015, at 11:02 AM, Robert Sanderson <azaroth42@gmail.com> > wrote: > >> > >> > >> Sure! > >> > >> Good: > >> > >> _:anno a oa:Annotation ; > >> oa:hasTarget <some-uri.html> ; > >> oa:hasBody _:specres . > >> > >> _:specres a oa:SpecificResource ; > >> oa:motivatedBy oa:commenting ; > >> oa:hasSource <meme-image.jpg> . > >> > >> > >> Bad: > >> > >> _:anno a oa:Annotation ; > >> oa:hasTarget <some-uri.html> ; > >> oa:hasBody <meme-image.jpg> . > >> > >> <meme-image.jpg> oa:motivatedBy oa:commenting . > >> > >> > >> (Or substitute some new predicate like oa:role or whatever, per Tim > Cole's comment that specific resources aren't really motivated in the same > way that annotations are) > >> > >> Hope that helps :) > >> > >> Rob > >> > >> > >> On Thu, Jul 23, 2015 at 7:58 AM, Denenberg, Ray <rden@loc.gov> wrote: > >> Rob – still trying to grasp this. Could you show how this would look > done the “right” way, I.e. as a specific resource, > >> > >> > >> > >> AND please write both (the bad example and the good) in turtle, not > json-ld. > >> > >> > >> > >> Thanks. > >> > >> > >> > >> Ray > >> > >> > >> > >> > >> > >> From: Robert Sanderson [mailto:azaroth42@gmail.com] > >> Sent: Thursday, July 23, 2015 10:30 AM > >> To: Denenberg, Ray > >> Cc: Jacob Jett; Frederick Hirsch; W3C Public Annotation List > >> > >> > >> Subject: Re: [model] Clarifying annotation architecture > >> > >> > >> > >> > >> > >> We shouldn't (must not) do this: > >> > >> > >> > >> { > >> > >> "@type": "Annotation", > >> > >> "target" : "some-uri.html", > >> > >> "body": { > >> > >> "@id": "meme-image.jpg", > >> > >> "role": "commenting" > >> > >> } > >> > >> } > >> > >> > >> > >> As meme-image.jpg might have another role in a different annotation > (replacing, in Doug's example) > >> > >> > >> > >> Rob > >> > >> > >> > >> > >> > >> On Thu, Jul 23, 2015 at 6:37 AM, Denenberg, Ray <rden@loc.gov> wrote: > >> > >> Hi Jacob – No, I’m afraid I don’t see that the “sky colored red” > example applies to my question, however, if you (or someone) could write, > in RDF syntax, an example annotation, which does specifically what it is we > are saying we shouldn’t do … specifically: attach a motivation to a body > (and more specifically, where the body is an image or some other non-rdf > resource) ... that would help. > >> > >> Thanks. > >> > >> > >> > >> Ray > >> > >> > >> > >> From: jgjett@gmail.com [mailto:jgjett@gmail.com] On Behalf Of Jacob > Jett > >> Sent: Wednesday, July 22, 2015 5:16 PM > >> To: Denenberg, Ray > >> Cc: Robert Sanderson; Frederick Hirsch; W3C Public Annotation List > >> > >> > >> Subject: Re: [model] Clarifying annotation architecture > >> > >> > >> > >> Hi Ray, > >> > >> > >> > >> This is a distinctly RDF thing. Essentially the triples are all > distinct assertions. > >> > >> > >> > >> Imagine that I told you, "the sky is red". In ttl we might write the > assertion this way -- > >> > >> Sky colored Red . > >> > >> > >> > >> This statement is true at certain points in time. Unfortunately RDF > does not have a way to scope the assertion to certain points in time (or in > the roles example, specific contexts). So from the SemWeb perspective "Sky > colored Red ." and "Sky colored Blue ." are both true at all times and in > all places. Using the specific resource allows us to scope the assertions, > e.g., Sky@time@place colored Red . > >> > >> > >> > >> Is that example helpful at all? > >> > >> > >> > >> I think Rob's suggestion is a reasonable work around for this role > issue. It should be invisible to those who don't care about SemWeb issues > and makes the data reasonably actionable for those who do. > >> > >> > >> > >> Regards, > >> > >> > >> > >> Jacob > >> > >> > >> > >> > >> > >> _____________________________________________________ > >> > >> Jacob Jett > >> Research Assistant > >> Center for Informatics Research in Science and Scholarship > >> The Graduate School of Library and Information Science > >> University of Illinois at Urbana-Champaign > >> 501 E. Daniel Street, MC-493, Champaign, IL 61820-6211 USA > >> (217) 244-2164 > >> jjett2@illinois.edu > >> > >> > >> > >> On Wed, Jul 22, 2015 at 4:00 PM, Denenberg, Ray <rden@loc.gov> wrote: > >> > >> There is a fundamental piece of this that I’m missing. > >> > >> { > >> > >> "@type": "Annotation", > >> > >> "target": "some-uri.html", > >> > >> "body": { > >> > >> "@type": "SpecificResource", > >> > >> "motivation" : "editing", > >> > >> "source": "meme-image.jpg" > >> > >> } > >> > >> > >> > >> You create a new resource (specific resource) in order to associate a > motivation (editing) with the original resource (source). > >> > >> > >> > >> And you do this to avoid “directly assigning a role to the original > resource”. > >> > >> > >> > >> I understand the reason why. What I don’t understand is how it is > proposed to do the latter in the first place. In the example, the original > resource is an image. Not like it’s an RDF description that you can stick > an RDF triple into. > >> > >> > >> What am I missing here? > >> > >> > >> > >> Ray > >> > >> > >> > >> > >> > >> From: Robert Sanderson [mailto:azaroth42@gmail.com] > >> Sent: Wednesday, July 22, 2015 2:45 PM > >> To: Frederick Hirsch > >> Cc: W3C Public Annotation List > >> Subject: Re: [model] Clarifying annotation architecture > >> > >> > >> > >> > >> > >> > >> > >> > >> > >>> * Associate the role with the body directly. Fails because it makes > the body un-reusable, which for the image/video or similar case is not > acceptable. > >> > >> > >> > >> This statement is a key issue and I think Doug was asking about this as > well during the call. > >> The failure scenario is not clear. Un-resuable : re-used by whom and > for what? > >> > >> > >> > >> Reused anywhere by anyone for anything, but most importantly reused as > a body in a different annotation with a different role. > >> > >> As per Doug's example, you could not use the meme image as a comment in > one annotation and a replacement in another annotation. > >> > >> > >> > >> > >> > >> If I forget the semantic web (for a moment) I can have an object, say a > body, that has properties, including hasSegment or role and two bodies > could have different values for the properties. > >> > >> > >> > >> Sure. If I forget that I need to close my tags and put quotes around my > single token attributes, I end up with SGML ... but that sure isn't XML. > Or if we conveniently forget about HTTP requirements, we could not worry > about all those pesky headers. We could just stuff everything in the URL > ... that would be much simpler, no? Then you would only ever need to do a > GET, and could type it into your browser bar. > >> > >> > >> > >> > >> > >> The only re-use issue would be an implementation optimization (e.g. I > don't want to duplicate an embedded image/video to save space) > >> > >> In semantic web terms: > >> annotation1 has body1. > >> annotation1 has body2. > >> body1 hasRole A. > >> body2 hasRole B. > >> > >> > >> > >> annotation2 has body1 > >> > >> body1 hasRole B. > >> > >> > >> > >> Now body1 has both A and B roles. > >> > >> > >> > >> > >> > >> so where is the problem, and where is the re-use? > >> > >> > >> > >> There was no problem until someone else (annotation2) also assigned a > different role to the body, and now it has both of them at once. > >> > >> > >> > >> > >> > >>> * Associate the role (motivation) with a specific resource. Works as > expected without changing the semantics, breaking linked data, or > introducing any new classes or properties. > >> > >> isn't a body a resource? If it isn't a resource, what is it? > >> > >> > >> > >> Well... the preferred answer would be yes, it's a resource. But it's > also a literal string :P > >> > >> However snark aside, I'm not sure as to what's prompting the question? > >> > >> > >> > >> Perhaps to clarify the bullet: ... with a oa:SpecificResource. > >> > >> > >> > >> { > >> > >> "@type": "Annotation", > >> > >> "target": "some-uri.html", > >> > >> "body": { > >> > >> "@type": "SpecificResource", > >> > >> "motivation" : "editing", > >> > >> "source": "meme-image.jpg" > >> > >> } > >> > >> } > >> > >> > >> > >> 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 > >> > >> > >> > >> > >> -- > >> 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 > > > > > -- Rob Sanderson Information Standards Advocate Digital Library Systems and Services Stanford, CA 94305
Received on Monday, 3 August 2015 18:03:38 UTC