<!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>Ontological Representation of Relational Databases</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Camila Zacche´ de Aguiar</string-name>
          <email>camila.zacche.aguiar@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ricardo de Almeida Falbo</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>V´ıtor E. Silva Souza</string-name>
          <email>vitorsouzag@inf.ufes.br</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Ontology &amp; Conceptual Modeling Research Group (NEMO) Federal University of Esp ́ırito Santo</institution>
          ,
          <addr-line>Brazil Av. Fernando Ferrari, 514 - Goiabeiras - Vit o ́ria, ES - 29075-910</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>Relational database systems is a well-known domain and an essential component of life in modern society. However, a well-founded ontological conceptualization of this domain is not yet defined and shared by the community, nor applied as a solution to problems such as semantic interoperability, database migration, etc. In this paper, we present RDBS-O, a well-founded reference ontology on the relational database domain, rigorously constructed, verified and validated according to an ontology engineering method. In addition to a reference ontology, we also implement and test its operational version, using it to automatic instantiate the ontology from a real database sample.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        In this paper, we present the Relational Database System Ontology (RDBS-O),
a reference ontology for the relational database domain that represents the structure of
a database model. Again, it is important to say that the domain of the information
described in the data is not part of the scope of RDBS-O. The reference ontology is
based on UFO [
        <xref ref-type="bibr" rid="ref14">Guizzardi and Wagner 2004</xref>
        ] and was developed according to the SABiO
method [
        <xref ref-type="bibr" rid="ref11">Falbo 2014</xref>
        ], in a modular way to foster its reuse. Validation and
verification were performed in the reference ontology, which had its operational version, called
RDBS-OWL, implemented and tested. Although such an ontology is useful in itself (as
illustrated in the database migration scenario above), RDBS-O is being built in the context
of a larger effort of building a network of ontologies on software development
frameworks, in particular for object/relational frameworks [
        <xref ref-type="bibr" rid="ref4">Bauer and King 2004</xref>
        ]. Such
ontologies will allow us to automate tasks such as migrating code from one framework to
another or defining and detecting architectural smells in software projects.
      </p>
      <p>The remainder of this paper is organized as follows. Section 2 discusses the
ontological foundations used for developing RDBS-O. Section 3 presents RDBS-O. Section 4
addresses ontology verification, validation and testing. Section 5 discusses related works.
Finally, Section 6 concludes the paper.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Baseline</title>
      <p>
        Database systems (DBSs) are an essential component of life in modern society, since
many of our activities involve some computer program accessing a database (e.g.,
buying something in a store, using a bank account, etc.). A database is a
collection of logically related data that has some meaning, accessed through a set of
programs that constitute a database management system (DBMS). A DBMS is a
generalpurpose software system that facilitates the processes of definition, specifying the data
types, structures, and constraints of the data to be stored; manipulation, executing
queries to retrieve and change stored data; and sharing, allowing simultaneous access
to databases [
        <xref ref-type="bibr" rid="ref10">Elmasri and Navathe 2011</xref>
        ].
      </p>
      <p>
        This representation provides data independence through data abstraction such that
changes in the physical level are not propagated to the conceptual level and vice-versa.
Futhermore, DBSs allows data to be perceived at different levels of detail from data
models. Such a model describes the structure of the database as data types, relationships, and
constraints that apply to the data [
        <xref ref-type="bibr" rid="ref10">Elmasri and Navathe 2011</xref>
        ].
      </p>
      <p>
        The most widely used representational data model in commercial DBMSs is the
relational model, the basis of relational database technology [
        <xref ref-type="bibr" rid="ref6">Date 2004</xref>
        ]. The relational
model uses the concept of mathematical relation as basic structure and has its
theoretical basis in set theory and first-order predicate logic [
        <xref ref-type="bibr" rid="ref10">Elmasri and Navathe 2011</xref>
        ]. In the
model, relations are used to represent both data and the relationships among data, tuples
represents facts that typically correspond to real-world entities or relationships, and
attributes specify how to interpret the data values in each tuple adopting a unique type. In
a relational database, relations are perceived as tables, tuples as rows, and attributes as
columns. The collection of data stored in the database at a particular moment is called an
instance [
        <xref ref-type="bibr" rid="ref10">Elmasri and Navathe 2011</xref>
        ].
      </p>
      <p>
        As discussed in the previous section, in this work we propose a reference
ontology on relational database systems. Our proposed ontology was built
using the SABiO method [
        <xref ref-type="bibr" rid="ref11">Falbo 2014</xref>
        ], representing its reference version using
OntoUML [
        <xref ref-type="bibr" rid="ref13">Guizzardi 2005</xref>
        ], and its operational version in OWL. We anchored our
