- From: Richard Cyganiak <richard@cyganiak.de>
- Date: Wed, 1 Aug 2007 10:24:36 +0200
- To: Garret Wilson <garret@globalmentor.com>
- Cc: Semantic Web <semantic-web@w3.org>
On 1 Aug 2007, at 02:57, Garret Wilson wrote: > 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: That's why we have blank nodes. [] a eg:Rule; eg:appliesTo [ a rdfs:Resource ]; . This says that the rule applies to "anything that has rdf:type rdfs:Resource". Since, in fact, *everything* is of type rdfs:Resource, this is redundant, and can be stated simply as [] a eg:Rule; eg:appliesTo []; . "This rule applies to anything." The nice thing about this is that you can do things like: [] a eg:Rule; eg:appliesTo [ a foaf:Person; foaf:name "Garret" ]; . "This rule applies only to people called Garret." > * 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. I'm pretty sure this violates a couple of RFCs. > * 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. That's a bit like asking "Is there a wildcard number around? Maybe 1234 is universally adgreed upon as the wildcard number?" No, that's what variables are for. Blank nodes are, basically, anonymous variables. > * Maybe I could create my own wildcard URI: <eg:wildcard>. But that > seems too specific to my ontology. "Maybe I could define my own wildcard number ..." ;-) > * 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. Depends on the definition of eg:appliesTo. I think there's nothing wrong with this: [] a eg:Rule; eg:appliesToClass rdfs:Resource; . > * 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>. Yes, since then eg:AnyResource = rdfs:Resource . Best, Richard > > Any suggestions? There are almost limitless ways I can go with > this, but is there some convention? > > Garret > >
Received on Wednesday, 1 August 2007 08:25:26 UTC