Comparison of KRLs

This KRL comparison page is intended to organize and compare the features of various Knowledge Comparison Languages/notations (KRLs) as well as the pros and cons of having such features.
To permit this in an informal yet rather precise and scalable way, this page contains two major sections.

The first section gives various tables where
- rows are features organised into a specialization hierarchy,
- each column corresponds to a tool (possible organized into a specialization hierarchy),
- each cell uses
... a number between 0 and 1 permitting to order the sort the tools according to the feature, or
... a mark to indicate whether the corresponding tool has the corresponding feature, nearly has it, does not have it, will have it, or is not yet known by the co-authors of this page to have it.
Let's use the name "spec-tables" to refer to these kinds of tables.

The second section organises the various "beliefs" (statements that are not definitions) into an hierarchy using argumentation relations (e.g., "argument", "objection", "example"), specialization relations (e.g., "specialization") and correction relation (e.g., "corrective_restriction"). The notation used for organizing this hierarchy permits to associate a creator to each relation and to make explicit the very important difference that exists between (i) a relation from a belief to another one, and (ii) a relation on the use of a relation between two beliefs, i.e., a meta-statement. Let's use the name "structured discussions" to refer to these argumentation structures. This page is currently essentially a support to stimulate debates and guide additions. Section 2.2 and Section 2.3 summarize and organize the SUO mailing list discussion "D7 - Which languages are better than OWL?".


Table of Contents

  1. Categorization according to features
    1. Categorization according to expressiveness features
    2. Ordering according to knowledge entering/presentation features
  2. Structured discussions about KRLs
    1. Value of XML-based languages for knowledge_sharing?
    2. The more expressive the KRL, the better?
    3. Mandatory tasks of the SUO?



1. Categorization according to features

Here is the list of marks used below:
'+' (the language/notation has this feature),
'-' (the language/notation does not have this feature),
'+-' (the language/notation has this feature only with some predefined concepts/relations),
'~08' (the language/notation will have the feature in 2008),
'?' (unknown),
'++' (the notation has some short syntactic sugar for the corresponding feature),
'+=' (the language allows the definition of a relation/function/concept for using the corresponding feature in an easy way).


1.1. Categorization according to expressiveness features

Abbreviations used here:
CG: Conceptual Graphs
FCG: Frame-CG
FE: Formalized-English
OWLL: RDF+OWL-Light
OWLD: RDF+OWL-DL
OWLF: RDF+OWL-Full

                                               1st-order-logic_notation    Description logics
                                              KIF  CL  CGIF CGLF FCG  FE   OWLL OWLD OWLF  FL
 conjunction ................................  ++  ++   ++   ++   ++  ++    +    +    +    ++
   conjunction_of_types .....................  +=  +=   +=   ++   -   -     -    +    +    - 
   conjunction_of_statements ................  ++  ++   ++   ++   ++  ++    +    +    +    ++
 inclusive_disjunction ......................  ++  ++   +    +    +   +     -    -    -    -
   inclusive_disjunction_of_types ...........  +=  +=   -    -    -   -     -    +    +    -
   inclusive_disjunction_of_statements ......  ++  ++   +    +    +   +     -    -    -    -
   exclusive_disjunction ....................  +=  +=   +=   +=   +=  +=    -    -    -    -
     exclusive_disjunction_of_types .........  +=  +=   -    -    -   -     -    -    -    -
     formula_conjunction_of_statements ......  +=  +=   +=   +=   +=  +=    -    -    -    -
 negation ...................................  ++  ++   ++   ++   ++  ++    -    +    +    +
   exclusion_of_type ........................  +=  +=   +=   -    -   -     -    +    +    +
   complement_of_type .......................  +=  +=   +=   ++   -   -     -    +    +    +
   negation_of_statement ....................  ++  ++   ++   ++   ++  ++    -    -    -    -
 relation ...................................  +   +    +    +    +   +     +    +    +    +
   relation_on_type_to_define_this_type .....  -   -    -    -    -   -     +    +    +    +
   relation_on_statement ....................  +   -    +    +    +   +     -    -    -    -
   n-ary_relation ...........................  +   +    +    -    +   -     -    -    -    -
   computed_relation (actor) ................  +=  -    -    +    -   -     -    -    -    -
 collection .................................  +   +    +    +    +   +     +    +    +    +
   set ......................................  +   +    +    +    +   +     -    -    -    +
   collection_of_types ......................  +   +    +    +    +   +     -    -    -    +
   collection_of_statements .................  +   -    +    +    +   +     -    -    -    +
   AND_collection ...........................  -   +    +    +    +   +     -    -    -    +
   OR_collection ............................  +   +    +    +    +   +     -    -    -    +
   XOR_collection ...........................  +=  +=   +=   +=   +   +     -    -    -    +
   distributive_collection ..................  +   +    +    +    +   +     +    +    +    +
   collective_collection ....................  -   -    +    +    -   -     -    -    -    -
 quantification .............................  +   +    +    +    +   +     +    +    +    +
   existential_quantification ...............  +   +    +    +    +   +     +    +    +    +
   universal_quantification .................  +   +    +    +    +   +     -    -    -    -
   numerical_quantification .................  +=  -    -    -    +   +     -    -    -    -
     quantification_with_positive_integer ...  +=  -    -    -    +   +     -    -    -    -
     quantification_with_percentages ........  +=  -    -    -    +   +     -    -    -    -
 type_definition ............................  +   +    +    +    +   +     +    +    +    +
   lambda_abstraction .......................  +   +    +    +-   +-  +-    +-   +-   +-   +-
 category_identifier ........................  +   +    +    +    +   +     +    +    +    +
   URI_as_category_identifier ...............  +=  +    +    +    +   +     +    +    +    +
 data_type ..................................  +   +    +    +    +   +     +    +    +    +
   string ...................................  +   +    +    +    +   +     +    +    +    +
   time_duration ............................  -   -    -    -    +   +     -    -    -    +
   date .....................................  -   -    -    -    +   +     -    -    -    +
 informal_annotation ........................  -   -    +    +    +   +     -    -    -    -
   informal_annotation_on_type ..............  -   -    +    +    +   +     -    -    -    -
   informal_annotation_on_statement .........  -   -    +    +    +   +     -    -    -    -
 comment (discarded at parsing) .............  +   +    +    +    +   +     +    +    +    +
   line_comment .............................  +   ?    ?    ?    +   +     -    -    -    +
   multi-line_comment .......................  -   ?    ?    ?    +   +     +    +    +    +


