integrating databases into the semantic web through an ontology based framework n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Integrating Databases into the Semantic Web through an Ontology-based Framework PowerPoint Presentation
Download Presentation
Integrating Databases into the Semantic Web through an Ontology-based Framework

Loading in 2 Seconds...

play fullscreen
1 / 34

Integrating Databases into the Semantic Web through an Ontology-based Framework - PowerPoint PPT Presentation


  • 98 Views
  • Uploaded on

Integrating Databases into the Semantic Web through an Ontology-based Framework. Dejing Dou , Paea LePendu, Shiwoong Kim Computer and Information Science, University of Oregon, USA Peishen Qi Computer Science Department, Yale University, USA April, 2006 @ SWDB’06. Outline. Introduction

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Integrating Databases into the Semantic Web through an Ontology-based Framework' - sheila


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
integrating databases into the semantic web through an ontology based framework

Integrating Databases into the Semantic Web through an Ontology-based Framework

Dejing Dou, Paea LePendu, Shiwoong Kim

Computer and Information Science, University of Oregon, USA

Peishen Qi

Computer Science Department, Yale University, USA

April, 2006 @ SWDB’06

outline
Outline
  • Introduction
    • The status of the Semantic Web
    • Realizing SW needs existing databases
  • OntoGrate: An Ontology-based Information Integration Framework
    • Some previous work
    • Modules in OntoGrate Architecture
  • Case Study for integrating Databases into SW
    • Without an existing domain ontology
    • With an existing domain ontology
  • Conclusion and Future Work
the semantic web
The Semantic Web
  • One major goal of the Semantic Web is that web-based agents can process and “understand” data [Berners-Lee etal01].
  • Ontologies formally describe the semantics of data and web-based agents can take SW documents (e.g. in RDF/OWL) as a set of assertions (true statements) and draw inferences from them.

Web-based agents

human

SW

what we have now
What we have now?
  • DAML+OIL  OWL (Web ontology language)
  • More and more domain ontologies are defined in DAML+OIL/OWL, even for some specific domains (e.g., GO)
  • We are developing some tools, agents, services

See http://www.semwebcentral.org, http://knowledgeweb.semanticweb.org/ http://www.daml.org/

two things are important
Two things are important
  • Real Data for sharing
    • relational databases (may be the biggest resource)
    • Other kinds of databases
    • WWW/XML data
    • Some knowledge bases
  • Better Semantic Web Services/Agents
semantic annotation for data
Semantic Annotation for Data?
  • It is good for small size data resources
  • It is not that good for large size data resources (relational databases)
    • “Redundant” copies
    • Time consuming for query answering.
      • E.g. it currently works as loading OWL data into a knowledge base then answering queries with DL ABox reasoning. (Can it compete with existing DBMS which has well developed indexing and query optimization techniques?)
  • It is better that relational databases can be accessed/queried directly by SW agents/services
the difficulties
The difficulties

The Semantic Web

The Relational DBs

Ontologies define the semantics of data

Schemas define the structure and integrity constraints

a more general question
A more general question
  • How can we make databases, SW resources, WWW/XML data, KBs work together?
  • The problem is similar
    • SW resources and KBs are defined by ontologies, which are more expressive and focus on semantics
    • Databases and XML documents are defined by schemas, which focus on structure
    • Syntax difference (e.g., OWL vs. SQL)
some previous work
Some Previous Work
  • Schemas (e.g., stores7 DB in IBM informix),
some previous work1
Some Previous Work
  • Schemas, Ontologies and Web-PDDL

Relation  Type/Class

Attribute  Predicate/Property

Integrity Constrain  Axiom/Rule

Primary Key  Fact/Instance

some previous work2
Some Previous Work
  • Merging Ontologies with Bridging Axioms
some previous work3
Some Previous Work
  • The Bridge Axiom/mapping on

customerfname/customerlname

vs.

customercontactname :

(forall (c - @stores7:Customer f l - @sql:varchar)

(if (and (@stores7:customerfname c f)

(@stores7:customerlname c l))

(@nwind:customercontactname c

(@sql:concat f l))))

some previous work4
Some Previous Work
  • The Bridge Axiom/mapping on

customerregion

vs.

customerstatecode/statename/statecode :

(forall (x - @nwind:Customer y - @sql:varchar)

(if (@nwind:customerregion x y)

(exists (z - @stores7:State t - @sql:varchar)

(and (@stores7:customerstatecode x t)

(@stores7:statename z y)

(@stores7:statecode z t)))))

some previous work5
Some Previous Work
  • Inferential Data Integration with OntoEngine
    • Data Translation:

