ontolog-forum
[Top] [All Lists]

Re: [ontolog-forum] vocabulary tools/knoodl

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: "John F. Sowa" <sowa@xxxxxxxxxxx>
Date: Tue, 20 Jan 2009 13:19:44 -0500
Message-id: <497615C0.9040702@xxxxxxxxxxx>
Michael,    (01)

Tools for collaboration are always desirable:    (02)

MJH> I'm an active user of Knoodl... It is a great wiki-like tool
 > for capturing controlled vocabulary and allows you to embed
 >SPARQL queries (over your vocabulary) into its wiki text.    (03)

But RDF and OWL are throwbacks to the technology of the 1970s,
and SPARQL is a throwback to the 1960s.    (04)

For those who don't remember the past, the database systems of
the 1960s required "path based" access and queries.  The user
had to know and to state all the intricate paths through the
tangled mass of data.    (05)

Then Codd appeared and there was light.  Actually, Ted Codd
learned logic, and he used it to define relational data bases.
Charlie Bachman, who was a good seat-of-the-pants implementer,
fought a long drawn-out series of debates with Ted Codd during
the 1970s.  The debates proceeded along the following lines:    (06)

  1. Codd emphasized logical clarity and ease of use.    (07)

  2. Bachman maintained that path-based methods were more
     efficient.    (08)

  3. Codd (and Chris Date) replied that compiler technology could
     derive the access paths more efficiently than the average user.    (09)

  4. Bachman replied with a paper "The Programmer as Navigator,"
     which compared the programmer to a ship captain who knows
     the intricacies of the sea and the lurking dangers below.    (010)

  5. Date took Bachman's examples, which required several pages
     for a complex query, and showed how they could be reduced
     to a few lines of SQL.    (011)

  6. Bachman finally destroyed his own case when he claimed
     that "programmers enjoy a challenge."    (012)

I spoke with the developers of one of the large object-oriented
database systems.  They provide both path-based access that lets
the user navigate through the network and SQL-based queries.    (013)

And guess what.  The overwhelming majority of the users choose
SQL because it is shorter and simpler to state -- and furthermore
the built-in optimizer often generates *faster* code than the
carefully hand-crafted path-based methods.    (014)

Don Knuth's famous statement from the 1970s is even more true today:    (015)

    "We should forget about small efficiencies, say about 97% of
    the time:  premature optimization is the root of all evil."    (016)

MJH> OWL, as RDF's ontology language, isn't as complete as other
 > ontological languages.  But its goal, like XML, was to be simple
 > so as to get more people, specifically non-ontological experts
 > into the mix.    (017)

If you want something easy to learn and use, I strongly recommend
controlled natural languages.  Aristotle used controlled Greek for
his syllogisms, and the versions of controlled Latin and English
dominated ontology for more than two thousand years.  Today,
the technology can support controlled NLs very, very well.    (018)

MJH> Before XML, only the SGML gurus knew how to parse through
 > the SGML specs to come up with valid documents.    (019)

That is the fourth blunder.  The worst conceivable condemnation
of the Semantic Web languages is that application programmers
are expected to parse them.    (020)

MJH> N3 or Turtle formats are the more straight forward and most
 > natural ways of expressing RDF statements.    (021)

I agree they are better, but that shows the glaring defects of
RDF.  Well designed languages don't require separate notations.    (022)

Following are the five major blunders that prevent the Semantic
Web from becoming truly semantic:    (023)

  1. A one-size-fits-all format for syntax instead of using a
     <SCRIPT> tag to separate the language from the document.    (024)

  2. The restriction to dyadic relations that require something
     as trivial as 2+2=4 to become "reified" -- i.e., you have
     to define an Add2 relation and then apply it to 2 to get 4.    (025)

  3. The use of path-based tools such as SPARQL that force the
     user to become a "navigator" who "enjoys" a challenge.    (026)

  4. Forcing programmers to write parsers instead of letting
     them focus on the problem.    (027)

  5. Ignoring relational databases, which are used in every
     major commercial web site and which manage the data
     for the world's economy.    (028)

These five blunders have crippled the Semantic Web.  Since
you mentioned N3 as a better notation than RDF, I suggest
that we generalize N3 to N-N, a notation that supports
arbitrary N-tuples.  With N-N, we can directly support
relational databases in the Semantic Web.    (029)

As a replacement for SPARQL, we could support SQL as an
interim notation, but a much better notation is Datalog
or, even better, typed Datalog.  I would also recommend
controlled natural languages.  For example, ACE is an
open-source language and tool that maps an English-like
notation to Prolog and could be almost instantly adapted
to generate Datalog.    (030)

A Semantic Web that is based on N-N, typed Datalog, and
controlled English would be immeasurably superior to the
current garbage.  It would be easier to teach, easier to
use, far more efficient, and much better integrated with
relational databases.    (031)

RDFS, OWL, and SPARQL would have to be supported as legacy
systems, but all further development should encourage
migration to well designed languages and tools.    (032)

John Sowa    (033)


_________________________________________________________________
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    (034)

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