SUO: Re: Enhancing Data Interoperability with Ontologies...
I'll start with your closing comment, which I believe
puts everything else in perspective:
DA> That's certainly an interesting approach, though
> there's presumably quite a lot of work needed.
> In the meantime, I suspect the web of semantics is
> more likely to resemble TimBL's layer cake:
I believe that Tim's layer cake (attached TimBL.gif)
is a recipe for disaster. To clarify that prediction,
let me summarize some history:
1. The current WWW is the realization of a dream by
Vannevar Bush in his 1945 article, which I urge
everybody to read (or reread):
The Atlantic | July 1945 | As We May Think | Vannevar Bush
2. Three major steps along the way to the WWW came in
the 1960s: one was the Arpanet, which became the
Internet, another was the General Markup Language (GML),
which evolved into SGML, and the third was Ted Nelson's
idea for hypertext, unique identifiers, and the "docuverse":
Ted Nelson and Xanadu
3. Vannevar B. was 40 years ahead of his time, and Ted N.
was just 20 years ahead. But by the late 1980s, all the
technology was there. Several major companies -- IBM
with GML, Apple with Hypercard, and Xerox with all their
innovations -- had a golden opportunity to implement the
Bush-Nelson vision, and they let it slip through their
fingers. Tim B. L. deserves a great deal of credit for
seizing an opportunity that IBM, Apple, and Xerox ignored.
But the vision had been well defined for 25 years, and the
technology was there for the asking. Tim put together SGML,
hypertext, and the Internet to implement Nelson's docuverse.
The point of this history lesson is that the two bottom layers
of Tim's cake are tiny increments beyond what he did over a
dozen years ago. He just replaced ASCII with Unicode, URL
with URI, and HTML with XML. As vision goes, it has nothing
beyond what Nelson wrote in 1965.
To put the upper layers of Tim's cake into perspective, reread
Vannevar Bush's article of 1945. In that old article, V.B.
showed an amazing grasp of all the technology of his day, and
every one of his predictions has come to pass. But Tim's upper
layers show no recognition even of the mainstream computer
technology of today. Following are the missing pieces:
1. The most glaring absence is database technology. The first
large-scale databases came into use in the 1960s, and relational
databases came into use in the 1970s. Today, the entire world
economy runs on SQL -- which is a version of logic that is far
more expressive than OWL. As I said before, I have no love
for SQL notation, and Ted Codd himself said that he wished
that he had invented Prolog -- another invention from the '70s.
2. Another glaring absence is integration with computer processing.
Sun has been using the motto "The network is the computer" for
years, and they designed Java as a language that integrates
the WWW with the database, programming, and devices ranging
from mainframe servers to PCs, PDAs, and handheld phones.
Microsoft has followed Sun by integrating the programming
languages, GUIs, and network services in the .NET framework.
But none of that is reflected in the layer cake.
3. A third missing point is software design and development.
Today, the browser has become the major GUI interface for
applications, and anything done with XML for the browser
must be integrated with the database, the programming
languages, and the tools for application design. For those
purposes, the very widely used UML supports multiple subsets
of logic. The UML type hierarchy is at the level of OWL,
but UML also supports E-R diagrams, activity digrams
(slightly modified Petri nets), and the Object Constraint
Language, which supports full FOL. None of this is being
considered or accommodated by the W3C efforts.
4. The most glaring absence is the lack of any consideration
for what has been happening in AI since the 1970s, but this
would require much more discussion. Just one tiny example:
Some of my colleagues have been using Prolog as a replacement
for XSLT, and it works wonders for that purpose. Prolog is
vastly more powerful, more efficient, and more flexible (and
another of my colleagues compiles Prolog to Java bytecodes,
which run in any browser).
Following are some comments on your other comments:
DA> Its adequacy depends on the purposes to which
> it's applied - so far it looks adequate for
> Semantic Web purposes.
JS> If you limit the semantics of the semantic web to
> what can be done with OWL, then that's a tautology.
DA> How about : "the existing web with improved
> machine-readability of information".
Two points: First, that's not much of a vision for
something with all the hype of the "semantic web".
Second, I believe that the phrase "the existing web"
should be broadened to "all current technology",
which is what Sun and Microsoft have been doing.
JS> ... the semantics must support everything
> that can be specified in SQL, UML, Petri nets, and
> other declarative languages.
DA> Why? Why not support what you need in a given context
> - surely that will be simpler.
I agree that you don't need to have every tool use every
subset of logic for every application. But what you specify
in one subset must be compatible with what you specify in
every other subset.
That is a serious limitation of the current version of UML,
which does not have a common logic-based semantics for
all the diagrams. And that problem will be even more
difficult to address if the logic used for the web is
unrelated to the logic used for the databases and