- From: Ivan Herman <ivan@w3.org>
- Date: Sat, 31 Oct 2015 09:02:30 +0900
- To: Randall Leeds <randall@bleeds.info>
- Cc: W3C Public Annotation List <public-annotation@w3.org>, Jacob Jett <jjett2@illinois.edu>
- Message-Id: <9170BFB6-F78F-4325-A411-94618B115552@w3.org>
Actually... Even on the RDF(S) level the exact semantics of reification has been the subject of enormous contention. The latest version of the RDF1.1 semantics does not really define any semantics for reification, it only has some description in [1] in an informative section (and the description is fairly opaque, I am the first one to acknowledge). Looking at [2] is probably better than [1], the points made there are relevant and more readable. The essential point being that if I have _:xxx rdf:type rdf:Statement . _:xxx rdf:subject ex:Fred . _:xxx rdf:predicate rdf:type . _:xxx rdf:object ex:AdultMan . I cannot, with the current RDF semantics, deduce that the triple ex:Fred rdf:type ex:AdultMan holds, although this is what one would expect, obviously. The only way to do that is to explicitly add that triple to the graph, too, which is not what one wants. The situation becomes even hairier if I mix in some owl:sameAs statements, ie, ex:Fred owl:sameAs ex:Bob: what exactly does the original Statement describes? Can I just substitute Bob to Fred? Actually, the reification vocabulary in the RDF Schema is also informative[3] (although that, by itself, may not be a good enough reason to reject it, after all, the list vocabulary is also not normative[4]). I think the conclusion of [2] is just about right: > In summary, working with RDF data and Semantic Web tools are difficult enough without throwing unnecessary RDF reification into the mix. Unless you want to talk about statements, don't use standard RDF reification! which pretty much summarizes the current thinking on reification in RDF circles. Or, put it another way, let us not stir up that mud: we would easily find ourselves in the eye of a cyclone of discussion:-) I hope this helps… Cheers Ivan P.S. The issue of a simple characterization of an arc in an RDF graph has plagued the RDF model from the start. The problem is: no one technology has come to really replace it. The closest that I know of is what is called 'Property Graphs'[5], which is implemented in the Neo4j database system. I did spend some time, a few years ago, to see if there is a consensus among non-SQL database people on that model, ie, whether there is a need/possibility to standardize this but, at least at that time, it was still considered to be experimental. In many respect a pity, but there we go... [1] http://www.w3.org/TR/2014/REC-rdf11-mt-20140225/#reification <http://www.w3.org/TR/2014/REC-rdf11-mt-20140225/#reification> [2] http://answers.semanticweb.com/questions/25672/why-is-it-difficult-to-use-a-reasoner-on-rdf-reification <http://answers.semanticweb.com/questions/25672/why-is-it-difficult-to-use-a-reasoner-on-rdf-reification> [3] http://www.w3.org/TR/2014/REC-rdf-schema-20140225/#h3_ch_reificationvocab <http://www.w3.org/TR/2014/REC-rdf-schema-20140225/#h3_ch_reificationvocab> [4] http://www.w3.org/TR/2014/REC-rdf-schema-20140225/#ch_collectionvocab <http://www.w3.org/TR/2014/REC-rdf-schema-20140225/#ch_collectionvocab> [6] http://neo4j.com/developer/graph-database/#property-graph <http://neo4j.com/developer/graph-database/#property-graph> > On 28 Oct 2015, at 07:48, Jacob Jett <jjett2@illinois.edu> wrote: > > Hi Randall, > > Can you explain more about the use case for this? > > I think quite possibly that this proposal might result in a model that breaks reasoners based on OWL. I remember reification being discussed at one of the early OAC meetings and as I recall the models avoidance of reification and scoping the relationship between the body and target is on purpose. Perhaps Rob or Tim might recall why this was avoided but its not clear to me if your proposal does not in fact make the standard unusable for anyone employing reasoners, more or less defeating its semantic web purposes. > > It blurs the line between semantics specific to the annotation model and those specific to RDF. > > (tentatively -1) > > Regards, > > Jacob > > > _____________________________________________________ > Jacob Jett > Research Assistant > Center for Informatics Research in Science and Scholarship > The Graduate School of Library and Information Science > University of Illinois at Urbana-Champaign > 501 E. Daniel Street, MC-493, Champaign, IL 61820-6211 USA > (217) 244-2164 > jjett2@illinois.edu <mailto:jjett2@illinois.edu> > > On Tue, Oct 27, 2015 at 3:16 PM, Randall Leeds <randall@bleeds.info <mailto:randall@bleeds.info>> wrote: > I realize I sent this without finishing with a concrete proposal, so here it is, with maximal backward compatibility (though I would consider more aggressive changes, too). > > Make oa:Annotation a subclass of rdfs:Statement. Without loss of generality, make oa:hasTarget and oa:hasBody sub-properties of rdfs:subject and rdfs:object. Rename the motivations so that they clearly describe the relationships between subject and object. > > If we would like to maintain some of the same multiplicity behavior, make it clear than any number of subjects and objects can be related by one predicate (or maybe more, but that seems dubiously useful). > > On Tue, Oct 27, 2015 at 1:11 PM Randall Leeds <randall@bleeds.info <mailto:randall@bleeds.info>> wrote: > My attraction to annotation is the promise of containers for referencing and relating content. > > The SpecificResource and its associated Selector classes accomplish the task of fixing references to content (not just URLs). > > Motivations accomplish the relating. The roles proposal expresses a desire to do so even more granularly. > > Motivations (and roles) makes the relation between body and target into an object related to the annotation (or body). This succeeds in avoiding publishing statements that explicitly involve the body and target as subject and object of a statement, but leaves the relation between the body and target to inference. > > Possibly one of the most important semantic statements the annotation could convey is not even in the graph! > > That is all fine and well motivated (ha!), but there already exists the RDF Schema reification vocabulary for conveying triples that are, for whatever reason, kept initially out of the graph. > > Consider a typical annotation use case, using rdfs:Statement, oa:SpecificResource and schema:Comment: http://json-ld.org/playground/#/gist/0185862e6812fd5a908e <http://json-ld.org/playground/#/gist/0185862e6812fd5a908e> > > Here, the only Web Annotation Data Model classes I've used are SpecificResource and TextQuoteSelector. I chose "target" and "body" for mapping context terms to highlight the similarity to our typical examples. > > None of this is to argue that the Web Annotations Data Model needs to constrain its vocabulary more. It's perfectly fine and great to instantiate new vocabulary terms that are identical or similar to terms in existing vocabularies like schema.org <http://schema.org/> and fix them within a W3C spec. > > For the extremely commonplace usage of annotation as targeted commenting, putting <article, comment, body> into the graph would seem to be the simplest thing. > > I would like to avoid querying for comments on this article PLUS annotations with the commenting motivation that have this article as their target or the source of their specific target. Wow, that second part seems needlessly complex compared to the first, doesn't it? > > To remedy this, we could be more careful in defining our motivation terms as rdf:Property instances that are meant to relate the bodies and targets directly. The annotation is either a sub-class of rdfs:Statement or perhaps it's a resource with a collection of one or more rdfs:Statement. > > I could ingest annotations and reify the new triples they describe. I could keep independent datasets, quads, named graphs, etc according to the the non-Statement metadata the Annotation bears in order to keep collections separate and non-conflicting, if I care to. Then I could make straightforward queries. > > Right now we can't do this because "oa:commenting" is not "oa:isCommentOn" and we don't reify <body, motivation, target> at all. We are really unclear about what the relationship is between bodies and targets, even in the role proposal. > > We are describing the annotation rather than using the annotation as a vehicle to describe the world with attribution. > ---- Ivan Herman, W3C Digital Publishing Lead Home: http://www.w3.org/People/Ivan/ mobile: +31-641044153 ORCID ID: http://orcid.org/0000-0003-0782-2704
Received on Saturday, 31 October 2015 00:02:47 UTC