Semantic Access: Semantic Interface for Querying Databases
Naphtali Rishe, Jun Yuan, Rukshan Athauda, Xiaoling Lu, Xiaobin Ma, Alexander Vaschillo, Artyom Shaposhnikov, Dmitry Vasilevsky, Shu-Ching Chen
High Performance Database Research Center
School of Computer Science
Florida International University
Demonstration OutlineDemonstration Outline
• Semantic Binary Object-Oriented Database System (Sem-ODB) and Semantic SQL.– Sem-ODB Engine.
– Semantic SQL Interpreter.
– ODBC Driver for Sem-ODB.
• Semantic Wrapper over Relational Databases.– Access Semantic Wrapper via native APIs
– Access Semantic Wrapper via ODBC.
• CORBA Compliant Components.
System ArchitectureSystem Architecture
catalog of database schemas Query Dispatcher
User’s Semantic SQL queries
Semantic Database Engine
meta-data
queries / query results
QUERY COORDINATOR
RELATIONAL SITE
SEMANTIC SITE
Semantic SQL Semantic Schema
Native C++/Java API
SDB-SQL Engine
CORBA
Commercial RDBMS
DBA
Semantic SQL Semantic Schema
Translator KDBTool
Knowledge Base
ODBC
Part I: SemODB and Semantic SQLPart I: SemODB and Semantic SQL
• More expressive data model
• Directly supports conceptual data model of the enterprise
• Shorter application design and programming cycle
• Empowers end-users to pose complex ad hoc decision support queries
Semantic Data Model(Sem-ODM)Semantic Data Model(Sem-ODM)BenefitsBenefits
Semantic Views over Relational Schemas– Higher level data model– Semantic view mirrors real world– Flexible classification of objects– Complex relations made simple: arbitrary
relationships– Semantically-Enhanced Object-Relational– Information in its Natural Form
Semantic-Views• Data is described at conceptual
level.
• Meaning of Information is Stored
• Relationships Between Categories
• Easier to formulate query Any Relationship CAN be
queried. Joins are NOT required to be
defined explicitly.
RDBMS• Data is described at logical level.
• Meaning of Information is Lost
• Relationships not Supported
• Complex queries have to be pre-programmed “Joins” are required to be
defined explicitly.
Semantic Data Model(Sem-ODM)Semantic Data Model(Sem-ODM)Benefits (Cont.)Benefits (Cont.)
(m:m)
manufactures
PRODUCTspecification: String m:mweight_kg: Number m:m
COMPANYname: String m:m
address: String m:m
Semantic View:
PRODUCTPID_key: string
COMPANYCID_key: string
Equivalent Relational Schema:
Semantic Data ModelSemantic Data ModelBenefits (cond.): Example schemasBenefits (cond.): Example schemas
COMPANY_ADDRESSCID_in_key: string
Address_in_key: string
COMPANY_NAMECID_in_key: string
Name_in_key: string
PRODUCT_SPECPID_in_key: stringSpec_in_key: string
PRODUCT_WEIGHTPID_in_key: string
WeightKG_in_key: number
MANUFACTURESCID_in_key: stringPID_in_key: string
Semantic SQLSemantic SQLFeaturesFeatures
• Semantic SQL
– Querying data at conceptual level
– Easier query facility
– ODBC/SQL Compliance
Semantic SQL Semantic SQL BenefitsBenefits
• Easier query facility (i.e. much shorter queries)
• Do not require to specify joins with the existence of relations in the semantic schem
Semantic SQL Benefits (cond.): Example query
PROJECTname: String key
description: Stringcomments: String
starting-date: Dateending-date:Date
LOCATIONnorth-UTM: Number key/2east-UTM: Number key/2
elevation-ft: Numberdescription: String
PHYSICAL OBSERVATION
STATION
is-part-of m:1:structure: Stringcomments: Stringhousing: String
FIXED STATIONplatform-height-ft: 0..50.000
ORGANIZATIONis-part-of m:m:name: String key
description: String MEASUREMEMENTTYPE
name: String keymeasurement-unit: String
upper-limit: Numberlower-limit: Number
IMAGEimage: Raw
subject: Stringdirection-of-view: 0..360
comments: Stringtype: Char(3)
OBSERVATIONtime: Date-timecomment: String MEASUREMENT
value: Number
by(m:1)
of(m:1)
located at(m:1)
serves(m:m)
runs(m:m)
belongs to(m:m)
Semantic View
RELATIONAL SCHEMA
Semantic SQLSemantic SQL Benefits (cond.): Example query Benefits (cond.): Example query
Select OBSERVATION__, of__, LOCATION from OBSERVATION where time > '1993/01'
Semantic SQL Query:
( select MEASUREMENT-TYPE.*, LOCATION.north-UTM-in-key,LOCATION.east-UTM-in-key, MEASUREMENT.*, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL from MEASUREMENT-TYPE, LOCATION, MEASUREMENT where time > '1993/01' and exists ( select * from FIXED-STATION where by-physical-observation-station-id =physical-observation-station-id-key and located-at--north-UTM =north-UTM-in-key and located-at-east-UTM = east-UTM-in-keyand of--name = name-key)) union ( select MEASUREMENT-TYPE.*, NULL, NULL, MEASUREMENT.*, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL from MEASUREMENT-TYPE, MEASUREMENT where time > '1993/01' and not exists ( select * from FIXED-STATION where by-physical-observation-station-id =physical-observation-station-id-key and of-name = name-key)) union ( select NULL, NULL, NULL, NULL, LOCATION.north-UTM-in-key, LOCATION.east-UTM-in-key, NULL, NULL, NULL, NULL, NULL, NULL, IMAGE.* from LOCATION, IMAGE where time > '1993/01' and exists ( select * from FIXED-STATION where by-physical-observation-station-id =physical-observation-station-id-key and located-at-north-UTM =north-UTM-in-key and located-at—east-UTM = east-UTM-in-key)) union ( select NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, IMAGE.* from IMAGE where time > '1993/01' and not exists ( select * from FIXED‑STATION where by--physical-observation-station-id =physical-observation-station-id-key))
SQL for RDBMS {“GIVE ME ALL OF THE OBSERVATIONS, WITH ALL OF THEIR ATTRIBUTES, SINCE JANUARY 1, 1993, AND THE LOCATION OF THE OBSERVING STATIONS”
Semantic SQLSemantic SQL Benefits (cond.): Example query
Sem-ODB ArchitectureSem-ODB Architecture
Semantic SQLInterpreter
Semantic Schema
C++/Java API
Semantic Database Engine
Control Server
Existing Tools (MS QBE)
ODBC Driver
Database
Applications
USERS
Part II: Semantic Wrapper over Part II: Semantic Wrapper over Relational DatabasesRelational Databases
AN OPEN MIDDLEWARE SYSTEM THAT PROVIDES SEMANTIC VIEWS AGAINST LEGACY RELATIONAL
DATABASES
DefinitionDefinition
Legacy Applications
Native DBMS interfaces
New Applications
Semantic Schemas/ Semantic SQL
Commercial Relational
DBMS(e.g. Microsoft Access,
Microsoft SQL Server, Oracle, ... )
ODBC
Semantic Wrapper
Semantic WrapperSemantic WrapperHigh-level Architectural ViewHigh-level Architectural View
Features of Semantic WrapperFeatures of Semantic Wrapper
• Provides Semantic Binary Object-oriented Data Model for Relational Databases
• Provides a powerful query language: Semantic SQL
• Database autonomy
• Can function as a stand-alone application and/or be plugged into a heterogeneous multi-database system
• Portability
Part III: CORBA Compliant ComponentsPart III: CORBA Compliant Components
• CORBA compliant components– Sem-ODB– Semantic Wrapper.
• Platform and network level heterogeneity is resolved by using CORBA architecture.
• Common CORBA IDL provides semantic access to both relational and semantic databases.
• Sem-ODM view against each data source.
SummarySummary
• Sem-ODM: an expressive data model.• Sem-ODB: a robust database engine.• Semantic SQL: an intelligent and easier query
language.• Semantic Wrapper: a portable, autonomous,
stand-alone/ multi-database component tool for legacy databases.
• Semantic Access via ODBC.• CORBA compliant components.