ontology in more general concepts reused from a Software Engineering Ontology
Network [
        <xref ref-type="bibr" rid="ref18">Ruy et al. 2016</xref>
        ] which, in its turn, is based on the foundational ontology
UFO [
        <xref ref-type="bibr" rid="ref14">Guizzardi and Wagner 2004</xref>
        ]. The use of a foundational ontology mainly
reDatabase
      </p>
      <p>Schema
Loaded DBMS</p>
      <p>Copy
Primary Key</p>
      <p>Column
Informational</p>
      <p>Schema
duces semantic interoperability problems shown in open and dynamic scenarios, such
as databases; allows integrating different ontological portions to compose an extensive
domain and facilitates reuse since new ontologies can appropriate well-founded concepts
defined in these ontologies. We briefly summarize this baseline here.</p>
      <p>
        SABiO [
        <xref ref-type="bibr" rid="ref11">Falbo 2014</xref>
        ] is a systematic approach for building operational and
reference ontologies comprised of five main phases. In Purpose Identification and
Requirements Elicitation we identify the purpose and intended uses of the ontology, define
its functional (Competency Questions) and non-functional requirements (NFRs), and
decompose the ontology into independent and interconnected parts to facilitate maintenance
and development. Ontology Capture and Formalization aims to objectively record the
domain conceptualization based on an ontological analysis using a foundation ontology,
suggesting the adoption of a graphic model to represent the reference ontology. In
Design, we define the implementation environment and technological NFRs for the
codification of the reference ontology in a machine-readable language. Implementation follows,
with the codification of the ontology in the chosen operational language. Finally, Testing
verifies the operational ontology using queries in the implementation environment and
validates the ontology on software applications according to its intended uses.
      </p>
      <p>
        SABiO suggests the use of OntoUML [
        <xref ref-type="bibr" rid="ref13">Guizzardi 2005</xref>
        ], an ontology
modeling language based on a version of UML 2.0 class diagrams that incorporates
important foundational distinctions made by the Unified Foundational Ontology
(UFO) [
        <xref ref-type="bibr" rid="ref14">Guizzardi and Wagner 2004</xref>
        ], both adopted in this research. Such distinctions are
made explicit in the model by means of UML class stereotypes, summarized in Table 1.
      </p>
      <p>
        Since a database system is a software, we also reuse two ontologies from the
Software Engineering Ontology Network (SEON) [
        <xref ref-type="bibr" rid="ref18">Ruy et al. 2016</xref>
        ]: the Software
Process Ontology (SPO) [
        <xref ref-type="bibr" rid="ref8">de Oliveira Bringuente et al. 2011</xref>
        ] and the Software Ontology
(SwO) [
        <xref ref-type="bibr" rid="ref9">Duarte et al. 2018</xref>
        ]. Figure 1 shows fragments from these ontologies used in this
paper.
      </p>
      <p>SPO aims at establishing a common conceptualization on the software process
domain, including processes, activities, resources, people, artifacts and procedures. In this
paper we are interested in the Artifacts and Resources sub-ontologies. In the first, we reuse
the concept of Software Artifacts, objects consumed or produced during the software
process, which are described by a Language, a set of symbols used for encoding and
decoding information. Software Artifacts can be, among other things, a Software Item,
a piece of software, considered an intermediary result, such as the front page of a Web
application. In the second sub-ontology, we reuse the concept of Hardware Equipment,
a physical object used for running software programs or to support some related action,
such as a computer on which Web applications are deployed.</p>
      <p>SwO captures that software products are constituted of software artifacts of
different natures, including software systems, data file, programs and code. Software System
is a Software Item that aims at satisfying a specification, concerning a desired change in
a data structure inside a computer, abstracting away from the behavior. A Loaded
Software System Copy is the materialization of a Software System, inhering in a Computer
Machine and associated to a Computer System, which is a system composed of one or
more Computer Machines, and other Hardware Equipments. Data File is a computer file
which stores data in a Hardware Equipment.</p>
    </sec>
    <sec id="sec-3">
      <title>3. The Relational Database System Ontology (RDBS-O)</title>
      <p>The Relational Database System Ontology (RDBS-O) aims to identify and represent key
concepts of the relational database domain in the architectural scope, not covering control
and execution details. The non-functional requirements of RDBS-O are: be
comprehensible and extensible, mainly because the ontology will be used for different purposes;
have an operational version of the reference ontology that can be used in applications;
be modular or embedded in a modular framework to facilitate reuse of other ontologies
and subsequent reuse of this ontology; and be based on well-known sources from the
literature. Its functional requirements, i.e., the knowledge the ontology is supposed to
represent, are presented in the following subsections.</p>
      <p>
        Ontology capture was supported by a process of knowledge acquisition
