Top Banner
SQL Databases are a Moving SQL Databases are a Moving Target Target Juan F. Sequeda – Juan F. Sequeda – [email protected] [email protected] Syed Hamid Tirmizi – Syed Hamid Tirmizi – [email protected] [email protected] Daniel P. Miranker – Daniel P. Miranker – [email protected] [email protected] Department of Computer Sciences Department of Computer Sciences
33

SQL Databases are a Moving Target Juan F. Sequeda – [email protected] [email protected] Syed Hamid Tirmizi – [email protected] [email protected].

Jan 12, 2016

Download

Documents

Hannah Harmon
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SQL Databases are a Moving Target Juan F. Sequeda – jsequeda@cs.utexas.edu jsequeda@cs.utexas.edu Syed Hamid Tirmizi – hamid@cs.utexas.edu hamid@cs.utexas.edu.

SQL Databases are a Moving SQL Databases are a Moving TargetTarget

Juan F. Sequeda – Juan F. Sequeda – [email protected]@cs.utexas.edu

Syed Hamid Tirmizi – Syed Hamid Tirmizi – [email protected]@cs.utexas.edu

Daniel P. Miranker – Daniel P. Miranker – [email protected]@cs.utexas.edu

Department of Computer SciencesDepartment of Computer Sciences

The University of Texas at AustinThe University of Texas at Austin

Page 2: SQL Databases are a Moving Target Juan F. Sequeda – jsequeda@cs.utexas.edu jsequeda@cs.utexas.edu Syed Hamid Tirmizi – hamid@cs.utexas.edu hamid@cs.utexas.edu.

2

My favorite slideMy favorite slide

DATABASES

SEMANTIC WEB

Page 3: SQL Databases are a Moving Target Juan F. Sequeda – jsequeda@cs.utexas.edu jsequeda@cs.utexas.edu Syed Hamid Tirmizi – hamid@cs.utexas.edu hamid@cs.utexas.edu.

3

The Semantic Web VisionThe Semantic Web Vision

DB

Localontology

DB

Localontology

DB

Localontology

Semantic Query Engine

User Layer: Users and agents interact with this layer and query the ontologies

Ontology Layer: defines the semantic representation of RDB. Inference

Database Layer: Data that needs to accessed semantically

Page 4: SQL Databases are a Moving Target Juan F. Sequeda – jsequeda@cs.utexas.edu jsequeda@cs.utexas.edu Syed Hamid Tirmizi – hamid@cs.utexas.edu hamid@cs.utexas.edu.

4

So what should be done?So what should be done?

• Make it easy for existing databases to generate Semantic Web content.

Research Problem(s):

Generate Ontologies from Database Content• (many systems already make RDF from database

data)• Mapping database restrictions to OWL

– People don’t live past 120 years old• Mining database content for additional domain

knowledge– Professors earn more than teaching assistants

Page 5: SQL Databases are a Moving Target Juan F. Sequeda – jsequeda@cs.utexas.edu jsequeda@cs.utexas.edu Syed Hamid Tirmizi – hamid@cs.utexas.edu hamid@cs.utexas.edu.

5

Finally: Can the Semantic Web Work?Finally: Can the Semantic Web Work?

DB

Localontology

DB

Localontology

DB

Localontology

Semantic Query Engine

• We see a big problem:– Who builds this?– Who generates

thesemappings?

Page 6: SQL Databases are a Moving Target Juan F. Sequeda – jsequeda@cs.utexas.edu jsequeda@cs.utexas.edu Syed Hamid Tirmizi – hamid@cs.utexas.edu hamid@cs.utexas.edu.

6

The Semantic Web VisionThe Semantic Web Vision

Localontology

TableContent

DBSchema/Metadata

generate

translate

SQL-query

RDF

Semantic WebQuery Engines

Page 7: SQL Databases are a Moving Target Juan F. Sequeda – jsequeda@cs.utexas.edu jsequeda@cs.utexas.edu Syed Hamid Tirmizi – hamid@cs.utexas.edu hamid@cs.utexas.edu.

7

Our PositionOur Position

•SQL has semantics– SQL has been evolving it is a moving

target!– SQL DDL can be used to generate local

ontologies– A Greatest Common Denominator like

OWL-DL can aid with data integration

Page 8: SQL Databases are a Moving Target Juan F. Sequeda – jsequeda@cs.utexas.edu jsequeda@cs.utexas.edu Syed Hamid Tirmizi – hamid@cs.utexas.edu hamid@cs.utexas.edu.

