CG tools

CG tools refers to Conceptual Graphs handling tools: workbenches, editors, servers, etc. Currently, this page categorizes some of the features of some CG tools. Everyone who has used a CG tool is invited to extend or correct the following categorizations. Other sections (unrelated to categorization) may also be added. If this page grows too much, the categorizations will have to be put into another page.

Each categorization is within a "div" HTML element to permit or ease future aggregations (e.g. by transclusion) of such elements into other pages, for example into a page comparing CG-related tools (this for example includes description-logic tools).

Each categorization has tool names/abbreviations as column headers, a specialization hierarchy of features as row headers, and the following symbols within the cells:
'+' (yes, the tool has this feature),
'~' (in progress, the tool has this feature for some cases),
'~~' (in progress, the tool has and will continue to have this feature only for some cases),
'-' (non-existing feature; this symbol is used when none of the following symbols is adequate),
'-06' (feature planned to exist sometimes in 2006 or before),
'-0605 (feature planned to exist sometimes in May 2006 or before),
'~07' (in progress, planned to be completed sometimes in 2007 or before),
'~0706' (in progress, planned to be completed sometimes in/before June 2007),
'~?' (in progress but very low priority, time of completion unknown),
'-?' (unplanned feature but could be added if asked for),
'--' (unplanned feature, not in the spirit of the tool), and
'+-' (this feature will disappear in the future),
'+07-' (this feature will disappear in 2007),
'?' (a place-holder while waiting for a creator/user of the tool to to use a more precise symbol).
It is likely that people categorizing their tools will have to add additional symbols to this list. To save spaces, the current rule is that symbols and tool names/abbreviations should have a maximum of 5 characters.

This presentation scheme is adopted below because it seems to be more dense, precise and scalable than other schemes (provided the number of compared tools remains small). Furthermore, although these categorizations are informal, their organization ease their exploitation and may help to create more formal categorizations. As a counterpoint, Michael Denny's "Ontology editor survey" is a related categorization effort but uses a format that does not ease or permit the actual comparison of tools by people nor semi-automatic exploitations of the result.

The categorization tables are formatted using spaces than table tags in order to ease updates via this wiki. This is then still not much of a problem to extract the table structure automatically.

Currently, the CG tools compared below are: Amine (Prolog+CG and its successor, Amine, are not distinguished below; hence, all the features of Prolog+CG are considered to be already part of Amine), CGWorld (abbreviation used below: CGWrd), CharGer (abbreviation used below: ChrGr), CoGITaNT (abbreviation used below: CGTNT), Notio and WebKB (WebKB-1, WebKB-2, and its open-source version, AnyKB). Corese will soon be added to this list.


Availability, Accessibility, Interfacing

The rationale for this seemingly heterogeneous section is that a Web-accessible interface for a CG tool (something that any CG tool can provide in addition to other methods of use) is related to availability, accessibility and interfacing.

                                   Amine CGTNT CGWrd ChrGr Notio WebKB
 source code downloadable            ?     +     ?     ?     +     +
   with commercial license           ?     ?     ?     ?     ?    ~06
   with open-source licence          ?     +     ?     ?     ?    ~06
     with GPL                        ?     +     ?     ?     +     -
   with dual licensing system        ?     -     ?     ?     ?    ~06
     with MySQL-like licensing       ?     -     ?     ?     ?    ~06
 internet-accessible interface       -     +     ?     -     -     +
   1 freely accessible server        -     -     +     -     -     +
   Web-accessible interface          -     +     +     -     -     +
     CGI-like (ASP,Servlets,...)     -     ?     +     -     -     +
       GET parameters accepted       -     ?     ?     -     -     +
     mostly HTML-based interface     -     ?     +     _     -     +
     mostly Java applets             -     -     -     -     -     -
   via OKBC                          -     -     -     -     -     ~?
   via an XML-based protocol         -     ?     -     -     -     -
 inputs can be Web documents         ?     ?     ?     ?     ?     +
   via unsupervised Web spidering    ?     ?     ?     ?     ?     -
   via a directed search/download    ?     ?     ?     ?     ?     +
   mixing formal/informal content    ?     ?     ?     ?     ?     +
   with NLP/NLU performed            ?     ?     ?     ?     ?     -
   savable on the server machine     ?     ?     ?     ?     ?     +
 outputs can be documents            ?     ?     ?     ?     ?     +
   sent to the caller (browser)      ?     ?     ?     ?     ?     +
   savable on the server machine     ?     ?     ?     ?     ?     +
 graphs can be visualised in 2D      +     +     +     +     -     -
   graphs can be edited in 2D        +     +     +     +     -     -
   generated from linear format      +     ?     ?     ?     ?     -
 API                                 +     +     +     +     +     +
   C++ API                           -     +     -     -     -     +
   Java API                          +     -     +     +     +     -
   Lisp API                          -     -     -     -     -     -
   Prolog API                        ?     -     ?     -     -     -

                                   Amine CGTNT CGWrd ChrGr Notio WebKB
 English-based source code           +     -     +     +     +     +
 French-based source code            -     +     -     -     -     +
 documentation in English            +     ~     +     +     +     +
 documentation in French             -     +     -     -     -     -
 user interface in English           +     +     +     +     +     +
 user interface in French            -     -     -     -     -     -