that used consolidated sources of knowledge, including books [
        <xref ref-type="bibr" rid="ref1">Abbey et al. 2002</xref>
        ,
        <xref ref-type="bibr" rid="ref6">Date 2004</xref>
        ,
        <xref ref-type="bibr" rid="ref10">Elmasri and Navathe 2011</xref>
        ,
        <xref ref-type="bibr" rid="ref17">Melton and Simon 2001</xref>
        ] and
standards [ISO/IEC9075-1 2008, ISO/IEC9075-2 2003]. Therefore, concepts and
relationships were identified and defined in a dictionary of terms [
        <xref ref-type="bibr" rid="ref2">Aguiar 2018</xref>
        ] to define
and ensure consensual understanding of the domain. The process of formalizing the
ontology happened iteratively, in order to address different aspects/refinements at each
iteration, and interactively, so domain experts and ontology engineers could discuss the
conceptualization of the domain modeled in OntoUML.
      </p>
      <p>
        Given its scope, we decided to integrate RDBS-O into SEON, in order to reuse
relevant concepts, as well as SEON’s grounding in UFO. As mentioned in Section 2,
two ontologies from SEON were reused: the Software Process Ontology (SPO) and the
Software Ontology (SwO). Moreover, we decided to develop a more general ontology
representing database systems in general, called DBS-O. DBS-O is not limited to
relational databases, and thus it can be easily reused as basis for defining ontologies for
database systems of other types. RDBS-O, in turn, extends DBS-O, focusing on
relational databases. Figure 2 shows the conceptual model of both DBS-O and RDBS-O. In
this figure, concepts reused from the Software Processes Ontology and from the Software
Ontology are preceded by the corresponding acronyms (SPO:: and SwO::, respectivelly).
Next, we describe these ontologies in details and a more detailed specification is available
in a technical report [
        <xref ref-type="bibr" rid="ref2">Aguiar 2018</xref>
        ]
      </p>
    </sec>
    <sec id="sec-4">
      <title>3.1. The Database System ontology (DBS-O)</title>
      <p>The purpose of DBS-O is to represent the concepts relevant to the database system domain
in general. However, given how extensive this domain is, this ontology requires further
study to properly assess its generalizability. The functional requirements are defined in
the following Competency Questions (CQs): CQ1: What is the DBMS of a database
system? CQ2: What are the languages used by a database system? CQ3: What is the
database of a database system? CQ4: What are the schemas of a database? CQ5: What
is the default schema of a database? CQ6: What are the files of a database?</p>
      <p>
        A Database System (DBS) is a Computer System whose main purpose is
to store information and allow users to seek and update such information when
requested [
        <xref ref-type="bibr" rid="ref6">Date 2004</xref>
        ]. The advantage of a DBS is data independence, i.e., the file structure
is stored in the DBMS (Database Management System), a Software System which
ensures that any change in the data physical representation does not drastically affect the
programs that use them [
        <xref ref-type="bibr" rid="ref10">Elmasri and Navathe 2011</xref>
        ]. The DBMS adopts a Data
Language, a declarative Language that describes the problem rather than the solution and
specifies what should be done (but not how), to manipulate the data in a Database.
      </p>
      <p>
        The Database System has one or more Loaded DBMS Copies inhering in a
computer machine as part of the Database System. Each Loaded DBMS Copy manages DBMS
Items, such as Database and Dictionary. A Database is a collection of organized Data
Files so that its content can be easily accessed and managed [
        <xref ref-type="bibr" rid="ref6">Date 2004</xref>
        ]. A Dictionary
describes items of system interest [
        <xref ref-type="bibr" rid="ref6">Date 2004</xref>
        ], i.e., it records the primary structure of the
Database [
        <xref ref-type="bibr" rid="ref10">Elmasri and Navathe 2011</xref>
        ] such as Schemas and DBMS Accounts. Each
Dictionary must record at least one DBMS Account, physical or computational user making
requests to the database, and any number of Schemas, a persistent named collection of
descriptors [ISO/IEC9075-1 2008]. There is exactly one Informational Schema which
effectively and accurately defines all the settings of all other Schemas (said Data Schemas)
in the Dictionary [
        <xref ref-type="bibr" rid="ref6">Date 2004</xref>
        ]. Collectively, the Schemas describe the Database.
      </p>
    </sec>
    <sec id="sec-5">
      <title>3.2. The Relational Database System ontology (RDBS-O)</title>
      <p>RDBS-O specializes the concepts of DBS-O for the relational databases domain. The
