achieving knowledge interoperability: an xml/xslt approach

19
Achieving knowledge interoperability: An XML/XSLT approach Jelena Jovanovic ´ a , Dragan Gas ˇevic ´ b, * ,1 a GOOD OLD AI Research Group, FON—School of Business Administration, University of Belgrade, POB 52, Jove Ilic ´a 154, 11000 Belgrade, Serbia and Montenegro, Yugoslavia b School of Interactive Arts and Technology, Simon Fraser University, Surrey 2400 Central City, 10153 King George Hwy, Surrey, BC, Canada V3T 2W1 Abstract Development of an intelligent system requires not only profound understanding of the problem under study, but also employment of different knowledge representation techniques and tools often based on a variety of paradigms and technological platforms. In this context automation of knowledge sharing between different systems becomes increasingly important. One solution might be to extend a knowledge modeling tool by implementing a set of new classes or functions for importing other knowledge formats (using, e.g. Java, CCC, etc.). But, this can be a rather difficult and time consuming task. Since XML is now widely accepted as knowledge representation syntax, we believe that a more suitable solution would be to use eXtensible Stylesheet Language Transformation (XSLT) a W3C standard for transforming XML documents. A special advantage of this approach is that even though an XSLT is written independently of any programming language, it can be executed by a program written in almost any up-to-date programming language. We experiment on an XSLT-based infrastructure for sharing knowledge between three knowledge modeling and acquisition tools that use different conceptual models for knowledge representation in order to evaluate cons and pros of the proposed XSLT approach. Two of these tools, JessGUI and JavaDON are ongoing efforts of the GOOD OLD AI research group to develop interoperable development tools for building intelligent systems, while the third one is Prote ´ge ´-2000, a broadly accepted ontology development tool. q 2005 Elsevier Ltd. All rights reserved. Keywords: Interoperability; Knowledge sharing; XML; XSLT 1. Introduction Development of an intelligent system is rather a difficult task since it requires not only profound understanding of the domain problem under study, but also employment of different knowledge representation techniques and tools. Those techniques and tools are often based on a variety of paradigms and technological platforms. There are many reasons why one should use such a diversity of tools. Sometimes there is a need to translate a knowledge base implemented in a traditional intelligent system tool (e.g. Lisp-like languages and inference engines like CLIPS (2003) into an object oriented knowledge base (e.g. OBject Oriented Abstraction—OBOA (Devedz ˇic ´& Radovic ´, 1999)). Similarly, in some cases the knowledge representation techniques (e.g. rules and frames) used in a developed intelligent system are not expressive enough and there is a need for some other representation techniques (e.g. fuzzy rules (S ˇ endelj & Devedz ˇic ´, 2004)) that would give a more appropriate solution. Furthermore, substituting older technologies with the new ones is another important reason why exchange of knowledge bases between different systems should be seriously considered. In this context one question raises naturally: Can we automate the process of knowledge sharing between different systems or should we always develop a new knowledge base, starting from the scratch, every time we change the tool we use for building intelligent systems? It is obvious that there is a need for sharing knowledge. This issue was noted in the paper (Neches et al., 1991) where the authors stressed the need for creating interoper- able knowledge bases. The key unit for achieving such Expert Systems with Applications 29 (2005) 535–553 www.elsevier.com/locate/eswa 0957-4174/$ - see front matter q 2005 Elsevier Ltd. All rights reserved. doi:10.1016/j.eswa.2005.04.024 * Corresponding author. Address: School of Interactive Arts and Technology, Simon Fraser University, Surrey 2400 Central City, 10153 King George Hwy, Surrey, BC, Canada V3T 2W1. Tel.: C1 604 268 7520; fax: C1 604 268 7488. E-mail addresses: [email protected] (J. Jovanovic ´), dgasevic@ acm.org (D. Gas ˇevic ´). 1 Tel.: C1 604 268 7520; fax: C1 604 268 7488.

Upload: jelena-jovanovic

Post on 26-Jun-2016

215 views

Category:

Documents


2 download

TRANSCRIPT

  • Achieving knowledge interoperabi

    Dr

    Admi

    and M

    imon F

    Surre

    d un

    d on a

    of knowledge sharing between different systems or should

    Expert Systems with Applicat

    * Corresponding author. Address: School of Interactive Arts and

    Technology, Simon Fraser University, Surrey 2400 Central City, 10153Tel.: C1 604 268 7520; fax: C1 604 268 7488.automation of knowledge sharing between different systems becomes increasingly important. One solution might be to extend a knowledge

    modeling tool by implementing a set of new classes or functions for importing other knowledge formats (using, e.g. Java, CCC, etc.). But,

    this can be a rather difficult and time consuming task. Since XML is now widely accepted as knowledge representation syntax, we believe

    that a more suitable solution would be to use eXtensible Stylesheet Language Transformation (XSLT) a W3C standard for transforming

    XML documents. A special advantage of this approach is that even though an XSLT is written independently of any programming language,

    it can be executed by a program written in almost any up-to-date programming language. We experiment on an XSLT-based infrastructure

    for sharing knowledge between three knowledge modeling and acquisition tools that use different conceptual models for knowledge

    representation in order to evaluate cons and pros of the proposed XSLT approach. Two of these tools, JessGUI and JavaDON are ongoing

    efforts of the GOOD OLD AI research group to develop interoperable development tools for building intelligent systems, while the third one

    is Protege-2000, a broadly accepted ontology development tool.

    q 2005 Elsevier Ltd. All rights reserved.

    Keywords: Interoperability; Knowledge sharing; XML; XSLT

    1. Introduction

    Development of an intelligent system is rather a difficult

    task since it requires not only profound understanding of the

    domain problem under study, but also employment of

    different knowledge representation techniques and tools.

    Those techniques and tools are often based on a variety of

    paradigms and technological platforms. There are many

    reasons why one should use such a diversity of tools.

    Sometimes there is a need to translate a knowledge base

    implemented in a traditional intelligent system tool

    (e.g. Lisp-like languages and inference engines like

    CLIPS (2003) into an object oriented knowledge base

    (e.g. OBject Oriented AbstractionOBOA (Devedzic &

    Radovic, 1999)). Similarly, in some cases the knowledge

    representation techniques (e.g. rules and frames) used in a

    developed intelligent system are not expressive enough and

    there is a need for some other representation techniques (e.g.

    fuzzy rules (Sendelj & Devedzic, 2004)) that would give a

    more appropriate solution. Furthermore, substituting older

    technologies with the new ones is another important reason

    why exchange of knowledge bases between different

    systems should be seriously considered. In this context

    one question raises naturally: Can we automate the processJelena Jovanovica,

    aGOOD OLD AI Research Group, FONSchool of Business

    11000 Belgrade, SerbiabSchool of Interactive Arts and Technology, S

    10153 King George Hwy,

    Abstract

    Development of an intelligent system requires not only profoun

    different knowledge representation techniques and tools often baselity: An XML/XSLT approach

    agan Gasevicb,*,1

    nistration, University of Belgrade, POB 52, Jove Ilica 154,

    ontenegro, Yugoslavia

    raser University, Surrey 2400 Central City,

    y, BC, Canada V3T 2W1

    derstanding of the problem under study, but also employment of

    variety of paradigms and technological platforms. In this context

    ions 29 (2005) 535553

    www.elsevier.com/locate/eswaintelligent systems?

    It is obvious that there is a need for sharing knowledge.

    This issue was noted in the paper (Neches et al., 1991)

    where the authors stressed the need for creating interoper-

    able knowledge bases. The key unit for achieving such0957-4174/$ - see front matter q 2005 Elsevier Ltd. All rights reserved.

    doi:10.1016/j.eswa.2005.04.024

    E-mail addresses: [email protected] (J. Jovanovic), dgasevic@

    acm.org (D. Gasevic).1we always develop a new knowledge base, starting from the

    scratch, every time we change the tool we use for buildingKing George Hwy, Surrey, BC, Canada V3T 2W1. Tel.: C1 604 268 7520;

    fax: C1 604 268 7488.

  • tems wa goal is a domain ontology, as a formal description of the

    shared conceptualization of a certain domain (Gruber,

    1993). Ontology encapsulates semantics of a certain domain

    and can be interchanged between intelligent systems that

    use different languages (i.e. syntax). For example, Gruber

    (1993) proposed the Frame ontology, that can be regarded as

    an ontology about ontologies (i.e. meta-ontology), or as an

    ontology language. This language uses Lisp-like syntax

    closely related to the Propositional and First Order Logics

    (FOL). Note that Knowledge Interchange Format (KIF) uses

    the similar syntax. The main problem with this kind of

    syntax is that one needs to develop a tool (i.e. a converter)

    for transforming a knowledge base from some of these

    languages into a new knowledge representation.

    eXtensible Markup Language (XML) is a suitable

    solution for this problem as this language enables syntax

    interoperability (Bergholz, 2000). XML provides a common

    way for defining other markup languages through two

    mechanisms: Document Type Definitions (DTD) and XML

    Schema. A special advantage of XML is standard

    Application Programming Interfaces (APIs) for parsing

    XML documents, so XML users do not have to develop their

    own parsers for the specific XML formats they use.

    Currently, there are several approaches that propose XML

    as the common syntax for sharing knowledge. For example,

    Leff (2001) developed Jess User Functions that load XML

    documents and convert their Document Object Model

    (DOM) tree into series of facts that can be consumed by

    Java Expert System Shell (Jess, see Section 2.2). We

    developed an XML Schema for representing Jess knowl-

    edge bases (Jovanovic, Gasevic, & Devedzic, 2004).

    JessGUI (a graphical development tool for building Jess-

    based knowledge bases, see Section 2.2) produces XML

    documents written in accordance to that XML Schema.

    Further, note that the Semantic Web initiative (Berners-Lee,

    Hendler, & Lassila, 2001) employs XML for sharing

    ontologies. For example, standard Semantic Web languages

    Web Ontology Language (OWL) (Bechhofer et al., 2004)

    and Resource Description Framework (Schema)RDF(S)

    (Brickley & Guha, 2004) have their own XML bindings.

    Whats more, there are two attempts to define an XML-

    based Semantic Web language for sharing rules: The Rule

    Markup Initiative (http://www.dfki.uni-kl.de/ruleml/)

    whose mission is to define a shared Rule Markup Language

    (RuleML); and The eXtensible Rule Markup Language, or

    XRML, that enables identification of implicit rules

    embedded within Web pages, their interchange with

    structured-format rule-based systems, as well as accessing

    these rules from different applications (Lee & Sohn, 2003).

    Even with all these XML-based proposals we have not

    yet managed to solve all problems of knowledge interoper-

    ability. For example, a problem might arise if one wants to

    import an XML-based knowledge base created by JessGUI

    tool (see Section 2.2) into an ontology editor (e.g. Protege)

    as the ontology editor does not recognize this XML format.

    J. Jovanovic, D. Gasevic / Expert Sys536This issue can be overcome by extending the target tool(i.e. the ontology editor). A conventional approach would be

    to implement the converter employing the programming

    language that the tool was originally written in. That means,

    programming either a set of new classes or functions for

    importing the source format into the target tool (e.g. Java, C/

    CCC, Perl, etc.). But, this can be a rather difficult taskespecially when the target tool is a complex software

    platform (e.g. Jess, Protege, etc.). We believe that a more

    suitable solution would be to develop a converter tool that

    would transform the source format into the target one. In

    that case we would not need to learn about implementation

    details of the target tool (usually a time-consuming task),

    instead we would only have to concentrate on the target

    format.

    However, the converter does not have to be implemented

    using a conventional programming language, instead we can

    use a language that supports transformations between

    knowledge formats. As we are discussing XML-based

    knowledge sharing it is reasonable to propose eXtensible

    Stylesheet Language Transformation (XSLT) a W3C

    standard for transforming XML documents into either

    other XML documents or regular text documents (Clark,

    1999). A special advantage of this approach is that even

    though we write an XSLT independently of any program-

    ming language, it can be executed by a program written in

    almost any up-to-date programming language. As XSLT is

    invented with the idea to be used for transforming XML

    documents, it is a suitable solution in terms of the time

    needed to develop a transformation.

    In this paper we explore the use of XSLT for

    transforming different XML-based knowledge bases.

    Since there are a lot of different knowledge models (KMs)

    we decided to limit our work on four of them: a KM

    proposed in OBOAan object oriented framework for

    building knowledge bases (Devedzic & Radovic, 1999); a

    KM that Jessa popular Java-implemented rule-based

    expert system shellis based on; and KMs of two ontology

    languages: OWL and RDF(S). Accordingly, we discuss

    interoperability in the context of three tools that use one of

    the four chosen types of KMs: JavaDON based on OBOA

    KM, JessGUI founded on Jess KM and Protege that supports

    both RDF(S) and OWL KM. The first two tools and their

    accompanying KMs were chosen because they are current

    results of two parallel ongoing projects of our GOOD OLD

    AI research group and we know their internal structure and

    underlying models in detail. More precisely, the former one

    resulted from our research effort to develop a knowledge

    acquisition tool for building intelligent systems, while the

    latter one resulted from the similar effort to enhance features

    of Jess. Ontology languages RDF(S) and OWL were

    selected as they are official W3C recommendation for the

    Semantic Web languages and the concept of the Semantic

    Web is becoming increasingly important for the further

    development of todays Web. Our approach is based on

    using several XSLTs to implement mappings between the

    ith Applications 29 (2005) 535553XML formats of the KMs under study. The main goal is to

  • explore XSLTs capacity to implement mappings between

    different KMs. If it proves capable of such a task on this

    sample of KMs, it would be reasonable to continue research

    in the same direction and consider this approach in context

    of other KMs and tools. However, if it proves inappropriate,

    we would have to explore reasons behind that inappropri-

    ateness and search for an alternative approach.

    The paper is organized as follows. In Section 2 we briefly

    present KMs and tools that we chose to focus on: OBOA

    KM and JavaDON tool, Jess KM and JessGUI tool as well

    as OWL and RDF(S) KMs. Section 3 gives an overview of

    XSLT as an XML-based technology solution for knowledge

    sharing. Section 4 presents an XSLT-based infrastructure

    that we propose for achieving interoperability of different

    knowledge modeling and acquisition tools. In Section 5 we

    deal with relevant implementation issues of the developed

    XML Schemas and XSLTs. Section 6 discusses the

    present OBOA model that served as the basis for JavaDON

    Finally, we give an overview of two Semantic Web standard

    ontology languages: RDF(S) and OWL.

    2.1. OBOA

    Devedzic & Radovic (1999) have proposed a framework

    for building intelligent systemsOBject Oriented Abstrac-

    tion (OBOA). The OBOA is a multi-layered framework that

    incorporates a number of techniques for representing

    knowledge in intelligent systems. It is in fact an object-

    oriented knowledge base model for building intelligent

    systems. According to this model, knowledge of an

    intelligent system comprises of three interconnected

    components: domain knowledge, control knowledge and

    explanatory knowledge. OBOA is primarily concerned with

    the domain knowledge component, and treats it from the

    conceptual level, i.e. without commitment to any specific

    k

    Kn

    R

    J. Jovanovic, D. Gasevic / Expert Systems with Applications 29 (2005) 535553 537toolan ongoing effort of a few members of our research

    group to develop a knowledge acquisition tool for building

    intelligent systems. Next, we discuss JessJava Expert

    System Shelland the conceptual model it uses for

    modeling knowledge. We also briefly present JessGUIa

    graphical development environment built on top of the Jess.

    Chun

    DomainKnowledge

    KnowledgeElements

    1..*1..*

    0..*0..*

    Frames

    0..*

    Rules0..*

    0..*0..*proposed solutions whereas Section 7 stresses some related

    work on transforming different knowledge representation

    formats as well as identifies some related solutions in other

    application domains (i.e. software engineering). Section 8

    summarizes the paper and indicates further directions of our

    research in this area.

    2. A diversity of knowledge representation platforms

    and tools

    In this section we discuss four conceptual models for

    representing knowledge in intelligent systems. First, weFig. 1. Organization of domaiimplementation. The original model uses Boochs (1994)

    notation, but since this notation could make the model

    difficult to comprehend, we decided to use UML (Booch,

    Rumbaugh, & Jacobson, 1998) notation.

    Organization of domain knowledge is represented with the

    Class diagram shown in Fig. 1. Knowledge of an intelligent

    system is organized into n homogeneous collections of

    different knowledge elements (KnowledgeElements).

    Elements of those collections are represented with appropriate

    classes derived from the abstract KnowledgeElement class. A

    KnowledgeElement represents an abstract knowledge element

    type and acts as the root class for all concrete knowledge

    elements types, both simple (Attribute, Relation, Slot, Value,

    Chunk) and complex (Frame, Rule). That way, operations

    common for all elements of a knowledge base can be accessed

    through the interface of the KnowledgeElement class. It should

    be noted that Chunk is another abstract class whose

    subclasses (e.g. OARV (Object-Attribute-Relation-Value),

    Action, Picture) are used as building blocks for composition

    of complex knowledge elements.

    Attribute

    Relation

    Slot

    Value

    owledgeElement

    Frame

    ulen knowledge in OBOA.

  • further inferential-transformational tasks (Boley,

    2.2

    (Fr

    ha

    ess

    CL

    a l

    the

    backward chaining is supported as well.

    set

    can

    as

    ele

    or

    ele

    tems wJess is a simple, yet powerful enough tool to allow for

    building a number of industry-strength ES applications

    (Fikes, Hayes, & Horrocks, 2003). Its major advantage is its

    capability to easily integrate with other Java programs

    through its well-defined API for controlling the reasoning

    engine from Java (Eriksson, 2003). Java programs can send

    expressions to the Jess inference engine for evaluation, and

    it is easy to extend Jess with new functions in Java because it

    is an open-source freeware. In addition, Jess implements

    some additional functionality not originally provided by

    CLIPS.

    However, Jess lacks a GUI. We have ventured into aninfR&del.

    . Jess/JessGUI

    In recent years, Java Expert System Shell, or Jess

    iedman-Hill, 2003; Sandia National Laboratories, 2003)

    s become a popular development tool for ES. Jess is

    entially a reimplementation of a subset of the earlier

    IPS shell (CLIPS, 2003) in Java. Its reasoning is based on

    ist of known facts and a set of rules that try to match on

    se facts in its fact base. Rule-based reasoning of Jess

    erence engine is mostly Rete-based forward chaining, buttoo

    mo2003).

    2. Inference mechanism, in the form of both forward and

    backward chaining.

    It should be noted that the current version of JavaDON

    l covers only a small fraction of the OBOA conceptualThe first intelligent system based on OBOA model

    was DON (Radovic, 1996) implemented in CCC.Another implementation is JavaDONour ongoing

    research effort to create an OBOA-based platform for

    development of intelligent systems. Java was chosen as

    implementation language due to its platform indepen-

    dence as well as our intent to enable seamless integration

    of JavaDON with other intelligent software tools, the

    majority of which are Java-based. JavaDON has capacity

    to build rule and frame-based intelligent systems. It even

    extends functionalities of the original OBOA model by

    introducing:

    1. OBOA XML bindingknowledge base developed

    using JavaDON is saved in XML format compliant

    to the predefined XML Schema (see Section 5.2).

    Furthermore, procedural knowledge, represented in the

    form of rules, can be saved in Rule Markup Language

    (RuleML) formatan ongoing effort of The Rule

    Markup Initiative (http://www.dfki.uni-kl.de/ruleml/)

    to define a shared language (RuleML), that would

    permit both forward (bottomup) and backward (top

    down) rules in XML for deduction, rewriting, and

    J. Jovanovic, D. Gasevic / Expert Sys538D project of designing and developing a GUI for Jess,We also monitor recent efforts related to integrating Jess

    with other development environments, as well as contri-

    butions of other research groups to the evolution of Jess

    itself. The most notable recent work in that direction is

    presented by Eriksson (2003). He has developed a plug-in

    called JessTab (www.ida.liu.se/~her/JessTab), which inte-

    grates Jess with Protege-2000, a popular, modular ontology

    development and knowledge acquisition tool developed at

    Stanford University (http://protege.stanford.edu/). JessTab

    enables a Jess engine to run inside the Protege-2000

    framework and lets users build knowledge bases inknoProting and getting attribute values.

    A knowledge base consists of one or more Moduls that

    be regarded as logical units of knowledge elements such

    Rules, Facts, Deffacts (a group of facts), etc. The Frame

    ment serves as a template for facts and it consists of one

    more Slots that hold appropriate Values. The Query

    ment, as it name suggests, facilitates querying the

    wledge base.clucalled JessGUI, suitable for all platforms that support Java

    Virtual Machine. JessGUI v. 1.0 is now complete (http://iis.

    fon.bg.ac.yu/JessGUI/home.html), and is already used in

    practical projects and as a teaching tool (Bergholz, 2000).

    The main idea of the JessGUI project was to develop a

    GUI for Jess ES Shell that would make this ES development

    environment more user-friendly and much easier to work

    with, hence enlarging the number of its potential users.

    Important advantages of the new user interface in

    comparison with the existing one are the following:

    1. Interaction and dialogs using familiar graphical elements

    instead of plain command promptJessGUI enables

    users to work with graphical objects (widgets), typical

    for modern user interfaces (JessGUI design was based on

    the layout of Protege-2000s GUI (Freedman-Noy et al.,

    2001). It is much more convenient and less time-

    consuming then typing complicated constructs at the

    command prompt.

    2. Users need only the knowledge of the basic Jess concepts

    instead of the complete syntax of the CLIPS language

    JessGUI offers an alternative to learning complex

    structures that are part of CLIPS, which Jess has

    inherited from its predecessor.

    Another important advantage of JessGUI over Jess is

    interoperability related. Specifically, having defined an

    XML Schema for XML binding of Jess knowledge base, we

    enabled other Web (or non-Web) applications to access it

    and use it. This issue is elaborated in Section 5.3.3.

    The class diagram shown in Fig. 2 depicts the knowledge

    model employed in JessGUI. Each class implements one of

    the basic Jess concepts, and through its attributes and

    methods enable capturing of all data necessary for

    constructing the concept it represent. In order to avoid

    tter, the class diagram does not show the methods for

    ith Applications 29 (2005) 535553tege-2000 that work with Jess programs and rule bases.

  • tems wJ. Jovanovic, D. Gasevic / Expert SysIt takes advantage of the Jess API to map information in the

    Protege knowledge base to Jess facts and to extend Jess with

    additional functions for communication with Protege-2000

    (Eriksson, 2003).

    2.3. Ontology languages

    Rapid expansion of XML throughout the Internet

    community is promising to enable syntactic interoperability

    on the global level. XML (eXtensible Markup Language) is

    a meta-language used to define other languages. It describes

    a class of data objects called XML documents and partially

    describes the behavior of computer programs which process

    them (Bray, Paoli, Sperberg-McQueen, & Maler, 2000).

    XML is mainly devised for markup of vaguely structured

    documents. It defines neither tags nor grammar, so an

    appropriate XML description could be defined to satisfy

    needs of any application. It only requires that document

    must be well-formed in a tree structure, so it could be parsed

    by standard XML tools. The structure of an XML document,

    i.e. a set of rules that defines which tags are allowed to be

    used and in which sequence, can be specified either by

    Document Type Definition (DTD) or XML Schema.

    Although DTD and especially XML Schema are solid

    solutions for defining grammar of XML documents, i.e.

    their syntactic rules, both of them lack capacity to express

    underlying semantics of those documents (Decker et al.,

    Fig. 2. JessGUIDith Applications 29 (2005) 535553 5392000). A standard must be built on top of XML that will

    describe semantics of data. The first step in that direction

    was Resource Description Framework (RDF).

    The RDF is a language for describing resources on

    the World Wide Web (specifying metadata for Web

    resources) (Manola & Miller, 2003). However, by

    generalizing the concept of a Web resource, RDF can

    also be used to represent information about anything that

    can be identified on the Web (via Uniform Resource

    IdentifierURI), even when it cannot be directly

    retrieved from the Web (Manola & Miller, 2003). RDF

    is based on the idea that things (resources) being

    described have properties which have values, and that

    resources can be described by making statements that

    specify those properties and values. The RDF data model

    consists of three main components: a resource named by

    URI plus optional anchor ID; a property that defines

    specific aspects, characteristics or relations of resources;

    and value that is assigned to a property of a resource (this

    value might be another RDF statement). Therefore, RDF

    provides a way to express simple statements about

    resources, using named properties and values. However,

    RDF user communities also need the ability to define the

    vocabularies (terms) they intend to use in those

    statements, specifically, to indicate that they are describ-

    ing specific kinds or classes of resources, and will use

    specific properties in describing those resources. This can

    ataModel.

  • another layer is needed on top of RDF(S). That (logical)

    layer introduces ontology languages that provide a richer set

    neither the same names for their constituent elements and

    attributes, nor the same number of them.

    Concluding this brief overview of XSLT technology, we

    deem important to point out that XSLT is an appealing

    tems with Applications 29 (2005) 535553of modeling primitives, which can be mapped to description

    logics. Common examples of such languages are OIL

    (http://www.ontoknowledge.org/oil) and DAML (http://

    www.daml.org). The latest W3Cs release, Web Ontology

    LanguageOWL (Bechhofer et al., 2004) was recently

    accepted as standard ontology language. OWL is a semantic

    markup language for publishing and sharing ontologies on

    the World Wide Web. It is developed as a vocabulary

    extension of RDF and is derived from the DAMLCOILWeb ontology language. Fig. 3 presents the position of

    ontology languages RDF(S) and OWL in the Semantic Web

    architecture. As it can be deduced from the figure, both

    RDF(S) and OWL have XML syntax representation.

    However, one should note that an ontology (specified either

    in RDF(S) or OWL) does not have a unique XML binding,

    instead each ontology can be serialized in XML in multiple

    different ways (Decker et al., 2000).

    3. A technology for bridging gaps

    A growing number of intelligent systems building tools

    need an ability to handle different knowledge formats. They

    should not be restricted to use neither only one specific

    XML format, nor XML format at all. For example, JessGUI

    tool saves knowledge bases in an XML-based format, while

    Jesss interpreter is able to recognize only Jess/CLIPS (abe achieved using RDF Schema (RDFS) that provides the

    basic type system for RDF data models (Brickley & Guha,

    2004). The combination of RDF and RDF Schema is

    known as RDF(S), however, it is not very expressive,

    since it just allows the representation of concepts, concept

    taxonomies and binary relations (Gomez-Perez & Corcho,

    2002).

    To enable reasoning services for the Semantic Web,

    Fig. 3. RDF(S) and OWL in the Semantic Web architecture.

    J. Jovanovic, D. Gasevic / Expert Sys540Lisp-like) language. Therefore, this tool has to support, not

    only XML but, also Jess/CLIPS native knowledge base

    format in order to enable usage of Jess inference engine. On

    the other hand, writing special parsers for each text-based

    knowledge format or special procedures for traversing

    different XML documents is not an ideal solution since it

    can be very complex or time consuming or both (in case of

    special parsers).

    The eXtensible Stylesheet LanguageXSLTis an

    elegant solution for the presented problem. XSLT is alanguage for transforming an XML document into another

    XML document (Clark, 1999). An excerpt of an XSLT

    stylesheet is presented in Fig. 13a. XSLT has already been

    used for transforming XML document into HTML and SVG

    (Scalable Vector Graphicsa W3C XML-based standard

    for 2D vector graphics) documents as well as documents

    expressed in other markup languages defined using DTD or

    some Schema language. Furthermore, using XSLT principle

    an XML document can be transformed into a simple text-

    based document. However, the best result is achieved when

    an XSLT is used to transform one XML document into

    another XML document, regardless how different their

    schemas are. This feature of XSLT should be used, not just

    to enable simple support for different presentation formats

    of the same data, but also to enable straightforward

    interchange of knowledge between applications.

    Although creation of an appropriate XSLT stylesheet is

    necessary it is not sufficient for performing a desired

    transformation. One would also need a piece of software

    able to process both the XSLT stylesheet and the XML

    document that needs to be transformed, and produce another

    document in the desired format as a result. Fig. 4 illustrates

    the main principle of document transformation using XSLT

    technology.

    An XSLT stylesheet consists of sequence of rules, in

    XSLT terminology called templates, that matches certain

    elements of the input XML document and transform them

    into the target XML format. One should notice that the

    source and the target XML documents do not have to have

    XMLdocument

    Input

    XSLTprocessor

    XSLT

    XMLdocument

    Targetformats

    Fig. 4. XSL Transformation: An input XML document XSLT processor

    transforms into an output XML document using an adequate XSLT

    stylesheet.approach for performing transformations of XML docu-

    ments, since one does not need to modify his/her program

    (i.e. recompile the program), instead XSLTs are interpreted

    during the program execution. If it happens that the XML

    format (i.e. XML Schema or DTD) an application uses

    should be changed, the application itself does not need to be

    modified, it would be enough to develop an adequate XSLT

    to support that change. This approach is both easier and less

    time consuming.

  • infra

    tems w4. Resulting infrastructure for knowledge sharing

    Fig. 5 presents the XSLT-based infrastructure that we

    propose for knowledge sharing. The proposed infrastructure

    should enable knowledge exchange between different

    knowledge modeling and acquisition tools. For the moment

    we consider only three tools of this type (JessGUI, JavaDON

    and Protege) but other Semantic Web and ontology devel-

    opment tools could be included as well. The infrastructure is

    based on XSLT stylesheets that we have developed in order

    to enable conversion between different knowledge represen-

    Fig. 5. The proposed XSLT-based

    J. Jovanovic, D. Gasevic / Expert Systation formats of these tools. Our choice to use an approach

    based on XSLT was grounded on the fact that relying on the

    XSLT principle we did not need to change any of these tools,

    instead we just needed to apply an XSLT on their output

    documents.

    As we already mentioned (see Section 2.2) Jess knowl-

    edge base is normally represented in Jess/CLIPS format, but

    we developed an XML format for it in order to enable its

    interoperability (Bergholz, 2000). However, this format

    cannot be used by the Jess interpreter, which interprets only

    Jess/CLIPS code. Thus we developed an XSLT that

    transforms JessGUI XML format into Jess/CLIPS format,

    so that it can be parsed by Jess interpreter and executed by

    Jess inference engine.

    We have also implemented a pair of XSLTs in order to

    enable interoperability between JavaDON and JessGUI. This

    means that a user can export a knowledge base developed in

    JavaDON into JessGUIs knowledge format and then import

    it in JessGUI tool in order to further refine it (e.g. profit from

    Jess greater expressivity of procedural knowledge). Further

    more, as we have developed an XSLT for transforming

    JessGUIs XML format into Jess native text-based format,

    one can use not just JessGUI to develop a knowledge basethat will be processed by Jess inference engine, but also can

    use JavaDON to develop a knowledge base that will be firstly

    transformed into JessGUI XML format and then (using

    another XSLT) into Jess native format.

    Having developed similar XSLTs we provided interoper-

    ability with Semantic Web tools. These XSLTs transform

    JessGUIs and JavaDONs XML based knowledge formats

    into corresponding RDF(S) and OWL models. For example,

    one can import a JessGUIs or JavaDONs knowledge base

    into Protege-2000 since it would be a way to produce an

    ontology. However, the reverse transformations (i.e. those

    that would convert RDF(S) and OWL ontologies into

    structure for knowledge sharing.ith Applications 29 (2005) 535553 541JessGUI and JavaDON XML knowledge models) are not

    yet developed as XSLT approach proved ineffective for such

    kind of transformations. As it is stated in (Decker et al.,

    2000) an ontology does not have a unique XML binding,

    therefore an XSLT implemented to work with one XML

    serialization of the ontology would not work with others

    (more on this subject can be found in Discussion).

    However, this approach has certain limitations that result

    from different conceptual models these tools are based on.

    Table 1 presents a summary of results obtained from a

    comparative study of those conceptual models that we did

    prior to setting ourselves on the task of XSLTs develop-

    ment. The table should only provide an introductory

    overview since details are covered in Section 5.

    5. Implementation details

    In this section we briefly present XML Schemas that

    define XML formats of JessGUI and JavaDON knowledge

    bases. Then we focus on some problems that we faced

    when implementing XSLTs to support the proposed

  • infrastructure. These problems originate from different

    knowledge formats of the analyzed tools. We explain our

    solution for each implemented XSLT.

    5.1. XML JessGUI

    We developed an XML format for Jess knowledge bases

    using W3Cs XML Schema for defining XML document

    grammar, and made it available to Jess knowledge-based

    builders through JessGUI (Bergholz, 2000). This XML

    format can contain and represent all Jess concepts (e.g.

    more precisely the complex type for representing Jess rules

    (ruleType); other elements are defined in a similar manner.

    Each rule consists of a conditional or IF part (LeftHandSide

    in Jess terminology, hence lhs element in the schema), an

    action or THEN part (RightHandSide as it is called in Jess,

    hence rhs schema element) and an optional description

    element. Each condition of a rule is made of patterns that

    should be matched against the knowledge base in order to

    fire the actions in the action part of the rule.

    5.2. XML JavaDONOBOA XML binding

    Table 1

    A comparative overview of Jess, OBOA and ontology languages knowledge models

    Knowledge model JessGUI (Jess) JavaDON (OBOA) Ontology languages

    (RDF(S) and OWL)

    Declarative knowledge support Yes Yes Yes

    Class Template Frame Class

    Property Slot Attribute Property

    Property as a first-class concept No Yes Yes

    Instance Ordered/unordered fact Fact Named tag

    Procedural knowledge support Rules, functions Rules No

    J. Jovanovic, D. Gasevic / Expert Systems with Applications 29 (2005) 535553542module, global variable, etc.). Speaking in terms of XML

    Schema definition, for each of these concepts we defined a

    proper complex type. We used XMLSpy tool (http://www.

    altova.com) for modeling XML Schema in order to obtain a

    better readability as well as a better documentation of the

    JessGUIs XML format. The root element, named knowl-

    edgeBase can contain an unbounded number of XML

    elements: module, globalVar, deffact, fact, template, func-

    tion, rule and query, where each one represents a real Jess

    concept. Due to the complexity of the developed schema, in

    Fig. 6 we show only a part of the XML Schema definition,Fig. 6. Complex type for description ofUsing XML Schema we have also developed an XML

    binding for the OBOA model (introduced in Section 2.1)

    and set it as the native format of knowledge bases built in

    JavaDON tool. The initial idea was to use previously

    developed JessGUIs XML Schema as the grammar for

    XML binding of knowledge bases generated in JavaDON.

    Our aim was to enable direct interchange of knowledge

    models developed in these two tools. However, we have

    realized that the divergences of the underlying models of

    these two tools (OBOA and Jesss native model) wouldrules in JessGUIs XML Schema.

  • tems wmake that approach infeasible. The second best solution was

    to develop a separate OBOA XML binding and a pair of

    XSLTs that would enable interoperability of these tools. A

    graphical representation partially depicting the developed

    XML Schema is shown in Fig. 7. Comparing this figure with

    Fig. 1, one can notice that the developed XMLSchema is a

    simplified version of the OBOA model. A KnowledgeBase

    contains one or more knowledge elements of type Attribute,

    Fact, Frame (template for fact), or/and Rule. While the

    Attribute element is of a simple type, containing only

    attribute values (not shown in the figure), other elements are

    of complex types comprising, besides attributes, also other

    nested elements, e.g. each Frame embodies one or more Slot

    elements.

    5.3. Transformations

    Fig. 7. XML Schema for OBOA XML Binding.

    J. Jovanovic, D. Gasevic / Expert SysIn this section we will describe in greater details XSLT

    stylesheets that we have developed in order to provide

    support for the proposed infrastructure. We will not present

    developed XSLTs due to their length, instead we will focus

    on comparing source and resulting documents in order to

    highlight interesting details of the applied transformations.

    However, all the developed transformations as well as

    several XML documents illustrating the applied principle

    are publicly available at http://iis.fon.bg.ac.yu/XML-KBS/

    5.3.1. Transformations between XML schemas

    In order to enable interoperability between knowledge

    bases developed in JessGUI and JavaDON, we developed a

    pair of XSLTs that perform bidirectional transformations

    between XML formats of these two tools.

    The XSLTs we have implemented for mapping between

    JessGUI and JavaDON (OBOA) XML descriptions contain

    a set of rules (i.e. xsl:templates) that match constructs of

    XML format of one tool and transform them into

    equivalent primitives of the other tool. We were aware ofthe fact that development of these rules will not be that

    straightforward due to the evident differences between

    the source and the target format. Thus we decided to firstly

    perform a comparative study of JavaDONs (i.e. OBOA)

    and JessGUIs (i.e. Jess) knowledge models. Table 2

    summarizes the results of this analysis.

    Generally speaking, the main obstacle stemmed from the

    fact that JessGUIs XML format is much more complex than

    the XML format JavaDON uses, so many features specific

    to the JessGUIs knowledge base are lost in the resulting

    document. This is especially true for JessGUIs rules that

    are frequently far more complicate than those that JavaDON

    defines. To put it another way, JessGUIs knowledge base

    format is directed towards supporting procedural knowledge

    (as a consequence we have to deal with complex structure of

    rules), while features of the OBOA model implemented in

    JavaDON are more oriented towards expressing declarative

    knowledge (emphasizes on Object-Attribute-Value

    statements).

    In order to better illustrate differences between represen-

    tation of procedural knowledge in Jess/JessGUI and

    JavaDON (OBOA) knowledge models we present the

    XML binding for rules that these tools use. In Fig. 8a one

    can notice a rule in JessGUI XML format, while in its

    bottom part (Fig. 8b) we present the same rule in JavaDON

    XML format. A rule, as an expression of procedural

    knowledge is an if/then statement that defines the set of

    Table 2

    A comparative overview of the main concepts of JessGUIs and JavaDONs

    knowledge base models

    JessGUI (Jess)

    knowledge model

    JavaDON (OBOA)

    knowledge model

    Module

    GlobalVar

    Template, slot Frame, slot

    Attribute

    Ordered fact

    Unordered fact Fact

    Deffact

    Function

    Rule Rule

    ith Applications 29 (2005) 535553 543facts that must be true (the if part) before a set of actions (the

    then part) can be executed. One can easily notice that

    JessGUIs and JavaDONs XML formats use differently

    named tags to represent the same thing: a conditional part of

    a rule is enclosed inside !IfClauseO tags in JavaDON,while JessGUI uses instead !lhsO tags (shorten form ofLeft-Hand Side, a synonym for If part in Jess terminology).

    Similarly, JavaDON uses !ThenClauseO tags to encapsu-late action part of a rule, while JessGUI employs !rhsOtags (shorten form of Right-Hand Side, a synonym for then

    part in Jess terminology) for the same purpose.

    However, those are just syntactical differences that can

    be easily overcome, real problems are caused by the

    aforementioned considerable discrepancy in complexity of

    Jess rules and those that JavaDON uses. This discrepancy is

  • focus=

    ment=

    ="=" c

    ype="

    ticipat

    ation=cer" r

    ncer"

    le: (a

    tems w

    "none">

    onstraintValue="true"/>=" constraintValue="true"/>

    ion)

    "=" value="true" />elation="=" value="true"/>

    re lation="=" value="partic ipation"/>

    ) JessGUI knowledge format; (b) JavaDON.

    ith Applications 29 (2005) 535553knowledge, more precisely properties (attributes) of

    knowledge objects. While in the OBOA model attribute

    is a first-class concept, analogy to a property in ontological

    languages, a slot, OBOAs attribute corresponding concept

    in Jess knowledge base model, cannot exist alone, i.e.

    outside the template (concept analogous to an ontology

    class) within which it is defined. The consequence of this

    discrepancy is that when transforming a class (i.e.

    Template in Jess terminology) from Jess knowledge

    base into the corresponding concept of the OBOAs

    knowledge format (i.e. Frame) we had to simultaneously

    generate attributes as stand-alone concepts that correspond

    to slots of the source class, of course if those attributes did

    not already exist in the knowledge base. In this context, we

    had to be careful to avoid naming conflict that could result

    when raising slots on a higher level in the conceptual

    model. This potential problem was prevented by introdu-

    cing a naming convention based on using complex names

    for OBOAs Attributes resulting from transformation of

    Jess slots. Names of those Attributes were generated by

    prefixing slots names with the name of the Template they

    belong to. Fig. 10 illustrates this approach. The upper part

    of Fig. 10a presents a class Dancer as it is represented in

    Jess knowledge base, while its middle part (Fig. 10b)

    contains an excerpt of the resulting JavaDON knowledge

    base after transformation of the Dancer class was done. In

    the bottom part of Fig. 9c we have presented an excerpt of

    the XSLT in order to illustrate our solution for mapping

  • e="Bteger"e="B type

    ship "

    alue =""/>alue =

    " va

    />oolean"/>="Boolean"/> type="String"/>

    ""/>

    ""/>lue=""/>

    " value=""/>(i.e. knowledge base compliant with the OBOA model) into

    these languages using an XSLT will result in lost of all

    procedural knowledge, i.e. knowledge expressed in the form

    of OBOA models rules. On the other hand, declarative

    knowledge of a knowledge base compliant with the OBOA

    model can be relatively easily transformed into correspond-

    ing RDF(S) and OWL ontologies.

    We have conducted a comparative analysis of Java-

    DONs knowledge model format and elements of both

    RDF(S) and OWL ontology languages. Table 3 presents an

    t ">

    to OBOA model format using the developed XSLT (b) and an excerpt of the

    (S) and OWL primitives

    f Representation

    of body of knowledge

    Representation of

    procedural knowledge

    Fact Rule

    A tag named by the class it

    instantiates

    perty

    rty

    A tag named by the class it

    instantiates

  • ame,

    ">Typeype "

    ttribu>rce "

    l:valu

    vaDO

    tems woverview of the results we have obtained. These results

    served us as a starting point when defining transformation

    rules between these knowledge formats.

    Transforming Frames from OBOA knowledge model

    into the corresponding RDFS concept, rdfs:Class was

    straightforward. However, transformation of OBOAs

    Attribute concept into the corresponding rdf:property

    concept in RDFS was not so simple. Each Attribute was

    converted into an equivalently named property whose range

    was easily derived from the Attributes specified datatype.

    select="@type"/>

    te = $attributeName] ">

    >e -of select="translate(../@name, ' ', '_') "/>

    N (OBOA) Attributes are transformed into RDF(S) properties.

    ith Applications 29 (2005) 535553Fact OBOA concept constitute RDF document and docu-

    ments compliant to the OWL ontology. Fig. 11 presents the

    resulting format of OWL ontology after the developed XSLT

    stylesheets were applied to the excerpt of the JavaDON

    knowledge base presented in the bottom part of Fig. 9.

    5.3.2.2. JessGUI XML to OWL and RDF(S). Jess

    conceptual model greatly relies on rules as a form of

    expressing knowledge, so we were aware that we will have

    significant loss of knowledge after transforming a Jess

    knowledge base into corresponding RDF(S) and OWL

    format regarding that these ontological languages do not

    provide support for procedural knowledge modeling. This

    loss was expected to be even greater than in the case of

    JavaDONs transformations, since JavaDONs (i.e.

    OBOAs) model is not that heavily based on rules.

    We used the same approach as when developing XSLTs

    for transforming JavaDONs model. In other words we began

    by a comparative study of JessGUIs knowledge model

    format on the one hand and RDF(S) and OWL conceptual

    models on the other. Our observations are given in Table 4.

    While properties are first-class concepts in RDF(S) and

    OWL, their corresponding concept in Jess knowledge base

  • 5.3.3. Transformation from the XML binding of knowledge

    model into Jess native format

    natural solution for this problem. We developed an XSLT

    that transforms JessGUI XML format into Jess/CLIPS

    Dancer

    (a)

    < Dancer .C_category >true< Dancer .score>160< Dancer .B_category >true< Dancer. StateChampion >true< Dancer .WorldChampionship >participation

    (b)

    Fig. 12. Differences between fact representation formats: (a) a Jess/JessGUI fact, (b) the same fact in RDF/OWL format.

    J. Jovanovic, D. Gasevic / Expert Systems with Applications 29 (2005) 535553548Having XML-based format for JessGUI is a good feature

    for interoperability with other knowledge-based systems,

    but this format cannot be used by the Jess interpreter. The

    Jess interpreter in its basic distribution interprets only

    Jess/CLIPS code. Thus, we need a way to transform the

    JessGUI XML format into the Jess/CLIPS code. XSLT is a

    (a)null

    (defrule

    ""

    (declare (salience ))

    hampionship true))

    ipation))))

    o Jess native (text-based) format. (b) The rule from Fig. 7a in Jess native

  • JessGUIs XML format and here (Fig. 13b) we show that

    same rule in Jess native format.

    Since this XSLT transformation has a standard text

    document as the target format, we had to explicitly specify

    the structure and constituent parts of the resulting document.

    For example, each Jess rule has an attribute named salience

    that defines the rules priority. In JessGUIs XML format we

    defined an attribute priority of the rule element that holds

    the value for the rules priority (in our example rule from

    Fig. 8a that value is 100). On the other hand, Jess native

    syntax uses construct (declare (salience 100)) to express the

    same information. The highlighted part of the XSLT

    presented in Fig. 10a is responsible for performing the

    necessary conversion.

    It should be noted that the resulting document is not

    pretty-printed as the excerpt from Fig. 13b might suggest.

    On the contrary, in most cases it is rather unorderly written,

    essentially because XSLT is primarily aimed to enable

    transformations between different XML formats where

    documents presentation format is of the minor importance

    comparing to its content. Special XML editors (e.g. XML

    Spy) or other tools (e.g. Web browsers) can be used to

    pretty-print resulting documents.

    Since we have developed an XSLT that performs

    transformation from JavaDONs into JessGUIs XML

    knowledge format, we can now use Jess inference engine

    to reason over knowledge bases originally developed using

    JavaDON tool. The first thing to be done is to transform

    JavaDONs document format into JessGUIs XML format

    and then to apply another XSLT that will convert that

    resulting XML format into Jess native format comprehen-

    sible to the Jess parser.

    6. Discussion

    In this section we discuss advantages and disadvantages

    of the proposed XSLT-based approach as well as suggest

    some potential solutions for identified problems.

    First, in Table 5 we present an overview of the

    recognized advantages and disadvantages of the proposed

    solution. In fact, the table summarizes our remarks from

    Sections 4 and 5.

    Although the proposed XSLT approach can be error-

    prone due to the fact that one has to implement XSLTs on

    a very low level of abstraction (i.e. by hand-coding), our

    experience, however, confirms that it is a light-way

    approach of extending already available tools in order

    to achieve knowledge exchange between them. The most

    challenging part of an XSLT development process is

    Table 5

    Summary of experiences with XSLT-based knowledge models sharing

    F(s)/O

    ntation

    -class

    ses)

    an be

    e too

    inst X

    cture

    , just

    wledg

    JessGUI-class dependent

    dinality

    se of

    The target formats offer no The reversed transformation

    prese

    ains

    n in Ja

    DFS/

    J. Jovanovic, D. Gasevic / Expert Systems with Applications 29 (2005) 535553 549The proposed XSLT based knowledge sharing

    JessGUI4JavaDON JavaDON/RD

    Advantages Both XML formats defined

    using XML Schemas

    Similar represe

    properties (first

    cepts in both ca

    XSLT in both directions Target format c

    dated using som

    Protege) or aga

    Schemas

    Achieved translation of both

    declarative and procedural

    knowledge

    The target format can be

    validated against the target

    XML Schema

    Difficulties JessGUI to JavaDON trans-

    formation susceptible to large

    loss of knowledge due to

    greater complexity of Jess-

    GUI knowledge model

    There is no stru

    describing rules

    declarative kno

    Only one type of JessGUI

    rules can be mapped into

    JavaDON rules

    Insertion of car

    restriction in ca

    Different treatment of the

    property concept:in Java-

    DON first-class concept, in

    JessGUI class dependent

    Difference in re

    of property dom

    a class definitio

    vs. domain in ROWL structure for representing

    rules and functions, just

    declarative knowledge

    (Jess to JessGUI) requires

    building a special-purpose

    parser; it is not possible to do

    it using XSLT

    ntation

    (slots in

    vaDON

    OWL)

    Insertion of cardinality

    restriction in case of OWL

    Difficult to validate the target

    format (it cannot be validated

    against an XML Schema) and

    Jess parser does not perform

    strong syntax checkingWL JessGUI/RDF(S)/OWL JessGUI/Jess

    of

    con-

    Target format can be vali-

    dated using some tools (e.g.

    Protege) or against XML

    Schemas

    Public access to Jess knowl-

    edge model format

    vali-

    ls (e.g.

    ML

    Clear structure of the target

    document

    for

    e

    Different treatment of the

    property concept:RDF(S)/

    OWL-first-class concept;

    Text-based target format-not

    an ideal situation for applying

    XSLT principle

  • indubitably confirm that this approach is much easier

    and less time consuming than the approach based on

    tems wprogrammatically extending existing tools in order to

    make them interoperable.

    However, we have also recognized a few drawbacks of

    this approach. The first one stems from the XSLT

    technology itself, since it is very sensitive to the format of

    the input document: a slight change of the input documents

    structure would result in poor transformation performance.

    Thus, this approach could be used only with well structured

    XML documents, i.e. those that fully comply with some

    Schema. However, the main hindrance of the proposed

    approach cannot be attributed to XSLT principle itself, but

    rather to the lack of standard procedural knowledge

    representation language for the Semantic Web (something

    analogous to OWL for declarative knowledge). If such a

    language had existed we would have been able to map

    JessGUI and JavaDON rules into their Semantic Web

    equivalences. A possible solution might be Semantic Web

    Rule LanguageSWRL (Jovanovic et al., 2004) that is an

    ongoing Semantic Web community effort to define a

    standard rule language for the Semantic Web.

    So far we have not found a programming language

    independent solution for transforming ontological infor-

    mation expressed in RDF(S) or OWL into JessGUI and

    JavaDON. The initial idea was to employ again an XSLT

    based approach, but we realized that even if we were able to

    define such a transformation, it would not be general

    enough, since it would work only for one specific XML

    presentation form of an ontology, and fail in other cases. In

    other words, XSLT is syntax sensitive, if syntactical

    representation of the ontology changes, it becomes

    inapplicable, and it is well known fact that the same

    ontology instance can have different XML bindings (i.e.

    compliant to different XML Schemas). We are presently

    considering alternative approaches in order to find a suitable

    one to base our further work on.

    7. Related work

    In this section we briefly present some similar solutions

    to knowledge sharing and transformation issues. First, we

    present a few conceptually similar (i.e. XSLT based)

    approaches and then focus on some alternative approaches.

    The idea of XSLT-based transformations is widely

    applied for mappings between software engineering tech-the one related to exploring similarities and differences

    between two knowledge representation formats and

    defining mappings between them on the conceptual

    level. This task might last even a few days. Nevertheless,

    the implementation part is much less time-consuming, and

    for an experienced developer might present a task of an

    hour or two (of course, assuming that the conceptual

    model was previously well defined). Thus we can

    J. Jovanovic, D. Gasevic / Expert Sys550niques and ontologies. Cranefield (2001) used an XSLT fortransforming UML classes into RDF(S) ontologies. It is

    important to note that he recognized the difference between

    a UML attribute (defined in the scope of the class it belongs

    to) and an ontology property (a first-class concept that can

    exist independently of a class). In this paper we have

    recognized a similar problem related to the mapping of

    JavaDON attributes to JessGUI slots (and vice-versa), as

    well as to the mapping of JessGUI slots into OWL/RDF(S)

    properties. The XML/XSLT approach is also applied for

    transformations of extended UML models into DAMLCOIL ontologies (Falkovych, Sabou, & Stuckenschmidt,

    2003), as well as for transforming an ontology UML Profile

    into an OWL ontology (Gasevic, Djuric, Devedzic, &

    Damjanovic, 2004a).

    Further, it is worth mentioning that an experimental

    RuleML-RDF translator for a subset of RuleML 0.7 is

    available in XSLT (Boley, 2001). The RDF representation

    of a RuleML knowledge base (i.e. rulebase) directly reflects

    its tree structure defined by the RuleML DTD. The author

    emphasizes the use of XSLT as a flexible approach for

    defining the current RDF version of RuleML that will

    enable easy adaptation of this translator to the future

    changes of the RuleML DTD. This is another confirmation

    of XSLTs usefulness for overcoming potential obstacles

    resulting from releasing new versions of an XML based

    knowledge format.

    Since RuleML should help rule-based intelligent systems

    interoperation, RuleML community has made a request to all

    rule-based systems developers to develop and make publicly

    available a translator from the rule representation format of

    his/her system into RuleML format. It is worth noting that the

    majority of the proposed solutions are implemented as XSLTs

    (http://www.ruleml.org/#Translators).

    An alternative to our XSLT-based proposal is an

    approach that could be referred to as programmatic.

    This type of approach is used in some knowledge

    representation tools, such as Protege, and it is based on

    making transformations to be a part of the tools

    implementation. Protege is nowadays probably the most

    important tool in knowledge engineering. It is the leading

    ontological engineering tool (Fikes, Hayes, & Horrocks,

    2003) that has complex software architecture, easily

    extensible through plug-ins. Many components that provide

    interfaces to other knowledge-based tools (Jess, Argenon,

    OIL, PAL constraint, etc.) have been implemented in this

    way, as well as support for different ontology languages and

    formats like XML, DAMLCOIL, OIL (tab), OWL plugin,etc. Since Protege supports several knowledge represen-

    tation formats it is possible to use Protege as a sort of

    transformation tool with the capacity to import and export

    different formats. For instance, we can open an RDF(S)

    ontology in Protege and afterwards we can save this

    ontology into OWL format. In many cases this Proteges

    feature works very well, but there are some plugins that

    have limited transformation capacities (e.g. DAML plugin

    ith Applications 29 (2005) 535553is unable to export a DAML ontology in some other format

  • tems wdifferent from DAML). However, all these transformations

    should be regarded as a consequence of Proteges support

    for different formats, but not in a way that Protege has a

    collection of transformations specially developed for each

    possible transformation pair. That means, all these trans-

    formations are a part of the Proteges (or its plugins)

    implementation. In order to upgrade a current plugin (e.g.

    RDF(S)) to support some modifications of its underlying

    XML format we should firstly learn the Proteges procedure

    for developing plugins. This can be a time consuming

    process if we are not experienced in developing Proteges

    plugins. If Protege had used the approach (XML/XSLT) we

    advocate in this paper most of these issues would have been

    resolved.

    SweetJess (Grosof, Gandhe, & Finin, 2002) is another

    interesting software system that employs programmatic

    approach to achieving interoperability between hetero-

    geneous rule-based intelligent systems. More precisely,

    SweetJess performs bidirectional transformations between

    Jess and RuleML knowledge representation formats as well

    as bidirectional transformations, via RuleML as the

    interlingua, between Jess and a variety of other rule systems

    (e.g. Prolog and relational database systems) for which

    translation into RuleML format are defined and necessary

    translation tools are developed (MOF 2.0 Query/View-

    s/Transformations, 2002). The translation preserves seman-

    tic equivalence, i.e. for a given rulebase, the same

    conclusions are entailed. The authors have also developed

    a DAMLCOIL ontology for RuleMLin particular, for theSCLP (Situated Courteous Logic Programs) case of

    RuleML. However, the resulting syntax for RuleML,

    named DamlRuleML merely enables a DAMLCOILsyntactic encoding of RuleML.

    Another approach alternative to the one we proposed

    would be to use ontology languages transformation

    language like TRIPLE (Sintek & Decker, 2002) or RDF

    Query Language (RDQL) (Seaborne, 2004) for developing

    transformations from ontology languages (OWL,

    RDFS(S)). Since each ontology language has an appropriate

    XML binding, the XML/XSLT-based approach might

    sound as a quite suitable solution for performing transform-

    ations. However, as we have already mentioned, the same

    semantics can be described using different XML-based

    syntactical constructions (Decker et al., 2000), and since

    XSLT is very sensitive to the input format, in the XSLT-

    based ontology transformation we would have to consider

    all possible syntactic (XML) forms in which an ontology

    can be represented. This can be time-consuming and error-

    prone task. On the other hand, if we perceive ontologies as a

    set of subject-predicate-object triples, it would be more

    appropriate to develop transformation tools starting from

    that triple representation format. In that case, current

    ontology query languages could be used as the basis for

    ontology transformation tools, since specifications of those

    languages state that they are not only ontology query

    J. Jovanovic, D. Gasevic / Expert Syslanguages (Sintek & Decker, 2002), but also ontologytransformation languages. Currently, there are several

    solutions that use one of these languages to transform

    different RDF-based ontologies (Dolog, Henze, & Nejdl,

    2004; Miklos, Neumann, Zdun, & Sintek, 2003). The main

    problem with those ontology transformation languages is

    that there is not a general consent which language should be

    accepted as the standard. A potential candidate is the recent

    W3Cs initiative for the standard transformation and query

    language based on OWLOWL Query language (OWL-

    QL) (Fikes et al., 2003).

    Additionally, we believe that it would be useful to

    borrow some solutions that other research communities

    came up with when solving similar, transformations related,

    problems. A very useful experience is the one related to the

    recent software engineering community effortModel

    Driven Architecture (MDA (Miller & Mukerji, 2003)). In

    fact, the idea of using experiences from software engineer-

    ing in knowledge engineering was introduced much earlier

    (Devedzic, 1999). An MDA based solution to the presented

    problem of interoperability, would be to develop a common

    metamodel (Platform Independent Model-PIM) that would

    cover different representation techniques (Platform Specific

    ModelPSM). In this case we would only have to build a

    pair of transformations between each PSM and PIM. In the

    current solution we developed a pair of XSLTs for

    transformations between each pair of knowledge represen-

    tation formats, and if we had N different representation

    platforms we would have to build N(NK1) transformations(square dependency). However, with the MDA-based

    approach we would only have 2N transformations (linear

    dependency). For example, some other domains outside the

    scope of software engineering (e.g. repurposing multimedia

    content (Obrenovic, Starcevic, & Selic, 2004)) have already

    employed this MDA-based transformation principle.

    Finally, note a very important concept for bridging

    different technologies-the concept of technological spaces

    (Kurtev, Bezivin, & Aksit, 2002). A technological space is a

    working context with a set of associated concepts, body of

    knowledge, tools, required skills, and possibilities.

    Although some technological spaces are difficult to define,

    they can be easily recognized (e.g. XML, MDA, and

    ontology technological spaces in the case of approaching

    MDA and OWL). In order to get a synergy of different

    technological spaces we should create bridges between

    them, and some of these bridges are bi-directional. The

    bridges can be created in a number of ways (e.g. in the XML

    technological space by using XSLT, in ontological engin-

    eering through transformations that can be mapped into

    XSLT, etc.). Note that technological spaces can be classified

    according to their layers of abstraction (e.g. MDA and

    ontological engineering are high-level spaces, whereas

    XML and databases are low-level spaces). The Semantic

    Web integrates XML and ontological engineering techno-

    logical spaces. This approach can be a good starting point

    for the future research on exchanging knowledge bases and

    ith Applications 29 (2005) 535553 551defining more abstract transformations between different

  • into a standard text document. These problems stems from

    the fact that XSLT was not originally developed for those

    html

    Boley, H. (2003). The rule markup language: RDF-XML data model, XML

    schema hierarchy, and XSL transformations. Presented at INAP2001.

    tems with Applications 29 (2005) 535553purposes.

    Our work should be useful primarily to the community of

    knowledge base engineers since the proposed infrastructure

    is intended to make knowledge easily sharable between

    knowledge modeling and acquisition tools and that way

    enable one to profit from specific features of each of these

    tools. For example, one might start building a knowledge

    base using one tool (say Protege) and then export it into

    another tool for further refinement (say JessGUI for adding

    procedural knowledge in the form of Jess rules). Further-

    more, this work can be useful for students, since we are

    already using JessGUI and JavaDON as teaching andknowledge base representations. One possible direction is to

    define all these transformations in terms of MDA as well as

    by employing other transformation techniques like Meta

    Object Facility Query/Views/Transformations (MOF QVT)

    (MOF 2.0 Query/Views/Transformations, 2002). MOF

    OVT is a platform-neutral part of MDA aiming to define a

    language for querying and transforming models as well as

    viewing metamodels. Examples of approaching different

    languages using technological spaces can be found in

    (Bezivin, Dupe, Jouault, Pitette, & Rougui, 2003; Gasevic,

    Djuric, Devedzic, & Damjanovic, 2004b; Kurtev & van den

    Berg, 2003).

    8. Conclusions

    In this paper we have proposed an XSLT-based

    infrastructure for sharing knowledge between different

    knowledge modeling and acquisition tools. More precisely

    we dealt with three tools that use different conceptual

    models for knowledge representation. Two of these tools,

    JessGUI and JavaDON are ongoing research efforts of our

    group (GOOD OLD AI group, http://www.goodoldai.org.

    yu) to develop interoperable development tools for building

    intelligent systems. The third tool is Protege-2000, a widely

    accepted ontology development tool. Our decision to base

    the proposed infrastructure on XSLT was grounded on the

    fact that relying on the XSLT principle we did not need to

    change any of these tools, instead we just needed to apply an

    XSLT on their output documents. We have also presented

    some problems that stem from differences between knowl-

    edge formats of the analyzed tools and we described the way

    we dealt with those obstacles. Our experience in applying

    XSLT for knowledge sharing is that XSLT can be useful,

    but at the same time it is very sensible on the format of the

    input document. It is a good solution for achieving

    interoperability if formats of the source and the target

    documents are well structured (explicitly defined by a DTD

    or XML Schema). However, problems arise if one wants to

    use an XSLT in order to enable interoperability with an

    ontology language or tries to transform an XML document

    J. Jovanovic, D. Gasevic / Expert Sys552learning tools in undergraduate and graduate courses on[Online]. Available at: http://www.dfki.uni-kl.de/ruleml/

    Booch, G. (1994). Object oriented design with applications. Redwood City,

    CA: The Benjamin/Cummings.

    Booch, G., Rumbaugh, J., & Jacobson, I. (1998). The unified modeling

    language user guide. Reading, MA: Addison-Wesley.

    Bray, T., Paoli, J., Sperberg-McQueen, C. M., & Maler, E. (Eds.). (2000).

    Extensible markup language (XML) 1.0 W3C recommendation (2nd

    ed.). [Online]. Available at: http://www.w3.org/TR/2000/REC-xml-

    20001006

    Brickley, D., & Guha, R. V. (Eds.). (2004). Resource description

    framework (RDF) schema specification 1.0. W3C recommendation.

    [Online]. Available at: http://www.w3.org/TR/2004/REC-rdf-schema-

    20040210/

    Clark, J. (Ed.). (1999). XSL transformations (XSLT) version 1.0. W3C

    recommendation. [Online]. Available at: http://www.w3.org/TR/1999/

    REC-xslt-19991116/

    CLIPS. (2003). CLIPS, a tool for building expert systems. [Online].

    Available at: http://www.ghg.net/clips/CLIPS.html

    Cranefield, S. (2001). Networked knowledge representation and exchange

    using UML and RDF. [Online]. Available at: http://jodi.ecs.soton.ac.uk

    Decker, S., Melnik, S., van Harmelen, F., Fensel, D., Klein, M., Broekstra,

    J., et al. (2000). The semantic web: The roles of XML and RDF. IEEEexpert systems at our university. Now that we have enabled

    transformations between knowledge bases of these tools,

    students can gain practical experience in applying

    the principle of interoperability that became the leitmotif

    of contemporary courses on knowledge base systems.

    Our plan is to enable importing RDF(S) and OWL

    ontologies into JessGUI and JavaDON and that way realize

    full interoperability between these and ontology develop-

    ment tools. To achieve this we intend to use Jenaa Java

    application programming interface available as an open-

    source (www.hpl.hp.com/semweb/jena-top.html). In order

    to enable support for procedural knowledge sharing we plan

    to develop an XSLT that would transform rules from

    JessGUI and JavaDONs knowledge models into Semantic

    Web Rule LanguageSWRL (W3Cs proposal for the

    standard Semantic Web language for rules based on a

    combination of OWLs and RuleMLs sublanguages)

    format [ref].

    References

    Bechhofer, S., van Harmelen, F., Hendler, J., Horrocks, I., McGuinness, D.

    L., Patel-Schneider, P. F., et al. (2004). OWL web ontology language

    reference. W3C recommendation. [Online]. Available at: http://www.

    w3.org/TR/2004/REC-owl-ref-20040210

    Bergholz, A. (2000). Extending your markup: An XML tutorial. IEEE

    Internet Computing, 4(4), 7479.

    Berners-Lee, T., Hendler, J., & Lassila, O. (2001). The semantic web.

    Scientific American, 284(5), 3443.

    Bezivin, J., Dupe, G., Jouault, F., Pitette, G., & Rougui, J. E. (2003). First

    experiments with the ATL model transformation language: Transform-

    ing XSLT into Xquery. Proceedings of the second OOPSLA workshop

    on generative techniques in the context of model driven architecture.

    Boley, H. (2001). RuleML in RDFan experimental RDF translator for a

    subset or RuleML. [Online]. Available at: http://www.ruleml.org/inrdf.Internet Computing, 4(5), 6374.

  • Devedzic, V. (1999). Ontologies: Borrowing from software patterns. ACM

    Intelligence, 10(3), 1424.

    Devedzic, V., & Radovic, D. (1999). A framework for building intelligent

    manufacturing systems. IEEE Transactions on Systems, Man, and

    Cybernetics, Part C-Applications and Reviews, 29(3), 402419.

    Dolog, P., Henze, N., & Nejdl, W. (2004). Reasoning and ontologies for

    personalized E-learning. Educational Technology & Society (Journal of

    the IEEE Technical Committee on Learning Technologies) .

    Eriksson, H. (2003). Using JessTab to integrate Protege and Jess. IEEE

    Intelligent Systems, 18(2), 4350.

    Falkovych, K., Sabou, M., & Stuckenschmidt, H. (2003). UML for the

    semantic web: Transformation-based approaches. In B. Omelayenko, &

    M. Klein, Knowledge transformation for the semantic web, frontiers in

    artificial intelligence and applications (Vol. 95) (pp. 92106). IOS

    Press.

    Fikes, R., Hayes, P., & Horrocks, I. (2003). OWL-QLa language for

    deductive query answering on the semantic web. KSL technical report

    03-14. Stanford, CA: Knowledge Systems Laboratory, Stanford

    University.

    Jovanovic, J., Gasevic, D., & Devedzic, V. (2004). A GUI for Jess. Expert

    Systems with Applications, 26(4), 625637.

    Kurtev, I., Bezivin, J., & Aksit, M. (2002). Technological spaces: An initial

    appraisal. Proceedings of the confederated international conferences

    CoopIS, DOA, and ODBASE 2002, industrial track.

    Kurtev, I., & van den Berg, K. (2003). Model driven architecture based

    XML processing. Proceedings of the ACM symposium on document

    engineering (pp. 246248).

    Lee, J. K., & Sohn, M. M. (2003). The extensible rule markup language.

    Communications of the ACMI, 46(5), 5964.

    Leff, L. (2001). Automated reasoning with legal XML documents.

    Proceedings of the eighth international conference on artificial

    intelligence and law. ACM Press (pp. 215216).

    Manola, F., & Miller, E. (Eds.). (2003). Resource description framework

    (RDF) primer. W3C proposed recommendation. [Online]. Available at:

    http://www.w3.org/TR/2003/PR-rdf-primer-20031215/

    Miklos, Z., Neumann, G., Zdun, U., & Sintek, M. (2003). Querying

    semantic web resources using TRIPLE views. Proceedings of the

    second international semantic web conferenceISWC03, Sanibel

    J. Jovanovic, D. Gasevic / Expert Systems with Applications 29 (2005) 535553 553Freedman-Noy, N., Sintek, M., Decker, S., Crubezy, M., Fergerson, R. W.,

    & Musen, M. A. (2001). Creating semantic web contents with Protege-

    2000. IEEE Intelligent Systems, 16(2), 6071.

    Friedman-Hill, E. J. (2003). Jess, the expert system shell for the java

    platform, v. 6.1a4 users manual. [Online]. Available at: http://

    herzberg.ca.sandia.gov/jess/

    Gasevic, D., Djuric, D., Devedzic, V., & Damjanovic, V. (2004a).

    Converting UML to OWL ontologies. Proceedings of the 13th

    international WWW conference (pp. 488489).

    Gasevic, D., Djuric, D., Devedzic, V., & Damjanovic, V. (2004b).

    Approaching OWL and MDA through technological spaces. Proceed-

    ings of the third workshop on software model engineering

    WiSME2004 (at seventh international conference on the unified

    modeling language: Modeling languages and applications), Lisbon,

    Portugal.

    Gomez-Perez, A., & Corcho, O. (2002). Ontology languages for the

    semantic web. IEEE Intelligent Systems and Their Applications, 17(4),

    5460.

    Grosof, B. N., Gandhe, M. D., & Finin, T. W. (2002). SweetJess:

    Translating DamlRuleML to Jess. [Online]. Available at: http://

    ebusiness.mit.edu/bgrosof/paps/sweetjess-wp-050203.pdf

    Gruber, T. (1993). A translation approach to portable ontology specifica-

    tions. Knowledge Acquisition, 5(2), 199220.

    Horrocks, I., Patel-Schneider, P. F., Boley, H., Tabet, S., Grosof, B., &

    Dean, M. (2004). SWRL: A semantic web rule language combining

    OWL and RuleML, version 0.5 of 19 November 2003. [Online].

    Available at: http://www.daml.org/2003/11/swrl/rules-all.htmlIsland, Florida (pp. 517532).

    Miller, J., & Mukerji, J. (Eds.). (2003). MDA guide version 1.0. OMG

    document: Omg/2003-05-01. [Online]. Available at: http://www.omg.

    org/mda/mda_files/MDA_Guide_Version1-0.pdf

    MOF 2.0 Query/Views/Transformations. OMG Document ad/2002-04-10.

    (2002). [Online]. Available at: http://www.omg.org/docs/ad/02-04-10.

    pdf

    Neches, R., Fikes, R., Finin, T., Gruber, T., Senator, R. P., & Swartout,

    W. R. (1991). Enabling technology for knowledge sharing. AI

    Magazine, 12(3), 3656.

    Obrenovic, Z., Starcevic, D., & Selic, B. (2004). A model driven approach

    to content repurposing. IEEE Multimedia, 11(1), 6271.

    Radovic, D. (1996). Objektno orijentisani model znanja ekspertnih sistema,

    MS thesis. Belgrade: Department of Electrical Engineering, University

    of Belgrade.

    Sandia National Laboratories. (2003). Jess: The rule engine for the JavaTM

    platform. [Online]. Available at: http://herzberg.ca.sandia.gov/jess/

    Seaborne, A. (2004). RDQLa query language for RDF, W3C member

    submission. [Online]. Available at: http://www.w3.org/Submission/

    RDQL/

    Sintek, M., & Decker, S. (2002). TRIPLEa query, inference, and

    transformation language for the semantic web Proceedings of the first

    international semantic web conference on the semantic web, Sardinia,

    Italy (pp. 364378).

    Sendelj, R., & Devedzic, V. (2004). Fuzzy systems based on component

    software. Fuzzy Sets and Systems, 141(3), 487504.

    Achieving knowledge interoperability: An XML/XSLT approachIntroductionA diversity of knowledge representation platforms and toolsOBOAJess/JessGUIOntology languages

    A technology for bridging gapsResulting infrastructure for knowledge sharingImplementation detailsXML JessGUIXML JavaDON-OBOA XML bindingTransformations

    DiscussionRelated workConclusionsReferences