- From: Robert Sanderson <azaroth42@gmail.com>
- Date: Mon, 20 Apr 2015 20:11:12 -0700
- To: "Young,Jeff (OR)" <jyoung@oclc.org>
- Cc: Antoine Isaac <aisaac@few.vu.nl>, W3C Public Annotation List <public-annotation@w3.org>, Hugo Manguinhas <Hugo.Manguinhas@europeana.eu>
- Message-ID: <CABevsUGxW=yurDBiGdPysU_DfjcFVBcq23nhFE53pAe1ATt+Ew@mail.gmail.com>
Hi Jeff, By "knowledge graph", I just meant the global graph of RDF statements. We shouldn't be making assertions (such as adding spurious, context-dependent classes) about other people's resources. Apologies for the confusion! Rob On Mon, Apr 20, 2015 at 6:42 PM, Young,Jeff (OR) <jyoung@oclc.org> wrote: > So annotation graphs are objectively distinct from knowledge graphs? > > What is the distinction? Aren't all RDF descriptions a subjective > annotation of reality? Is this a Turing test? > > On Apr 20, 2015, at 9:22 PM, Robert Sanderson <azaroth42@gmail.com> > wrote: > > > > Hi Antoine, all, > > To summarize the requirements: > > 1 Use a URI as a tag for a resource, rather than a string that is likely > to be ambiguous > 2 Allow both the concept described in a referenced document, and the > concept itself as the tag > 3 Do not pollute the knowledge graph about the concepts or documents by > specifying annotation-specific information about them > 4 Must work with multiple bodies, and multiple motivations > > > And the options: > > * Add a class or property to the concept URI, as per oa:SemanticTag in > the CG draft. > -- Bad as it breaks 3, prompting the change from the CG structure > > * Have a new predicate between annotation and resource as subProperty of > hasBody > -- Bad as now clients need to look in multiple places for tags versus > semantic tags, > Also sets a bad precedent for communities to do the same, making > finding the body of an Annotation much harder in general. It would mean > generating new contexts for every community that did this, compared to > minting new motivations which go in the value in the JSON rather than the > key. > > * Add a class or property to the annotation, such as the SemanticTagging > motivation > -- bad as it breaks 4 (as discussed) > > Meaning we need some sort of reified intermediary node: > > * Have an intermediary node as a SpecificResource with the tagging > motivation > -- Inconsistent between tags (direct body) and semantic tag (referenced > from SR) without making easy things hard, which we should avoid. > > * Include an intermediary Tag node for semantic tags, and relate the Tag > node to the concept. > -- Current model > > > The strengths of the current model are: > * it's consistent for literal Tags and the two variants of Semantic Tag > There's a resource, which has either a string literal (Tag with > rdf:value) or a URI (Tag with foaf:page or skos:exactMatch) > * it doesn't break any of the requirements > * if copied, it doesn't mean new contexts all the time > * it doesn't encourage proliferation of predicates > > We could even dispense with the current SemanticTag class and just let > clients introspect on the properties to figure out which type it is, but I > don't see any harm in distinguishing the two as we currently do. I'm > certainly open to any sort of streamlining that can be done. > > So I unless there's a solution I'm missing, I feel like we have the best > option at the moment. Proposals are very welcome, of course! > > Rob > > > > On Mon, Apr 20, 2015 at 11:56 AM, Antoine Isaac <aisaac@few.vu.nl> wrote: > >> Hi Rob, >> >> Sorry for taking so long to answer... >> I'll just focus on the semantic tag issue. >> >> Indeed the solution I had dug up ('semantic tagging' motivation) would >> not work well with annotations with several bodies of different types. >> >> I'm not sure I buy the solution with the SpecificResource. As you say it >> still has one level of indirection, so it won't solve my worry. >> >> Perhaps the one thing that would solve it would be to use a specific >> sub-property of oa:hasBody to indicate that the target is a semantic type >> (i.e. oa:hasSemanticBody). It was also considered a couple of years ago... >> and discarded, probably (I don't remember for sure) because it introduces >> heterogeneity to the core pattern of the Annotation data. >> That being said, the solution with the blank node also breaks the >> pattern, big time. One expects to find something useful as the object of >> the oa:hasBody triple, but it's not really there: one now to make specific >> rules to go one step beyond, for the case of semantic tags... >> Though I reckon that for the JSON-LD serialization it may be less harmful >> than the sub-property trick. >> >> >> At this point I must apologize for playing the devil's advocate and >> testing these old options again on you. >> As you've read I've been quite surprised (and displeased) with the new >> semantic tagging pattern. And maybe it's good if the new WA spec can claim >> to have considered all alternatives (and we're actually doing it quite >> quickly here, at least way quicker than in the OA times!) >> >> Cheers, >> >> Antoine >> >> On 4/3/15 7:10 PM, Robert Sanderson wrote: >> >>> >>> Hi Antoine, >>> >>> >>> On Fri, Apr 3, 2015 at 5:52 PM, Antoine Isaac <aisaac@few.vu.nl <mailto: >>> aisaac@few.vu.nl>> wrote: >>> >>> The reasoning was that we didn't want to add a class >>> (oa:SemanticTag) to any arbitrary non-information resource on the semantic >>> web just because it was currently being used in that role for the >>> annotation. Eventually all resources would have the class and it would be >>> worthless. So the indirection is to solve that problem. >>> >>> >>> Well, I'd consider this not to be a big problem anyway... >>> >>> >>> It does seem unlikely to break things, but we shouldn't be specifying >>> bad behavior when there's a consistent pattern that fixes it. >>> >>> But maybe a solution could be to remove this type altogether? >>> I think we had discussed it a couple of years ago for Open >>> Annotation, hadn't we? >>> An alternative would be to use another feature, for example an >>> attribute of the Annotation itself, maybe a specific motivation (say, >>> oa:semanticTagging as a skos:narrower of oa:tagging). >>> >>> >>> This wouldn't work in the case when there are multiple bodies, one of >>> which is an external comment resource and the other a semantic tag. You >>> wouldn't know which was which. >>> >>> So you'd still need a level of indirection, but it might be more >>> consistent with issue #11 (on github) if the motivation was attached to a >>> SpecificResource than a new class of SemanticTag. >>> >>> On the other hand it would be less consistent with regular Tags unless >>> we also changed that structure to the much more cumbersome: >>> >>> _:anno1 a oa:Annotation ; >>> oa:hasBody _:spec1 ; >>> oa:hasTarget <target-uri> . >>> >>> _:spec1 a oa:SpecificResource ; >>> oa:motivatedBy oa:tagging ; >>> oa:hasSource _:tag1 . >>> >>> _:tag1 a oa:EmbeddedContent ; >>> rdf:value "tag" . >>> >>> >>> Thoughts? >>> >>> At the time of the original OA design, this other feature might have >>> been discarded because typing the body (which was a the concept then) as >>> oa:SemanticTag was a simple thing to do. But if now we have the choice >>> between introducing a specific motivation at the Annotation level or the >>> indirection, I would go for the specific motivation... >>> >>> >>> >>> - why skos:related? Given the sort of semantic tagging >>> scenarios we (and I believe anyone else) have, the link is much stronger >>> from a semantic perspective. I'd have expected skos:exactMatch. >>> >>> A good question, and one that I don't find the answer to >>> immediately. I think that exactMatch could be used instead of related, >>> which does seem a much weaker statement. The intended semantics of the >>> relationship are similar to that of foaf:page, but instead the object is >>> the concept directly. Happy to go with your opinion on which predicate >>> makes most sense there! >>> >>> >>> Yes skos:exactMatch seems fine. Better, in any case! >>> >>> >>> Created issue #29 to do this, and will close if we move to a model along >>> the lines of above. >>> Thanks! >>> >>> Rob >>> >>> -- >>> Rob Sanderson >>> Information Standards Advocate >>> Digital Library Systems and Services >>> Stanford, CA 94305 >>> >> > > > -- > Rob Sanderson > Information Standards Advocate > Digital Library Systems and Services > Stanford, CA 94305 > > -- Rob Sanderson Information Standards Advocate Digital Library Systems and Services Stanford, CA 94305
Received on Tuesday, 21 April 2015 03:11:39 UTC