functional requirements are defined the following Competency Questions (CQs): CQ1:
What are the tables of a database system? CQ2: What data does a table hold? CQ3:
What are the columns of a table? CQ4: What is the data type of a column? CQ5: What
is the primary key of a table? CQ6: Which columns refer to a primary key? CQ7: What
is the foreign key of a table? CQ8: Which columns refer to a foreign key? CQ9: Which
tables are related by means of a foreign key? CQ10: Which constraint specify a data
type? CQ11: Which constraints specifies a column? CQ12: What are the base tables of
a database system? CQ13: What are the derived tables of a database system?</p>
      <p>
        Relational Database Management System (RDBMS) is a specialization of a
Database Management System (DBMS) whose data abstraction is based on the
relational model [
        <xref ref-type="bibr" rid="ref6">Date 2004</xref>
        ] and, therefore, its main RDBMS Item is the Table. In an
RDBMS, a Data File is represented as Tables, defined by a Line Type that is
instantiated as Lines, which are true propositions. A Line Type is the most specific type
of a line [ISO/IEC9075-2 2003], such that all lines in a table have an unique line
type [ISO/IEC9075-1 2008]. Each Line Type is constituted of a set of Columns that
represent a table field [ISO/IEC9075-1 2008]. In an RDBMS the Line is the
smallest data unit that can be inserted and deleted from a Table [ISO/IEC9075-2 2003]. A
Table is either a Base Table, which represents data stored in the database in an
autonomous and independent way, such as persistent, global temporary, or local temporary
tables [
        <xref ref-type="bibr" rid="ref17">Melton and Simon 2001</xref>
        ]; or a Derived Table, non-base table which can be
obtained by means of relational expression on one or more Base Tables in a non-autonomous
and dependent way [
        <xref ref-type="bibr" rid="ref6">Date 2004</xref>
        ] (e.g., a view).
      </p>
      <p>
        A Column is specified by Column Constraints, being exactly one Column Type
Constraint in order to restrict the values that a Column can take [
        <xref ref-type="bibr" rid="ref6">Date 2004</xref>
        ] with
respect to a Data Type [
        <xref ref-type="bibr" rid="ref1">Abbey et al. 2002</xref>
        , ISO/IEC9075-2 2003,
        <xref ref-type="bibr" rid="ref17">Melton and Simon 2001</xref>
        ],
which in turn is a set of representable values specifying the information type maintained
in a Column [ISO/IEC9075-2 2003,
        <xref ref-type="bibr" rid="ref1">Abbey et al. 2002</xref>
        ]. The Data Type can be either an
Internal Data Type, defined by the RDBMS, or an External Data Type, defined by the
user based on existing Data Types [
        <xref ref-type="bibr" rid="ref6">Date 2004</xref>
        ]. In addition, a Data Type T is specified by
a Data Type Constraint that defines the set of valid values for T . However, a Column Type
Constraint may never be violated if the Data Type Constraints are checked [
        <xref ref-type="bibr" rid="ref6">Date 2004</xref>
        ].
      </p>
      <p>
        Furthermore, a Column Constraint can be a Check Constraint, a Primary Key
Constraint or a Foreign Key Constraint. A Check Constraint specifies a condition that
must be satisfied for any Line of the Table [ISO/IEC9075-1 2008, ISO/IEC9075-2 2003],
such as a condition of values, a null value, a special value used to indicate the absence
of any data value in a column, a unique value (i.e, a Column should not have two equal
non-null values), a default value, etc. A Primary Key Constraint is an integrity constraint
that satisfies both uniqueness and irreducibility properties, i.e., it defines what makes a
data line exclusive within a table [
        <xref ref-type="bibr" rid="ref6">Date 2004</xref>
        ,
        <xref ref-type="bibr" rid="ref1">Abbey et al. 2002</xref>
        ]. It is the combination of
the unique and the null value Check Constraints, however, a Table can have at most one
Primary Key Constraint and any number of Check Constraints [
        <xref ref-type="bibr" rid="ref6">Date 2004</xref>
        ]. A Foreign
Key Constraint is a referential constraint that specifies one or more Columns of a reference
table that correspond to Columns in a referenced table [ISO/IEC9075-2 2003].
      </p>
      <p>
        Thus, a Column can assume the role of Primary Key Column — which identifies
a unique non-null value for any table instance when associated with a Primary Key
Constraint — or the role of Foreign Key Column — which belongs to a referencing table
and whose values correspond to those of a Primary Key Column of some referenced table
associated with a Foreign Key Constraint [
        <xref ref-type="bibr" rid="ref6">Date 2004</xref>
        ].
      </p>
    </sec>
    <sec id="sec-6">
      <title>4. Evaluation</title>
      <p>The RDBS-O ontology, presented in Section 3, was implemented in OWL, giving rise to
