Re: Annotations and the Graph

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