1.2. Ordering according to knowledge entering/presentation features

Abbreviations used here:
Lisp: Lisp-like notation, e.g., KIF
ERLF: entity-relationships-like linear form (e.g., FL)
Frame: Frame-like notation, e.g., Frame-logics, Frame-CG, N3
NL: natural-language looking notation, e.g., Formalized English and Controlled English
XML: XML-based language
2D: graphical notation

                                               ERLF Frame Lisp  NL   2D  XML
 concise ....................................   0.9  0.7  0.4  0.5  0.2  0.1
 visually_structured ........................   0.7  0.5  0.3  0.3  0.9  0.1
 intuitive ..................................   0.6  0.4  0.3  1.0  0.8  0.1
 usable_with_or_within_HTML .................   1.0  1.0  1.0  1.0  0.2  0.0



2. Structured discussions about KRLs

The FL language is here used for representing relations between the statements (e.g., "objection") and the authors of these relations (e.g., "pm"). In most of the cases below, a statement like "A R: B" should be read "A has for R B". The first discussion includes some comments to explain further details.

For normalization and organization purposes, action categories are re-used as much as possible. Indeed, this permits to relate the statements more easily via specialization relations and permits to use subtask/specializations relations between action categories instead of writing informal sentences.

Abbreviations used here:
pm: Philippe Martin;  tbl: Tim Berners Lee (T.B.L.);  fg: Fabien Gandon (F.G.);
gpZarri: Gian Piero Zarri;  jrSchoening: James Schoening; 
KR: Knowledge Representation;  KRL: KR language;  F.O.L.: first-order logic