its operational version RDBS-OWL.1 This process was done manually in order to
balance expressiveness and computational properties, through adaptations in RDBS-OWL.
Verification, validation and testing techniques, as suggested by SABiO, followed.</p>
      <p>For ontology verification, SABiO suggests we demonstrate that the ontology
elements are able to answer the Competency Questions (CQs) that were raised. Table 2
describes a part of the RDBS-O verification presenting the results for some of its CQs.</p>
      <p>Ontology validation and testing activities were supported by a semi-automatic
approach for constructing and publishing ontologies from relational databases, illustrated
in Figure 3. The activities were performed using a sample created by Oracle, called HR
database,2 a schema of Human Resources application whose main purpose is to store the
records of employees of an organization.</p>
      <p>For ontology validation, the reference ontology should be instantiated to check
if it is able to represent real-world situations, i.e., the structure of a relational database.
For this, we elaborated a mapping file for the Oracle RDBMS using the RDBS-OWL
operational ontology, which indirectly instantiates RBDS-O with real entities from the
1The ontology and all other resources mentioned in this section are available at http://nemo.inf.
ufes.br/projects/sfwon/ so the interested readers can perform this evaluation for themselves.</p>
      <p>2HR data model available at http://www.oracle.com/technetwork/developer-tools/
datamodeler/sample-models-scripts-224531.html.</p>
      <p>CQ Concepts and Relations
CQ1 ILteomadespdeRciDalBizMedSinCToapbylematerialization of RDBMS and Loaded RDBMS Copy manages RDBMS Item and RDBMS
CQ2 Table defines Line Type and Line instance of Line Type
CQ3 Table defines Line Type and Line Type constituted of Column
CQ4 CCoolnusmtraninCtornefsetrrasitnot DspaetaciTfiyespeC.olumn; Column Constraint specialized in Column Type Constraint and Column Type
CQ5 aPnridmLairnyeKTeyypeCcoonnsstrtaitiunttesdpoefciCaloizluemsCnolumn Constraint; Column Constraint specifies Column; Table defines Line Type
CQ6 Primary Key Constraint specifies Primary Key Column and Primary Key Column specialized of Column
CQ7 aFnodreLiginneKTeyypCeoconnstsrtaitiunttesdpoecfiCaloizluesmCnolumn Constraint; Column Constraint specifies Column; Table defines Line Type
CQ8 Foreign Key Constraint specifies Foreign Key Column and Foreign Key Column specialized of Column</p>
      <p>Foreign Key Constraint specializes Foreign Key Column; Foreign Key Column specialized of Column; Table defines
CQ9 FLoinreeiTgnypKeeaynCdoLnisnteraTinytpreecfeornssttoituPtreidmoafryCKoeluymCnolumn; Primary Key Column specialized of Column; Table defines Line
Type and Line Type constituted of Column</p>
      <p>Data Type Constraint specifies Data Type
CQ10 Data Type Constraint specifies Data Type and Data Type specialized in Internal Data Type</p>
      <p>Data Type Constraint specifies Data Type and Data Type specialized in External Data Type
CQ11 sCtroaliunmt,nFoCroenigstnraKinetysCpoecnisfitreasinCtoalnudmCnhaencdk CCoolnusmtrnainCtonstraint specializes Column Type Constraint, Primary Key
ConCQ12 ILteomadespdeRciDalBizMedSinCToapbylemaantedrTiaalbizleatsiopnecoiafliRzeDsBBMasSe TanadbleLoaded RDBMS Copy manages RDBMS Item and RDBMS</p>
      <p>Loaded RDBMS Copy materialization of RDBMS and Loaded RDBMS Copy manages RDBMS Item and RDBMS
CQ13 Item specialized in Table and Table specializes Derived Table
domain, hence validating it. The mapping file is used as input to a Semantic Query API,
namely D2RQ,3 which performs SQL queries to extract information from the database
based on the mapping. Then, an RDF dump describing such extracted information using
concepts defined in an ontology is generated, as an instance of RDBS-OWL, with real
information from a relational database. Table 3 describes part of the RDBS-O validation,
presenting some of the concepts instantiated by the ontology from the HR database.</p>
      <p>For the test cases, we performed SPARQL queries using the endpoint provided
