This structured discussion on XML for knowledge representation summarizes advantages and disadvantages of using XML for KR and related tasks: Knowledge Exchange, Knowledge Sharing, Knowledge Retrieval, etc. See the Structured discussion page for details on the goals and notation of structured discussions. (Note: when a statement is hyperlinked (hence, displayed in blue), follow the link to see or add arguments or counter-arguments). This discussion begins by more general statements on verbose/graphic data/knowledge interchange format since the arguments and objections are then inherited (along specialization relations) by some statements on XML and KRLs.
"a KRL (Knowledge Representation Language) can have an XML notation" extended_specialization: "a KRL should (also) have an XML notation" (pm), argument: ("the data model of a KRL can be stored into a tree-based structure" argument: - "a graph-based model can be stored into a tree-based structure" (pm) - "the data model of a KRL has to be graph-based" (pm) )(pm); "a KRL should (also) have an XML notation" specialization: "the Semantic Web KRL should have an XML notation" (pm), argument: "an XML notation permits a KRL to use URIs and Unicode" (fg, objection: ("most syntaxes can easily be adapted to have object identifiers using URIs and Unicode" argument_by_authority: "this was noted by Berners-Lee" (pm) )(pm)), argument: "XML can be used for knowledge exchange or storage" (fg, objection: "XML is useless or detrimental for knowledge representation, exchange or storage" (pm)), argument: "a KRL may have various notations in addition to an XML-based notation" (pm, objection: "the more notations there are the less one of them is going to be commonly adopted for knowledge exchange" (pm)), argument: "not using XML for a notation implies that a plug-in has to be installed for each syntax" (pm, objection: "XML tools need to be complemented for the semantics of the knowledge representation to be handled" (pm), objection: "installing a plug-in is likely to take less time than always loading XML files" (sowa)); "the data model of a KRL has to be graph-based" argument_by_popularity: "this is acknowledged by about everyone" (pm), argument_by_authority: "this is acknowledged by the W3C" (pm); "XML can be used for knowledge exchange or storage" argument: - "an XML notation permits classic XML tools (parsers, XSLT, ...) to be re-used" (pm) - "classic XML tools are usable even if a graph-based model is used" (pm); "classic XML tools are usable even if a graph-based model is used" specialization: "classic XML tools work on RDF/XML" (pm); "XML is useless or detrimental for knowledge representation, exchange or storage" argument: ("using XML tools for KBSs is a useless additional task" argument: "KBSs do not use XML internally" (pm, objection: "XML can be used for knowledge exchange or storage" (fg, objection: "it is as easy to use other formats for knowledge exchange or storage" (pm), objection: "a KBS (also) have to use other formats for knowledge exchange or storage" (pm))) )(pm), argument: "XML is not a good format for knowledge exchange or storage" (pm); "XML is not a good format for knowledge exchange or storage" argument: - ("XML-based knowledge representations are hard to understand" argument_by_popularity: "this is acknowledged by about everyone" (pm), argument_by_authority: "this is acknowledged by the W3C" (pm) )(pm) - "a knowledge interchange format should be easy to read and understand with a simple editor, by trained people" (pm);
"the Semantic Web KRL should have an XML notation" specialization: "the Semantic Web KRL should have an XML syntax but a graph-based model" (pm); "the Semantic Web KRL should have an XML syntax but a graph-based model" specialization: "RDF should have the current RDF/XML syntax", argument: ("this is for flexibility and normalization reasons" argument_by_authority: "this was noted by Berners-Lee" (pm))(pm), argument: "classic XML tools re-usable even if a graph-based model is used" (pm), negative_consequence: "XML and RDF/XML are partially redundant standards" (pm), objection: ("a subset of XML can be used for representing knowledge" example: "EARL, MPV, RSS" (pm))(pm); "RDF should have the current RDF/XML syntax and model" objection: "the current RDF/XML syntax is arbitrary and hard to understand" (pm), objection: ("the current RDF/XML syntax leads the user to make knowledge representation errors" argument: "the current RDF/XML syntax does not support schema validation languages" (pm, objection: "OWL provides schema validation constructs" (fg, objection: "for expressive knowledge, RDF/XML+OWL (even OWL-full), often leads to ad-hoc/biased/un-reusable representations" (pm))) )(pm), objection: ("the current RDF/XML model is inefficient compared to an XML one" argument: "RDF/XML parsers are 5-20 times slower than XML parsers" (pm) )(pm); "classic XML tools work on RDF/XML" corrective_restriction: "classic XML tools can exploit the tree structure of RDF/XML but ignore its added semantics" (pm, example: "classic XML tools do not take into account the fact that RDF/XML has multiple equivalent serialisations" (pm)); "for expressive knowledge, RDF/XML+OWL (even OWL-full) often leads to ad-hoc/biaised/un-reusable representations" argument: "many common aspects regarding sets and meta-statements can only be represented in an ad-hoc way" (pm), argument: "OWL is a low level language ontology and hence permits things to be represented in many more incomparable ways than when higher levels languages are used" (pm), example: "see http://www.webkb.org/doc/model/comparisons.html" (pm);