[Top] [All Lists]

Re: [ontolog-forum] Ontology-based database integration

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: "John F. Sowa" <sowa@xxxxxxxxxxx>
Date: Fri, 09 Oct 2009 04:52:06 -0400
Message-id: <4ACEF9B6.3050503@xxxxxxxxxxx>
Cecil,    (01)

I agree with the following:    (02)

CL> There is no perfect ONE language, including Prolog, to approach
 > most real world, real time reasoning. In our experience, the best
 > performance and logic come from assembling a suite of tools that
 > can work together in an orchestrated services platform. There are
 > some problems I want to address using DL or regression analysis,
 > others with classification and still others with backward chaining.
 > Some tools are better for each of these and I think the best systems
 > use them in concert.    (03)

In our work at VivoMind we use several different programming languages,
several different knowledge representation languages, and a wide
variety of tools.  Following are the implementation languages:    (04)

  1. Java -- for graphics and for integration with tools that are
     based on Java.    (05)

  2. Prolog -- for sophisticated AI programming, for rule-based
     reasoning where appropriate, and for processing languages
     such as RDF and OWL.  We use a version that is compiled to
     C for maximum performance or to Java bytecodes for better
     integration with Java.    (06)

  3. C -- for low-level system code and for maximum performance
     on critical components that are rarely modified.    (07)

  4. Haskell -- a functional language with an efficient compiler,
     which we have recently started to use as a replacement for C++
     (which is notorious for bloatware and memory leaks).    (08)

  5. Mathematica -- a very high-level language for writing and
     testing mathematical algorithms before coding them in a
     compiled language, such as Haskell.  (The original version
     of Mathematica was built on top of Prolog.  The current
     version uses their own home-grown extension to Prolog.)    (09)

For knowledge representation, we use several languages:    (010)

  1. Common Logic, especially the conceptual graph dialect, which
     we use very heavily for processing natural languages and as
     an intermediate language for mapping controlled English to
     and from other notations.    (011)

  2. Common Logic Controlled English (CLCE) as a highly readable,
     self-documenting language for writing ontologies, scenarios,
     and specifications that can be automatically translated to
     Common Logic, Prolog, and other notations.    (012)

  3. Special notations for various tools.    (013)

All of our software is based on interactions among multiple agents.
The basic platform is called the Flexible Modular Framework (FMF),
which was described in the following article:    (014)

    Architectures for Intelligent Systems    (015)

That article was published in 2002, and our current versions
go quite a bit further, but they're built on similar ideas.
Following is a more recent article about our software:    (016)

    Two paradigms are better than one and
    multiple paradigms are even better.    (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
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx    (019)

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