8

Why are SQL Databases Moving Why are SQL Databases Moving Targets?Targets?• In the beginning we had… Relational

ModelStudent(Juan, 22)

• SQL86-89 came out with Table DefinitionsCREATE TABLE employee (

name VARCHAR(100), age INTEGER)

• SQL92 added data integrity ConstraintsCHECK, PRIMARY KEY, FOREIGN KEY, UNIQUE

• SQL99 added Triggers

Page 9: SQL Databases are a Moving Target Juan F. Sequeda – jsequeda@cs.utexas.edu jsequeda@cs.utexas.edu Syed Hamid Tirmizi – hamid@cs.utexas.edu hamid@cs.utexas.edu.

9

SQL DDL to OntologiesSQL DDL to Ontologies

• Requirements– To create the ontology automatically, we need

to compare the technologies– We need to identify constructs with similar

semantics

• Analysis– Our analysis leads to a layer cake for SQL with

corresponding layers in the Semantic Web stack

• Implementation – We express our transformations as FOL and

use SQL BNF as a guideline for completeness.

Page 10: SQL Databases are a Moving Target Juan F. Sequeda – jsequeda@cs.utexas.edu jsequeda@cs.utexas.edu Syed Hamid Tirmizi – hamid@cs.utexas.edu hamid@cs.utexas.edu.

10

Relational Model to RDFRelational Model to RDF

• Relational Model– Employee(name, age)– T1: Employee (Juan, 21)

• RDF<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-

syntax-ns#"xmlns:ex="http://www.example.com/#">

<rdf:Description rdf:about="http://www.example.com/employee">

<ex:name>Juan</ex:name><ex:age>21</ex:age>

</rdf:Description></rdf:RDF>

Page 11: SQL Databases are a Moving Target Juan F. Sequeda – jsequeda@cs.utexas.edu jsequeda@cs.utexas.edu Syed Hamid Tirmizi – hamid@cs.utexas.edu hamid@cs.utexas.edu.

11

Table Definition to RDFSTable Definition to RDFS

• Table DefinitionCREATE TABLE employee (

name VARCHAR(100), age INTEGER)

• RDFS

Page 12: SQL Databases are a Moving Target Juan F. Sequeda – jsequeda@cs.utexas.edu jsequeda@cs.utexas.edu Syed Hamid Tirmizi – hamid@cs.utexas.edu hamid@cs.utexas.edu.

12

Table Definition to RDFSTable Definition to RDFS<?xml version="1.0"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">

<rdfs:Class rdf:ID="employee"><rdfs:comment>Employee</rdfs:comment><rdfs:subClassOf

rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax- ns#Resource"/></rdfs:Class>

<rdf:Property rdf:ID="name"><rdfs:comment>Name of Employee</rdfs:comment><rdfs:domain rdf:resource="#employee"/><rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-

syntax-ns#Literal"/></rdf:Property>

<rdf:Property rdf:ID="age"><rdfs:comment>Age of Employee</rdfs:comment><rdfs:domain rdf:resource="#employee"/><rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-

syntax-ns#Literal"/></rdf:Property>

</rdf:RDF>

Table Name

Attributes

Data type

Page 13: SQL Databases are a Moving Target Juan F. Sequeda – jsequeda@cs.utexas.edu jsequeda@cs.utexas.edu Syed Hamid Tirmizi – hamid@cs.utexas.edu hamid@cs.utexas.edu.

13

SQL to RDFSSQL to RDFS

• Tables rdfs:Class• Columns rdf:Property

– Table rdfs:Domain– Datatype rdfs:Range

• Foreign Keys rdf:Property – Table rdfs:Domain– Referencing Table rdfs:Range

Page 14: SQL Databases are a Moving Target Juan F. Sequeda – jsequeda@cs.utexas.edu jsequeda@cs.utexas.edu Syed Hamid Tirmizi – hamid@cs.utexas.edu hamid@cs.utexas.edu.

14

SQL to RDFSSQL to RDFS

SQL BNF Shared Semantics

rdfs:Class<table definition> ::= CREATE [ <table scope> ] TABLE <table name> <table contents source> [ … ]

Tables are equivalent to

classes

rdf:Propertyrdfs:domainrdfs:range

<column definition> ::= <column name> <data type> [NOT NULL] [...]

