- From: Stian Soiland-Reyes <soiland-reyes@cs.manchester.ac.uk>
- Date: Thu, 19 Jul 2012 13:40:27 +0100
- To: Christian Morbidoni <christian.morbidoni@gmail.com>
- Cc: Leyla Jael GarcĂa Castro <leylajael@gmail.com>, Paolo Ciccarese <paolo.ciccarese@gmail.com>, public-openannotation@w3.org, Robert Sanderson <azaroth42@gmail.com>
On Thu, Jul 19, 2012 at 9:02 AM, Christian Morbidoni <christian.morbidoni@gmail.com> wrote: > well, the fact is that named content are web resources themselves and at the > same moment can be embedded in other web pages, along with other named > contents. The very same named content can be embedded in more than one page, > that is way I don't think oa:hasSource is the correct way of linking it to > the embedding web page..as "There MUST be exactly 1 oa:hasSource > relationship for each oa:SpecificResource." This is similar to the ORE proxies and aggregations. The question then becomes, what if two documents embed the same named resource - do you want the annotation to apply to the named resource in both documents, or separately? Image example: "The W3C logo on the Open Annotation Core Data Model specificaton" vs. "The W3C logo on the HTML 5 specification". Both of them are embedding http://www.w3.org/Icons/w3c_home which is certainly identifiable. If where it is embedded/mentioned does not matter - then simply use the named URI directly as the oa:hasTarget/oa:hasBody. If they need to be separate resources (which in many cases you probably want), then you need to use an intermediate SpecificResource. For instance: :a1 a oa:Annotation ; oa:hasBody <http://example.com/aboutOALogo.txt> ; oa:hasTarget :logoOA . :logoOA a oa:SpecificResource ; oa:hasSource <http://www.openannotation.org/spec/core/20120509.html> oa:hasSelector [ a oa:Selector, ex:EmbeddedSelector ; ex:embedded <http://www.w3.org/Icons/w3c_home> . ] . :a2 a oa:Annotation ; oa:hasBody <http://example.com/aboutHtml5Logo.txt> ; oa:hasTarget :logoHTML5 . :logoHTML5 a oa:SpecificResource ; oa:hasSource <http://www.w3.org/TR/2012/WD-html5-20120329/> # Could also have included this selector, but sadly none of # the pages assign an anchor for the logo <img> # # oa:hasSelector [ # a oa:Selector, oa:FragmentSelector ; # rdf:value "logo" # ] ; oa:hasSelector [ a oa:Selector, ex:EmbeddedSelector ; ex:embedded <http://www.w3.org/Icons/w3c_home> . ] . However I think it is better to reuse existing ways to talk about aggregations. Dublin Core has isPartOf, but no way to talk about "X within Y". ORE Proxies <http://www.openarchives.org/ore/1.0/datamodel#Proxies> are probably a much better fit to represent embedded or contained resources. Here's my take on how ORE could be used for the above example: :a1 a oa:Annotation ; oa:hasBody <http://example.com/aboutOALogo.txt> ; oa:hasTarget :logoOA . :logoOA a oa:SpecificResource ; oa:hasSource <http://www.openannotation.org/spec/core/20120509.html> ; oa:hasSelector [ a ex:OREProxySelector, oa:Selector, ore:Proxy ; ore:proxyFor <http://www.w3.org/Icons/w3c_home> ; ore:proxyIn <http://www.openannotation.org/spec/core/20120509.html> ; ] . # Implies: <http://www.openannotation.org/spec/core/20120509.html> a ore:Aggregation ; ore:aggregates <http://www.w3.org/Icons/w3c_home> . :a2 a oa:Annotation ; oa:hasBody <http://example.com/aboutHtml5Logo.txt> ; oa:hasTarget :logoHTML5 . :logoHTML5 a oa:SpecificResource ; oa:hasSource <http://www.w3.org/TR/2012/WD-html5-20120329/> ; oa:hasSelector [ a ex:OREProxySelector, oa:Selector, ore:Proxy ; ore:proxyFor <http://www.w3.org/Icons/w3c_home> ; ore:proxyIn <http://www.w3.org/TR/2012/WD-html5-20120329/> ; ] . # Implies: <http://www.w3.org/TR/2012/WD-html5-20120329/> a ore:Aggregation ; ore:aggregates <http://www.w3.org/Icons/w3c_home> . As the proxy in ORE are "a Resource that "stands for" an Aggregated Resource in a manner that is specific to one Aggregation" - then at first it seems like a perfect fit to 'reuse' the URI for the proxy as the SpecificResource. However I've opted to put the proxy within the selector instead, as this would allow you to have different styles and states - ORE dictates that proxies are equal if they have the same ore:proxyFor and ore:proxyIn. Sadly we can't have two oa:hasSource (which would be confusing) - so someone looking for annotations about <http://www.w3.org/Icons/w3c_home> and not knowing anything about the above would be lost. You will have to decide for the annotation what is the primary topic - is it the logo itself ("See what logo looks like in this case") or the page's use of the logo ("This page has the logo in the top left corner"). This is another reason why I put the proxy within the selector - because two different oa:SpecificResource could have the same proxy - but disagree on the oa:hasSource (which however should be either the proxyFor or proxyIn!). -- Stian Soiland-Reyes, myGrid team School of Computer Science The University of Manchester
Received on Thursday, 19 July 2012 12:41:55 UTC