1.1 Smart Database Theoretical Background
A smart database as is defined in this thesis is a type of database that can keep the consistency and integrity of the database in an acceptable level. In this section, three different techniques used for creating smart databases such as Ontology and semantic in database, active database and deductive database. An example database has also been introduced for each technique.
1.1.1 Ontology and semantics in databases
Ontology, meaning “conception of a thing,” can define a specific vocabulary in a related domain. Using ontology, one can define objects, properties, and relationships between parts. Ontology is used extensively in Artificial Intelligence in the computing domain. By using ontology, one tries to define the structure of reality, which is close to the concept (Guarino 1998).
Geographic ontology is the conceptualization of a geographic object that exists in the real world. It is used to find all the properties and characteristics belonging to a geographic phenomenon in order to conceptualize the geographic object well. In addition to other properties and characteristics, geographic properties like directions, coordinates, topologies, and temporal qualities are also included in geographic ontology (Viegas et al. 2007).
The semantic layer is an intermediate layer that links or translates a user’s query to the geographical database by using ontologies and returns data to the user.
The structure for a system that contains both a semantic layer and ontologies is as follows: the system gets a query from user and passes it to the semantic layer, which contains both user ontology and geodatabase ontology, and can translate user ontology to geodatabase ontology. The semantic layer then sends the geodatabase ontology as a request to the geodatabase, and finally returns the results back to the user. Figure 2 shows the structure of the semantic layer in relation to ontologies. One example of ontology and a semantic related database, which works smartly, is the Sesame semantic database.
For more about geographic ontology and semantics, refer to Elmasri 2011, Ramez 2011, Guarino 1998, Fonseca 2001, Egenhofer et al. 2000, and Viegas et al. 2007.
Sesame is a framework for analyzing and querying RDF (Resource Description framework) data. Sesame created by a Dutch software company and was part of the semantic web project between 1999 and 2002. Sesame Rio packages contain an API based on Java parsers and writers distributed along with Sesame; their lists are extensible.
Geographical resource-based and text-based search functions are added using an extension library called “USeekM” to semantic databases, which are compatible with Sesame’s API. Using the USeekM module, text data is indexed using the inverted index method and spatial data is indexed using the R-Tree or Quadtree based methods. This module uses PostgreSQL or ElasticSearch to create indexes and supports geometries (e.g. point, line, and polygon) and functions such as overlaps, within, and intersects. USeekM module is an open-source library.