Re: Interpretation of RDF reification

* Dave Reynolds <der@hplb.hpl.hp.com> [2006-03-24 11:50+0000]
> Dan Brickley wrote:
> 
> >It's also worth keeping an eye on the W3C Rule Interchange Format 
> >Working Group, see http://www.w3.org/2005/rules/ ->
> >http://www.w3.org/2005/rules/wg.html
> >
> >They have a use cases and requirements draft out (which I've only
> >just noticed by accident, but which appears to be dated today!),
> >http://www.w3.org/2005/rules/wg/ucr/draft-20060323.html
> >
> >A rule language could be rich enough to handle quoting more robustly
> >than RDF reification. But I wouldn't bet on it :) I'd be interested to 
> >hear from WG members on this point.
> 
> I seem to recall that some of the original submitted usecases for RIF 
> mentioned reification[*] but more in the sense of making things like policy 
> rules first class objects in the domain, rather than in the sense of RDF 
> provenance tracking. I personally wouldn't expect RIF to be the right place 
> to re-examine RDF reification.

It doesn't seem the natural place, but history has worked this way
before. Eg.not everyone expected the XML styling (or query) effors to 
create Turing-complete programming languages. Or the 1997 Metadata 
Activity to create a foundation for knowledge representation on the Web.
Or the RDF querying group to trailblaze work on standardising named
graphs... These things happen.

> The charter does include mention of scoped inference (such as scoped 
> negation as failure). So it's possible that might mean a rule could ask 
> whether some fact was stated in a given scope (e.g. at a particular web 
> data source) - but we already have that capability with SPARQL, as you 
> pointed out.

I was also thinking that, if their language allows n-ary rather than 
binary relations, folk will doubtless start using it to decorate 
plain RDF assertions with extra bits. "Charlie loves Mary"; but how
much? eg:sincerity='very'; and how long eg:since='tuesday', ...

This isn't reification, but it is a common request that surfaces in
reification-related threads around here. Point being that frustrations
that folk have with the expressive limits of RDF will maybe get relieved
through RIF, even if RIF wasn't planned to take on an instance data
role. BUt that presumes decent tool support. And we've not yet seen
much OWL working its way into RDF instance data; it currently sits
happily enough in the corner of the Web it was planned for, ie. 
the docs that define RDF/RDFS/OWL vocabularies.

> Note that the RIF charter does not actually call for a semantic web rule 
> language but for a framework for interchange of rules between different 
> systems.  

Yup. You've pointed out the tensions here very eloquently before. My
view is just that there must be some point in standardising such a thing
through the World Wide Web Consortium's SW Activity, and that a spec
that didn't fit with the bigger SW picture would likely receive a 
hard time in public review.

	I guess someone could make an argument that CWM has a quoting 
> mechanism with its nested formulae and request that RIF should be capable 
> of interchanging CWM rules with other potentially-compatible-rule-languages 
> :-)

Worth a try ;)

> [BTW I don't think it's quite fair to describe RDF reification as not 
> "robust" - it does just what it says on the packet. The message from Pat 

Yes, Pat's message is great. I wish a bit more of that was in the spec.
While all this de re / de dicto stuff gives me flashbacks to Philosophy 
lectures, and is -as Pat says- an ancient theme, it will be
counter-intuitive for a lot of people. People often don't read what's on 
the packet. And the situation here is more complex: we have 1000s of 
people, whose work, data and software systems are being used together.
Dublin Core for example say nothing about what dc:source means in terms
of de re / de dicto when applied to an rdf:Statement. 


Let me try to be clearer.

RDF reification, considered as a mechanism for safely storing one RDF 
graph inside another, lacks robustness when used in systems that 
apply OWL-sanctioned inferences to RDF data. It does this because it 
is not designed as a container mechanism; the "inner" and "outer" graphs
share context, such that the contents of the outer graph and inner
graph may interact, eg. by making it impossible to tell which URIs 
were actually used in the original reified material.


> that Frank pointed to makes the issues clear and I'm not sure there is a 
> better solution. If you want de dicto then you can always use 
> literals/XMLLiterals or reference back to the raw document (as your SPARQL 
> solution is doing).

I'm happy doing that. And I'm happy with folk using RDF reification if 
it *really* what they want, and they're clear on what it does and
doesn't do. But we've been having this permathread now for 6+ years
(eg.
http://lists.w3.org/Archives/Public/www-rdf-interest/1999Dec/0068.html),
and there's little user-friendly guidance out there for folk wondering
whether reification works for them. 

> 
> For a framework for describing chains of deductions, which seems to be what 
> your example is really asking for, then you might find Inference Web 
> useful: http://iw.stanford.edu/
> That includes an (OWL) ontology for exchanging proof chains.

Interesting, but not what I'm after.

Going back to my example, who is screwing up?

 - the authors of registrar-1.rdf and registrar-2.rdf ?
 - the owners of the dc:source property?
 - the party that suggested it is good to use dc:source with
   rdf:Statement instances?
 - the author of nndb-bio.rdf for sharing info about co-naming URIs 
   via owl:sameAs?
 - the party that publishes a reification of the registrar-*.rdf claims 
   using rdf:Statement and dc:source
 - the party that decides to trust that document, alongside nndb-bio.rdf 
   and load it into an RDF store (eg. Jena)
 - the party that decides to improve that store by adding in
   OWL-sanctioned triples
 - the party that writes the SPARQL query against that store, expecting it 
   to tell them whether registrar-1.rdf mentioned charlie's URI.

If I had to apportion blame, it would be on the last step. The query
isn't a good query to ask. But it leaves me asking - what would be good 
queries to ask? Could we have a catalog of SPARQL uses cases for RDF 
reification that are both intuitive and meet real world needs?

Do you have any particular successes with the RDF reification vocab that 
could be shared this way?

cheers,

Dan

> ]
> 
> Dave
> 
> [*] It amuses me that the Mozilla spell checker suggests "deification" as a 
> correction for "reification".

Received on Friday, 24 March 2006 14:22:29 UTC