[Top] [All Lists]

Re: [ontolog-forum] I ontologise, you ontologise, we all mess up...

To: ontolog-forum@xxxxxxxxxxxxxxxx
From: "John F. Sowa" <sowa@xxxxxxxxxxx>
Date: Sat, 22 Jan 2011 22:10:10 -0500
Message-id: <4D3B9C12.6070100@xxxxxxxxxxx>
Pat and Ed,    (01)

>> The idea that a language has an abstract syntax and
>> multiple concrete syntaxes is pure computer science, and a sop to the
>> inability of standards communities to actually make a useful standard.    (02)

> Ahem. I take mild umbrage at that last comment. The RDF graph syntax
> ("abstract" if you like) was chosen because the most salient, intuitive,
> semantically transparent and humanly readable notation for RDF is,
> in fact, a graph drawn on a surface. RDF 'triple stores' reproduce that
> very graph in machine data structures, and operate on it very effectively.    (03)

I agree with Pat on this point.  And I would add that the Semantic Web
has developed quite a few different concrete notations for RDF and OWL.
There are also languages like SKOS that use a subset of OWL semantics,
but express it in a different notation and terminology.  And finally,
OWL itself has sprouted a rule-like alternative syntax for those who
prefer to read and write rules.    (04)

For another example, look at the huge number of different languages
that are compiled to Java bytecodes.  They all have different concrete
syntaxes, but resulting Java bytecodes are indistinguishable from
bytecodes that could have been developed directly from Java.  In
fact, a reverse compiler can derive an equivalent program in Java.    (05)

But note that the a Python program compiled to Java bytecodes by
Jython is not guaranteed to produce the same results as Python
on a native Python interpreter.  For some programs, the semantic
differences are negligible, but for others, they're critical.    (06)

The C# family of languages is another example of multiple
concrete syntaxes with a common semantics.    (07)

But just look at SQL.  All SQL systems support the same syntax,
and some small databases can be converted from one to the other.
But any significant system is a nightmare to convert from one
major RDBMS to another.    (08)

For a hardware example, back in the 1960s, Honeywell produced
the "Liberator" to run code for the IBM 1401, but it was very
buggy.  IBM produced an emulator for the 360/30 that ran 1401
code without a hitch.  The difference was that Honeywell
supported the manual (syntax) and IBM supported the machine
(semantics).    (09)

Bottom line:  Semantics, not syntax, is the foundation for
interoperability -- *especially* for large commercial systems.    (010)

John    (011)

Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx    (012)

<Prev in Thread] Current Thread [Next in Thread>