2.1. Value of XML-based languages for knowledge_sharing?

 "knowledge_sharing_with_an_XML-based_language is advantageous"
   generalization: "knowledge_sharing_with_an_XML-based_language is possible" (pm),
                              //P.M. is the author of this generalization relation
   specialization: ("knowledge_sharing_on_the_Web_with_an_XML-based_language is advantageous"
                       argument of: "the Semantic Web should have an XML notation" (pm)
                   )(pm),
   argument: "the use of URIs and Unicode is possible in XML"
             (fg, objection: "the use of URIs and Unicode can easily be made possible in
                              most syntaxes" (tbl, pm)
             ),   //this is an objection made by T.B.L., as interpreted by P.M., on this
                  // argument relation by F.G.
   argument: - "XML is a standard" (pm)   //2 statements are needed for the argument
             - ("knowledge_management_with_classic_XML_tools is possible"
                   corrective_restriction:
                     "syntactic_knowledge_management_with_classic_XML_tools is possible" (pm, 
                       argument: ("there is no exploitation_of_semantics by classic_XML_tools"
                                     example: "there is no taking_into_account by
                                               classic_XML_tools of the fact that RDF/XML has 
                                               multiple equivalent serialisations" (pm)
                                 )(pm)                                                   )
               )(pm),
   objection: - ("the use_of_XML_by_KBSs implies several tasks to manage"
                    argument: "the internal_model_of_KBSs is rarely XML" (pm)
                )(pm),
              - ` "an increase of the number of tasks *t to_manage" has for consequence
                  "an increase of the difficulty to develop a sofware to manage *t" '(pm),
                                //statements with single quotes are in Formalized-English
   objection: - "knowledge_sharing_with_an_XML-based_language will force
                 many persons (developpers, specialists, etc.) to understand
                 complex_XML-based_knowledge_representations" (pm)
              - ("understanding complex_XML-based_knowledge_representations is difficult"
                   argument: "XML is verbose" (pm)
                )(pm);


2.2. The more expressive the KRL, the better?

Warning: the sentences in this sub-section are not yet normalized.


 "RDF+OWL is not a good_KRL_for_exchanging_knowledge"
   argument: "RDF+OWL is not a good_general_KRL"  //details below
             (pm, objection: "exchanging_ontologies_via_OWL does not require that  
                               `OWL is a good_general_KRL'"(jrSchoening)  //details below
             );
 
   "exchanging_ontologies_via_OWL does not require that `OWL is a good_general_KRL'"
     argument: ("exchanging_ontologies_via_OWL is not detrimental to
                 knowledge_representation_or_inferencing_with_a_language_more_expressive_than_OWL"
                   objection: - "exchanging_ontologies_via_OWL may lead to a loss of semantics"(pm)
                              - ("some applications require (or provide better results with)
                                  precisions that cannnot be represented via OWL"
                                   generalisation: "applications requiring precision need 
                                                    the expressiveness"(pm)
                                )(pm)
               )(jrSchoening);

 
   "RDF+OWL is not a good_general_KRL"
     argument: ("RDF+OWL is not expressive enough for general_KR"
                  argument: "applications requiring precision need the expressiveness"(pm),
                  argument: - "RDF+OWL does not include F.O.L., general meta-statements nor sets"(pm)
                            - "F.O.L., general meta-statements and sets are necessary to represent
                               certain natural language sentences or certain other information"(pm),
                  argument: ("a general_knowledge_interchange_format should be as expressive 
                              as possible"
                                argument: "the more expressive the KRL, the better for
                                           knowledge re-use"(pm) //details near end of section
                            )(pm),
                  argument: "most practical_applications cannot be carried on correctly making use
                             of a language as limited as OWL"(gpZarri)  //details at end of section
                  argument: - "the model of RDF+OWL does not permit to define
                               numerical quantifiers"(pm)
                            - "a perfect_general_KRL should permit to define numerical quantifiers"(pm)
                  argument: - "the model of RDF+OWL does not include numerical quantifiers"(pm)
                            - "a perfect_general_KRL should include numerical quantifiers"(pm)
               )(pm),          //details below
     specialization: "in 2007, no W3C_language is a good_general_KRL"(pm); //details below
 
 
     "in 2007, no W3C_language is a good_general_KRL"
       however: "each W3C_language is useful for some purposes"(jfSowa), 
       argument:
         - ("in 2007, no W3C_language provides a way to specify in a definition that
             some relations are mandatory"
               objection: "OWL permits to specify that a relation is mandatory via the use of
                           cardinality restrictions or by specifying it as functional"(pm)
           )(gpZarri (pm))  //according to gpZarri as interpreted by pm
         - "a good_general_KRL should provide a way to specify in a definition that
            some relations are mandatory"(gpZarri),
       argument:
         - ("in 2007, no W3C_language provides a way to specify that some relations are 
             contemporaneous"
               objection: - "RDF permits to use meta-statements"(pm)
                          - "meta-statements permit to specify that some relations are
                             contemporaneous"(pm)
           )(gpZarri (pm))
         - ("a good_general_KRL should provide a way to specify that some relations are
             contemporaneous"
               specialization: "a good_general_KRL should permit to use meta-statements"(pm)
           )(gpZarri);
 
      "the W3C should adopt a language like XCL"
       argument: - "an XML-based language is necessary for the 
                    transition from current W3C languages to
                    more general KRLs for the future Semantic Web" (jfSowa),
                 - "XCL is an XML-based language for Common Logic" (jfSowa),
                 - "Common Logic supports URIs" (jfSowa),
                 - "the expressivity of Common Logic is a minimal 
                    requirement for the Semantic Web" (jfSowa);
 
 
     "in 2007, Common Logics is not a perfect_general_KRL"
       argument: - "in 2007, Common Logics does not permit to define numerical quantifiers"(pm)
                 - "a perfect_general_KRL should permit to define numerical quantifiers"(pm),
       argument: - "in 2007, Common Logics does not include numerical quantifiers"(pm)
                 - "a perfect_general_KRL should include numerical quantifiers"(pm);
       //note: KIF does not include numerical quantifiers but permit to define them
 
       "a perfect_general_KRL should permit to define numerical quantifiers"
         argument: ("a user should be able to represent numerical quantifiers"
                      argument: - "numerical quantifiers are needed to represent
                                   natural language sentences or certain other information"(pm)
                                - "applications requiring precision need the expressiveness"(pm)
                   )(pm);
 
       "a perfect_general_KRL should include numerical quantifiers"
         generalization: "a perfect_general_KRL should include as many knowledge representation
                          constructs (such as numerical quantifiers) as possible"(pm);
 
         "a perfect_general_KRL should include as many KR constructs (such as numerical quantifiers) 
          as possible"
           argument: ("a user should be able to use KR constructs (such as numerical quantifiers)
                       without having to define them"(pm);
 
           "a user should be able to use KR constructs (such as numerical quantifiers)
            without having to define them"
             argument: - "very few inference engines are able to exploit the logic definition of 
                          complex KR constructs (such as numerical quantifiers) for
                          inferencing purposes"(pm)
                       - "it is complex to implement an exploitation of the logic definition of 
                          complex KR constructs (such as numerical quantifiers) for
                          inferencing purposes"(pm)
                       - "it is easy to calculate a generalization relation between expressions
                          using complex KR constructs (e.g., quantification expressions such as
                          'at least 2', 'at least 3' and '4'"(pm)
                       - "generalization relations are useful for all kinds of inferencing,
                          including logical inferencing"(pm)
                       - ("not all expressions using complex KR constructs can be defined in an 
                           ontology"
                            example: "there are an infinite number of possible
                                      numerical quantification expressions"(pm)
                         )(pm)
                       - "even if all expressions using complex KR constructs could be defined in 
                          ontologies, different users would use KR construct categories from
                          different ontologies and hence, when these categories from different
                          ontologies are not connected by identity/equivalence relations,
                          knowledge comparison/retrieval/sharing is reduced"(pm);
 
 
     "the more expressive the KRL, the better for knowledge re-use"
        argument: "the less expressive the KRL, the more a user may have to
                   represent knowledge in an imprecise and ad-hoc way"(pm),
        objection: "the more expressive the knowledge, the more difficult 
                    it will be to use for efficient reasoning"
                   (fg, objection: "applications requiring precision need the expressiveness"(pm),
                        objection: "applications requiring efficiency and not a great precision
                                    can ignore some certain elements of the statements and, for
                                    example, use simple graph-matching techniques"(pm)
                   );
 
 
     "most practical_applications cannot be carried on correctly making use of a language as
      limited as OWL"
       specialization:
         ("most practical_applications requires a language more expressive than OWL"
            argument: - "a practical_application requires the use_of_rules"(gpZarri)
                      - "the use_of_rules is hard with a DL"(gpZarri),
            argument: "any notation for OWL can only be ugly and verbose"(gpZarri),
            argument: "OWL is difficult for an average programmer to deal with"(gpZarri),
            argument: ("OWL has been a flop from a concrete/commercial viewpoint until 2007"
                         argument: "THIS was acknowledged by the IEEE Intelligent Systems issue 
                                    of September/October of 2007"(gpZarri)
                      )(gpZarri),
            argument: ` "DL-Safe-SWRL is decidable" has for consequence
                         "SWRL variables can only be bound to known individuals in a KB" '(gpZarri)
         )(pm),
       argument: "most programmers do not care about computational_tractability"(gpZarri),
       argument: ("RDF is probably more useful than OWL from an 'applicability' viewpoint"
                    argument: ("several commercials_products use RDF and not OWL"
                                 example: "Oracle_11g_RDF_database uses RDF and not OWL"(gpZarri),
                                 example: "GroupMe! and not OWL"(gpZarri)
                              )(gpZarri),
                 )(gpZarri);


2.3. Mandatory tasks of the SUO?

Warning: the sentences in this sub-section are not yet normalized.


 "the SUO endeavour includes setting up a better alternative to OWL"(gpZarri)
   argument: "most practical_applications requires a language more expressive 
              than OWL"(gpZarri);
 
 "the SUO endeavour requires more than informal_on-line_discussions"
   argument: - "the SUO endeavour requires at least one 
                                 building_of_a_significant_application"(gpZarri)
             - "the building_of_an_application requires more than
                                          informal_on-line_discussions"(gpZarri)
             - "the building_of_significant_application requires money"(gpZarri)
             - "the building_of_significant_application reuires to meet each other
                                                          face to face"(gpZarri);




This page was first created on December 19th 2007 by Philippe A. Martin, with 2 comparison tables and two examples of structured discussions.