RE: [model] Clarifying annotation architecture

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

Received on Wednesday, 22 July 2015 21:00:58 UTC