Input textual languages

Different CG tools are likely to accept different subsets/extensions of CGLF or CGIF. This distinction is not categorized here but can be deduced from the categorization of the expressivity of the data model used for storing the CGs (see below).

                                   Amine CGTNT CGWrd ChrGr Notio WebKB
 natural language                    -     -     -     -     -     -
   via semi-automatic NLP/NLU        -     -     -     -     -     -
   via automatic NLP/NLU             -     -     -     -     -     -
   English                           -     -     -     -     -     -
   French                            -     -     -     -     -     -
 controlled language                 -     -     -     -     -     ~
   Formalized English (FE)           -     -     -     -     -     ~
 FCG (+FO)                           -     -     -     -     -     +
 CGLF                                +     ?     +     ?     ?     +
 CGIF                                +     +     +     +     +     ~?
 Prolog+CG                           +     -     -     -     -     -
 CGLex                               -     -     +     -     -     -
 FOPC                                -     -     +     -     -     -
 KIF                                 -     -     -     -     -     ~?
 XML-based notation                  ?     ?     ?     ?     ?     ~?
   some CG/XML                       ?     ?     ?     ?     ?     -
   RDF/XML                           ?     ?     ?     ?     ?     ~?
 with language of commands           ?     ?     ?     ?     ?     +
   usable within input documents     ?     ?     ?     ?     ?     +
   internet-accessible               ?     ?     ?     ?     ?     +
   Unix-like command loop            ?     ?     ?     ?     ?     +
   script language (like sh/php)     ?     ?     ?     ?     ?     +
   actor-based language              ?     ?     ?     ?     ?     -
   with presentation options         ?     ?     ?     ?     ?     +
 with XHTML tags discarded           -     -     -     -     -     +
 with links to Document Elements     -     -     -     -     -     +
   with links to any kind of DE      -     -     -     -     -     +


Output textual languages

                                   Amine CGTNT CGWrd ChrGr Notio WebKB
 natural language generation         -     -     -     -     -     -
   via semi-automatic generation     -     -     -     -     -     -
   via automatic generation          -     -     -     -     -     -
   English                           -     -     -     -     -     -
   French                            -     -     -     -     -     -
 controlled language                 -     -     -     -     -     ~
   Formalized English (FE)           -     -     -     -     -     ~
 FCG (+FO)                           -     -     -     -     -     +
 CGLF                                +     -     -     -     -     +
 CGIF                                +     +     +     +     +     ~?
 Prolog+CG                           +     -     -     -     -     -
 CGLex                               -     -     +     -     -     -
 FOPC                                -     -     +     -     -     -
 KIF                                 -     -     -     -     -     ~
 XML-based notation                  -     -     -     -     -     ~
   some CG/XML                       -     +     -     -     -     -
   RDF/XML                           -     -     -     ?     -     ~
 with XHTML tags                     -     -     -     -     -     +
 with links to Document Elements     -     -     -     -     -     +


Data model: the kinds of storable objects

                                   Amine CGTNT CGWrd ChrGr Notio WebKB
 conjunctive existential formula     +     +     +     +     +     +
 any kind of embedded statement      ?     -     ?     +     ?     +
   positive statement                ?     -     ?     +     ?     +
   negated statement                 ?     ?     ?     +     ?     +
   if-then rule                      ?     +     ?     +     ?     +
 any kind of collection              -     -     ?     ?     ?     +
   set                               ?     ?     ?     ?     ?     +
   bag                               ?     ?     ?     ?     ?     +
   ordered collection                ?     ?     ?     ?     ?     +
   OR-collection                     ?     ?     ?     ?     ?     +
   XOR-collection                    ?     ?     ?     ?     ?     +
   distributive interpretation       ?     ?     ?     ?     ?     +
   collective interpretation         ?     ?     ?     ?     ?     +
   cumulative interpretation         ?     ?     ?     ?     ?     +
 actor                               -     -     -     +     ?     -
 link between CG and Doc.Elem.       ?     ?     ?     ?     ?     +
 link from object to its ID(s)       ?     ?     ?     ?     ?     +
 link from object to its names       ?     ?     ?     ?     ?     +
 link from name to objects           ?     ?     ?     ?     ?     +
 link from object to creator(s)      -     -     -     -     -     +
 link from creator to objects        -     -     -     -     -     +
 module/namespace for objects        ?     ?     ?     ?     ?     +


