- From: Benjamin Young <bigbluehat@hypothes.is>
- Date: Wed, 4 Nov 2015 09:09:28 -0500
- To: Frederick Hirsch <w3c@fjhirsch.com>, Robert Sanderson <azaroth42@gmail.com>
- Cc: Jacob Jett <jgjett@gmail.com>, Randall Leeds <randall@bleeds.info>, Web Annotation <public-annotation@w3.org>
- Message-ID: <CAE3H5FJQa-1WfbqdEemUpxzCk+QN8u41Tg0cpT5k72MOJ8ZyaQ@mail.gmail.com>
Great idea, Frederick. Rob, which document should Frederick edit? These are in flux at the moment per https://github.com/w3c/web-annotation/issues/97 My guess is that it will need to be re-made on both documents: the "JSON-LD" one (which I'm doing) and the underlying model one (which Rob is doing). Frederick, for now, let's at least get this written up in a GitHub issue: https://github.com/w3c/web-annotation/issues/new Jacob, Randall, does that get closer to a bridge built between the worlds? :) Thanks! Benjamin -- Developer Advocate http://hypothes.is/ On Wed, Nov 4, 2015 at 8:56 AM, Frederick Hirsch <w3c@fjhirsch.com> wrote: > Benjamin > > I was thinking along similar lines that maybe there is an action we can > take with the model to help address Randall's concern about reasoning, > without reworking the fundamentals (for the reasons Ivan and others gave) > > I propose we could add a Note at the end of Section 1 before 1.1 > (Introduction) based on what Jacob suggested: > > [[ > > Note: > > Implementers of reasoners can explicitly add the inference that "body > relatedTo target" to enable reasoning with annotations. In addition, > inferring "motivation subclassOf relatedTo" is also a valid interpretation > (or use the predicate 'annotates'), especially if it serves some search > retrieval function. " > > ]] > > I can attempt to make a pull request if that helps (please point me to > correct repository, I don't want to touch FPWD or WD staging by mistake) > > regards, Frederick > > Frederick Hirsch > Co-Chair, W3C Web Annotation WG > > www.fjhirsch.com > @fjhirsch > > > On Nov 3, 2015, at 11:20 AM, Benjamin Young <bigbluehat@hypothes.is> > wrote: > > > > Thanks for starting this discussion, Randall! One thought inline below. > > > > On Thu, Oct 29, 2015 at 9:52 AM, Jacob Jett <jgjett@gmail.com> wrote: > > Hi Randall, > > > > Apologies if my responses have seemed a bit curt. I am just frustrated > by all of the use case-fu that seems to be bogging us down. Remarks in-line. > > > > On Wed, Oct 28, 2015 at 5:38 PM, Randall Leeds > > It is exactly this interpretation of motivations that I would like to > specify so that the interpretation is not idiosyncratic but normative. > > > > I'm pretty certain that's a bad idea. No one is actually going to agree > on the scope and meaning of 'comment', 'remark', 'bookmark', etc. Part of > the problem is that while there is obvious overlap with these concepts and > the concept of an annotation it isn't clear at all that all comments are > annotations. Counter-examples exist. For instance, if you and I are > discussing a baseball game and I comment on the performance of the pitcher, > it is difficult to assert that I also annotated the pitcher's performance. > > > > It seems to me that annotations are limited to recorded discourse but > comments have no such limitation. > > > > There is also the issue of contingent facts. That the body of an > annotation plays the role of a comment is a contingent fact to the whole of > the annotation. We can imagine a universe where the body plays some other > role in the context of the annotation yet the particular content of the > annotation has remained the same, e.g., the body plays the role of > explanation. How would we decide when to use a comment predicate instead of > an explanation predicate? Isn't relatedTo a simpler relationship? > > > > I believe that reifying that interpretation results in a dataset that is > eminently more consistent with how I would like to query it in practice, > e.g. ask a server for <Article, comment, ?> and get back all the objects > (structure of which are unspecified, as per the extensibility we've both > pointed to). > > > > This is a very brittle form of retrieval. You're reduced to hunting for > the string label of a particular predicate. This is not a semantic query > and is going to both miss pertinent results and retrieve non-relevant > results. At least with a query like <?, motivatedBy, <commenting>> you > might have a chance of grabbing annotations whose conceptual relationships > between body and target are related to the motivation represented by the > string "commenting". > > > > I don't see that anywhere in the model specification, unless you infer > some particular relatedTo predicate from an arbitrary vocabulary from the > English language description, "conveys that the body is related to the > target". > > > > That is indeed it. The entire model is built around this inference (to > the point that I'd hardly call it an inference). > > > > Keep in mind that reasoners do not just rely on the model but also > whatever inferencing rules the programmer sees fit to add in. My > interpretation of the English in the introduction is that body relatedTo > target is a valid inference. Within my own domain I can also easily argue > that inferring motivation subclassOf relatedTo is a valid interpretation (I > would actually go so far as to use the predicate 'annotates'), especially > if it serves some search retrieval function. However it's not so easy to > argue that this should be the normative interpretation because > myCommunity:Commenting =/= oa:Commenting. It's actually difficult to say > with authority what was the user intention unless I'm operating in an > annotation system that only allows its annotators one or two intentions. > > > > In our current model this is not true, and that's why I raised this > thread. > > > > For very practical reasons, anyone storing annotations in a triple store > will do so as a named graph. It makes retrieval, search, and serialization > much easier. If one doesn't store it this way (with regards to graph > databases anyway) then one quickly runs into one of RDF's worst > decidability problems -- document composition. > > > > The annotation is the root of a contiguous graph fragment. It cannot, > for example, convey disjoint subgraphs. It is not a dataset, it is a > particular resource. > > > > You're right, it's not a set and set theoretic approaches won't work. It > is, however, structured data. One of the primary drawbacks to RDF is that > there are no clear boundaries where a document may begin or end. I believe > that this is by design -- RDF is not a document language. It's an > information language and an open problem that has not been resolved to my > knowledge is how to compose the information in the graph into a > human-readable document. This problem can be attenuated (but not fixed) by > storing particular graph fragments as named graphs > > > > I still don't understand why those motivations are not themselves, or do > not imply normative relations, between the bodies and targets. > > > > Because it's hard to make that leap. The particular role a body plays in > relation to a target beyond annotating is very difficult to establish. It's > hard for me to picture an annotation client that successfully captures such > granular information. You're not likely to get the information from the end > user, yet you're in the awkward position of trying to capture the intention > with the annotation. Motivation at least abstracts it away to the point > that only the motivation might be incorrect. If you collapse the annotation > node into the wrong predicate then the entire graph fragment becomes false > (or really that assertion is false and everything related to it moot). > > > > This bit, about it being hard to "make that leap"--to get the user to > make or imply a normative relation between bodies and targets is probably > the core reason why we have this "new thing" called Annotation (vs. "just > RDF") and why that thing doesn't include (yet?) a place to directly relate > the body and target. > > > > The one question now buzzing in my brain is whether we should provide at > least an appendix that points to how one might make an Annotation which > also includes triples that *do* directly relate the body and target. > > > > This is perhaps doable already using something like `@graph` in JSON-LD > or by simply mixing in more statements on either the `body` or `target`. > > > > I do think we avoid "polluting" the global graph with (very) likely to > be incorrect content by *not* simply making annotation === to RDF. > > > > RDF is certainly annotation, but I think this thing we're creating here > does serve a purpose which is deliberately "non-committal" in the world of > graphs by sitting somewhat along side of it rather than having the > requirement of relating body and target at every step. > > > > However, I'd love to see a proposal written up for some of our examples > that show what you're thinking done either separate from (or counter to) > the Web Annotation Data Model as well as expanding the Data Model such that > direct relationships between body and target could also be encoded and > packaged along with the other bits. > > > > That last option--of expanding the model to include encoding arbitrary, > relationships between body and target--seems specifically valuable in > relation to oa:identifying, oa:describing, and oa:classifying motivations. > > > > It may be this is already possible, and I've just missed it, but if it's > not, I think Randall's on to something useful here, and I'd love to see it > explored by anyone interested enough to write a wiki page and some more > email. ;) > > > > Thanks again for posting this, Randall, and for your input, Jacob! Good > stuff. :) > > > > Cheers! > > Benjamin > > -- > > Developer Advocate > > http://hypothes.is/ > > > > > > The annotation provides a subject for extended attributes about the > activity, I'm still just asking why one of those attributes, which is about > the reason for relating the bodies and targets, cannot be interpreted in a > consistent way to imply a particular relation. > > > > The key is "consistent". I don't believe it's possible. People do not > mean the same thing when the use the same word. Even a term like "tagging" > easily becomes overloaded if we believe it indicates something about the > content of the body, e.g., its a simple string mono- or bi-gram as opposed > to a URL. > > > > Regards, > > > > Jacob > > > > > > >
Received on Wednesday, 4 November 2015 14:10:01 UTC