180 likes | 363 Views
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
E N D
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 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.
Part 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)Benefits 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)Benefits (Cont.)
COMPANYname: String m:maddress: String m:m PRODUCTspecification: String m:mweight_kg: Number m:m manufactures (m:m) MANUFACTURES CID_in_key: string PID_in_key: string PRODUCT_SPECPID_in_key: string Spec_in_key: string COMPANYCID_key: string PRODUCT PID_key: string COMPANY_NAMECID_in_key: string Name_in_key: string COMPANY_ADDRESSCID_in_key: string Address_in_key: string PRODUCT_WEIGHTPID_in_key: string WeightKG_in_key: number Semantic Data ModelBenefits (cond.): Example schemas Semantic View: Equivalent Relational Schema:
Semantic SQLFeatures • Semantic SQL • Querying data at conceptual level • Easier query facility • ODBC/SQL Compliance
Semantic SQL Benefits • 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 LOCATIONnorth-UTM: Number key/2east-UTM: Number key/2elevation-ft: Numberdescription: String PROJECTname: String keydescription: Stringcomments: Stringstarting-date: Dateending-date:Date Semantic View located at(m:1) serves(m:m) runs(m:m) FIXED STATIONplatform-height-ft: 0..50.000 PHYSICAL OBSERVATIONSTATIONis-part-of m:1:structure: Stringcomments: Stringhousing: String ORGANIZATIONis-part-of m:m:name: String keydescription: String belongs to(m:m) MEASUREMEMENTTYPEname: String keymeasurement-unit: Stringupper-limit: Numberlower-limit: Number IMAGEimage: Rawsubject: Stringdirection-of-view: 0..360comments: Stringtype: Char(3) by(m:1) OBSERVATIONtime: Date-timecomment: String of(m:1) MEASUREMENTvalue: Number
Semantic SQL Benefits (cond.): Example query RELATIONAL SCHEMA
{ ( 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-key and 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 Semantic SQL Query: Select OBSERVATION__, of__, LOCATION from OBSERVATION where time > '1993/01' Semantic SQLBenefits (cond.): Example query “GIVE ME ALL OF THE OBSERVATIONS, WITH ALL OF THEIR ATTRIBUTES, SINCE JANUARY 1, 1993, AND THE LOCATION OF THE OBSERVING STATIONS”
Semantic SQL Interpreter Semantic Schema Sem-ODB Architecture Database Applications USERS Existing Tools (MS QBE) C++/Java API Control Server ODBC Driver Semantic Database Engine
Part II: Semantic Wrapper over Relational Databases Definition AN OPEN MIDDLEWARE SYSTEM THAT PROVIDES SEMANTIC VIEWS AGAINST LEGACY RELATIONAL DATABASES
Semantic Schemas/ Semantic SQL New Applications Semantic Wrapper ODBC Native DBMS interfaces Legacy Applications Commercial Relational DBMS (e.g. Microsoft Access, Microsoft SQL Server, Oracle, ... ) Semantic WrapperHigh-level Architectural View
Features 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 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.
Summary • 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.