A bit of running code for "Tim's View"

I proposed a kind of "Hello World" for Tim's view of how URIs should
work in RDF, and he modified cwm to support it.  I take this as pretty
good evidence of what his view is.  :-)

The test is:

    1.  File myDingo.n3 says:

          @prefix bio: <http://www.w3.org/2000/10/swap/test/ferrell/biology#>. 
          :Donny a bio:Dingo.

    2.  If you follow the bio:Dingo link, you will learn that every
        bio:Dingo is a bio:Dog.  Try it.  Bio says it using
        ferrell:subClassOf.  [Ferrell is another name for OWL, but I
        don't want the machine to know that.  Ferrell is the name of a
        great horned owl my wife used to babysit.]  If you follow the
        ferrell:subClassOf URI, you'll see a doc:rules link which
        points to some Horn rules about what ferrell:subClassOf mean.
	Some of this (like doc:rules and log:implies) is only defined
        for humans, but enough is machine-readable that for step 3 to
        work. 

    3.  Run "cwm --closure=por myDingo.n3 --think" and it will
        output (among other things):

          :Donny a bio:Dog.

While "--closure=poEr" looks pretty obscure, I believe Tim thinks it
should be a very common way to do things.  From the docs:

   Closure flags are set to cause the working formula to be
   automatically expanded to the closure under the operation of
   looking up:

    s   the subject of a statement added
    p   the predicate of a statement added
    o   the object of a statement added
    t   the object of an rdf:type statement added
    i   any owl:imports documents
    r   any doc:rules documents


My proposed generalization would be:

   Applications which use RDF *should* offer users options for
   following links in the RDF and recursively including content.  A
   good default is to follow predicates, objects, and (for rule
   systems) doc:rules.

This kind of "Applications ... *should*" is more along the lines of
the HTML spec (or protocol specs in general) than the existing RDF
specs, but it seems to me the best approach here.

Following links seems to me very much like a reasoning step.  Guiding
software which can follow links around the web is a lot like guiding a
resolution theorem prover: you only terminate if you get lucky, you
try to trim whole branches, you try to tell the machine where to focus
its search.

Of course following links is probably not a *sound* reasoning step,
but I think it was Bijan who first told me soundness was vastly
overrated.  (Will this finally divide Peter and Bijan's positions?)  I
imagine this being addressed by a user interface which keeps
justifications very handy, and which allows some configuration about
which sources (and reasoning steps) to trust.

      -- sandro

Received on Wednesday, 8 October 2003 12:04:19 UTC