[Top] [All Lists]

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

To: edbark@xxxxxxxx, "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: "John F. Sowa" <sowa@xxxxxxxxxxx>
Date: Fri, 24 Oct 2008 16:19:54 -0400
Message-id: <49022DEA.1080006@xxxxxxxxxxx>
Ed,    (01)

That may be true.  I'm looking at the big picture of what is
necessary to support semantic technology, not just one tool,
such as OWL.    (02)

EB> We are talking about nearly disjoint subjects.    (03)

JFS>>  The main motivation for Bill's work [on DLs] was not
 >> computational complexity, but the need for finding a more
 >> rigorous logical foundation.    (04)

EB> than what?  Chen's E-R approach to modeling?    (05)

More rigorous than the early semantic networks of the 1960s
and early '70s.    (06)

Peter Chen didn't have much background in logic, but E-R diagrams
are easy to formalize.  They're good for displaying the signature
and cardinality constraints of relations.  They are a useful
component of the UML methodology, and they would be just as
useful as part of a methodology for semantic technology.    (07)

EB> But DL's modern academic claim to fame is the computationally
 > bounded behavior of tableaux reasoners.    (08)

That may be useful for writing PhD dissertations, but UML is far
more important for commercial applications.  A glaring omission of
the SemWeb effort is that they did not build on UML and RDBs.    (09)

EB> OWL is, as it claims on its face to be, a "language".    (010)

Yes.  OWL is one very specialized language with tools to support it.
An ontology must support *all* the languages and tools for an entire
enterprise or even an entire industry.    (011)

EB> Languages have expressiveness, and the need to capture knowledge
 > with a certain limited expressiveness is the underpinning of a
 > kind of methodology.    (012)

Knowledge capture from a domain expert and the methods for using
that knowledge for a particular problem are related, but distinct.
The former is ontology development, and the latter is technically
called "programming."    (013)

Although OWL is supposed to be a scrambled acronym for Web Ontology
Language, the numerous "work arounds" necessary to make it useful
have caused it to be more of a programming language than a logic.
More properly, it should be called a "logic programming language"
that happens to use a different subset of logic than Prolog.    (014)

EB> I have long regarded a whole set of methodologies in the RDB and
 > O-O design world as "how to view the world through the keyhole of
 > my technology concepts".  Even worse was the O-O arrogance that
 > their program design concepts are THE natural modeling concepts.    (015)

I strongly sympathize with that point.  But many of the UML diagrams
are sufficiently general that they can be used with a wide range of
languages and logics.  The type hierarchies, the E-R diagrams, and
the activity diagrams are very general, and they can be useful
notations for aspects of an ontology.    (016)

But one of my major complaints about OWL is that it is far more
narrow and more specialized than the UML diagrams.  I would prefer
to use UML diagrams for ontology development than OWL.    (017)

EB> You will not be pleased to know that I think of the Zachman
 > Framework as a useful insight into "systems analysis" IN ITS TIME,
 > but the discipline has clearly moved on...    (018)

I am pleased, because I agree.  I wrote that article with Zachman
in order to demonstrate how any such framework can be mapped to
logic.  My claim is that all such diagrams are declarative ways of
highlighting certain relations, which can be mapped to a general
notation for logic, such as CL (or the CG subset in that article).    (019)