by D2RQ, which works as a Linked Data Server (i.e., a triplestore) over the RDF dump
generated during validation. The queries correspond to the CQs presented in Section 3.
the HR database and their test results.</p>
      <p>Starting from this validation approach, and provided other RDBMSs (e.g.,
MySQL) are mapped to the ontology, one could perform database migration, publish
the database structure (or even its contents) as linked data, etc. Due to space constraints,
only part of the results of RDBS-O evaluation is presented here, but the interested reader
can refer to the aforementioned website for the complete results.
Concept
Instance: PK COUNTRY
Dump:&lt;rdf:Description rdf:about="#PRIMARYKEYCONSTRAINT/PK COUNTRY"&gt;
&lt;rdbs-owl:DEFINESPRIMARYKEYCOLUMN rdf:resource="#PRIMARYKEYCOLUMN/COUNTRIES/
COUNTRY ID"/&gt; &lt;rdbs-owl:SPECIFIESTABLE rdf:resource="#TABLE/COUNTRIES"/&gt;
&lt;rdfs:label&gt;PRIMARYKEYCONSTRAINT PK COUNTRY&lt;/rdfs:label&gt; &lt;rdf:type
rdf:resource="http://rdbs-owl/PRIMARYKEYCONSTRAINT"/&gt; &lt;/rdf:Description&gt;
Instance: FK COUNTRY REGION
Dump:&lt;rdf:Description rdf:about="#FOREIGNKEYCONSTRAINT/FK COUNTRY REGION"&gt;
&lt;rdbs-owl:DEFINESFOREIGNKEYCOLUMN rdf:resource="#FOREIGNKEYCOLUMN/COUNTRIES/
REGION ID"/&gt; &lt;rdbs-owl:REFERESTOPRIMARYKEYCONSTRAINT
rdf:resource="#PRIMARYKEYCONSTRAINT/PK REGION"/&gt; &lt;rdbs-owl:SPECIFIESTABLE rdf:resource="#TABLE/
COUNTRIES"/&gt; &lt;rdfs:label&gt;FOREIGNKEYCONSTRAINT FK COUNTRY REGION&lt;/rdfs:label&gt;
&lt;rdf:type rdf:resource="http://rdbs-owl/FOREIGNKEYCONSTRAINT"/&gt;
&lt;/rdf:Description&gt;</p>
    </sec>
    <sec id="sec-7">
      <title>5. Related Works</title>
      <p>In this section, we compare our proposal to some ontologies designed to describe the
relational database structure, which are part of approaches to build ontologies about the
schema and the data from relational databases, similar to the approach presented in
Section 4. Although such ontologies represent the same domain, none of them present a
reference ontology built on an foundation ontology such as RDBS-O.</p>
      <p>
        The Relational.OWL [
        <xref ref-type="bibr" rid="ref7">de Laborda and Conrad 2005</xref>
        ] ontology describes the
schema of a relational database in the abstract form and generates a representation format
of the database itself. The ontology is written in Java with JDBC and Jena. Thus, from
the platform-independent representation, a database extracted from a platform A can be
imported on a platform B, currently supporting MySQL and DB2. The ontology
consists of four classes (dbs:Database, dbs:Table, dbs:Column, dbs:PrimaryKey) and seven
properties (dbs:has, dbs:hasTable, dbs:hasColumn, dbs:isIndentifiedBy, dbs:references,
dbs:scale, dbs:length). An ontological analysis on Relational.OWL has resulted in some
questionable points: (i) the model is represented only in OWL, which is not very
expressive; (ii) cardinality associations are not presented; and (iii) it presents limited coverage
of the domain, not considering, for instance, data type, foreign keys and constraints.
      </p>
      <p>
        The OWL-RDBO [
        <xref ref-type="bibr" rid="ref20">Trinh et al. 2006</xref>
        ] ontology describes an OWL vocabulary, its
semantic relationships, and constraints of the relational database system. From this
vocabulary, a tool generates and publishes ontology instances dynamically. OWL-RDBO
is written in Java with JDBC in order to extract metadata and structural constraints
from the database, currently supporting MySQL, PostegreSQL and DB2, and generate
an ontology in OWL as an instance of OWL-RDBO. The paper describes that the
ontology is formed by some classes (rdbo:DatabaseName, rdbo:RelationList, rdbo:Relation,
rdbo:AttributeList, rdbo:Attribute) and properties (rdbo:hasRelations, rdbo:hasType,
rdbo:referenceAttribute, rdo:referenceRelation), but the full ontology is not available for
access. An ontological analysis on OWL-RDBO has resulted in some questionable points:
(i) the model is represented only in OWL, which is not very expressive; (ii) what
OWLRDBO defines as a Relation, we decided to use the term Table in order to decrease
semantic conflicts; and (iii) it includes concepts external to the domain, such as RelationList to
group a set of Relation and AttributeList to group a set of attributes.
      </p>
      <p>
        Other approaches, such as [
        <xref ref-type="bibr" rid="ref3">Barrett et al. 2002</xref>
        ,
        <xref ref-type="bibr" rid="ref5">Bizer 2003</xref>
        ] convert data stored in
relational database to RDF objects from query into domain-specific ontologies. These and
other approaches aim to represent the real world relations from a domain ontology and
not an ontology representing the database structure, which is more accurate but unable to
reconstruct the data to the original format of the database.
      </p>
      <p>In order to analyze the related ontologies according to the coverage on the
