<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Implementing Interoperability through an Ontology Importer for Amine</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Saleh Abdulrub</string-name>
          <email>Saleh.Abdulrub@student.shu.ac.uk</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Simon Polovina</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ulrik Sandberg-Petersen</string-name>
          <email>ulrikp@hum.aau.dk</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Richard Hill</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Faculty of Arts, Computing, Engineering &amp; Sciences, Sheffield Hallam University</institution>
          ,
          <addr-line>Sheffield</addr-line>
          ,
          <country country="UK">United Kingdom</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Kaj Munk Research Center, Department of Communication &amp; Psychology</institution>
          ,
          <addr-line>Kroghstrdaee 3</addr-line>
          ,
          <institution>Aalborg University</institution>
          ,
          <addr-line>DK-9220, Aalborg, East</addr-line>
          <country country="DK">Denmark</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>This paper investigates the need for tools that will facilitate a higher-order demand for interoperability between dispar ate systems. An ontology importer for Amine is described which enables ontologies written in linear form to be used with Amine version 4. Furthemore, the ontology importer is shown as an intermediary between CharGer and Amine, thus demonstrating interoperation between two conceptual structures tools, as well as discussed in a wider context by means of a Web service or by interoperating with Proeteg´-O´WL.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        The Amine platform provides a comprehensive software suite for symbolic
