User:Linas/CG tools

CG tools refers to Conceptual Graphs handling tools: workbenches, editors, servers, etc. There is currently only one major section. Everyone who has used a CG tool is invited to extend or correct the content of this page, or create other pages.

=Feature categorization=

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), '.' (feature not existing in the tool but made easy for a user to add and possibly already existing in derived tools), '--' (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 instead of 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), Corese (abbreviation used below: Corez), CPE, Notio (which is re-used by CharGer and Corese) and WebKB (WebKB-1, WebKB-2, and its open-source version, AnyKB).

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 Corez CPE Notio WebKB source code downloadable           +     +     +     -     -   ~06   +    ~06 with research license            -     -     -     -     -    -    -    ~06 with commercial license          -     -     -     -     -    -    -    ~06 with open-source licence         +     +     +     -     -   ~06   +    ~06 with GPL/LGPL                  +     +     ? -    -    -    +     -   with dual licensing system        -     -     ? -    -    -    -    ~06     with MySQL-like licensing       -     -     ? -    -    -    -    ~06 internet-accessible interface       -     +     +     -     -? ~06  -     +   1 freely accessible server        -     -     +     -     -? ~06  -     +   Web-accessible interface          -     +     +     -     -? ~06  -     +     CGI-like (ASP,Servlets,...)     -     +     +     -     -? -   -     +       GET parameters accepted       -     -     ? -    -?   -    -     +     mostly HTML-based interface     -     -     ? -    -?   -    -     +     mostly Java applets             -     -     ? -    -   ~06   -     -   via OKBC                          -     -     -     -     -   ~06   -     ~? via an XML-based protocol        -     +     -     -     -   ~06   -     - inputs can be Web documents        -     -     +     -     +    -    -     + via unsupervised Web spidering   -     -     -     -     -    -    -     - via a directed search/download   -     -     ? -    +   ~06   -     +   mixing formal/informal content    -     -     -     -     -    -    -     + with NLP/NLU performed           -     -     -     -     -    -    -     - savable on the server machine    -     -     ? -    +   ~06   -     + outputs can be Web documents        -     -     +     -     +    -    -     + sent to the caller (browser)     -     -     +     -     +   ~06   -     + 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 Corez CPE 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 Corez CPE Notio WebKB natural language                   -     -     -     -     -    -    -     - via semi-automatic NLP/NLU       -     -     -     -     -    -    -     - via automatic NLP/NLU            -     -     -     -     -    -    -     - English                          -     -     -     -     -    -    -     - French                           -     -     -     -     -    -    -     - controlled language                -     -     -     -     -    -    -     ~ Formalized English (FE)          -     -     -     -     -    -    -     ~ Attempto Controlled English (ACE) +    -     -     -     -    -    -     - CGIF                               +     ~     +     +     +    +    +     ~? CGLF                               +     -     +     -     -    -    +     + FCG (+FO)                          -     -     -     -     -    -    -     + Prolog+CG                          +     -     -     -     -    -    -     - CGLex                              -     -     +     -     -    -    -     - BCGCT                              -     +     -     -     -    -    -     - FOPC                               -     -     +     -     -    -    -     - KIF                                -     -     -     -     -    -    -     ~? XML-based notation                 -     +     -     +     +    +    -     ~? some CG/XML                      -     +     -     +     -    +    -     - RDF/XML                          -     -     -     +     +    -    -     ~? with language of commands          +     -     -     ? -   -    -     +   embeddable in Web 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 Corez CPE Notio WebKB natural language generation        -     -     -     -     -    -    -     - via semi-automatic generation    -     -     -     -     -    -    -     - via automatic generation         -     -     -     -     -    -    -     - English                          -     -     -     -     -    -    -     - French                           -     -     -     -     -    -    -     - controlled language                -     -     -     -     -    -    -     ~ Formalized English (FE)          -     -     -     -     -    -    -     ~ CGIF                               +     +     +     +     +    +    +     ~? CGLF                               +     +     -     -     +    -    +     + FCG (+FO)                          -     -     -     -     -    -    -     + Prolog+CG                          +     -     -     -     -    -    -     - CGLex                              -     -     +     -     -    -    -     - BCGCT                              -     +     -     -     -    -    -     - 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 Corez CPE Notio WebKB conjunctive existential formula    +     +     +     +     +    +    +     + embedded statement                 +     +     +     +     -    +    +     + some 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 many IDs        +     -     -     -     -    -    -     + link from object to many 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 Corez CPE Notio WebKB lexical search                     -     +     ? ?    ?    -    -     +   regular expression based search   -     -     ? ?    -    -    -     + semantic search within the KB       +     +     +     +     +    +    +     + search for CG specializations    +     +     +     +     +    +    +     + via graph matching             +     +     +     +     +    +    +     + via if-then-rules 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)       +. ?    ?     +    +    ?     + some CG maximal join(s)             +     -     +     +     +    +    +     + object automatic categorization    +. ?    ?     -    +    ?     - some consistency checking           +     +     +     +     +    +    +     + via type checking                +     +     +     +     +    +    +     + on exclusion links               ? -    ?     ?     +    -    ?     +   complete w.r.t. the KB            ? +    ?     ?     ?    +    ?     -

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, for example by duplicating relations or generalizing a type) 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 Corez CPE 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                -     -     -     -     -    -    -     + comparison of ontologies           -     -     -     -     -    -    -     - theory translation                 -     -     -     -     -    -    -     - different backends usable          -     -     -     -     -    +    -     ~

Ontology-based knowledge entering guidance
Amine CGTNT CGWrd ChrGr Corez CPE 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                          -     -     -     -     -    -    -    ~06 Ontolingua                     -     -     -     -     -    -    -     - Sowa's top ontologies          -     -     -     -     -    -    -     + SUMO                           -     -     -     -     -    -    -     ~ domain ontology                  -     -     -     -     -    -    -     -