Re: wildcard resource representation

As ever there are many ways to skin this cat. The POWDER Working Group 
is trying to solve a very similar problem of applying triples to 'all 
resources on example.org' (and other more complex groupings), which I 
guess is similar to Garret's <mailto:*.*>.

We have ended up with the concept of a Resource Set, the first public 
working draft of which is at [1]. We'd define a Class representing all 
resources that have e-mail addresses as

[] a wdr:ResourceSet;
    wdr:includeSchemes "mailto";

But, if you really like wildcards, we've had a good discussion with the 
Web Application Formats WG concerning their Enabling Read Access for Web 
Resources work [2]. As a result we've agreed a common wildcard-based 
syntax for URI patterns (which we're both writing into future public 
drafts of our docs) which means that (in context):

example.com means example.com and all its subdomains

*.example.com means all subdomains of example.com but not example.com 
itself.

And we'll support example.com/foo* as well. All of which sounds awfully 
like rdf:aboutEach but it isn't, honestly! We didn't quite get a public 
working draft of our main Description Resources document ready before we 
went into summer vacation mode but those with W3C member access can see 
a very rough doc at [3] which sets out how you need to step outside 
semantics to process the data before going back into proper RDF and OWL 
to make sensible triples.

Phil.

[1] http://www.w3.org/TR/2007/WD-powder-grouping-20070709/
[2] http://www.w3.org/TR/access-control/
[3] http://www.w3.org/2007/powder/Group/powder-dr/20070730.html (W3C 
member only)




Valentin Zacharias wrote:
> Hi Garret,
> 
> GW:
>> I'm creating an ontology in which it is useful to identify "any 
>> resource". That is, let's say that I want to specify to which resource a 
>> particular <eg:Rule> applies. I can specify (let me try my hand at N3
> here);
> 
> [...]
> 
>> If I assume that the resources are people with emails, I could use
>> <mailto:*.*>. But that doesn't seem general enough---it's almost
>> too much of a hack.
> 
> If I understand you correctly you want to say something like: if there is an
> resource ?A such that there is a triple (?A, foaf:mbox,?B) then there is a
> triple (eg:Rule,eg:applies,?A) ... you want to make statements about a
> subset of resources for which some condition holds ...  I'ld use rules to
> represent that, for example with Jena' general purpose rule engine [1] you
> write this as:
> 
> [Rule applies: (?A, foaf:mbox,?B) -> (eg:Rule,eg:applies,?A)
> 
> No "wildcards", but "variables" that help you achieve the same. 
> 
> For many cases you can achieve the same with OWL by defining a class of all
> the resources you're interested, e.g. 
> foaf:mbox rdf:type owl:ObjectProperty;
>           rdfs:domain eg:PeopleWithEmail.
>>From this an OWL reasoner should conclude that every resource A for which
> there is a triple (A, foaf:mbox,*) is an instance of the class
> PeopleWithEmail - abd then you can use this class to make statement about
> your resources. 
> 
> 
> [1]: http://jena.sourceforge.net/inference/#rules
> 
> 
> 
> cu
> 
> valentin
> 
> --
> email: zacharias@fzi.de
> phone: +49-721-9654-806
> fax  : +49-721-9654-807
> http://www.vzach.de/blog
> 
> =======================================================================
> FZI  Forschungszentrum Informatik an der Universität Karlsruhe (TH)
> Haid-und-Neu-Str. 10-14, 76131 Deutschland, http://www.fzi.de
> SdbR, Az: 14-0563.1 Regierungspräsidium Karlsruhe
> Vorstand: Rüdiger Dillmann, Michael Flor, Jivka Ovtcharova, Rudi Studer
> Vorsitzender des Kuratoriums: Ministerialdirigent Günther Leßnerkraus
> =======================================================================
> 
> 
> 
> -----Original Message-----
> From: semantic-web-request@w3.org on behalf of Garret Wilson
> Sent: Wed 8/1/2007 2:57 AM
> To: Semantic Web
> Subject: wildcard resource representation
>  
> 
> Everyone,
> 
> I'm creating an ontology in which it is useful to identify "any 
> resource". That is, let's say that I want to specify to which resource a 
> particular <eg:Rule> applies. I can specify (let me try my hand at N3 here);
> 
> [] a eg:Rule;
>   eg:appliesTo <urn:uuid:92f01109-e08e-4ac2-b0d4-b13f65ba7595>
> 
> That means that the rules applies to some identified resource. But is 
> there any convention for identifying "any resource"? I see several options:
> 
>     * If I assume that the resources are people with emails, I could use
>       <mailto:*.*>. But that doesn't seem general enough---it's almost
>       too much of a hack.
>     * Maybe there's a wildcard URI out there---that is, perhaps
>       <urn:uuid:1234...> is universally agreed upon as the wildcard
>       resource. But I'm not holding my breath that this exists.
>     * Maybe I could create my own wildcard URI: <eg:wildcard>. But that
>       seems too specific to my ontology.
>     * What about a class of all resources? If I were to use
>       <http://www.w3.org/2000/01/rdf-schema#Resource>, that doesn't seem
>       to be what I'm wanting to say semantically---it would say that the
>       rule applies to the class of resources, not to every instance of
>       that class.
>     * I could create a type <eg:AnyResource> and this could be the value
>       of the eg:appliesTo property, but this seems to have the same
>       problem as using the type <rdfs:Resource>.
> 
> Any suggestions? There are almost limitless ways I can go with this, but 
> is there some convention?
> 
> Garret
> 
> 

Received on Wednesday, 1 August 2007 09:30:25 UTC