View data as true statements, e.g., (statecode S#28 “OR”)

(Ms_t; s) D t only if (Ms_t; s) ╞t

(Ms_t; s) D t  (Ms_t; s) ├ t(Ms_t; s) ╞ t

    • Query Translation:

(Ms_t; s) Q t only if (Ms_t;  (t)) ╞  (s)

(Ms_t; s) Q t (Ms_t;  (t)) ├ (s)

(Ms_t;  (t)) ╞  (s)

modules in ontograte architecture
Modules in OntoGrate Architecture
  • The Syntax Translators (Wrappers)
    • e.g., PDDSQL (SQLWeb-PDDL),

PDDOWL(OWL Web-PDDL)

  • The Matching (correspondence) Generation
    • e.g., name, structure (tree, graph) similarity,synonyms and is-a (part of) relationships using thesauri and dictionary, such as Wordnet
  • The Data Mining Module
  • The Machine Learning Module
  • The Inference Engine (OntoEngine)
  • The User Interface
learning the mappings from domain experts
Learning the mappings from domain experts

(forall (x - @A1:Invertebrate)

(if (is @A1:Insect x)

(and (@A2:legs x 6)

(@A2:bodySegments x 3))))

mining the mappings from large datasets
Mining the mappings from large datasets
  • For example, two Medical databases in the same hospital: DB1 list blood pressure of patients with nominal values, such as low, normal, at risk, and high, while the other DB2 may record the exact numerical values for systolic and diastolic pressure.
  • By association rule mining, we may get the rule/mapping like:
  • @DB2:SystolicPressure  140  @DB2:DiastolicPressure  90
  • @DB2:BloodPressure = `High‘

(support = 40%, confidence = 90%)

case study in two scenarios
Case Study in Two Scenarios
  • Integrating DBs into SW without an existing domain ontology
  • Integrating DBs into SW with an existing domain ontology
generating owl ontologies from db schemas
Generating OWL ontologies from DB Schemas
  • SQL schema  Web-PDDL (by using PDDSQL)
  • Web-PDDL  OWL (by using PDDOWL)
    • E.g., Stores7.sql  Stores7.pddl  Stores7.owl

...

<owl:Class rdf:ID="Customer">

<rdfs:subClassOf

rdf:resource=“http://www.cs.uoregon.edu/~paea/sql#Relation"/>

</owl:Class>

<owl:DatatypeProperty rdf:ID="customercity">

<rdfs:domain rdf:resource="#Customer"/>

<rdfs:range rdf:resource="#String"/>

</owl:DatatypeProperty>

...

an owl ql query based on stores7 owl
An OWL-QL query based on Stores7.owl
  • <owl-ql:query xmlns:owl-ql=“http://www.w3.org/2003/10/owl-ql-syntax#"...>

<owl-ql:premise>

<rdf:RDF>

<rdf:Description rdf:about="#C">

<rdf:type rdf:resource="#Customer"/>

<customercity rdf:resource="#Eugene"/>

</rdf:Description>

</rdf:RDF>

</owl-ql:premise>

<owl-ql:queryPattern>

<rdf:RDF>

<rdf:Description rdf:about="#C">

<customerfname rdf:resource="http://www.w3.org/2003/10/owl-ql-variables #x"/>

<customerlname rdf:resource=" http://www.w3.org/2003/10/owl-ql-variables##y"/>

</rdf:Description>

</rdf:RDF>

</owl-ql:queryPattern>

<owl-ql:answerKBPattern>

<owl-ql:kbRef rdf:resource="...stores7.owl"/>…

the corresponding web pddl and sql queries
The corresponding Web-PDDL and SQL queries

PDDOWL

(and (customercity ?C - Customer "Eugene")

(customerfname ?C - Customer ?x - String)

(customerlname ?C - Customer ?y - String))

PDDSQL

SELECT C.customerfname, C.customerlname

FROM Customer C

WHERE C.customercity = "Eugene"

getting answers from stores7 db

(1000/100,000/3secs)

Getting Answers from Stores7 DB

{?x/Paea, ?y/LePendu}

{?x/Dejing, ?y/Dou}

{?x/Shiwoong, ?y/Kim}

PDDSQL

<owl-ql:answerBundle

xmlns:owl-ql=" http://www.w3.org/2003/10/ owl-ql-syntax#" ...>

<owl-ql:answer>

<owl-ql:binding-set>

<var:x rdf:resource="#Paea"/>

<var:y rdf:resource="#LePendu"/>

</owl-ql:binding-set>

<owl-ql:answerPatternInstance>

<rdf:RDF>

<rdf:Description rdf:about="#C">

<customerfname rdf:resource="#Paea"/>

PDDOWL

(1000 bindings/3 secs)

with an existing domain ontology
With an existing domain ontology

Order ontology: http://www.dayf.de/2004/owl/order.owl

an owl ql query based on order owl
An OWL-QL query based on order.owl
  • <owl-ql:query xmlns:owl-ql=“http://www.w3.org/2003/10/owl-ql-syntax#"...>

<owl-ql:premise>

<rdf:RDF>

<<rdf:type rdf:resource="#Person"/>

<hasAddress rdf:resource="#A"/>

</rdf:Description>

<rdf:Description rdf:about="#A">

<rdf:type rdf:resource="#Address"/>

<City rdf:resource="#Eugene"/>

</rdf:Description>

</rdf:Description>

</rdf:RDF>

<owl-ql:queryPattern>

<rdf:RDF>

<rdf:Description rdf:about="#C">

<FirstName rdf:resource="http://www.w3.org/2003/10/owl-ql-variables #x"/>

<LastNname rdf:resource=" http://www.w3.org/2003/10/owl-ql-variables##y"/>

<owl-ql:kbRef rdf:resource=" http://www.dayf.de/2004/owl/order.owl"/>…

the bridging axioms mappings between stores7 pddl and order pddl
The Bridging Axioms/Mappings between Stores7.pddl and Order.pddl

(T-> @stores7:Customer @order:Person)

(forall (P - @order:Person A - @order:Address z - String)

(if (and (@order:hasAddress P A)

(@order:City A z))

(@stores7:customercity P z)))

(forall (C - @stores7:Customer z - String)

(if (@stores7:customercity P z)

(exists (A - @order:Address)

(and (@order:hasAddress P A)

(@order:City A z)))))

the bridging axioms mappings between stores7 pddl and order pddl1
The Bridging Axioms/Mappings between Stores7.pddl and Order.pddl

(T-> @stores7:Customer @order:Person)

(forall (C - @stores7:Customer x - String)

(iff (@stores7:customerfname C x)

(@order:FirstName C x)))

(forall (C - @stores7:Customer y - String)

(iff (@stores7:customerlname C y)

(@order:LastName C y)))

the query translation between stores7 and order
The Query Translation between Stores7 and Order

OWL-QL query in order.owl

PDDOWL

(and (hasAddress ?C - Person ?A - Address)

(City ?A "Eugene")

(FirstName ?C - Person ?x - String)

(LastName ?C - Person ?y - String))

Bridging Axioms

OntoEngine ( < 1 sec)

(and (customercity ?C - Customer "Eugene")

(customerfname ?C - Customer ?x - String)

(customerlname ?C - Customer ?y - String))

final answers in the order ontology
Final Answers in the order ontology

(customerfname C1 Paea)

(customerlname C2 LePendu)

(customerfname C1 Dejing)

PDDSQL

Bridging Axioms

<owl-ql:answer>

<owl-ql:binding-set>

<var:x rdf:resource="#Paea"/>

<var:y rdf:resource="#LePendu"/>

</owl-ql:binding-set>

<owl-ql:answerPatternInstance>

<rdf:RDF>

<rdf:Description rdf:about="#C">

<FirstName rdf:resource="#Paea"/>

<LastName rdf:resource="#LePendu"/>

OntoEngine (40,000facts/30 secs)

(FirstName C1 Paea)

(LastName C2 LePendu)

(FirstName C1 Dejing)

PDDOWL (10,000 facts/11 secs)

some related work
Some related work
  • Semantic Annotation
    • [Stojanovic etal@SAC02] maps relational model to frame logic/RDF.
    • DOGMA[Verheyden etal@SWDB04] translates a ontology query to SQL
  • Schema and Ontology mapping
    • Similarity matching, machine learning… useful for generating candidate matchings
    • Semi-automatic tool (Clio)
  • Data integration and query answering
    • Federated databases[Sheth&Larson 90], data warehouse, peer to peer management [Halevy etal@ICDE03] , MiniCon [PottingerLevy@VLDB00] uses query rewriteing at GLV
  • Logic and Databases
    • Reiter’s reconstruction of relational model in FOL.
    • Carnot, SIMS, Information Manifold by using a global ontology, DL or Datalog
conclusion and future work
Conclusion and Future work
  • We applied OntoGrate, an ontology-based information integration framework, to integrate relational databases with the Semantic Web. The testing result based on two scenarios is promising.
  • We are developing other modules (e.g., learning/mapping/UI) in OntoGrate.
  • The scalability and efficiency need to be investigated in larger-size data resources.
  • Extending the current work to integrate XML (with/without XML schemas or DTD) and the Semantic Web.