W3C home > Mailing lists > Public > www-archive@w3.org > December 2007

Re: POWDER: thoughts

From: Jeremy Carroll <jjc@hpl.hp.com>
Date: Mon, 17 Dec 2007 12:00:11 +0000
Message-ID: <476664CB.60806@hpl.hp.com>
To: www-archive@w3.org, Phil Archer <parcher@icra.org>, "Carroll, Jeremy John" <jeremy.carroll@hp.com>, Dan Brickley <danbri@danbri.org>, "Williams, Stuart (HP Labs, Bristol)" <skw@hp.com>
CC: Ivan Herman <ivan@w3.org>, Bijan Parsia <bparsia@cs.man.ac.uk>

Jeremy Carroll wrote:
> - resource descriptions and monotonicity
>   I got a bad non-monotonic feeling while reading the powder-grouping 
> WD; interestingly it was while reading bits that had clearly been 
> written with the issue in mind :(
> 

This is getting harder ...

At first blush, the POWDER grouping document seems to have been written 
with a view to the additive nature of RDF, and hence to respect 
monotonicity.

The formal semantic definition I gave on friday for includeHosts follows 
that pattern.

But .... it doesn't do what is wanted.

So here goes trying to describe what's written, and why it isn't what is 
required; and I'm trying to get together in my head a positive solution, 
which hides some of the complexity ... but that'll have to be in later 
message. So while this is a negative message, please don't take it 
pessimistically.

So, as well as say includeHosts, POWDER also allows to match on other 
aspects of the URI e.g. includeSchemes.

<wdr:ResourceSet rdf:ID="A">
   <wdr:includeSchemes>http https</wdr:includeSchemes>
   <wdr:includeHosts>example.org</wdr:includeHosts>
</wdr:ResourceSet>

<wdr:ResourceSet rdf:ID="B">
   <wdr:includeSchemes>http https</wdr:includeSchemes>
</wdr:ResourceSet>


<wdr:ResourceSet rdf:ID="C">
   <wdr:includeHosts>example.org</wdr:includeHosts>
</wdr:ResourceSet>

gives three resource sets.

The formal semantics of includeHosts I gave on Friday, suggest that the 
subject is a class all of whose members relate to the relevant host.

Thus the interpretation I(#A) will have a class extension that all come 
from example.org, and so could also be the same as the class extension 
of I(#C).
This is to reflect the monoticity in that the addition of the first 
includeSchemes triple prohibits certain interpretations, but doesn't 
license any interpretation that was not licensed in the first place.

But this contrasts directly with the explicit objective from the 
grouping WD:

http://www.w3.org/TR/2007/WD-powder-grouping-20071031/#design

2 It must be possible to determine with certainty whether a given 
resource is or is not an element of the Resource Set

Thus a resource identified by
   ftp://www.example.org/pub/foo.txt
is necessarily in #C, but not in #A or #B.

In terms of OWL 1.1:

  we could imagine a magic property hasURI which is given the obvious 
semantics via a semantic extension (this would be slightly easier to 
specify than the includeHosts property).

Then each of the properties in the groupings document can be seen as 
restrictions on the hasURI property, with appropriate user defined 
datatype to define the match.

e.g.

#A wdr:includeSchemes "http https" .

<==>

#A rdfs:subClassOf _:r .
_:r rdf:type owl:Restriction .
_:r owl:onProperty wdr:hasURI .
_:r owl:someValuesFrom _:d .
_:d rdf:type owl:DataRange .
_:d owl11:derivedFrom xsd:anyURI .
_:d owl11:onFacet  xsd:pattern .
_:d owl11:constraint "^(http|https):" .


i.e. we consider the class of all things that have a hasURI property 
with a value which conforms with the (anonymous) datatype derived from 
xsd:anyURI, matching the given pattern (which actually needs to be a bit 
more complicated, since schemes are case insensitive).

The key thing to note is that this a subClassOf triple, whereas the 
quoted goal #2, actually wants a fixed class definition, as the 
intersection of all the restrictions given.
So that, for #B which is defined using only the includeSchemes we would get:
#B owl:sameClassAs _:r .
_:r rdf:type owl:Restriction .
_:r owl:onProperty wdr:hasURI .
_:r owl:someValuesFrom _:d .
_:d rdf:type owl:DataRange .
_:d owl11:derivedFrom xsd:anyURI .
_:d owl11:onFacet  xsd:pattern .
_:d owl11:constraint "^(http|https):" .

(only the first triple is different)

And for #A we would define it as being the intersection of the two 
restrictions, using an owl:intersectionOf corresponding to the equation 
given in
http://www.w3.org/TR/2007/WD-powder-grouping-20071031/#methOutline

[roughly:
RS = DRSI = D1I ∩ D2I ∩ … ∩ DnI = (D1 ∧ D2 ∧ … ∧ Dn)I.
]



As a bullet-proof example of why the example in the grouping document 
does not respect the RDF semantics look at:





<wdr:ResourceSet rdf:ID="A">
   <wdr:includeSchemes>http https</wdr:includeSchemes>
   <wdr:includeHosts>example.org</wdr:includeHosts>
</wdr:ResourceSet>

<wdr:ResourceSet rdf:ID="A">
   <wdr:includeSchemes>http https</wdr:includeSchemes>
</wdr:ResourceSet>

By RDF Concepts and RDF Semantics the repeated includeSchemes triple 
counts only once, so that this is equivalent to:

<wdr:ResourceSet rdf:ID="A">
   <wdr:includeSchemes>http https</wdr:includeSchemes>
   <wdr:includeHosts>example.org</wdr:includeHosts>
</wdr:ResourceSet>


i.e. http://example.com/ is not part of the resource set

But ... by looking at

<wdr:ResourceSet rdf:ID="A">
   <wdr:includeSchemes>http https</wdr:includeSchemes>
</wdr:ResourceSet>

we see that it is ...

So in some way the monotonic discipline of RDF appears to be too severe.

Jeremy
Received on Monday, 17 December 2007 12:02:29 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 7 November 2012 14:18:12 GMT