Re: Syntax and semantics.

Tim, your question below is a really good one, so I have posted this  
back to the Sem Web list.


On 3 Apr 2006, at 15:43, <tim.glover@bt.com> <tim.glover@bt.com> wrote:
> Henry,
>
> You say things like
>
>> You keep mistaking syntax and semantics!
>> Please learn some other language such as Turtle. If you don't like  
>> it,you
>> can come up with a better one.
>
> and again...
>
>> Exactly. RDF enforces no constraint on syntax. If you want you could
>> even rework prolog to map it to rdf.
>> I have done so with Java [4] of all languages. You could even use
>> first order logic. In first order logic names and predicates work
>> exactly as they do in RDF.
>
> Are you sure that you are not confusing the two yourself? Of course it
> is the easiest thing in the world to write a syntax with no  
> semantics -
> people do it all the time ;-). But a semantics without a syntax?  
> Surely
> that is nothing but hand-waving? What is it semantics of??


The trick is that the names you use (URIs) from one language to the  
other are always the same. The semantics is captured in the  
relationship between the names and the things (which is what  
semantics is about).
<http://xmlns.com/foaf/0.1/Person> (Let's abbreviate that to  
foaf:Person from here on) always refers to the class of persons.  
foaf:knows always to the same relation between persons.

The syntax is different because you can write your statements as

R(a,b)
aRb
abR
R{a,b}
<R sub=a obj=b>

or whatever.

mathematical logic text books always start out with pure syntax  
before they add the relationship between the elements in the syntax  
and the objects in the world. But if you start with the relationship  
between the names and the objects in the world already fixed, then  
things are very different.

> If you have a different syntax you have a different language. The
> languages may be isomorphic, like N3 and RDF (ie you can translate any
> instance of one into the other and preserve the meaning) - but that  
> is a
> property that must be proved, you can't just wave your arms and say  
> "let
> it be so!".  And it is clear at a glance that RDF and Turtle are not
> isomorphic!

Only because Turtle adds graphs. If you remove that they are isomorphic.


> Sure you could define a translation of java syntax into RDF syntax - I
> could translate every Java expression into the RDF triple
> <ya,boo,sucks>, but the resulting RDF would certainly not have the  
> same
> semantics as the java program! And nor would any other translation. In
> fact it is pretty obvious that RDF semantics is not rich enough to
> express java semantics.

I would doubt that. If RDF is strong enough to express propositional  
logic, then it should have no trouble with Java.

>
>> Names are meant to be universally unique.
>> It is just that logicians had not invented URLs, and they prefer very
>
>> terse syntax so they write R(a,b). The problem is that there is no
>> way for one mathematician's R to relate easily to another
>> mathematicians. The SemWeb uses URLS for that. And that works very
> well.
>
> Well mathematicians and logicians are not generally very interested
> particular "R's". They are more interested in the properties of the
> language than particular instances, so I guess for them the issue
> doesn't really arise. No doubt if Godel had needed URIs it wouldn't  
> have
> been beyond him to invent them!

They did invent them. They always state that the names refer to  
things in unchanging ways.  But they did not have the internet at the  
time, and there was no need for them. Also mathematicians tend to  
write things out on paper, so they like terseness. Logicians are  
intersted in formalising arguments, more than in exchanging  
information. Once you need to exchange information then it taking the  
logicians point seriously about names signifying one and only one  
thing seriously is very important. This is what URIs give us.

> Tim.
>

Received on Monday, 3 April 2006 14:12:22 UTC