RE: Semantic Web Languages

Danny, thanks for your reply.

Yes the ability to use "type" in select queries is certainly useful
(though it does not have to be a URI).  But what about "ID",
"Description" and "resource"?  OK, it's not a big deal. Don't get me
wrong - I am a supporter of RDF, and I agree RDF is a special case.    

XML languages - XSLT is a good example of the sort of thing I mean. Yes,
it works - but it could be so much simpler. Other examples include JSP
core taglibs, the XML version of stylesheets, OWL - I could probably
find others. 

I will sign off this discussion now, but thanks again for engaging with
me.

Tim.

-----Original Message-----
From: Danny Ayers [mailto:danny.ayers@gmail.com] 
Sent: 03 April 2006 11:18
To: Glover,T,Tim,CXR3 R
Cc: fmanola@acm.org; semantic-web@w3.org
Subject: Re: Semantic Web Languages

On 4/3/06, tim.glover@bt.com <tim.glover@bt.com> wrote:
>
> 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.

Correct me if I'm wrong (I don't have time to check) but RDF semantics
(as in [1]) says nothing about the meaning of any strings - the
concept of 'type' is defined in the semantics, irrespective of how it
represented in a string.

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

That all the terms (keywords) in RDF can be identified using URIs
offers a consistency that's very useful in practice. For example the
rdf:type predicate does have special meaning, but it can also be
treated just like any other resource in SELECT queries.

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

In RDF's case I'd call it a feature not a bug - the semantics are
associated with an identified resource rather than any single
arbitrary syntactical construct. The mechanism for identification is
defined elsewhere, which looks to me like good separation of concerns.

There is something of a difference compared to a language like e.g.
Java, where aspects of the operational semantics are associated with
keywords. But Java does have some overlaps between keywords and user
defined words, e.g. there are definite parallels between
java.lang.Object and http://www.w3.org/2002/07/owl#Thing. In both
cases naming clashes are avoided through the use of namespaces.

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

What have you in mind? I can only think of XSLT as a widely-used
XML-based programming language, and this tends to be used for
processing XML documents rather than general-purpose programming. In
this context it does seem to work rather well.

Cheers,
Danny.

[1] http://www.w3.org/TR/rdf-mt/


--

http://dannyayers.com

Received on Monday, 3 April 2006 10:33:33 UTC