relational database domain, we verified if they answer the Competency Questions presented
in Section 3. The results of this verification are shown in Figure 4. As we can
observe, although Relational.OWL and OWL-RDBO answer some questions, they do not
consider some important aspects, especially those that allow reverse engineering of the
model. Note that CQ2 is answered by RDBS-O, however to be included by RDBS-OWL
it is necessary to convert RDBS-O instantiated from the database structure into a second
ontology and instance it with the data from that database.</p>
    </sec>
    <sec id="sec-8">
      <title>6. Final Considerations</title>
      <p>In this paper we present an ontology on relational database systems in order to
represent the domain according to ontological foundations. RDBS-O is built according to an
ontology engineering method and based on well-known data sources. The ontology
incorporates concepts based on software engineering and database system ontologies in order
to clarify the relationship with the relational database domain. Moreover, the ontology
allows us to semantically represent any relational database structure independent of vendor.</p>
      <p>Verification, validation and testing activities were successfully completed with
emphasis on the RDBS-O sub-ontology coverage. Furthermore, the RDBS-OWL
operational version was applied in a semi-automatic approach that instantiates its concepts
from a database. Thus, the ontology, along with this approach, provide a way to describe
relational database systems using vocabulary defined in RDBS-O. Such approach can be
extended to demonstrate other uses of the ontology.</p>
      <p>Finally, future work intends to apply the ontology in the context of semantic