Search and inferencing features

Some systems (such as CoGITaNT) are meant to have inferencing systems that are complete and consistent with respect to the expressivity of the CGs in the KB (and therefore tend to limit what can be entered in the KB) whereas other systems (such as WebKB) are meant to ease knowledge entering and not to limit the expressivity but do not have complete and consistent inference mechanisms.

                                   Amine CGTNT CGWrd ChrGr Notio WebKB
 lexical search                      ?     -     ?     ?     ?     +
   regular expression based search   ?     -     ?     ?     ?     +
 semantic search within the KB       ?     ?     ?     ?     ?     +
   search for CG specializations     ?     ?     ?     ?     ?     +
     via graph matching              ?     ?     ?     ?     ?     +
     via rules/operators too         ?     ?     ?     ?     ?     -
     complete w.r.t. the KB          ?     ?     ?     ?     ?     -
     consistent w.r.t. the KB        ?     ?     ?     ?     ?     -
   search for CG generalizations     ?     ?     ?     ?     ?     +
     via graph matching              ?     ?     ?     ?     ?     +
     via rules/operators too         ?     ?     ?     ?     ?     -
     complete w.r.t. the KB          ?     +     ?     ?     ?     -
     consistent w.r.t. the KB        ?     +     ?     ?     ?     -
   search for CG analogies           -     -     -     -     -     -
 CG projection (matching)            +     +     +     +     +     +
 CG approximate projection(s)        ?     ?     ?     ?     ?     +
 CG maximal join(s)                  +     +     +     +     +     +
 object automatic categorization     ?     ?     ?     ?     ?     -
 consistency checking                ?     ?     ?     ?     ?     ~~
   via type checking                 +     +     +     +     +     +
   on exclusion links                ?     ?     ?     ?     ?     +
Note: it does not seem necessary to represent the fact that all CG tools have (or could very easily have if needed) specialization/generalization "operators" (using a CG to generate one or several derived CGs) and directed joins.


Handling of multiple users/sources/backends

Here, "large shared persistent KB" refers to the ability of storing and handling more that a hundred thousands of inter-related categories and more than ten thousands CGs without problems. This generally implies that some kind of database is reused.

                                   Amine CGTNT CGWrd ChrGr Notio WebKB
 large shared persistent KB          -     -     ?     -     -     +
 concurrent editing                  ?     ?     ?     ?     ?     +
   via KB locking during updates     -     -     -     -     -     +
   via module locking                ?     ?     ?     ?     ?     -
 user/group ownership/edition        -     -     -     -     -     +
   simple Unix-like system           -     -     -     -     -     -
   special protocols                 -     -     -     -     -     +
 ontology filtering                  ?     ?     ?     ?     ?     +
 composition of ontologies           -     -     -     -     -     -
 comparison of ontologies            -     -     -     -     -     -
 theory translation                  -     -     -     -     -     -
 different backends usable           -     -     -     -     -     ~


Ontology-based knowledge entering guidance

                                   Amine CGTNT CGWrd ChrGr Notio WebKB
 knowledge entering grids            -     -     -     -     -     -
 menus generated from models         -     -     -     -     -     +
 completeness check wrt models       -     -     -     -     -     -
 ontology                            ?     ?     ?     ?     ?     +
   model library                     ?     ?     ?     ?     ?     +
     task library                    ?     ?     ?     ?     ?     -
   lexical ontology                  ?     ?     ?     ?     ?     +
     WordNet as-is                   ?     ?     ?     +     ?     -
     WordNet adaptation              ?     ?     ?     -     ?     +
   top-level ontology                ?     ?     ?     ?     ?     +
     DOLCE                           ?     ?     ?     ?     ?    ~05
     Ontolingua                      ?     ?     ?     ?     ?     -
     Sowa's top ontologies           ?     ?     ?     ?     ?     +
     SUMO                            ?     ?     ?     ?     ?     ~
   domain ontology                   -     -     -     -     -     -