<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">VisAVis: An Approach to an Intermediate Layer between Ontologies and Relational Database Contents</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Nikolaos</forename><surname>Konstantinou</surname></persName>
							<affiliation key="aff0">
								<orgName type="department" key="dep1">Division of Communications</orgName>
								<orgName type="department" key="dep2">Electron-ics and Information Systems</orgName>
								<orgName type="institution">National Technical University of Athens</orgName>
								<address>
									<addrLine>Heroon Polytechniou 9</addrLine>
									<postCode>15773</postCode>
									<settlement>Athens</settlement>
									<country key="GR">Greece</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Dimitrios-Emmanuel</forename><surname>Spanos</surname></persName>
							<affiliation key="aff0">
								<orgName type="department" key="dep1">Division of Communications</orgName>
								<orgName type="department" key="dep2">Electron-ics and Information Systems</orgName>
								<orgName type="institution">National Technical University of Athens</orgName>
								<address>
									<addrLine>Heroon Polytechniou 9</addrLine>
									<postCode>15773</postCode>
									<settlement>Athens</settlement>
									<country key="GR">Greece</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Michael</forename><surname>Chalas</surname></persName>
							<affiliation key="aff0">
								<orgName type="department" key="dep1">Division of Communications</orgName>
								<orgName type="department" key="dep2">Electron-ics and Information Systems</orgName>
								<orgName type="institution">National Technical University of Athens</orgName>
								<address>
									<addrLine>Heroon Polytechniou 9</addrLine>
									<postCode>15773</postCode>
									<settlement>Athens</settlement>
									<country key="GR">Greece</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Emmanuel</forename><surname>Solidakis</surname></persName>
							<affiliation key="aff0">
								<orgName type="department" key="dep1">Division of Communications</orgName>
								<orgName type="department" key="dep2">Electron-ics and Information Systems</orgName>
								<orgName type="institution">National Technical University of Athens</orgName>
								<address>
									<addrLine>Heroon Polytechniou 9</addrLine>
									<postCode>15773</postCode>
									<settlement>Athens</settlement>
									<country key="GR">Greece</country>
								</address>
							</affiliation>
						</author>
						<author role="corresp">
							<persName><forename type="first">Nikolas</forename><surname>Mitrou</surname></persName>
							<email>mitrou@softlab.ntua.gr</email>
							<affiliation key="aff0">
								<orgName type="department" key="dep1">Division of Communications</orgName>
								<orgName type="department" key="dep2">Electron-ics and Information Systems</orgName>
								<orgName type="institution">National Technical University of Athens</orgName>
								<address>
									<addrLine>Heroon Polytechniou 9</addrLine>
									<postCode>15773</postCode>
									<settlement>Athens</settlement>
									<country key="GR">Greece</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">VisAVis: An Approach to an Intermediate Layer between Ontologies and Relational Database Contents</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">A7CBE8636BFB61430BD88AA0EBE4811E</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T09:39+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>This paper introduces an approach to mapping relational database contents to ontologies. The current effort is motivated by the need of including into the Semantic Web volumes of web data not satisfied by current search engines. A graphical tool is developed in order to ease the mapping procedure and export enhanced ontologies linked to database entities. Moreover, queries using semantic web query languages can be imposed to the database through its connection to an ontology. Using Protégé, we were able to map ontology instances into relational databases and retrieve results by semantic web query languages.</p><p>The key idea is that, instead of storing instances along with the ontology terminology, we can keep them stored in a database and maintain a link to the dataset. Thus, on one hand we achieve smaller size ontologies and on the other hand we can exploit database contents harmonizing the semantic web concept with current wide-spread techniques and popular applications.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>It is a well known fact that the rapid evolution of the Internet has brought up significant changes to information management. The web of knowledge changed the way people share, access and retrieve data. The existing data that lie on the web offer a significant source of information for almost anything.</p><p>Search engines have been evolved and research has been conducted in order to exploit the web resources. Since Internet became a public common currency and mostly referred to as the World Wide Web, its content growth made the use of search engines a gateway to information. Without Google, Yahoo! or Altavista the web as it is today would be useless. Terabytes of data in millions of web pages are impossible to be searched without the use of special Information Retrieval (IR) techniques offered by the current search engine implementations.</p><p>Nevertheless, still much work needs to be done so as to render all this information retrievable. It is well known that there is a large quantity of existing data on the web stored using relational database technology. This information is often referred to as the Deep Web <ref type="bibr" target="#b6">[7]</ref> as opposed to the Surface Web comprising all static web pages.</p><p>Deep Web pages don't exist until they are generated dynamically in response to a direct request. As a consequence, traditional search engines cannot retrieve their content and the only manageable way of adding semantics to them is attacking directly its source: the database.</p><p>The creator of the web, Tim Berners-Lee proposed the idea of the 'Semantic web' to overcome the handicaps referenced. As stated in <ref type="bibr" target="#b0">[1]</ref>, the Semantic Web is about bringing "structure to the meaningful content of Web pages, creating an environment where software agents, roaming from page to page, can readily carry out sophisticated tasks for users". The Semantic Web will not replace the Web as it is known today. Instead, it will be an addition, an upgrade of the existing content in an efficient way that will lead to its integration into a fully exploitable world-wide source of knowledge. This process will consume much effort. Researchers have developed Semantic Web tools to facilitate this effort.</p><p>The key role to this effort is played by ontologies. Their use aims at bridging and integrating multiple and heterogeneous digital content on a semantic level, which is exactly the point of the idea. Ontologies provide conceptual domain models, which are understandable to both human beings and machines as a shared conceptualization of a specific domain that is given <ref type="bibr" target="#b5">[6]</ref>. With the use of ontologies, content is made suitable for machine consumption, contrary to the content found on the web today, which is primarily intended for human consumption.</p><p>Nevertheless, ontologies suffer from a scalability problem. Keeping large amounts of data in a single file is a practice with low efficiency. Ontologies should rather describe content than contain it. The application developed and presented in this paper introduces a solution to this problem. Current data is and should be maintained separately while ontologies can be developed in order to enhance its meaning and usefulness.</p><p>The paper is organized as follows: Section 2 provides the definitions of the aspects discussed in this paper. Section 3 details the mapping architecture, the mapping process and the integrity checks performed to assure consistent results. In Section 4 we present our case study and compare it to related efforts in Section 5. We conclude and discuss about future work in Section 6.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Definitions</head><p>This section provides a background definition of our work. This will make clearer every aspect of the proposed idea.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.1">Description Logics Ontologies</head><p>Formally, an ontology can be defined as a model of a knowledge base (KB). The main difference between an ontology and a KB is that the latter offers reasoning as an addition to the model. Thus, it is not possible to extract implicit knowledge from the ontology without the use of reasoning procedures. A KB created using Description Logics comprises the two following components <ref type="bibr" target="#b15">[16]</ref>.</p><p>The first part contains all the concept descriptions, the intentional knowledge and is called Terminological Box (TBox). The TBox introduces the terminology, the vocabulary of an application domain. It can be used to assign names to complex descriptions of concepts and roles. The classification of concepts is done in the TBox determining subconcept/superconcept relationships between the named concepts. It is then possible to form the subsumption hierarchy.</p><p>The second part contains the real data, the extensional knowledge and is called Assertional Box (ABox). The ABox contains assertions about named individuals in terms of the vocabulary defined in the TBox.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.2">Relational Models</head><p>According to <ref type="bibr" target="#b3">[4]</ref>, a database is a collection of relations with distinct relation names. The relation consists of a relation schema and a relation instance. The relation schema consists of the schemas for the relations in the database. The relation instance contains the relation instances, whose contents are sets of tuples, also called records. Instances can also be though of as tables, in which each tuple is a row. All rows have the same number of fields. Fields' domains are essentially the type of each field, in programming language terms (i.e. string, boolean, integer etc).</p><p>In order to provide access to their contents, databases support many query languages, but SQL is the practical choice. SQL is powerful and provides various means of manipulating relational databases. The inputs and outputs of SQL queries are Relations. Queries are evaluated using instances of input relations (tables) and produce instances of output relations. SQL is said to be relationally complete -since it is a superset of relational algebra -meaning that every query that can be posed to a relational algebra can be expressed in SQL. In other words, with the use of SQL queries, there is no combination of subsets of tuples in a database that cannot be retrieved.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.3">Mapping Relational Database Contents to Ontologies</head><p>In a simplified point of view, we can compare the schema of a relational database to the TBox of a KB and the instance to the actual data to the ABox. We could claim that databases are similar to Knowledge Bases because of the fact that they both are used to maintain models and data of some domain of discourse (UofD) <ref type="bibr" target="#b16">[17]</ref>. There is, though, a great difference, besides the fact that databases manipulate large and persistent models of relatively simple data while knowledge bases contain fewer but more complex data. Knowledge bases can also provide answers about the model that have not been explicitly stated to it. So, mapping a database to a KB is enhancing the database's ability to provide implicit knowledge by the use of the terminology described in the TBox.</p><p>In our work, we succeeded in mapping the relational database contents to the TBox of the ontology. The description language chosen is OWL-DL <ref type="bibr" target="#b1">[2,</ref><ref type="bibr" target="#b4">5]</ref>, based on standard predicate calculus. The ontology produced does not contain an ABox, only a reference to the dataset in the database. The dataset can be any data combination, not just table tuples. A visualization of the mentioned work is shown in the figure below. What has been accomplished in the current work is to reference database tuples through the ontology TBox. Common approaches describe mapping mechanisms between ontology classes and database tables. Our enhancement from the scope of the Semantic Web lies on the fact that the mappings are capable of corresponding class individuals (alt. instances) to any possible dataset combination. From the view of database theory, we enriched the database schema structure to include description logics and answer queries on a semantic level.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.4">Issues and Limitations Rising from the Mapping Process</head><p>There are significant differences between the knowledge bases and databases. Among the differences is the 'open-world' semantics in opposition to the 'closed-world' semantics that hold respectively for each one.</p><p>The relational database schema abides by the so called 'closed world assumption'. The system's awareness of the world is restricted to the facts that have been explicitly told to it. Everything that has not been stated as true fact is false. In a 'closed world', a null value about a subject's property denotes the non-existence i.e. a null value in the 'isCapital' field of a table 'Cities' claims that the city is not a capital. The database answers with certainty because, according to the closed world assumption, what is not currently known to be true is false. Thus, a query like 'select cities that are capitals' will not return a city with a null value at a supposed boolean isCapital field.</p><p>On the other hand, a query on a KB can return three types of answers that are true, false and 'cannot tell'. The 'open world assumption' states that lack of knowledge does not imply falsity. So a question in an appropriate schema 'Is Athens a capital city?' will return 'cannot tell' if the schema is not informed while a database schema would clearly state that 'no'.</p><p>Class properties were not mapped to relations between database tables. The reason is that regarding the ontology semantics, the class hierarchy is fully different from the property hierarchy. Foreign key constraints involving relations, though, can be mapped to Object Properties linking OWL classes. This approach however, would not produce more powerful results; it would rather complicate reasoning checks. So, in the work that is presented here, concept integrity checks are being held only during the mapping process without being an extra burden to the resulting ontology.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Mapping Architecture and Process</head><p>In this chapter we clarify the architecture of the technique through which the target goal is reached. We describe the mapping process, analyze the integrity constraints and explain how the user can retrieve database data through the intermediate mapping ontology.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Mapping Process</head><p>Our proposed mapping method consists of four steps. First, we capture data from the database. The data can be any combination of datasets. More particularly, the ability is given to select the desired subset of records belonging to various tables. In step two, we select a class of the ontology. Step three is the most important as all consistency checks are being performed in this step along with evaluation, validation and refinement of the mapping. In step four takes place the modification of the resulting ontology and the additional information is added to it. These four steps can be repeated as many times as required. By saving the mapping in a new ontology, additional information will be kept such as the database type and name, the initial ontology name and when the mapping is last modified.</p><p>The final result is the initial ontology enhanced to include references to datasets. These references will be under the form of class properties in the ontology, all assigned as value a string containing the actual SQL query that returns the dataset. Each query posed to the ontology will check the existence of the mapping property. In the case that it does not exist, the results are no affected. Otherwise, the results will be database entries instead of class individuals.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">Validation of the Mapping Process -Consistency checks</head><p>During the mapping process, tests are run to insure the concept's consistency. These tests require enough computational time and are therefore computed once, responding with a positive or negative answer, informing the user in each case. Every time a new mapping is defined by the user, the following requirements must be met.</p><p>First of all, two disjoint classes cannot have mappings to the database that contain common records or subsets of records. Even in the case of finding a single datum in common, the mapping will be rejected. We note that 'common data' will as well be considered data that belong to different fields of two tables connected with a foreign key relationship. Disjoint classes cannot be mapped to records of these fields because a foreign key connects the two tables semantically. The classes' disjointment does not allow such connections. This constraint reassures that the datasets will be as well disjoint. In addition, the same check is run respectively for the class' sub-and superclasses.</p><p>Moreover, a check is performed to reassure that subclass hierarchy is maintained in the mapped data. More specifically, if a class A is subclass of a class B and the two classes are mapped to record sets R(A) and R(B) respectively, then R(A) must be a subset of R(B) as well. This check must hold recursively for every mapping statement. Special care is taken of table fields that have foreign key relationships. Subclasses can be mapped to field entries outside the domain of the superclass mapping as long as these fields are referred to by foreign keys. In conclusion, for a mapping to be accepted, the set of data for each class must be a subset of the class' superclasses.</p><p>The checks are performed after each mapping command. The checks were intentionally not strict as the system was designed keeping in mind the final user: the domain expert who will produce the mapping result. Thus, only the necessary consistency checks were implemented balancing the user's freedom with the concept's integrity.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.3">Semantic Query Execution</head><p>Our implementation includes the functionality of imposing queries by terms of semantic web query languages. Fig. <ref type="figure" target="#fig_1">3</ref> illustrates how the application handles user's queries.</p><p>First, users' queries are parsed and checked syntactically. The query would instantly return with the desired results but here is where the mapping intervenes. Instead of returning the class resources, for each class we check if there exists the mapping property. If the related property is found, the query is redirected to the database. The results are then formatted and served to the user.</p><p>The achievement lies in the fact that we added an extra layer of interoperability, between the application GUI and the actual data. This hybrid approach leaves the ontology and the actual data intact, only serving as a semantics addition to current systems. The generalization of the current concept to current web technologies is about to offer a semantic layer that will add the desired intelligence without modifying legacy systems. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.4">Implementation-Specific Information</head><p>Our implementation was built as a plug-in on top of the Protégé [3] ontology editor. Protégé was chosen among other open-source ontology editors like SWOOP <ref type="bibr" target="#b17">[18]</ref>, SMORE <ref type="bibr" target="#b18">[19]</ref>, OilEd <ref type="bibr" target="#b19">[20]</ref> or Ontolingua <ref type="bibr" target="#b20">[21]</ref> because of its extensible structure and documentation offered about writing a plug-in. Protégé is java-based and supports ontologies authored in OWL.</p><p>For a database backend, the VisAVis tool supports connections via JDBC to the MySQL and PostgreSQL database management systems.</p><p>As far as it concerns the Semantic Web query languages, several recommendations have been considered. The issue is that query languages about OWL ontologies are still in their infancy <ref type="bibr" target="#b21">[22]</ref>. We would therefore have to select between the SPARQL and RQL families of query languages for RDF. The practical choice is RDQL <ref type="bibr" target="#b14">[15]</ref> as it is implemented and fully supported in the Jena <ref type="bibr" target="#b11">[12]</ref> framework upon which Protégé is built. RDQL has recently been submitted to the W3C for standardization (October 2003).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">The 'VisAVis' Use Case Scenario</head><p>In this section, we give a practical example of the mapping method described above. For our example's purpose, we will use an OWL-DL ontology that can be found at <ref type="bibr" target="#b2">[3]</ref> and includes some terms concerning tourism, such as lodgings, activities and destinations. Our aim is to map the classes of the ontology to data that refer to the same concept as the ontology classes. That is why, in this example, we are using as well a database containing contextual data.</p><p>We have implemented the mapping method described in the previous section, as a Protégé tab plug-in, colorfully named as VisAVisTab and shown in Fig. <ref type="figure" target="#fig_2">4</ref>. The first step is to open the ontology that contains the classes of interest. Then, we connect with the corresponding database that contains the real data. At that point, we can see both the ontology and the database hierarchy and we are able to select a set of data from the database using the application's graphical user interface. In fact, the application constructs, in the background, an SQL query that, when executed, returns the desired dataset. This SQL query, and not the data set itself, will be correlated with a certain ontology class selected by the user.</p><p>To demonstrate VisAVis in action, we are using a database called 'travel' that contains among others the tables 'cities', 'hotels', 'museums' and 'activities'. The table 'activities' contains information about activities offered to tourists, including its description and its type (surfing, hiking etc.). The activities' types are stored in the 'ac-tivity_type_id' column, which is foreign key to the 'id' column of the 'activi-ties_types' table. A common approach would be to map the class 'Activity' of the OWL ontology to the columns 'id', 'description', 'activity_type_id' from the 'activities' table and to the 'id', 'name', 'description' columns of the 'activities_types' table. The data selection process is easily carried out by dragging the columns needed from the database hierarchy and dropping them into the 'Desired Fields' field. In order to map the class 'Hiking', which is a subclass of the 'Activity' class, we should add a condition that would enable us to select only the activities of the certain type. Likewise, the classes 'Surfing' and 'Safari', which are also subclasses of the 'Activity' class, could be mapped to the appropriate data that would satisfy the necessary conditions. The conditions can be applied to a certain set of columns by dragging the necessary column, dropping it to the 'Conditions' field and then, filling in the rest of the constraint. When the data selection has finished, the user can complete the mapping process by pressing the 'Map!' button.</p><p>It is worth mentioning that when columns from two or more tables are selected, our application includes in the SQL query an additional condition representing the referential integrity constraint. In other words, foreign keys are taken into account whether they are user-specified or not and added to the final SQL query. This happens even in the case where two or more tables have two or more distinct relations between them. For instance, for the following example a mapping concerning the class 'Activity' is the following:</p><p>Hiking -&gt; Field(s): activities.description with condition(s): (activities_types.name='Hiking')</p><p>The corresponding SQL query, which is automatically generated by our SQL builder, is shown below in a snapshot of the enhanced ontology: &lt;owl:Class rdf:about="#Hiking"&gt; &lt;queryString&gt;SELECT activities.description FROM activities, activities_types WHERE (activities.activity_type_id=activities_types.id) AND (activities_types.name = "Hiking") &lt;/queryString&gt; &lt;rdfs:subClassOf&gt; &lt;owl:Class rdf:about="#Sports"/&gt; &lt;/rdfs:subClassOf&gt; &lt;/owl:Class&gt; As we notice in the above sample, the mapping process has as a result the introduction of a datatype property to the class. The property is arbitrarily named 'queryString' and is given as domain the class' domain and as value the corresponding SQL query. Thus, the initial OWL ontology is enhanced with additional properties that represent the mappings accomplished. Following the same course of actions, we can map the entire ontology to sets of data from the database.</p><p>We should also note that during the mapping process, consistency checks are executed in order to check whether mappings conform to the ontology rules or not as described in Section 3.2. For instance, if we tried to map to the class 'Activity' some data from the 'hotels' table, the mapping validator would reject this mapping as inconsistent with the ontology rules, since classes 'Activity' and 'Accomodation' are disjoint.</p><p>Finally, in order to test the whole mapping process, our application enables the execution of a semantic query, which will return actual data from the database, instead of ontology elements. As it has already been mentioned, a similar approach could be followed in a sophisticated Semantic Web search engine, that would first execute a semantic query and then, using mappings between concepts and sets of actual data or documents, it would return these sets of data or documents.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Related Work</head><p>The Semantic Web is the new WWW infrastructure that will enable machine process of the web content and seems to be a solution for many drawbacks of the current Web. The semantic information addition to the current web will create a new information layer on top of the current technologies. Ontology to database mapping is an active research topic to this direction based on the observation that the web content is dynamic and most of it originates from databases. Several approaches have been presented aiming at semantic integration proposing techniques for database-toontology correspondence. Related work can be divided in two fields, database-toontology migration and database-to-ontology collaboration. Our approach belongs to the latter; hence similar work will be given reference in the current chapter.</p><p>The Ontomat Application Framework introduced in <ref type="bibr" target="#b8">[9]</ref> was one of the first prototypes for database and semantics integration. It was a front-end tool built upon a component-based architecture. Ontomat Reverse <ref type="bibr" target="#b9">[10]</ref> is part of the framework and offers the means to semi-automatically realize mappings between ontology concepts and databases through JDBC connections. Nevertheless, it only supports RDF graphs and mappings between database tables on the server and ontology classes on the client.</p><p>D2RMap was first presented in <ref type="bibr" target="#b10">[11]</ref> and provides means to declaratively state ontology-to-database mappings. D2R is based on XML syntax and constitutes a language provided to assign ontology concepts to database sets. The result includes SQL commands directly to the mapping rules and is capable of performing flexible mappings. The mapping procedure in D2R is similar to ours. Results are extracted in RDF, N3, RDF or Jena <ref type="bibr" target="#b11">[12]</ref> models. R 2 O <ref type="bibr" target="#b13">[14]</ref> is another declarative language and serves the same purpose as it is obvious in the full title, Relational 2 Ontology. The R 2 O language is fully declarative and extensible while expressive enough to describe the semantics of the mappings. In general, like D2R, it allows the definition of explicit correspondences between components of two models.</p><p>The Unicorn workbench <ref type="bibr" target="#b12">[13]</ref> was developed aiming at the semantic integration which is as well the concept of our work. Unicorn's architecture is two-layered meaning that the external assets layer is separated from the model-information layer.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Conclusions and Future Work</head><p>We have developed a novel, integrated and semi-automated approach for mapping and reusing large sets of data into the Semantic Web. Using the tool described above, it is possible to create a mapping between any relational database and any ontology. For the mapping to have a meaning, however, it is essential that the concepts described are at some point similar. For example, it has no meaning mapping a database containing a company's customers to an ontology describing plants. The logical aspect is left to the judgment of the user.</p><p>The current version implements a rather small subset of the SQL language. The mapping to the actual data is in fact accomplished using 'select from where' functions. We are currently working on enriching the ontology result to include more functions such as 'group by' and 'order by'. Functions such as max(), count() and avg() are not supported either, in the current version. Support needs to be added for several RDBMS such as Oracle or Microsoft SQL Server to cover a significant percentage of today's choices. Yet, these topics are only implementation-specific and of no special research interest. They are however needed if the aim is to provide the Protégé plug-in the tool's corresponding plug-in section.</p><p>An important open issue in the current implementation is also the fact that queries only return results from the database. The user should also be informed about class individuals, not only database records. The current development is not purposed to distinct between ontologies and databases; it is about offering a collaboration framework and an intermediate layer for database exploitation by Semantic Web applications.</p><p>The resulting enhanced ontology is subject to easy programmatic access. In addition, once the mapping result is created, our tool will only be needed in case of change of the database schema. Practice has proven that database schemas are not frequently changing. Our intention is to use such ontologies combined with software agents in order to create an intelligent environment where data search and retrieval will implement the Semantic Web concept: users will be able to search among large volumes of semantically annotated data.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Fig. 1 .</head><label>1</label><figDesc>Fig. 1. Main Idea. The Assertion Box of the Knowledge Base is kept separately in a relational database. The resulting hybrid ontology will contain references to database datasets that comprise the class individuals</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Fig. 3 .</head><label>3</label><figDesc>Fig. 3. After the generation of the mapping ontology, user's queries are processed invisibly by the database mapping mechanism</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Fig. 4 .</head><label>4</label><figDesc>Fig. 4. The VisAVis Protégé Tab. The left panel contains the class hierarchy, the mapped classes list and information about the selected class as well as for the ontology itself. The right panel is dedicated to the database. The user can select multiple tables and fields, declare possible mapping conditions and confirm mappings. At the bottom of the screen, RDQL queries can be executed</figDesc><graphic coords="8,124.74,147.42,345.60,251.10" type="bitmap" /></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" xml:id="foot_0">WISM'06</note>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">The Semantic Web -A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities</title>
		<author>
			<persName><forename type="first">T</forename><surname>Berners-Lee</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Hendler</surname></persName>
		</author>
		<author>
			<persName><forename type="first">O</forename><surname>Lassila</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Scientific American</title>
		<imprint>
			<date type="published" when="2001">2001</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<title level="m" type="main">From SHIQ and RDF to OWL: the making of a Web Ontology Language</title>
		<author>
			<persName><forename type="first">I</forename><surname>Horrocks</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Patel-Schneider</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Van Harmelen</surname></persName>
		</author>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<ptr target="http://protege.stanford.edu/" />
		<title level="m">The Protégé Ontology Editor and Knowledge Base Framework</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<author>
			<persName><forename type="first">Gehrke</forename><surname>Ramakrishnan</surname></persName>
		</author>
		<title level="m">Database Management Systems 3 rd Edition</title>
				<meeting><address><addrLine>McGraw Hill</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2003">2003</date>
			<biblScope unit="page" from="57" to="99" />
		</imprint>
	</monogr>
	<note>Chapter 3: The Relational Model</note>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<ptr target="http://www.w3.org/TR/owl-features/" />
		<title level="m">OWL Web Ontology Language Overview</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<monogr>
		<title level="m" type="main">Toward principles for the design of ontologies used for knowledge sharing</title>
		<author>
			<persName><surname>Gruber</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1993">1993</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<title level="m" type="main">The Deep Web: Surfacing hidden value</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">K</forename><surname>Bergman</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2001-09">Sept 2001</date>
		</imprint>
	</monogr>
	<note>White paper</note>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">A relational model of data for large shared data banks</title>
		<author>
			<persName><forename type="first">E</forename><forename type="middle">F</forename><surname>Codd</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Communications of the ACM</title>
		<imprint>
			<biblScope unit="volume">13</biblScope>
			<biblScope unit="issue">6</biblScope>
			<biblScope unit="page" from="377" to="387" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">KAON -Towards a large scale Semantic Web</title>
		<author>
			<persName><forename type="first">Erol</forename><surname>Bozsak</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">E-Commerce and Web Technologies, Third International Conference, EC-Web 2002</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<meeting><address><addrLine>Aix-en-Provence, France</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2002">September 2-6, 2002. 2002</date>
			<biblScope unit="volume">2455</biblScope>
			<biblScope unit="page" from="304" to="313" />
		</imprint>
	</monogr>
	<note>Proceedings</note>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Unveiling the hidden bride: deep annotation for mapping and migrating legacy data to the Semantic Web</title>
		<author>
			<persName><forename type="first">R</forename><surname>Volz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Web Semantics: Science, Services and Agents on the World Wide Web</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="page" from="187" to="206" />
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">D2R MAP -A Database to RDF Mapping Language</title>
		<author>
			<persName><forename type="first">Christian</forename><surname>Bizer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">The twelfth international World Wide Web Conference</title>
				<meeting><address><addrLine>WWW2003, Budapest, Hungary</addrLine></address></meeting>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<monogr>
		<ptr target="http://jena.sourceforge.net/" />
		<title level="m">Jena: A Semantic Web Framework for Java</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Semantic Integration of Disparate Data Sources in the COG Project</title>
		<author>
			<persName><forename type="first">Jos</forename><surname>De</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Bruijn</forename></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the International Conference on Enterprise Information Systems (ICEIS2004)</title>
				<meeting>the International Conference on Enterprise Information Systems (ICEIS2004)<address><addrLine>Porto, Portugal</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">R2O, an Extensible and Semantically Based Databaseto-Ontology Mapping Language</title>
		<author>
			<persName><forename type="first">J</forename><surname>Barrasa</surname></persName>
		</author>
		<author>
			<persName><forename type="first">O</forename><surname>Corcho</surname></persName>
		</author>
		<author>
			<persName><surname>Gómez-Pérez</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">A. Second Workshop on Semantic Web and Databases (SWDB2004)</title>
				<meeting><address><addrLine>Toronto, Canada</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2004-08">August 2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">RDQL -RDF Data Query Language</title>
		<author>
			<persName><forename type="first">A</forename><surname>Seaborne</surname></persName>
		</author>
		<ptr target="http://www.hpl.hp.com/semweb/rdql-grammar.html" />
	</analytic>
	<monogr>
		<title level="m">part of the Jena RDF Toolkit, HPLabs Semantic Web activity</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">Basic Description Logics</title>
		<author>
			<persName><forename type="first">Franz</forename><surname>Baader</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Werner</forename><surname>Nutt</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">the Description Logic Handbook</title>
				<editor>
			<persName><forename type="first">F</forename><surname>Baader</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">D</forename><surname>Calvanese</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">D</forename><forename type="middle">L</forename><surname>Mcguiness</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">D</forename><surname>Nardi</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">P</forename><forename type="middle">F</forename><surname>Patel-Schneider</surname></persName>
		</editor>
		<imprint>
			<publisher>Cambridge University Press</publisher>
			<date type="published" when="2002">2002</date>
			<biblScope unit="page" from="47" to="100" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">Description Logics for Databases</title>
		<author>
			<persName><forename type="first">A</forename><surname>Borgida</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Lenzerini</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Rosati</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">the Description Logic Handbook</title>
				<editor>
			<persName><forename type="first">F</forename><surname>Baader</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">D</forename><surname>Calvanese</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">D</forename><forename type="middle">L</forename><surname>Mcguinness</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">D</forename><surname>Nardi</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">P</forename><forename type="middle">F</forename><surname>Patel-Schneider</surname></persName>
		</editor>
		<imprint>
			<publisher>Cambridge University Press</publisher>
			<date type="published" when="2002">2002</date>
			<biblScope unit="page" from="472" to="494" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">A Tool for Working with Web Ontologies</title>
		<author>
			<persName><forename type="first">Aditya</forename><surname>Kalyanpur</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Bijan</forename><surname>Parsia</surname></persName>
		</author>
		<author>
			<persName><forename type="first">James</forename><surname>Hendler</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the International Journal on Semantic Web and Information Systems</title>
				<meeting>the International Journal on Semantic Web and Information Systems</meeting>
		<imprint>
			<date type="published" when="2005-03">Jan-Mar 2005</date>
			<biblScope unit="volume">1</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<monogr>
		<title level="m" type="main">SMORE -semantic markup, ontology, and RDF editor</title>
		<author>
			<persName><forename type="first">Aditya</forename><surname>Kalyanpur</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Bijan</forename><surname>Parsia</surname></persName>
		</author>
		<author>
			<persName><forename type="first">James</forename><surname>Hendler</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Jennifer</forename><surname>Golbeck</surname></persName>
		</author>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">OilEd: a Reason-able Ontology Editor for the Semantic Web</title>
		<author>
			<persName><forename type="first">Sean</forename><surname>Bechhofer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Ian</forename><surname>Horrocks</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Carole</forename><surname>Goble</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Robert</forename><surname>Stevens</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">DL2001, 14th International Workshop on Description Logics</title>
				<meeting><address><addrLine>Stanford, USA</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2001-08">August 2001</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<monogr>
		<title level="m" type="main">The Ontolingua Server: A Tool for Collaborative Ontology Construction</title>
		<author>
			<persName><forename type="first">A</forename><surname>Farquhar</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Fikes</surname></persName>
		</author>
		<author>
			<persName><forename type="first">&amp;</forename><forename type="middle">J</forename><surname>Rice</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1996">1996</date>
		</imprint>
		<respStmt>
			<orgName>Knowledge Systems, AI Laboratory</orgName>
		</respStmt>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<analytic>
		<title level="a" type="main">Web and Semantic Web Query Languages: A Survey</title>
		<author>
			<persName><forename type="first">James</forename><surname>Bailey</surname></persName>
		</author>
		<author>
			<persName><forename type="first">François</forename><surname>Bry</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Tim</forename><surname>Furche</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Sebastian</forename><surname>Schaffert</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Reasoning Web, First International Summer School 2005</title>
				<editor>
			<persName><forename type="first">Norbert</forename><surname>Eisinger</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Jan</forename><surname>Małuszynski</surname></persName>
		</editor>
		<imprint>
			<publisher>Springer-Verlag</publisher>
			<date type="published" when="2005">2005</date>
			<biblScope unit="volume">3564</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b22">
	<monogr>
		<title level="m">WISM&apos;06</title>
				<imprint/>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
