- From: Charles McCathieNevile <charles@w3.org>
- Date: Tue, 25 Nov 2003 13:48:30 -0500 (EST)
- To: jon@hackcraft.net
- Cc: "www-rdf-interest@w3.org" <www-rdf-interest@w3.org>
I hope this isn't much about angels dancing on pinheads. I realise it isn't a new topic. Maybe the Wiki is a better place for continuing? On Tue, 25 Nov 2003 jon@hackcraft.net wrote: > >> actually FOAF doesn't use the same mechanism as WordNet. >> >> My understanding of best practice is that a bare URI will often be >> understood >> to refer to the thing that gets returned - i.e. the page. > >That couldn't possibly work since the thing that gets returned (the page, >although some representations wouldn't be called "pages") depends on factors >other than the URI. "The page" is indeed a slightly nebulous concept in a world of content negotiation and so on. The point is that overloading the possible things that are actually at http://example.com/apage.html (by using it in an http GET or POST) with what that content might be talking about is adding to the confusion, whereas the RDF spec clearly defines the meaning of http://www.example.com/someTerm#foo as being the thing identified by the RDF version of that page (OK so that isn't a watertight definition either, but it reduces the problem a bit). Otherwise we need to have some way of talking about "the resource at this URI", and since lots of RDF stuff is about Web resources, it seems like an unnecessary complication. >> FOAF gets around the desire to do this by using a blank Node to identify a >> Person - >> >> the person whose email address is mailto:foo@example.net >> >> Or in RDF >> >> <rdf:RDF xmlns="I forget right now" >> xmlns:foaf="the foaf namespace"> >> <foaf:Person> >> <foaf:mbox rdf:resource="mailto:foo@example.net"/> >> </foaf:Person> >> </rdf:RDF> > >The problem FOAF is getting around here is that there is no agreed system for >identifying people with URIs but there is an agreed mechanism for communicating >with people using URIs (mailto URIs) and for a large number of people there >exists a mailto URI used by them and them alone (foaf:mbox is an >InverseFunctionalProperty, so for any given mailto:URI only one person can have >that as their foaf:mbox, which is not true of all mailto URIs). > >There is nothing in this to say that the node has to be blank, the following is >valid: > ><rdf:RDF > xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" > xmlns="http://xmlns.com/foaf/0.1/"> > <Person rdf:about="http://www.hackcraft.net/jon/"> > <mbox rdf:resource="mailto:jon@hackcraft.net"/> > </Person> ></rdf:RDF> The "spec" says The foaf:Person class represents people. Something is a foaf:Person if it is a person. We don't nitpic about whether they're alive, dead, real, or imaginary. The foaf:Person class is a sub-class of the foaf:Agent class, since all people are considered 'agents' in FOAF. -- http://xmlns.com/foaf/0.1/#term_Person I realise it is nitpicking, but since a URI is not generally understood as being a person, I think the example is in fact invalid FOAF. >This is true as long as <http://www.hackcraft.net/jon/> is a URI representing >the person that can be uses <mailto:jon@hackcraft.net> and nobody else uses it, >which is true. Further there is no way that the creators of FOAF can prohibit >me from using that URI to represent myself (it's my domain I can do what I >want) and they can't prohibit my using it with FOAF except through defining a >document format that is not fully-featured RDF, and even then they can't stop >me using their vocabuary in a different document format. Actually, there is nothing to stop me using the same URI to represent a cat. Insofar as a URI is an opaque string, it seems hard to claim ownership of it - unlike when it is treated as a real thing, representing precisely "whatever is returned by treating it as a thing to GET via HTTP". The world gets confusing if we use the same word for different things, but in practice Americans say "jumper" and mean something completely different to what Australians mean, and the sky doesn't fall on our heads. People DO use conflicting interpretations of things like Dublin Core elements. Best practice seems to me to involve large chunks of figuring out ways to help people use less ambiguous ways to describe things... >But the page you get from dereferencing <http://xmlns.com/wordnet/1.6/Love-4> >says that: > ><http://xmlns.com/wordnet/1.6/Love-4> <http://www.w3.org/2000/01/rdf- >schema#description> "a deep feeling of sexual desire and attraction; \"their >love left them indifferent to their surroundings\"; \"she was his first >love\"" . ><http://xmlns.com/wordnet/1.6/Love-4> <http://www.w3.org/2000/01/rdf- >schema#subClassOf> <http://xmlns.com/wordnet/1.6/Sexual_desire> . > >That is clearly a poor description of the page. It sounds closer to a >description of erotic love to me. I think you are saying: <Page rdf:about="http://xmlns.com/wordnet/1.6/Love-4"> <describes> love* </...> - it is a property of the page that its content includes a description of what love is. It makes more sense to me that we can say <http://xmlns.com/wordnet/1.6/Love-4> <describes> "love". than <Page> <availableAt http:URI="http://xmlns.com/wordnet/1.6/Love-4"> <describes> http://xmlns.com/wordnet/1.6/Love-4 </...> Which is where I get my understanding of "best practice". But it is a convention - if we all do something the same, it works. (The RDF description of W3C specs is the kind of use case I have in mind as common.) >The indirection is needed not if you want to identify love, but if you want to >identify the page (about which we receive no triples at all). Which reminds me >to put looking at <http://www.hackcraft.net/rep/rep.html> more seriously back >onto my to do list. Anyone want to help? yep. I'd love to help.
Received on Tuesday, 25 November 2003 13:51:00 UTC