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
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).
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 ....................... - ? ? ? + + + + + +
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
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
"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);
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);
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.