Attributes become

properties having the

domain as the current table

and the range as the datatype.

rdf:Propertyrdfs:domainrdfs:range

<referential constraint definition>::= FOREIGN KEY <left paren> <referencing columns> <right paren> REFERENCES <referenced table and columns> [...]

Foreign Keys are relationships

Page 15: SQL Databases are a Moving Target Juan F. Sequeda – jsequeda@cs.utexas.edu jsequeda@cs.utexas.edu Syed Hamid Tirmizi – hamid@cs.utexas.edu hamid@cs.utexas.edu.

15

SQL to OWLSQL to OWL

CREATE TABLE employee(employee_id INTEGER PRIMARY KEY,employee_ssn VARCHAR(11) UNIQUE,employee_name VARCHAR(100) NOT NULL,employee_salary INTEGER NOT NULL,employee_type CHAR(8) CHECK ( employee_type IN

('TEMP', 'FULLTIME', 'CONTRACT'))dept INTEGER FOREIGN KEY (dept) REFERENCES

department (dept_id))

CREATE TABLE department(dept_id INTEGER PRIMARY KEY,dept_name VARCHAR(100) NOT NULL,manager INTEGER FOREIGN KEY (manager) REFERENCES

employee (employee_id))

Page 16: SQL Databases are a Moving Target Juan F. Sequeda – jsequeda@cs.utexas.edu jsequeda@cs.utexas.edu Syed Hamid Tirmizi – hamid@cs.utexas.edu hamid@cs.utexas.edu.

16

SQL to OWLSQL to OWL

<owl:Class rdf:ID="Department"/>

<owl:ObjectProperty rdf:ID="dept"><rdfs:domain rdf:resource="#Employee"/><rdfs:range rdf:resource="#Department"/>

</owl:ObjectProperty>

<owl:DatatypeProperty rdf:ID="age"><rdf:type rdf:resource="&owl;FunctionalProperty"/><rdfs:domain rdf:resource="#Employee"/><rdfs:range rdf:resource="&xsd;int"/>

</owl:DatatypeProperty>

Table Name

Foreign Key

Attribute

Data type

Page 17: SQL Databases are a Moving Target Juan F. Sequeda – jsequeda@cs.utexas.edu jsequeda@cs.utexas.edu Syed Hamid Tirmizi – hamid@cs.utexas.edu hamid@cs.utexas.edu.

17

SQL to OWLSQL to OWL<owl:DatatypeProperty rdf:ID="employee_type"> <rdfs:domain rdf:resource="#Employee"/> <rdfs:range>

<owl:DataRange> <owl:oneOf> <rdf:List> <rdf:first rdf:datatype="&xsd;string">Temp</rdf:first>

<rdf:rest> <rdf:List> <rdf:first

rdf:datatype="&xsd;string">Fulltime</rdf:first> <rdf:rest> <rdf:List> <rdf:first

rdf:datatype="&xsd;string">Contract</rdf:first> <rdf:rest rdf:resource="&rdf;nil"/> </rdf:List> </rdf:rest> </rdf:List> </rdf:rest> </rdf:List> </owl:oneOf> </owl:DataRange> </rdfs:range></owl:DatatypeProperty>

Enumerated CheckConstraint

Page 18: SQL Databases are a Moving Target Juan F. Sequeda – jsequeda@cs.utexas.edu jsequeda@cs.utexas.edu Syed Hamid Tirmizi – hamid@cs.utexas.edu hamid@cs.utexas.edu.

18

SQL to OWLSQL to OWLSQL BNF Shared Semantics

owl:Classowl:ObjectProperty

<table definition>    ::=    CREATE [ <table scope> ] TABLE <table name> <table contents source> [...]

A table can be an Object Property if acts like a binary relation, or else it is a Class

owl:oneOf <check constraint definition>    ::=   CHECK <left paren> <search condition> <right paren>

<in predicate>    ::=   <row value expression> [ NOT ] IN <in predicate value>

The enumerated check constraint represents owl:oneOf

owl:DatatypePropertyowl:FunctionalProperty

owl:maxCardinalityowl:cardinlity

<column definition>    ::=     <column name> <data type> [NOT NULL] [...]

An attribute is equivalent to a Datatype Property with their domain and range. Depending if the attribute is NOT NULL or not, it can have owl:maxCardinality or owl:cardinality.

owl:ObjectProperty rdfs:domainrdfs:range

