Introduction: Sandro Hawke

I work for W3C Semantic Web Advanced Development (SWAD) at MIT, and
participate in WebOnt and the DAML Joint Committee (mostly for Rules
work).  I've been thinking about how URIs can or should work in RDF
since about Dec 2000, when I was hired by W3C.  Before that, I called
HTTP URIs "URLs" and thought of them as communication end-points, not
global object identifiers.

My first reaction to seeing RDF's use of URIs was to propose the
"tann:" URI scheme (since renamed "tag:" and slowly moving through the
IETF)
       http://www.w3.org/2001/02/tann/
to provide URIs which are free from all this confusion about web
operations.  Tann/Tag: URIs, by definition, have no 'dereference'
mechanism.  I have since realized that being able to do web operations
on the URIs occurring in RDF is actually quite useful, so I don't
generally recommend the use of tag: URIs.  I mention them now because
I still think they provide a useful reference point in this area; why
would someone prefer http: URIs over tag: URIs without clarifying how
dereferencing the http: URI relates to its meaning?

I've jumped into the water a few times since then, and usually came out
confused and frustrated.   But every time I try to use RDF, I find I
need URIs, and I can see problems with just about every way they could
be used.


Like Dan Connolly, I have generally tried to gather my conclusions
into the ESW Wiki, starting such pages as

     http://esw.w3.org/topic/GoodURIs
     http://esw.w3.org/topic/HashVsSlash

which can serve as something of a position paper for me.  In
particular, I seem to be the most vocal proponent of using HTTP
redirects:

     http://esw.w3.org/topic/SlashRedirection

because it seems to solve the most problems (of the ones I know/care
about, at least!).

I called the Budapest BOF in the hope of getting the ball rolling
again after the SWCG had gently set it on the ground.  After the BOF,
I, um, bugged the SWCG until it handed the issue off to the TAG.  Now
it's come back and I'm willing to co-chair the group, but I'm not
attached to the role.  I am motivated to see the group succeed,
however.


Meanwhile, my background is in network software development, including
protocol design.  These days I code happily in Python, only
occasionally missing C and C++.  I don't seem to miss Perl or Java (or
languages from the 70s and 80s).  I'm also fairly comfortable with
"programming" in Prolog and First Order Logic, which I usually run
with XSB or SWI, and Otter.  (I don't care for Prolog as a programming
language, but it can be a nice tool.)

I recently read _Naming and Necessity_ (Saul A. Kripke) and the
relevant parts (like "Causal Theory of Names") of _The Cambridge
Dictionary of Philosophy_ (Robert Audi, Ed).  I think it's helped my
understanding here.  I had been thinking along the Russellian lines of
terms standing for definite descriptions; Kripke has shredded that
idea for me.  Also, I'll be somewhat less lost if people start quoting
Wittgenstein again....


I think "rough consensus and running code" is our best protection when
diving into age-old philosophical issues.   Use cases, test cases,
demonstrable working systems.   But I also want it all to make sense;
I'm highly sympathetic to Pat Hayes' critiques of RFC 2396.


I'm flexible as far as timing and pacing.  I think my only fixed-time
committments are shared with several others in this group, and I'm
okay with trying to do this quickly/intensely or
slowly/intermittently.

Hm.  I'm feeling optimistic about the group, and eager to hear what
folks who really want to solve this problem (instead of just making it
go away!) have to say about it.

   -- sandro
                                     http://www.w3.org/People/Sandro

Received on Friday, 5 September 2003 16:33:39 UTC