<!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>A Prot¶eg¶e Plugin for Querying and Reasoning on Persistent OWL Ontologies</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Maria del Mar Roldan-Garcia</string-name>
          <email>mmar@lcc.uma.es</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Joaquin J. Molina-Castro</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jose F. Aldana-Montes</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Malaga, Computer Languages and Computing Science Department Malaga 29071</institution>
          ,
          <addr-line>Spain, (mmar,jmolina</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>The OWL language [1] is being widely used to de¯ne ontologies in the Web. This language provides three increasingly expressive sublanguages, namely OWL Lite, OWL-DL and OWL Full. The OWL-DL XML based syntax together with its correspondence with Description Logics (DL) [2], make it a good candidate to be the standard language for de¯ning ontologies used by Semantic Web applications. However, there are still relatively few tools that allow us to manipulate, store and query ontologies de¯ned using this language. Furthermore, Semantic Web applications, such as biological tools, use large ontologies, that is, ontologies with a large number (millions) of instances. Description logic based tools allow us to manage OWL-DL ontologies, but not very large ontologies. The development of tools for storing and querying OWL ontologies is currently under investigation. In this paper we present a plugin for the Prot¶eg¶e [3] environment for reasoning and querying OWL-DL ontologies stored in a relational database. We de¯ne a relational schema for storing OWL ontologies and a query/reasoning language, which supports reasoning on both, ontology structure and ontology instances. However, the main feature of this plugin is that developers of OWL-DL reasoners can customize it in order to use their own database and their own query language by means of several con¯gurations ¯les.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>about the implementation of the language for one or more speci¯c repositories is
also needed. All this information is provided by means of several con¯guration
¯les. These ¯les are XML ¯les. We have chosen XML because there exists many
java libraries to manage XML. The use of RDF or RDFS could also be an
option, but there are more tools for managing XML than RDF. We will consider
changing to RDF in the later versions of the tool.</p>
      <p>Finally, using all this information, the query and reasoning tool generator
customizes a Protege generic graphical interface, which shows the information
about the ontology using the ontology information con¯guration ¯les, and the
speci¯c reasoning supported by the speci¯c query language.</p>
      <p>Once the tool is generated, it allows users to make queries using the speci¯c
operators de¯ned in the query and reasoning con¯gurations ¯les. These queries
will be performed in a persistent repository. Note that the tool does not
implement the query language. It is the language developer who has to give an
implementation for each element of the language.
3</p>
    </sec>
    <sec id="sec-2">
      <title>Developing a Plugin for Relational Databases</title>
      <p>
        We have developed our plugin for querying and reasoning on OWL ontologies
stored in a relational database. Speci¯cally, it implements the ECQ (Extended
Conjunctive Queries) language [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] which supports reasoning de¯ned in the
context of the system DBOWL [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. It uses Oracle as Database Management System.
We will brie°y describe the con¯guration ¯les for this particular language. The
aim of this section is not to present the query language, but to present how, and
how easy, it is to use and to con¯gure our Plugin. We are supposing that the
ontology is already stored in an Oracle database. The schema of the database is
described in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
3.1
      </p>
      <p>Con¯guration Files
The ¯le ontinformation.xml contains the functions for obtaining the ontology
information from the relational database. For example, we de¯ne a function for
obtaining all the features of a speci¯c property or a function for obtaining all
the restrictions for a speci¯c class. Due to these functions are trivial, we will
describe only the query and reasoning con¯gurations ¯les.</p>
      <p>The queryLanguage element of the queryLanguages.xml ¯le contains the
following information. The name of the language is RECQ, from Reasoning and
Extended Conjunctive Queries. It is the language developer who chooses the name.
The storage model is relational and the DBMS used for implementing it is
Oracle. The ¯le RECQQueries.xml de¯nes the operators for the query mechanism.
In our case, allowed operators are and, or, all, max and min. The RECQTbox.xml
and RECQAbox.xml ¯les specify respectively, the Tbox and the Abox reasoning
supported. We only have to specify name, description and parameters names for
each inference. Finally, the RECQoracle.xml ¯le de¯nes the implementation for
the queries (which will use the query operators and the Abox reasoning) and
also the implementations for the Tbox inferences. Note that the ¯rst rule in the
¯le implements the connection to the Oracle DBMS.</p>
      <p>Once the con¯guration ¯les are de¯ned, the use of the tool is really easy.
First, the user must select the ontology. The content of the queryLanguages.xml
¯le is used in order to allow the user to select the query language he/she wants
to use. Once the language is selected, using the con¯guration ¯les, the tool
customizes the generic graphical interface for the selected language. Only reasonings
supported by it are enabled, and the panel for building the queries is provided
only to the supported operators. A window asking the login and password for
connecting to the database is also shown. In order to see the description of a
speci¯c language or reasoning, the user only has to place the mouse on the
corresponding element and the tool shows its description. The user is now able to
make queries over the selected repository.
4</p>
    </sec>
    <sec id="sec-3">
      <title>Conclusions</title>
      <p>This paper presents a Prot¶eg¶e Plugin that helps developers to build query and
reasoning tools for OWL ontologies, which are persistently stored in a database.
It is possible to customize the Plugin to di®erent query languages according to
the needs of the users. In order to do this, some con¯guration ¯les are de¯ned.
These ¯les de¯ne the query mechanism and specify the Tbox and Abox
reasonings supported by the speci¯c query language. Using this Plugin it is possible to
implement the same query language using di®erent storage models and di®erent
DBMS easily, and to use a common graphical interface to perform queries and
reasoning. We have also presented an example of how to use this tool for querying
and reasoning on an OWL ontology which is stored in a relational database.
5</p>
    </sec>
    <sec id="sec-4">
      <title>Acknowledgements</title>
      <p>This work has been supported by the Spanish MEC Grant
(TIN2005-09098-C0501).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>OWL</given-names>
            <surname>Web Ontology Language Reference. W3C Working Draft</surname>
          </string-name>
          ,
          <volume>10</volume>
          <year>February 2004</year>
          . http://www.w3.org/TR/owl-ref/,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Borgida</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lenzerini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Rosati</surname>
          </string-name>
          , R..
          <source>The Description Logic Handbook: Theory, Implementation and Applications</source>
          . Cambridge University Press,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. The Prot¶
          <article-title>eg¶e Ontology Editor and Knowledge Base Acquisition System</article-title>
          . http://protege.stanford.edu/
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Roldan-Garcia</surname>
            ,
            <given-names>M.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Molina-Castro</surname>
            ,
            <given-names>Joaquin J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Aldana-Montes</surname>
            ,
            <given-names>J.F.</given-names>
          </string-name>
          <article-title>ECQ: A Simple Query Language for the Semantic Web</article-title>
          .
          <source>Proceedings of DEXA 2008</source>
          . Turin, Italy.
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Roldan-Garcia</surname>
            ,
            <given-names>M.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Aldana-Montes</surname>
            ,
            <given-names>J.F.</given-names>
          </string-name>
          <string-name>
            <surname>DBOWL</surname>
          </string-name>
          <article-title>: Towards a Scalable and Persistent OWL reasoner</article-title>
          .
          <source>Proceedings of the Third International Conference on Internet and Web Applications and Services</source>
          . Athens, Greece.
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>