interoperability among object/relational mapping frameworks and the definition of
architectural smells in software projects.</p>
    </sec>
    <sec id="sec-9">
      <title>Acknowledgments References</title>
      <p>NEMO (http://nemo.inf.ufes.br) is currently supported by Brazilian research
funding agencies CNPq (process 407235/2017-5), CAPES (process
23038.028816/201641), and FAPES (process 69382549/2015).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>Abbey</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Corey</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Abramson</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          (
          <year>2002</year>
          ).
          <article-title>Oracle9i-guia introdut o´rio-aprenda os fundamentos do oracle 9i</article-title>
          .
          <source>Editora Campus</source>
          , Rio de Janeiro-RJ.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>Aguiar</surname>
            ,
            <given-names>C. Z.</given-names>
          </string-name>
          (
          <year>2018</year>
          ).
          <article-title>Relational Database Ontology - Reference Ontology Specification Document (in Portuguese)</article-title>
          , available on: http://nemo.inf.ufes.br/ projects/sfwon/.
          <source>Technical report</source>
          , Federal University of Esp´ırito Santo (UFES).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Barrett</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jones</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yuan</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sawaya</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Uschold</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Adams</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Folger</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          (
          <year>2002</year>
          ).
          <article-title>Rdf representation of metadata for semantic integration of corporate information resources</article-title>
          .
          <source>In International Workshop Real World and Semantic Web Applications</source>
          , volume
          <year>2002</year>
          . Citeseer.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>Bauer</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          and
          <string-name>
            <surname>King</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          (
          <year>2004</year>
          ).
          <source>Hibernate in Action. Manning</source>
          ,
          <volume>1</volume>
          <fpage>edition</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <surname>Bizer</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          (
          <year>2003</year>
          ).
          <article-title>D2R MAP - A Database to RDF Mapping Language</article-title>
          .
          <source>In Proc. of the 12th International World Wide Web Conference - Posters.</source>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>Date</surname>
            ,
            <given-names>C. J.</given-names>
          </string-name>
          (
          <year>2004</year>
          ).
          <article-title>Introduc¸a˜o a sistemas de bancos de dados</article-title>
          .
          <source>Elsevier Brasil.</source>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>de Laborda</surname>
            ,
            <given-names>C. P.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Conrad</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          (
          <year>2005</year>
          ).
          <article-title>Relational. owl: a data and schema representation format based on owl</article-title>
          .
          <source>In Proceedings of the 2nd Asia-Pacific conference on Conceptual modelling-Volume</source>
          <volume>43</volume>
          , pages
          <fpage>89</fpage>
          -
          <lpage>96</lpage>
          . Australian Computer Society, Inc.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <surname>de Oliveira Bringuente</surname>
            ,
            <given-names>A. C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>de Almeida</surname>
            <given-names>Falbo</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            , and
            <surname>Guizzardi</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.</surname>
          </string-name>
          (
          <year>2011</year>
          ).
          <article-title>Using a foundational ontology for reengineering a software process ontology</article-title>
          .
          <source>Journal of Information and Data Management</source>
          ,
          <volume>2</volume>
          (
          <issue>3</issue>
          ):
          <fpage>511</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <surname>Duarte</surname>
            ,
            <given-names>B. B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leal</surname>
            ,
            <given-names>A. L. d. C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Falbo</surname>
            ,
            <given-names>R. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guizzardi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guizzardi</surname>
            ,
            <given-names>R. S. S.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Souza</surname>
            ,
            <given-names>V. E. S.</given-names>
          </string-name>
          (
          <year>2018</year>
          ).
          <article-title>Ontological Foundations for Software Requirements with a Focus on Requirements at Runtime</article-title>
          . Applied Ontology,
          <string-name>
            <surname>Preprint</surname>
          </string-name>
          (Preprint):
          <fpage>1</fpage>
          -
          <lpage>33</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <surname>Elmasri</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Navathe</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          (
          <year>2011</year>
          ).
          <article-title>Database systems</article-title>
          , volume
          <volume>9</volume>
          . Pearson Education Boston, MA.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <string-name>
            <surname>Falbo</surname>
            ,
            <given-names>R. A.</given-names>
          </string-name>
          (
          <year>2014</year>
          ).
          <article-title>Sabio: Systematic approach for building ontologies</article-title>
          .
          <source>In ONTO. COM/ODISE@ FOIS.</source>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <string-name>
            <surname>Guido</surname>
            ,
            <given-names>A. L.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Paiano</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          (
          <year>2010</year>
          ).
          <article-title>Semantic integration of information systems</article-title>
          .
          <source>International Journal of Computer Networks and Communications (IJCNC)</source>
          ,
          <volume>2</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <string-name>
            <surname>Guizzardi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          (
          <year>2005</year>
          ).
          <article-title>Ontological Foundations for Structural Conceptual Models</article-title>
          .
          <source>PhD Thesis</source>
          , University of Twente, The Netherlands.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <string-name>
            <surname>Guizzardi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Wagner</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          (
          <year>2004</year>
          ).
          <article-title>A unified foundational ontology and some applications of it in business modeling</article-title>
          .
          <source>In CAiSE Workshops (3)</source>
          , pages
          <fpage>129</fpage>
          -
          <lpage>143</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          <source>ISO/IEC9075-1</source>
          (
          <year>2008</year>
          ).
          <article-title>Information technology-database languages-sql-part 1: Framework (sql/framework)</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          <source>ISO/IEC9075-2</source>
          (
          <year>2003</year>
          ).
          <article-title>Information technology-database languages-sql-part 2: Foundation (sql/foundation)</article-title>
          .
          <source>ISO/IEC.</source>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          <string-name>
            <surname>Melton</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Simon</surname>
            ,
            <given-names>A. R.</given-names>
          </string-name>
          (
          <year>2001</year>
          ).
          <article-title>SQL1999 understanding relational language components</article-title>
          . Elsevier.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          <string-name>
            <surname>Ruy</surname>
            ,
            <given-names>F. B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>de Almeida</surname>
            <given-names>Falbo</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Barcellos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. P.</given-names>
            ,
            <surname>Costa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. D.</given-names>
            , and
            <surname>Guizzardi</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.</surname>
          </string-name>
          (
          <year>2016</year>
          ).
          <article-title>Seon: A software engineering ontology network</article-title>
          .
          <source>In European Knowledge Acquisition Workshop</source>
          , pages
          <fpage>527</fpage>
          -
          <lpage>542</lpage>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          <string-name>
            <surname>Studer</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Benjamins</surname>
            ,
            <given-names>V. R.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Fensel</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          (
          <year>1998</year>
          ).
          <article-title>Knowledge engineering: principles and methods</article-title>
          .
          <source>Data &amp; knowledge engineering</source>
          ,
          <volume>25</volume>
          (
          <issue>1-2</issue>
          ):
          <fpage>161</fpage>
          -
          <lpage>197</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          <string-name>
            <surname>Trinh</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barker</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Alhajj</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          (
          <year>2006</year>
          ).
          <article-title>Rdb2ont: A tool for generating owl ontologies from relational database systems</article-title>
          . In Telecommunications,
          <year>2006</year>
          . AICT-ICIW'
          <fpage>06</fpage>
          . International Conference on Internet and
          <article-title>Web Applications</article-title>
          and Services/Advanced International Conference on, pages
          <fpage>170</fpage>
          -
          <lpage>170</lpage>
          . IEEE.
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          <string-name>
            <surname>Trinh</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barker</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Alhajj</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          (
          <year>2007</year>
          ).
          <article-title>Semantic interoperability between relational database systems</article-title>
          .
          <source>In Database Engineering and Applications Symposium</source>
          ,
          <year>2007</year>
          .
          <source>IDEAS</source>
          <year>2007</year>
          . 11th International, pages
          <fpage>208</fpage>
          -
          <lpage>215</lpage>
          . IEEE.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>