[Top] [All Lists]

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

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: Ed Barkmeyer <edbark@xxxxxxxx>
Date: Mon, 24 Jan 2011 14:10:14 -0500
Message-id: <4D3DCE96.8030807@xxxxxxxx>

John F. Sowa wrote:
> Pat and Ed,
> EB
>>> 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.
>>>           (01)

In this, I definitely overstated my intent, and Pat rightly takes umbrage:    (02)

> PH
>> 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)

There are really two kinds of notation for an artificial language that 
are important -- a notation for presentation to humans, and a notation 
for exchange with other tools.  These two kinds are importantly 
different in nature, because each is designed to maximize successful 
interpretation of the intent by a different category of interpreting 
agent.  So, graphical notations, and some textual notations, are usually 
superior choices for communicating with humans, while formal structural 
notations (like XML) are superior for communicating between software tools.    (04)

My complaint about standards committees is the regular occurrence of 
multiple formal exchange notations for the same language, which IMO is 
based entirely on the unwillingness of implementors to agree to a formal 
structure that isn't their personal favorite, or the one they coded into 
their tools last year, which will make it harder for them to do a quick 
modification to accept the proposed standard as input.  The rule I 
propose for standard exchange notations is: to conform as a receiver, a 
tool must be able to parse and correctly interpret ALL standard exchange 
notations.  If there are several, being able to accept only one of them 
is non-conforming.  When you have a rule like that, users actually get 
tool interoperability, and it is amazing how rapidly the need for 
optional forms of exchange vanishes in the standards committee.  (When 
you move the cost to the people who created it, they discover the need 
to reduce it.)    (05)

I strongly agree that a language might need two or more forms for 
communicating with humans, and it is sufficient for a tool to support 
one of those -- that is a market judgement.  But for communication of 
corpora between tools, a standard language should have exactly one 
standard exchange form.    (06)

(In some cases, the committee may agree that a standard text form can be 
used for both human interface and tool-to-tool interchange.  That has 
certainly been the tradition for programming and database languages.  
XML Schema apparently chose the reverse view -- that the standard form 
for interchange would be usable by humans -- or perhaps that there would 
be room for proprietary notations for interaction with humans.  And OWL 
v1 had most of the same problems.)    (07)

John wrote:
> 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.
>       (08)

And most of them are intended to be human interface notations that grew 
up to meet that need somewhat independently of the original standards.     (09)

The problem with the rest of them is typically that they had a perfectly 
useable standard exchange notation, but it wasn't based on XML, and thus 
was politically unacceptable in W3C.  That is a different category of 
problem.  The fact that tree structures aren't necessarily the optimal 
representation of all structured knowledge doesn't seem to carry much 
weight with respect to technical decisions made by certain political 
bodies.  "Standards is politics."    (010)

> There are also languages like SKOS that use a subset of OWL semantics,
> but express it in a different notation and terminology.      (011)

With the emphasis on "terminology".  The intent of SKOS was to meet a 
related need for a different audience.    (012)

> And finally,
> OWL itself has sprouted a rule-like alternative syntax for those who
> prefer to read and write rules.
>       (013)

I don't know whether John is here referring to SWRL or RIF or yet 
another.  This is a cottage industry just now. But in any case, this is 
about languages that happen to use OWL (or a subset) as the part of the 
language that is used to define the ontology on which the language operates.    (014)

> 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.
> 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.
>       (015)

This strikes me as requiring a curious definition of "equivalent 
program".  Of course, the definition of "semantics of a program" is not 
really a solved problem, Z and its relatives notwithstanding.     (016)

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

Semantics is the foundation,  but agreement on syntax and semantics are 
both required for interoperability. 
My point is only that creating multiple standard syntaxes makes it 
harder to get that agreement.  For tool-to-tool exchange, it is always 
counterproductive.     (018)

And multiple syntaxes for human interface tend also to interfere with 
successful education and thus successful proselytization.  If different 
tools support different notations, books and courses chose different 
notations to present the concepts.  The result is that education in the 
nominal "language" doesn't necessarily produce the ability to use the 
tool that is available for the target application, or the ability to 
follow someone else's presentation.  Never underestimate the importance 
of a de facto standard syntax in reaching your audience.     (019)

-Ed    (020)

Edward J. Barkmeyer                        Email: edbark@xxxxxxxx
National Institute of Standards & Technology
Manufacturing Systems Integration Division
100 Bureau Drive, Stop 8263                Tel: +1 301-975-3528
Gaithersburg, MD 20899-8263                Cel: +1 240-672-5800    (021)

"The opinions expressed above do not reflect consensus of NIST, 
 and have not been reviewed by any Government authority."    (022)

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    (023)

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