- From: James Smith <jgsmith@gmail.com>
- Date: Thu, 9 Aug 2012 17:29:44 -0400
- To: public-openannotation <public-openannotation@w3.org>
I've been thinking about how to bite, assuming I'm thinking about the same problem. I've been considering how to specify that a particular annotation is about a resource when that resource is considered in the context of another resource. This can be done with an additional selector-like property: oax:hasContext. This could have the same target as oa:hasTarget, so anything that can be a target can be a context. For example, if I wanted to annotate an image as it is embedded in an html document, I could have the following triples: Anno1 a oa:Annotation ; oa:hasTarget Spec1 . Spec1 a oa:SpecificResource ; oa:hasSource IMG ; oax:hasContext Sel1 . Sel1 a oa:SpecificResource ; oa:hasSource HTML . I'm not sure how to interpret the oa:hasSelector {FileSel1,ImgSel1,Svg1} pieces of the second example to know how to transform them into a similar form as above. I like this form because I can ignore the oax:hasContext piece and still have a good chance at getting the annotation in the right place. For example, if I am annotating a video embedded on a particular page, all I have to add is the oax:hasContext piece to state that it is in the context of that resource, instead of annotating that resource and hoping I can select the video within that resource (and hope that such a selection doesn't have to change due to edits in the embedding document). -- Jim On Aug 9, 2012, at 4:56 PM, Robert Sanderson <azaroth42@gmail.com> wrote: > No one seems to be biting, so I'll throw out a proposal for a solution > (maybe) :) > > Instead of considering the annotation to be on the lowest level object > and then climbing back up the hierarchy (annotate the image, in the > html) instead we can use the regular structure of annotating the > highest level resource and drilling down with Selectors to the most > appropriate part (annotate the html, select the image). > > This would work in all of the cases described, and often with just > FragmentSelector. > eg: > > Anno1 a oa:Annotation ; > oa:hasTarget Spec1 . > Spec1 a oa:SpecificResource ; > oa:hasSource HTML ; > oa:hasSelector Sel1 . > Sel1 a oa:FragmentSelector ; // oax:XpointerFragmentSelector ? > rdf:value "xpointer(/xpath/to/img[@href="Img1"])" . > > Anno2 a oa:Annotation ; > oa:hasTarget Spec2 . > Spec2 a oa:SpecificResource ; > oa:hasSource ePub1 ; > oa:hasSelector CompSel1 . > CompSel1 a oa:CompositeSelector ; > oa:hasSelector FileSel1 ; // select xhtml file in zip > oa:hasSelector ImgSel1 ; // select image in xhtml > oa:hasSelector Svg1 . // select SVG area of image > (...) > > > The main issue is that the URI of the component resource (eg the > image) is not easily accessible, if it has one. In the ePub case, it > doesn't have its own HTTP URI, but in the regular web page it does. > > Thoughts? > > Rob > > > On Wed, Aug 1, 2012 at 4:09 PM, Robert Sanderson <azaroth42@gmail.com> wrote: >> Starting a new thread on this topic for ease of tracking :) >> >> In other a couple of other threads, the desire to describe an >> annotation which targets a resource in some particular context was >> expressed. >> For example, to annotate an image only as it appears in a particular html page. >> >> The base requirement seems to me to be: >> Annotate [part of] (resource) as it is used in (resource) >> >> This extends quickly to: >> Annotate [part of] (resource) as it is used in [part of] (resource) >> For example, annotate an image as it is used on page 4 of a PDF. >> >> This could mean arbitrary nesting, to allow for annotating an image in >> an html file in an ePub document. >> The same should be applicable for bodies as well as targets, in order >> to extract contents from container resources. >> >> Is there a requirement for differentiating between the resource, and >> the resource used in some container resource? >> For example, is it important to be able to annotate an image, but not >> have the annotation appear when that image is embedded within an HTML >> page? >> For annotating non-rendering resources (such as CSS, Javascript etc) >> it might be important? >> >> Is there a requirement for sets of container resources, or is it >> sufficient to simply create new annotations? For example, this image >> in these 3 HTML pages. >> >> >> A second application of filtering, that makes me very nervous, is: >> Annotate all occurrences of (selection) in (set of resources) >> >> For example all occurrences of the word "annotate" in any textual >> resource, all occurrences of the top left pixel in JPEG images, all >> occurrences of the first line of text in all copies of Shakespeare's >> "Hamlet". >> >> >> Before we start thinking about approaches and solutions, it would be >> great to firmly scope what it is that we're trying to solve :) >> >> Thanks, >> >> Rob >
Received on Thursday, 9 August 2012 21:30:13 UTC