W3C home > Mailing lists > Public > public-powderwg@w3.org > March 2007

RE: Musings on resource grouping

From: Paul Walsh, Segala <paulwalsh@segala.com>
Date: Mon, 26 Mar 2007 12:13:04 +0100
To: "'Phil Archer'" <parcher@icra.org>, "'Public POWDER'" <public-powderwg@w3.org>
Message-Id: <20070326111259.0F8061524D297@postie1.hosting365.ie>

David Rooks is still on leave - hence the radio silence on this stuff from
Segala.

Paul

> -----Original Message-----
> From: public-powderwg-request@w3.org
[mailto:public-powderwg-request@w3.org]
> On Behalf Of Phil Archer
> Sent: 26 March 2007 12:02
> To: Public POWDER
> Subject: Musings on resource grouping
> 
> 
> The method by which we can group resources is a key part of what the
> POWDER WG is trying to define.
> 
> The following few lines of RDF/XML indicate the beginnings of one
> possible approach but also throw up a lot of questions so I wanted to
> put this in the public domain. Comment is very welcome on this -
> absolutely none of it is set in stone!
> 
> 
> 1  <wdr:Scope>
> 2    <wdr:hasScheme>^http$</wdr:hasScheme>
> 3    <wdr:hasHost>example.org$</wdr:hasHost>
> 4    <wdr:hasIP>213.249.189.194</wdr:hasIP>
> 
> 5    <wdr:hasPath>foo</wdr:hasPath>
> 6    <wdr:hasPath>bar</wdr:hasPath>
> 
> 7    <wdr:hasProperty>
> 8      <wdr:Property>
> 9        <ex:colour>red</ex:colour>
> 10     </wdr:Property>
> 11   </wdr:hasProperty>
> 
> 12   <wdr:propLookUp rdf:resource="http://sparql.example.com" />
> 
> 13   <wdr:hasNotURI>http://www.example.org/foo/bar.png</wdr:hasNotURI>
> 14 </wdr:Scope>
> 
> 
> The basic idea of an RDF Class containing the definition of the Scope
> seems straightforward enough?*
> 
> For a given URI, we wish to find out whether the resource to which it
> resolves is in scope or not. So first split it up into its component
> parts and then do some pattern matching using (Perl 5) regular
expressions.
> 
> Line 2 uses a regular expression to indicate the the scope applies to
> resources fetched using HTTP. The caret and dollar sign require an exact
> match so that, for example, HTTPS is not in scope (^https?$ would cover
> exactly either HTTP or HTTPS).
> 
> Line 3 uses a similar approach to define the scope as being resources on
> the example.org domain or any subdomain thereof (if you want to restrict
> it specifically to example.org, put a caret in front of it).
> 
> Importantly, the dollar sign at the end avoids example.org.phishing.com
> being in scope.
> 
> 4. Line 4 restricts the scope to resources delivered from the given IP
> address. This could be given as an IP range. Useful for large scale CMS
> that generates numeric URIs with no easy pattern matching ability??
> 
> Lines 5 and 5 define two elements that must be in the path if a resource
> is to be in scope. The intention is that, as with all elements here,
> these should be combined using logical AND. If logic OR is required,
> they can be presented readily in a single RegExp (foo|bar).
> 
> Lines 7 - 11 are an attempt to handle scoping by property. POWDER would
> provide a framework for properties to be used in this way but mustn't
> step over the line to define what kind of properties should be used.
> 
> In line 8 a Property Class is defined.
> 
> Line 9 provides an example to say that a resource must have the property
> of having the colour red.
> 
> Line 12 is intended to indicate that you can find out whether the
> resource is red by sending a SPARQL query to http://sparql.example.com.
> Such provision would be optional since it must cover several use cases:
> 
>   - where the content provider is making DRs available and is able to
> provide a look up data table for its resources to facilitate grouping.
> 
>   - where the content provider is unable to provide such data and wishes
> to state that the Description only applies to resources that are red -
> and you have to fetch the resources to find this out.
> 
> - where a third party is providing DRs and is making an assertion that
> is only true of red resources.
> 
> For example, they may wish to say that "all documents written in red ink
> are really hard to read on Mars." In such cases, the assertion remains
> consistent with or without the look up table/service.
> 
> Is this approach workable? Should we demand SPARQL or make it more
> generic? In which case we may need something more complex like:
> 
> <wdr:hasPropLookUp>
>    <wdr:PropLookUp>
>      <wdr:propLookUpURI rdf:resource="http://sparql.example.com" />
>      <wdr:propLookUpType
> rdf:resource="http://www.w3.org/TR/rdf-sparql-query/" />
>    </wdr:PropLookUp>
> </wdr:hasPropLookUp>
> 
> This is more flexible and extensible but it means that a "generic POWDER
> processor" couldn't be built since it would have to deal with an
> unbounded number of mechanisms for retrieving property data.
> 
> Specifying SPARQL may limit usefulness for some? Where SPARQL is used,
> should we actually embed the SPARQL query?
> 
> Back to the original example, line 13 simply states that
> http://www.example.org/foo/bar.png is not in scope, despite it meeting
> the other criteria. This serves to exemplify the idea of simply listing
> URIs as being in/out of scope, and of including negation for all elements.
> 
> As I said at the top - comments welcome.
> 
> Phil.
> 
> 
> * As discussed in the WCL-XG, it would, of course, be perfectly possible
> to encode Scope using another format, such as XML. This is still being
> considered by the WG - we could point to an XML literal from the RDF
> graph, for example.
> 
> 
> --
> Phil Archer
> Chief Technical Officer,
> Family Online Safety Institute
> w. http://www.fosi.org/people/philarcher/
> 
> 
Received on Monday, 26 March 2007 11:13:11 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:42:11 GMT