ontolog-forum
[Top] [All Lists]

Re: [ontolog-forum] Difference between XML and OWL

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: "Michael F Uschold" <uschold@xxxxxxxxx>
Date: Thu, 6 Nov 2008 21:11:16 +0100
Message-id: <406b38b50811061211v1e896b0bx61b84f519276d444@xxxxxxxxxxxxxx>
John makes some good points, but they can easily be misleading.
When Martin says higher expressivity means higher computational coast, he is talking about a logic-based lang, and is referring indirectly to classic results in KR.
Your introducing natural language as a counterexample may be technically true, but is frankly, a red herring (and also misleading).

The same comment applies to your remark:
"Many features can make a language difficult to use and understand,
but expressiveness is not one of them."

In a logic language, it is frequently true in practice when yo add more expressivity, you also are adding complexity and it gets harder to use and understand the language. 

So you make good points about natural language.
And while it is true that you can have a natural language like syntax for any logic language, that syntax will be more and more challenging to design to be undersatndable, the more complex and expressive the logic is. 

It took a few years for people to figure out how to and to get around to creating enghlisy syntax for owl.
I find the restritions part of owl highly convoluted, and found it hard myself to come up with readable understandable English for my own simple examples.

Michael



On Tue, Oct 21, 2008 at 3:11 PM, John F. Sowa <sowa@xxxxxxxxxxx> wrote:
Dear Martin,

I certainly agree with your response about the difference between
XML and OWL, and your paper about ontologies and the state of the
art has a great deal of useful information:
But the point about expressiveness of the underlying language is
misleading.  I am very pleased that you "highly recommend John Sowa's
'Fads and Fallacies of Logic'" but I strongly disagree with the last
four lines of the following excerpt from page 6 of your paper:

 > Expressiveness:  The expressiveness of the formalism used for
 > specifying the ontology.  This can range from a flat frame-based
 > vocabulary to a richly axiomatized ontology in higher order logic.
 > A higher expressiveness allows more sophisticated reasoning and
 > excludes more unwanted interpretations, but also requires much
 > more effort for producing the ontology.  Also, it is more difficult
 > for users to understand an expressive ontology, because it
 > requires a better education in logic and more time.  Lastly,
 > expressiveness increases the computational costs of reasoning.

Many features can make a language difficult to use and understand,
but expressiveness is not one of them.  Natural languages are the
most expressive languages on planet earth, they can say anything
that can be expressed in any formal language ever invented, but
they are also the easiest languages for people to use.

But the most misleading point of all is the final sentence:

 > Lastly, expressiveness increases the computational costs of reasoning.

In the Fads and Fallacies paper, I make the point that computational
complexity is *totally dependent* on the nature of the problem.
Any problem stated in a restricted language can be solved just as
fast when stated in a more expressive language.

One example is that Whitehead and Russell didn't know anything about
computational complexity when they wrote the _Principia Mathematica_.
But in 1959, Hao Wang's theorem prover running on a vacuum-tube machine
proved all 378 of their theorems in propositional and first-order logic
in just 7 minutes.  That is not surprising, because it is difficult or
even impossible for a person who is not a professional mathematician
or logician to state or even think of an undecidable problem.

An important point to make is that we need good tools for helping
people design ontologies, and those tools should determine which
subset of logic to use for any particular purpose.  See sections 5
and 6 of the Fads & Fallacies paper, in which I emphasize the need
for good "knowledge compilers."  The technology for designing such
compilers has been used in relational database systems since the
1970s.  For KB systems, I mention further innovations from the 1990s:

http://www.jfsowa.com/pubs/fflogic.pdf

SQL, for example, allows arbitrary FOL expressions in the WHERE
clause of queries and constraints.  Trying to prove that such
statements are true in all possible models can be undecidable or
take an exponential amount of time to decide.  But evaluating them
in terms of a relational DB (or a set of RDF triples) takes at
most polynomial time.

For many important cases, the indexing of an SQL DB can reduce the
evaluation from polynomial time to logarithmic time.  Many managers
have learned to their horror that the lack of indexing of RDF tripes
can cause a highly efficient SQL query to be replaced by a hopelessly
inefficient (i.e., polynomial time) query in a path-based language.

As for usability and learnability, I have spoken with people who sell
very large object-oriented databases.  For the user interface, they
provide both SQL and path-based languages, but the programmers who use
their system overwhelmingly prefer SQL.  So the software developers
support SQL, and they provide decent optimizers for it.

I have discussed the above points with many people from universities
who agree with me.  Unfortunately, some of those who agree with me
say that they can't be too critical of the Semantic Web because they
need the funding.  I can understand people from business who don't
want to offend their customers.  But universities have an obligation
to analyze and explore the very hard questions, no matter who may
be offended by the answers.

John


_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
Subscribe/Config: 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 Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx



_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Subscribe/Config: 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 Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx    (01)

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