Re: URIs for the standard output and input streams

On Tue, Jan 15, 2008 at 09:42:51AM -0800, Erik Wilde wrote:
> repeating myself: i am still waiting for a single example from the 
> "everything is http" followers where that approach was applied sucessfully. 
> sure, it *could* be done, but it *has not been* done (at least as far as i 
> know), and i am wondering why that is the case.

Sure, let's take TBL's FOAF file:

  http://www.w3.org/People/Berners-Lee/card

You will find the following snippet:

    <Person rdf:about="#edd">
        <s:seeAlso rdf:resource="http://heddley.com/edd/foaf.rdf"/>
        <homepage rdf:resource="http://heddley.com/edd/"/>
        <mbox rdf:resource="mailto:edd@usefulinc.com"/>
        <mbox rdf:resource="mailto:edd@xml.com"/>
        <mbox rdf:resource="mailto:edd@xmlhack.com"/>
        <name>Edd Dumbill</name>
        <nick>edd</nick>
    </Person>

The document specifies the xmlns is "http://xmlns.com/foaf/0.1/".

This means that the "identifier" for this element is:

  http://xmlns.com/foaf/0.1/Person

If you want to know /what/ a "Person" is, you GET it:

  wget --quiet --output-document - \
    --header "Accept: application/rdf+xml"

  "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."

We can also request an RDF graph:

  wget --quiet --output-document - \
    --header "Accept: application/rdf+xml" \
    http://xmlns.com/foaf/0.1/Person

  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/Person" ...>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
    <rdfs:subClassOf><owl:Class rdf:about="http://xmlns.com/wordnet/1.6/Person"/></rdfs:subClassOf>
    <rdfs:subClassOf><owl:Class rdf:about="http://xmlns.com/foaf/0.1/Agent"/></rdfs:subClassOf>
    <rdfs:subClassOf><owl:Class rdf:about="http://xmlns.com/wordnet/1.6/Agent"/></rdfs:subClassOf>
    <rdfs:subClassOf><owl:Class rdf:about="http://www.w3.org/2000/10/swap/pim/contact#Person"/></rdfs:subClassOf>
    <rdfs:subClassOf><owl:Class rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/></rdfs:subClassOf>
    ...
  </rdfs:Class>

Already we're starting to find out a lot about what this "thing" with
the "foaf:name" ED Dumbil. Of course, we can GET the description for
foaf:name to make sure that /is/ what we think it is, and the same for
every other element in this document.

Take a look at the Swoogle, the semantic web search engine:

  http://swoogle.umbc.edu/

Almost every ontology uses these techniques to make sure that you can
"follow your nose"[1] and GET descriptions about things, be they
concrete things like the moon or abstract things like POSIX STDIN.

[1] http://www.google.co.uk/search?q=follow+your+nose+semantic+web

-- 
Noah Slater <http://bytesexual.org/>

"Creativity can be a social contribution, but only in so far as
society is free to use the results." - R. Stallman

Received on Tuesday, 15 January 2008 23:25:57 UTC