RE: Semantic Web Languages

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