[annotator-dev] Annotator / Open Annotation mapping

Nick Stenning nick at whiteink.com
Tue Jun 24 09:15:50 UTC 2014

On Wed, Jun 18, 2014, at 23:40, Robert Sanderson wrote:

>     "hasBody" : {"@type" : "cnt:ContentAsText", "chars" : "content-here"}

Am I right in thinking that this property can be an array of objects,

> * "user" becomes "annotatedBy" : {"foaf:nick" : "userid-here"}

Careful. This is currently used as user identifier, not a human-readable
representation of the user's name. Can I add arbitrary id properties to
the object on the RHS?

> Making a stand that they're actually about the target (despite the
> "review"
> example), then they become additional bodies:
> "hasBody" : [ {...as above ...}, {"@type" : ["cnt:ContentAsText",
> "oa:Tag"], "chars" : "tag-here"}]
> And if they're not about the target, then they get dropped.

So in terms of exposing existing data in this serialisation, we have no
idea of the motivations for tagging. So we either keep them all as
bodies, keep them all as properties (perhaps non-semantic ones) of the
annotation, or we drop them all. There's no way to partition them.

> Target logic:

I guess hasTarget and hasSelector can also accept arrays?

> * Consumer and Permissions are dropped, as authorization isn't part of
> the
> OA model.

Do we drop things that aren't in the OA model? Can't we just have
arbitrary fields? Not having this information makes appropriate
client-side rendering and authz difficult. (Do I have to make a call to
another endpoint to retrieve this information for a given @id?)


More information about the annotator-dev mailing list