Reification as it applies to POWDER

Matt and I took part in the regular Semantic Web Coordination Group call 
last Friday [1] and this provided a valuable opportunity to present our 
new model to some outside expertise. The conversation continued on the 
SWCG list [2] and this is my attempt at bringing a summary of what was 
said into the public domain (and, as ever, an invitation for further 
comment).

Let's start with the really good news that our proposed use of OWL is 
generally seen as OK. Moreover, it can actually be simplified a little 
and retain the semantics we want so that the basic 'Resource Class is a 
sub class of Descriptor Class' model looks good. I'll look at that a 
little later.

The 'big issue' was reification with much concern over it being a 
'dangerous thing to use' since its semantics are not universally 
accepted. Let me walk through this bit by bit.

Our current exemplar [3] includes a slightly more verbose version of this:

1  <rdf:Description rdf:about="#RC">
2    <rdfs:subClassOf rdf:resource="#Blue"
                       rdf:ID="assertion1" />
3  </rdf:Description>

4  <rdf:Description rdf:about="#assertion1">
5    <foaf:maker rdf:resource="http://www.example.com/foaf.rdf#david" />
6  </rdf:Description>

So line2 1 - 3 can be written as

<#RC> rdfs:subClassOf <#Blue>

Add in the reification data in lines 4 - 6 and this is usually written as

<<#RC rdfs:subClassOf #Blue>> foaf:maker [#david]

If we know that http://example.org.page.html is an instance of #RC then 
it follows that

<http://example.org.page.html> rdfs:subClassOf <#Blue>.

Which is what we've wanted to say all along.

So what's the problem?

N3 and quoting.

Write the reified statements in N3 - the medium through which RDF is 
usually transmitted - and you can get a subtly different meaning.

{#RC rdfs:subClassOf #Blue} foaf:maker [#david]

note the use of braces rather than double angle brackets. This says that 
  #david asserts this but it does _not_ actually make the assertion. 
This is called 'quoting' - and translates as 'david _believes_ that #RC 
is a subclass of #Blue' whereas what we have now says '#RC _is_ a sub 
class of #Blue and this is true because #david says so.

The example given usually surrounds Superman and Clark Kent - see [4], 
for example, but bear in mind Dan C was writing about SPARQL). See also 
Tim BL's comment on this [5] (and that rdf:quote isn't in the spec).

So, the as yet un-standardised but widely used N3 serialisation has a 
way to quote something without stating it as fact. RDF as specified can 
  only annotate facts that have been asserted (and actually it's pretty 
easy and intuitive in RDF/XML)

Why might we want to be able to quote?

Because our assertions that A is a subclass of B are often going to be 
time-limited.

If you publish the triple:

<#RC> rdfs:subClassOf <#Blue>

then as far as the semantics are concerned, that is an independent fact 
that is true in perpetuity. The additional information that the 
statement was made by #david at a given time and he will not stand by it 
after a given date doesn't actually alter the fact. However, if we were 
to use quoting then you _could_ say that 'between these dates #david 
will/does/did believe  #RC to be a subClass of #Blue.'

Does it matter to POWDER?

IMHO, no. The POWDER data model is predicated on the idea that you 
always know who said a particular thing. You can believe it or believe 
it not but it was said. And if you don't believe it, you can go and ask 
the person who said it because we provide hooks for you to do that. If 
you have a system that takes the facts on face value and doesn't check 
them, then the assertion may as well be true in perpetuity. If you do 
want to check the facts with the person making the assertion, well, 
you'll do so and won't worry too much about the fact being out there 
even though you personally may choose not to take any further notice of it.

This is the kind of argument that I believe most folk in the POWDER WG 
will happily leave to the experts to sort out. So here's my suggestion:

1. I already have an action item both from POWDER and SWCG to seek 
expert advice on this which I will do and report back as soon as I can.

2. Meanwhile, I see no reason right now to put our work on hold - it 
looks very much as if the new model we're working on is workable.

3. There's always a better solution just around the corner, but we need 
a solution now based on what's available.  (I likened it to the problem 
of do I buy a laptop now or wait 6 months and get a better one for the 
same price? Erm... I need a new laptop that works now, mate).

4. If expert opinion is such that our intended use of reification means 
that POWDER 'breaks the semantic web' then we will come to a new 
decision on the future of the groups' work based on the extra 
information available.

Keep smiling.

Phil.

[1] http://www.w3.org/2007/11/30-swcg-minutes.html (Member only)
[2] Thread starts at 
http://lists.w3.org/Archives/Member/w3c-semweb-cg/2007Nov/0029.html 
(member only)
[3] 
http://www.w3.org/2007/powder/Group/powder-dr/20071203.html#structure 
(member only)
[4] http://lists.w3.org/Archives/Public/public-cwm-talk/2005AprJun/0000.html
[5] http://lists.w3.org/Archives/Public/www-rdf-logic/2001Jan/0079.html

-- 
Phil Archer
Chief Technical Officer,
Family Online Safety Institute
w. http://www.fosi.org/people/philarcher/

Register now for the first, annual Family Online Safety Institute 
Conference and Exhibition, December 6th, 2007, Washington, DC.

Go to: http://www.fosi.org/conference2007/ today!

Received on Monday, 3 December 2007 14:32:58 UTC