- From: Randall Leeds <randall@bleeds.info>
- Date: Tue, 27 Oct 2015 20:11:36 +0000
- To: Web Annotation <public-annotation@w3.org>
- Message-ID: <CAAL6JQirBetKrf8B1P8q0Bjy3C0eAEQDB_DsO+aNiB1dXHceXw@mail.gmail.com>
My attraction to annotation is the promise of containers for referencing and relating content. The SpecificResource and its associated Selector classes accomplish the task of fixing references to content (not just URLs). Motivations accomplish the relating. The roles proposal expresses a desire to do so even more granularly. Motivations (and roles) makes the relation between body and target into an object related to the annotation (or body). This succeeds in avoiding publishing statements that explicitly involve the body and target as subject and object of a statement, but leaves the relation between the body and target to inference. Possibly one of the most important semantic statements the annotation could convey is not even in the graph! That is all fine and well motivated (ha!), but there already exists the RDF Schema reification vocabulary for conveying triples that are, for whatever reason, kept initially out of the graph. Consider a typical annotation use case, using rdfs:Statement, oa:SpecificResource and schema:Comment: http://json-ld.org/playground/#/gist/0185862e6812fd5a908e Here, the only Web Annotation Data Model classes I've used are SpecificResource and TextQuoteSelector. I chose "target" and "body" for mapping context terms to highlight the similarity to our typical examples. None of this is to argue that the Web Annotations Data Model needs to constrain its vocabulary more. It's perfectly fine and great to instantiate new vocabulary terms that are identical or similar to terms in existing vocabularies like schema.org and fix them within a W3C spec. For the extremely commonplace usage of annotation as targeted commenting, putting <article, comment, body> into the graph would seem to be the simplest thing. I would like to avoid querying for comments on this article PLUS annotations with the commenting motivation that have this article as their target or the source of their specific target. Wow, that second part seems needlessly complex compared to the first, doesn't it? To remedy this, we could be more careful in defining our motivation terms as rdf:Property instances that are meant to relate the bodies and targets directly. The annotation is either a sub-class of rdfs:Statement or perhaps it's a resource with a collection of one or more rdfs:Statement. I could ingest annotations and reify the new triples they describe. I could keep independent datasets, quads, named graphs, etc according to the the non-Statement metadata the Annotation bears in order to keep collections separate and non-conflicting, if I care to. Then I could make straightforward queries. Right now we can't do this because "oa:commenting" is not "oa:isCommentOn" and we don't reify <body, motivation, target> at all. We are really unclear about what the relationship is between bodies and targets, even in the role proposal. We are describing the annotation rather than using the annotation as a vehicle to describe the world with attribution.
Received on Tuesday, 27 October 2015 20:12:16 UTC