EB> But my point was that these people are not doing logic
 > programming (which appeared to be what you understood from
 > your earlier response); they are creating FOL knowledge
 > representations ("ontologies" by anyone's definition) for use
 > by FOL reasoners.    (020)

My definition of 'logic programming' is tailoring a general
logical representation to optimize it for a particular
inference engine.  That is an important kind of work, most
of it is currently done by hand, but more of it can and
should be done by automated and semi-automated means.    (021)

JFS>> The Semantic Web should encompass at least as much as Zachman
 >> considered more than 20 years ago.    (022)

EB> I have no idea what that means.    (023)

In short, it means doing everything related to semantics.    (024)

EB> Modeling the concerns of an enterprise for the purpose of developing
 > supporting software is an entirely different program of work from
 > modeling the referential knowledge of a domain of publications.    (025)

Those are two parts of everything.    (026)

EB> We are talking about knowing what kind of reasoning we can do
 > in a problem space, with all kinds of constraints, yes.    (027)

That is logic programming.  Prolog is an excellent language for
that purpose.  OWL is a half-vast language compared to Prolog.    (028)

EB> What if the program was correct?  That is what bounding
 > computational complexity is about -- knowing how long it will
 > take a correct program to execute all the loops it must execute
 > to get the intended result.    (029)

You have swallowed one of the "talking points" that the academics
who are trying to sell their dissertations have been bandying about
for the past 20 years.  Programmers have been doing such things
very well since the 1950s. (In fact, they did it much better in
the '50s than today, largely because they had such small machines.)    (030)

EB> I worked on operations research software that regularly generated
 > enormous search spaces and pruned them and generated another set in
 > its search for near optimal solutions.  And you learn to do bounding
 > estimators, lest the search space explosions exceed the computational
 > resources.  Seen solely from the outside, it is my impression that
 > FOL reasoners have similar behaviors, and explosion is a very
 > practical consideration in getting solutions.    (031)

That is absolutely true.  But the brute-force technique of reducing
the expressivity of the language does nothing to solve such problems.
The most it can do is to make it impossible to state the problems.
That is like solving the problem of throwing out the baby with the
bathwater by making is impossible to have babies.    (032)

EB> Perhaps, but my point was that, primarily because of OWL, there is
 > a lot more government and industry interest in the use of reasoning
 > technologies than there was 10 years ago.    (033)

That is one of my greatest fears.  The AI field has been plagued
by boom-and-bust cycles for the past half century.  The booms are
created by people who hype their software in order to get funding.
That may get them some funds for a few years.  But when the
promises fail to materialize, the bubble bursts, and the whole
field gets a bad reputation.  For the SemWeb, there is vastly
more hype than the technology can possibly satisfy.    (034)

EB> Excuse my ignorance, but how does a language run circles around
 > another language?  Do you mean your Prolog engine, running your
 > interpretation of OWL ontologies into Prolog, runs circles around
 > every tableaux reasoner that accepts OWL?    (035)

What we do is to translate any RDF or OWL we get into Prolog clauses
and use the Prolog inference engine to do the reasoning.  The results
were one to two orders of magnitude faster than the native OWL
reasoners.  Those results plus the far greater expressive power and
ease of use of Prolog gave us zero incentive for doing anything more
with RDF and OWL -- other than to hold our noses before translating
it to Prolog.    (036)

As another data point, Arun Majumdar had a 4-week consulting project
with a major telecom that had spent several person years of effort
in trying to implement an RDF+OWL solution to a problem that had very
tight timing constraints.  And they could not meet the requirements.
What Arun did was to use CGIF as the representation instead of RDF
and OWL.  He implemented a CGIF inference engine in Java that was
adequate for the task.  Arun's version ran 10 times faster, took
much less space, and it met the timing constraints.    (037)

One of the main reasons why Prolog and CGIF are so much faster is
that they are about 10 times more compact.  The RDF gang insist that
you can use data compression to reduce the space, but inside the
CPU, you have to process the expanded form.  If you use a notation
that is 10 times smaller, you're likely to run 10 times faster.    (038)

EB> And I believe that that the practical aspects of expressiveness
 > and computational complexity are issues in that area.    (039)

Those are indeed important issues, but the "talking points" that
you mentioned above and many others that have been bandied about
are either false or misleading.  That is one of the main reasons
why I wrote the article "Fads and Fallacies About Logic":    (040)

    http://www.jfsowa.com/pubs/fflogic.pdf    (041)

I tried not to expose my doubts about the Semantic Web in that
article, and Jim Hendler, who was the editor of the journal in
which it was published, said that he liked the article very much.
So I recommend my statement of the issues instead of the usual
slogans you may have heard from the SemWebbers.    (042)

EB> And I don't see the relevance of the Zachman framework to
 > this discussion.    (043)

I mentioned Zachman because he had a broad perspective that
shows the many different ways of looking at the same problems.
The main point about his 30 different views is that they're
a better approximation to infinity than the 6 diagrams of UML,
or the one-trick pony of OWL.  But I certainly wouldn't claim
that Z's 30 diagram types are adequate to model the infinity
of perspectives that are possible.    (044)

John    (045)

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

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