programming, intelligent system programming and intelligent agents programming[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
It is primarily based on Conceptual Graphs (CG)[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. As a core component it
includes an ontology builder that is based upon a graphical user interface (GUI).
The role of an ontology is key as it describes the concepts in a domain and
any relationships between these concepts in this particular domain[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. An
ontology thus describes an existence of some particular objects in some domain and
work can be derived from studying this domain. In CG an ontology consists of a
type hierarchy that contains types that represent groups of entities with similar
traits[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
possible ways an ontology that on first sight appear to be more attractive. The
first of these is generating or writing XML that is compatible with Amine. This
method however is rather intricate as the XML needs to match the atypical
ontology storage structure of Amine. Thus even with XSLT, in practical terms this
is too low-level[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. The second way is by building an ont ology
programmatically by using Amines’ API. Again this method is difficult and t ime consuming
as, like the XML option, it requires the Amine-specific struc ture. The ontology
importer addresses these concerns. It provides easier ontology development by
giving, in contrast to Amine’s current ontology builder, th e ability to develop an
ontology directly in CG in its linear form.
3
      </p>
    </sec>
    <sec id="sec-2">
      <title>The Ontology Importer</title>
      <p>The importer addresses the desire for CG software tools to interoperate. To have
these tools in some sense compatible and functioning with each other is a key goal
that would be welcomed by many in the CG community. This ontology importer
is a small experiment that could be taken further in the future to achieve the
end goal of interoperability between other CG tools.
3.1</p>
      <p>As an Implementation
Currently the ontology importer consists of a GUI with a text-editor. An input
in straight ASCII format is complied and accepted, then linking it to Amines’
APIs. The ontology importer is fully functioning with error handling facilities.
It is a Java library, and as such can be accessed from any Java application. One
application that comes with the ontology importer for example is a text editor to
input the text, which also contains output for informative messages. Currently
the prototype accepts the input as a Java String. However the ontology importer
will soon provide the facility for a user to enter the URL of a file and have the file
compiled and if there are no errors in the input create an ontology. It is significant
that the input to the ontology importer is a Java String. This is useful for the
following reasons; firstly it enables easy creation of ontologies that have been
automatically constructed from other sources, thereby enabling interoperability
between Amine and other knowledge representation software. Secondly it enables
quicker and easire creation of ontologies by using the keyboard rather than the
mouse.
4</p>
    </sec>
    <sec id="sec-3">
      <title>Prolog+CG 2.0</title>
      <p>
        The syntax used by the ontology importer is modelled upon that of Prolog+CG
2.0 (hereafter referred to as Prolog+CG). Prolog+CG is a GC tool built in
Java. It is similar to Prolog except it has extensions for handling CG.
Professor Adil Kabbaj, the creator of Amine, was also the creator of Prolog+GG[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
Prolog+CGs’ extensions enable it to handle CG ontologies th at can be created,
queried and results given. Prolog+CG is thus a CG programming environment.
In Prolog+CG for example the following ontology could be written into a
Prolog+CG text editor without any further programming:
      </p>
      <sec id="sec-3-1">
        <title>Universal &gt; Male, Female, Adult, Child.</title>
      </sec>
      <sec id="sec-3-2">
        <title>Male &gt; Man, Boy.</title>
      </sec>
      <sec id="sec-3-3">
        <title>Female &gt; Woman, Girl.</title>
      </sec>
      <sec id="sec-3-4">
        <title>Child &gt; Boy, Girl.</title>
      </sec>
      <sec id="sec-3-5">
        <title>Adult &gt; Man, Woman.</title>
        <p>Instances can also be created easily in Prolog+CG. For example the following
instances can easily be created in Prolog+CG:
Boy = Sam, Richard, Gary.</p>
        <p>Girl = Greta, Rebecca, Sheila.</p>
        <p>Like the ontology importer, Prolog+CG enables ontologies to be entered in CG
linear form. However it is not interoperable in that it lacks a cohesive, distinct
component for creating and interoperating ontologies. It also does not return
an Amine API ontology or lexicon object that can then be used by Amines’
ontology builder. Given all these factors, the ontology importer was designed
as a distinct component from the outset rather than to retro- fit Prolog+CGs’
legacy version to the problem in hand.
5</p>
        <p>Creating an Ontology with the Ontology Importer
As in Amine the topmost type and the topmost relation type must be specified
at the start of the ontology. This is achieved by simply entering the word T‘OP’
and specifying its identifier after the :‘:=’ assignment of s ymbol. This process
is the equivalent to the dialogue box that appears on Amines’ ontology builder
GUI that asks for the topmost type in the hierarchy. The topmost relation in
the hierarchy must also be specified by entering R‘ELATION TOP’ and passing
the identifier name after the :‘:=’ assignment symbol. The on tology importer
then expects these to be the first types in the hierarchy. (NB If an identifier
other than the TOP’s identifier is the first in the hierarchy an error is flagged. If
RELATION TOP’s identifier is a subtype of any type other than TOP’s iden tifier
an error is flagged. Similarly if TOP and RELATION TOP are omitted the
ontology would not compile). Adding an ontology using the prototype is thereby
much simpler than using Amines’ GUI; indeed one can simply pa ste an ontology
into the text editor. The following ontology can then be created as shown in
Figure 1:
TOP ::= Universal.</p>
        <p>RELATION_TOP ::= Relation.</p>
      </sec>
      <sec id="sec-3-6">
        <title>Universal &gt; Male, Female, Adult, Child.</title>
      </sec>
      <sec id="sec-3-7">
        <title>Male &gt; Man, Boy.</title>
      </sec>
      <sec id="sec-3-8">
        <title>Female &gt; Woman, Girl.</title>
        <p>
          An example of how to automate the ontology importer can be illustrated using
CharGer as an example. CharGer is a CG software tool[
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. CharGer is used
for CG operations similar to Amine. CharGer creates ontologies in graphical
form and generates a linear form ontology from this graphical form. In CharGer
instances are created by having the link in text format. Instances are shown in
a rectangular box with the concept type name and the instance as the referent.
The link is produced by giving the name of the concept type, thus in text format.
The following linear form ontology is generated by CharGer:
        </p>
      </sec>
      <sec id="sec-3-9">
        <title>Type Man is a kind of Male</title>
      </sec>
      <sec id="sec-3-10">
        <title>Type Boy is a kind of Child</title>
      </sec>
      <sec id="sec-3-11">
        <title>Type Female is a kind of Universal</title>
      </sec>
      <sec id="sec-3-12">
        <title>Type Adult is a kind of Universal</title>
      </sec>
      <sec id="sec-3-13">
        <title>Type Relation is a kind of Universal</title>
      </sec>
      <sec id="sec-3-14">
        <title>Type Male is a kind of Universal</title>
      </sec>
      <sec id="sec-3-15">
        <title>Type Child is a kind of Universal</title>
      </sec>
      <sec id="sec-3-16">
        <title>Type Woman is a kind of Adult</title>
      </sec>
      <sec id="sec-3-17">
        <title>Type Man is a kind of Adult</title>
      </sec>
      <sec id="sec-3-18">
        <title>Type Boy is a kind of Male</title>
      </sec>
      <sec id="sec-3-19">
        <title>Type Woman is a kind of Female</title>
      </sec>
      <sec id="sec-3-20">
        <title>Type Girl is a kind of Female</title>
      </sec>
      <sec id="sec-3-21">
        <title>Type Girl is a kind of Child</title>
      </sec>
      <sec id="sec-3-22">
        <title>There is a Proposition where Boy Sam Boy Richard Girl Rebecca Girl</title>
      </sec>
      <sec id="sec-3-23">
        <title>Sheila Boy Gary Girl Greta</title>
        <p>The above code can be either automatically transformed or manually edited to
produce the type hierarchy in the format accepted by the ontology importer.
One current shotcoming of the ontology importer is that it requires the types to
be specified top-down. Hence we need to reorder the list befor e processing with
the ontology importer.</p>
        <p>TOP ::= Universal.</p>
        <p>RELATION_TOP ::= Relation.</p>
      </sec>
      <sec id="sec-3-24">
        <title>Universal &gt; Female.</title>
      </sec>
      <sec id="sec-3-25">
        <title>Universal &gt; Male.</title>
      </sec>
      <sec id="sec-3-26">
        <title>Universal &gt; Child.</title>
      </sec>
      <sec id="sec-3-27">
        <title>Male &gt; Man.</title>
      </sec>
      <sec id="sec-3-28">
        <title>Child &gt; Boy.</title>
      </sec>
      <sec id="sec-3-29">
        <title>Universal &gt; Adult.</title>
      </sec>
      <sec id="sec-3-30">
        <title>Universal &gt; Relation.</title>
      </sec>
      <sec id="sec-3-31">
        <title>Adult &gt; Woman.</title>
      </sec>
      <sec id="sec-3-32">
        <title>Adult &gt; Man.</title>
      </sec>
      <sec id="sec-3-33">
        <title>Male &gt; Boy.</title>
      </sec>
      <sec id="sec-3-34">
        <title>Female &gt; Woman.</title>
      </sec>
      <sec id="sec-3-35">
        <title>Female &gt; Girl.</title>
      </sec>
      <sec id="sec-3-36">
        <title>Child &gt; Girl. Boy = Sam, Richard, Gary. Girl = Rebecca, Sheila, Greta.</title>
        <p>The above ontology now can be accepted and compiled by the ontology importer.
Achieving the goal of automation across applications has been met, though there
were some amendments that need to be done to the ontology in order for it
compile. This is clearly a shortcoming which we intend to address in the near
future.
7</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Automating as a Web Service</title>
      <p>The primary goal for this work was to be able to use Amine ontologies in Web
Services, without using a mouse for data entry. Part of this goal has been achieved;
since the ontology importer is a Java library, it can be incorporated into any Java
Web Service together with Amine. Similarly it would be useful to enable the
creation of Amine ontologies as a web service. Once implemented this will achieve
the goal of interoperability. Any application can then add a reference specifying
the location of the Web Service and connect to the ontology importers’ API.
When connected to the importers’ API the user is indirectly a ccessing Amine’s
APIs to create an ontology. An Amine ontology would then be returned, thus
achieving the goal which was originally formulated.</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>The ontology importer presented in this paper provides Amine with a convenient
plug-in tool for its ontology builder. This extends to Web Se rvices and
mainstream non-CG ontology tools such as Proetge´-O´WL. Future research would
include the following. First, the restriction on the order of the lines needs to be
lifted. Second, a convenient method needs to be added, such that a URL can be
given to the ontology importer, which is then fetched and used as the input to
the method which accepts a String. Third, a Web Service needs to be created
which provides Amine ontology creation services through a Web Service
interface. The ontology importer will be released as Open Source software, thereby
benefitting the CG and broader knowledge representation communities.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Brady</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Polovina</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shadija</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hill</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          , (
          <year>2006</year>
          )
          <article-title>E'x periences and Lessons from the Practical Interoperation of CharGer with SeSAm</article-title>
          ,
          <source>' Proceedings of the First Conceptual Structures Tool Interoperability Workshop (CST-I W</source>
          <year>2006</year>
          ),
          <year>July 16</year>
          ,
          <year>2006</year>
          , Aalborg, Denmark. de Moor,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Polovina</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Delugach</surname>
          </string-name>
          ,
          <string-name>
            <surname>H.</surname>
          </string-name>
          , (Eds.), Aalborg University Press (ISBN:
          <fpage>87</fpage>
          -
          <lpage>7307</lpage>
          -769-0),
          <fpage>32</fpage>
          -
          <lpage>47</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Delugach</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          , (
          <year>2006</year>
          ). C'harGer - Conceptual Graph Editor .
          <source>' [online] last accessed 8 April</source>
          <year>2008</year>
          at: http://sourceforge.net/projects/charger/
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Horridge</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,(
          <year>2008</year>
          ).
          <article-title>A' Practical Guide To Building OWL O ntologies Using Proeteg´´ 4</article-title>
          and
          <string-name>
            <surname>CO-ODE</surname>
            <given-names>Tools</given-names>
          </string-name>
          ,' [online]
          <source>last accessed 25 March</source>
          <year>2008</year>
          at: http://www.coode.org/resources/tutorials/ProtegeOWLTutorial-p4.
          <article-title>0</article-title>
          .pdf
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Maybery</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Polovina</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , (
          <year>2007</year>
          ).
          <article-title>T'he Extent to which In teroperability between CG and non-CG Tools can be Assessed against the Semiotic Ladd er</article-title>
          ,
          <source>' Proceedings of the 2nd Conceptual Structures Tool Interoperability Workshop</source>
          (CST-IW
          <year>2007</year>
          ) ,
          <year>July 2007</year>
          , Sheffield, UK. Pfeiffer,
          <string-name>
            <given-names>H.</given-names>
            ,
            <surname>Kabbaj</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Benn</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          , (Eds.), Research Press International (ISBN:
          <fpage>1</fpage>
          -
          <lpage>897851</lpage>
          -16-2),
          <fpage>35</fpage>
          -
          <lpage>44</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Petersen</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          , (
          <year>2008</year>
          ).
          <article-title>Online Course in Knowledge Representation using Conceptual Graphs [online] last accessed 22nd March 2008</article-title>
          at http://www.huminf.aau.dk/cg/.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Petersen</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          , (
          <year>2004</year>
          -
          <fpage>2007</fpage>
          ).
          <source>Prolog+CG 2.0 website. last a ccessed Accessed 26 March</source>
          <year>2008</year>
          at: (http://prologpluscg.sourceforge.net/.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Pfeiffer</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kabbaj</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Benn</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          , (
          <year>2007</year>
          ).
          <source>Proceedings of the 2nd Conceptual Structures Tool Interoperability Workshop</source>
          (CST-IW
          <year>2007</year>
          ) ,
          <year>July 2007</year>
          , Sheffield, UK. Pfeiffer,
          <string-name>
            <given-names>H.</given-names>
            ,
            <surname>Kabbaj</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Benn</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          , (Eds.), Research Press International (ISBN:
          <fpage>1</fpage>
          -
          <lpage>897851</lpage>
          -16-2),
          <fpage>65</fpage>
          -
          <lpage>70</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Sowa</surname>
            ,
            <given-names>J.F.</given-names>
          </string-name>
          , (
          <year>1984</year>
          ).
          <article-title>Conceptual Structures, Addison-Wes ley</article-title>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>