ontolog-forum
[Top] [All Lists]

Re: [ontolog-forum] Paper on how to build your first ontology

To: ontolog-forum@xxxxxxxxxxxxxxxx
From: "John F. Sowa" <sowa@xxxxxxxxxxx>
Date: Mon, 19 Dec 2011 23:07:20 -0500
Message-id: <4EF009F8.6050402@xxxxxxxxxxx>
On 12/19/2011 9:15 AM, Kingsley Idehen wrote:
> SPARQL and SQL are both FOL based, as you know.    (01)

Yes.  I have never been happy with SQL, but I came to appreciate it
more after looking at RDF, OWL, and SPARQL.    (02)

> but SQL is limited.    (03)

More precisely, SQL is a limited and awkward notation for FOL, and
the major implementations (Oracle, DB2, MySQL...) aren't as efficient
and flexible as they should be for a broader range of applications.    (04)

> http://queue.acm.org/detail.cfm?id=1961297 -- A co-Relational
> Model of Data for Large Shared Data Banks    (05)

That's a good reference to some of the ongoing controversies.    (06)

But I would go much farther than that.  One of the most important
lessons that RDBs taught the world is that a good optimizing
compiler can translate a query language based on FOL to
an efficient method for accessing data.    (07)

Unfortunately, the major implementations were optimized for
a limited range of applications.  With VoltDB, Stonebraker
showed that SQL could be optimized in a different and much
more efficient way for a different range of applications.    (08)

Various graph DBs (eg, OrientDB) showed that you could get
efficient access to the same data through several different
notations, including SQL and SPARQL.    (09)

The point I would emphasize is that there are many different
kinds of access methods for many different kinds of applications.
Furthermore, new methods are being invented all the time, some
of which are orders of magnitude faster than traditional methods.    (010)

As Donald Knuth (or maybe Tony Hoare) said,    (011)

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

If you state what you want in the simplest and most readable way,
good compilers can generate better code than most programmers.
And superprogrammers can invent even better methods that are
specifically tailored to special kinds of applications.    (013)

My recommendation is a version of controlled natural language
for most people -- including programmers when they are not
working in programming mode.  Other specialized user interfaces
can also be valuable for many kinds of applications.    (014)

For programmers when they are writing programs or translating
from the user interface, I'd recommend a clean logic-based
notation, such as a typed Datalog.    (015)

As for LOD, there are several distinct issues:  What is a good
notation for annotating documents?  Should the annotations be
included in the documents or in specialized metadocuments that
point to the object-level documents?  Should the annotations
be generated by people or by computer systems?  What are the
best kinds of tools for processing those documents and their
annotations for various kinds of applications?    (016)

These are questions that the W3C should have debated back in 1994.
Instead, they edicted XML without any study of alternatives.  Then
they edicted that RDF had to be written in XML despite the opinions
of all the people who had any experience in knowledge representation
(including Guha, Lassila, Hayes, etc.)    (017)

John    (018)

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

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