- From: <tim.glover@bt.com>
- Date: Mon, 3 Apr 2006 10:13:39 +0100
- To: <fmanola@acm.org>, <semantic-web@w3.org>
Frank,
Thank you for your reply. You make some good points, but let me pursue
my argument anyway, and see where it goes :)
You are right of course that to share code you need to be able to
uniquely identify the resource you want to use. However, even in Java,
user defined classes are distinguished from java keywords ("if",
"class") which have special meaning. It is these words that I refer to
when I talk about keywords.
You say that in RDF these keywords are just like any other word, but I
am not convinced. RDF has an official published semantics which gives
special meaning to certain strings, such as "type" and "ID". These are
not user defined, and they are distinguished from other strings. Every
correct RDF implementation must do something special with these strings.
It does not make sense to insist that they are "uniquely distinguished"
by being URIs. They are uniquely distinguished by the semantics, and by
every valid RDF parser.
My objection was not really to RDF, which is a rather special case for
the reasons you mention, though I think even in the case of RDF the case
for using URIs for keywords is thin. My objection is really to the surge
in other web languages which fail to distinguish keywords from user
defined words. There is a real difference, and the failure to
distinguish them will lead to confusion.
Similarly I object to the thoughtless use of XML for programming
languages in order to make the syntax tree explicit, perhaps in the
belief that writing a parser is the difficult part of designing a
language.
Tim.
-----Original Message-----
From: semantic-web-request@w3.org [mailto:semantic-web-request@w3.org]
On Behalf Of Frank Manola
Sent: 31 March 2006 17:14
To: semantic-web@w3.org
Subject: Re: Semantic Web Languages
URIs are used for user-defined things (individuals and classes) in order
to disambiguate names in a global namespace (the Web) that can be added
to by anybody. Java packages and class names illustrate practically the
same mechanism, and for similar reasons. Admittedly Java provides
mechanisms that *sometimes* allow unqualified names to be used, but this
isn't always possible, and some of these mechanisms aren't obviously the
right thing for a Web language (explicit import statements work in some
cases, but having to know when you've imported packages containing
clashing names in order to know when you have to fully-qualify?).
URIs are used for what in a programming language would be keywords (like
rdf:type) first because RDF is uniformly built on individuals and
classes (so the user-defined names and language-defined names are
handled the same way), and second because of the way other languages
like RDFS and OWL can extend RDF by adding their own classes and
individuals (so I want to be able to disambiguate rdfs:Class and
owl:Class).
There are all sorts of mechanisms that can be adopted to help with the
complexity of dealing with qualified names, and I expect further
development of SW languages (and development environments) will use
them, but (a) none of them are necessarily going to be terribly pretty,
and (b) in an environment like the Web qualified names seem nevertheless
*necessary*.
That being said, if you don't like URIs being used as they are, it seems
to me you ought to (a) somehow eliminate what seems to be a design
requirement for qualified names, and/or (b) propose a better alternative
(keeping in mind that URIs were already available for this purpose).
Otherwise, it seems to me such criticisms aren't going to be very
helpful (or have much impact either).
--Frank
tim.glover@bt.com wrote:
>
> Well I don't object to URIs being used to uniquely identify web
> resources. But I do object to insisting that URIs are used for
> EVERYTHING, including words in a (programming) language. What is
gained
> by it? And what is lost?
>
> myuri:One myuri:might myuri:as myuri:well myuri:insist myuri:that
> myuri:ordinary myuri:text myuri:uses myuri:URIs myuri:for myuri:every
> myuri:word myurl:in myuri:English
>
> Tim.
>
Received on Monday, 3 April 2006 09:13:44 UTC