owl:FunctionalProperty

<referential constraint definition>    ::=       FOREIGN KEY <left paren> <referencing columns> <right paren>        REFERENCES <referenced table and columns> [...]

Foreign Keys connect to relations, therefore they act as Object Properties with their respective domain and range.

Page 19: SQL Databases are a Moving Target Juan F. Sequeda – jsequeda@cs.utexas.edu jsequeda@cs.utexas.edu Syed Hamid Tirmizi – hamid@cs.utexas.edu hamid@cs.utexas.edu.

19

Rules: SQL to OWLRules: SQL to OWL

• Binary Relation: a relation that only has two foreign keys (single or composite) referencing two relations.

),,(Re),(),,,(),,,()(Re tsrlBinxsrxtryryAttrsxsrxsrFKtxtrxtrFKrl

• Class: A relation that is not a binary relation is a class.

)(),,(Re)(Re rClassyxrlBinrl • Object Property

– A binary relation is an object property

– A foreign key that references another relation is an object property, whose domain is the current relation and range is the relation that the foreign key references

),(),,(),,()()(),,(Re rrInvstrObjPtsrObjPtClasssClasstsrlBin

),()(),,()(),,()()()(),,,(),(

)(),,()()(),,,(),(

xxInvxFuncPrsxObjPxFuncPsrxObjPsClassrClassxUnisyrxFKsyPK

xFuncPsrxObjPsClassrClasssyrxFKsyPK

Page 20: SQL Databases are a Moving Target Juan F. Sequeda – jsequeda@cs.utexas.edu jsequeda@cs.utexas.edu Syed Hamid Tirmizi – hamid@cs.utexas.edu hamid@cs.utexas.edu.

20

Rules: SQL to OWLRules: SQL to OWL

• Data type Property: If an attribute is not an object property, then it is a data type property. Its domain is the current relation and the range is the data type.

)1,()())()(,,()(),,,(),()()(Re

)1,()())(,,()(),,,(),()()(Re

)1,()())(,,(),,,(),()()(Re

xMaxCardxFuncPxlistxtyperxDTPxCheckListzyrxFKrxAttrrClassrl

xCardxFuncPxtyperxDTPxNNzyrxFKrxAttrrClassrl

xMaxCardxFuncPxtyperxDTPzyrxFKrxAttrrClassrl

Page 21: SQL Databases are a Moving Target Juan F. Sequeda – jsequeda@cs.utexas.edu jsequeda@cs.utexas.edu Syed Hamid Tirmizi – hamid@cs.utexas.edu hamid@cs.utexas.edu.

21

SQL to RulesSQL to Rules

• Triggers are business rules and it can not be expressed in OWL

• Should think about how this could be mapped to the rule layer of the Semantic Web

And the final layer cake…

Page 22: SQL Databases are a Moving Target Juan F. Sequeda – jsequeda@cs.utexas.edu jsequeda@cs.utexas.edu Syed Hamid Tirmizi – hamid@cs.utexas.edu hamid@cs.utexas.edu.

22

SQL Layer CakeSQL Layer Cake

Page 23: SQL Databases are a Moving Target Juan F. Sequeda – jsequeda@cs.utexas.edu jsequeda@cs.utexas.edu Syed Hamid Tirmizi – hamid@cs.utexas.edu hamid@cs.utexas.edu.

23

Greatest Common Denominator for Data Greatest Common Denominator for Data IntegrationIntegration• All ontologies generated by SQL should

have similar semantic power to facilitate better data integration– Use of different technologies may cause

problems in data integration– The constructs we use has OWL-DL as GCD

• OWL-DL is what SW people like the most.– Reasoning and Inference– Decidability– Computational Completeness

• Therefore OWL-DL should be the target for SQL to Semantic Web transformations.

Page 24: SQL Databases are a Moving Target Juan F. Sequeda – jsequeda@cs.utexas.edu jsequeda@cs.utexas.edu Syed Hamid Tirmizi – hamid@cs.utexas.edu hamid@cs.utexas.edu.

24

Page 25: SQL Databases are a Moving Target Juan F. Sequeda – jsequeda@cs.utexas.edu jsequeda@cs.utexas.edu Syed Hamid Tirmizi – hamid@cs.utexas.edu hamid@cs.utexas.edu.

25

SummarySummary

•SQL has semantics– SQL has been evolving it is a moving

target!– SQL DDL can be used to generate local

ontologies– A Greatest Common Denominator like

OWL-DL can aid with data integration

Page 26: SQL Databases are a Moving Target Juan F. Sequeda – jsequeda@cs.utexas.edu jsequeda@cs.utexas.edu Syed Hamid Tirmizi – hamid@cs.utexas.edu hamid@cs.utexas.edu.

26

Thank YouThank You

Page 27: SQL Databases are a Moving Target Juan F. Sequeda – jsequeda@cs.utexas.edu jsequeda@cs.utexas.edu Syed Hamid Tirmizi – hamid@cs.utexas.edu hamid@cs.utexas.edu.

27

Other Slides…Other Slides…

Page 28: SQL Databases are a Moving Target Juan F. Sequeda – jsequeda@cs.utexas.edu jsequeda@cs.utexas.edu Syed Hamid Tirmizi – hamid@cs.utexas.edu hamid@cs.utexas.edu.

28

Discussion TopicsDiscussion Topics

• Hierarchy and Inheritance– SQL DDL doesn’t have it– How do database people model it– Not clear how to get the semantics

• CHECK Constraint– Has more semantics that OWL can handle– CHECK (value >0 AND value < 360)

• OWL Constraints– allValuesFrom

someValuesFrom

• URI

Page 29: SQL Databases are a Moving Target Juan F. Sequeda – jsequeda@cs.utexas.edu jsequeda@cs.utexas.edu Syed Hamid Tirmizi – hamid@cs.utexas.edu hamid@cs.utexas.edu.

29

Discussion Topics: Discussion Topics: Hierarchy and Hierarchy and InheritanceInheritance• Hierarchy and Inheritance

– Integrate information that is spread across several relations (vertical partitioning) and can be either

• Integrated in one concept• Inheritance

But how do you decide!– Key Equality and Data Inclusion: two relations

that share the same primary key and the child relation’s primary key is also a foreign key

PK PK, FK

ProjectSoftwareProject

Page 30: SQL Databases are a Moving Target Juan F. Sequeda – jsequeda@cs.utexas.edu jsequeda@cs.utexas.edu Syed Hamid Tirmizi – hamid@cs.utexas.edu hamid@cs.utexas.edu.

30

Discussion Topics: Discussion Topics: Hierarchy and Hierarchy and InheritanceInheritance• How do you represent Hierarchy and

Inheritance in database?– Hierarchy: Hand - Finger

PK FK

Hand Finger

– Inheritance: Person - Student

PK PK

Person Student

PK, FK

?

Page 31: SQL Databases are a Moving Target Juan F. Sequeda – jsequeda@cs.utexas.edu jsequeda@cs.utexas.edu Syed Hamid Tirmizi – hamid@cs.utexas.edu hamid@cs.utexas.edu.

31

Discussion Topics: Discussion Topics: someValuesFrom vs someValuesFrom vs allValuesFromallValuesFrom

A(id, x) B(id, y) C(A_id, B_id)

• Can we say that A and B are classes? Yes• Can we say that C represents an object

property? Yes• Can we say that B can only be connected

to A using the object property? ¿?• Can we say anything about the cardinality

of this relation? ¿?

Page 32: SQL Databases are a Moving Target Juan F. Sequeda – jsequeda@cs.utexas.edu jsequeda@cs.utexas.edu Syed Hamid Tirmizi – hamid@cs.utexas.edu hamid@cs.utexas.edu.

32

Discussion Topics: Discussion Topics: CHECK ConstraintCHECK Constraint

• Embodies semantics and rules at the same time

• Enumerated CHECK constraint owl:one of

• But what about:– CHECK (value >0 AND value < 360)

Page 33: SQL Databases are a Moving Target Juan F. Sequeda – jsequeda@cs.utexas.edu jsequeda@cs.utexas.edu Syed Hamid Tirmizi – hamid@cs.utexas.edu hamid@cs.utexas.edu.

33

Translation BNF: SQL to OWLTranslation BNF: SQL to OWL

<sql-owl statement> ::= <class defintion> <property table>| <object property definition>

<class definition> ::= CREATE TABLE <table name>

<object property definition> :: = <object definition> <object property table>

<object definition> ::= CREATE TABLE <table name>

<object property table> ::= <left paren> <object property references> <object property references> <right paren>

<property table>::= <left paren> <property> [ { <comma> <property}...]

<property> ::= <object property>|<datatype property>