Ontology-based Cooperation of Information Systems Contributions to Database-to-Ontology Mapping and XML-to-Ontology Mappin...
Outline <ul><li>Introduction </li></ul><ul><li>State of the Art </li></ul><ul><li>OWSCIS System </li></ul><ul><li>Database...
Introduction <ul><li>Cooperation of Information Systems: </li></ul>source source source query answer Share, combine and ex...
Introduction Heterogeneity structural syntactic system semantic scaling & units naming language model schema representatio...
State of the Art - Approaches <ul><li>Semantic Approaches </li></ul>Federation Mediation Source 1  Source 2  Source 1  Sou...
State of the Art –  Ontologies <ul><li>Ontologies </li></ul><ul><ul><li>promised technology to solve the semantic heteroge...
Ontology-based Cooperation of Information Systems <ul><li>Features </li></ul><ul><ul><li>Information Sources (RDBs, XML, …...
Objectives of the Work <ul><li>Propose an architecture for cooperation of information sources </li></ul><ul><ul><li>Taking...
Our Proposal: OWSCIS <ul><li>Support RDBs and XML </li></ul><ul><li>Hybrid Ontology Approach </li></ul><ul><li>OWL languag...
OWSCIS Architecture Global Ontology Mapping Directory Knowledge Base Module End  User Querying Web Service Results Recompo...
<ul><li>Database-to-Ontology Mapping </li></ul><ul><ul><li>Mapping Specification  </li></ul></ul><ul><ul><li>Mapping Proce...
<ul><li>Database-to-Ontology Mapping </li></ul><ul><ul><li>Mapping Specification  </li></ul></ul><ul><ul><li>Mapping Proce...
Database-to-Ontology Mapping Ontology Database Mappings Tables Columns Primary Keys ... Concepts Datatype Properties Objec...
Associations with SQL Statements <ul><li>Ontology components are associated with SQL statements </li></ul><ul><li>Concept ...
Associations with SQL Statements <ul><li>Object Property Association </li></ul><ul><ul><li>the SQL statement retrieves the...
Associations with SQL Statements <ul><li>Advantages </li></ul><ul><ul><li>simple and easy to edit </li></ul></ul><ul><ul><...
DOML Language <ul><li>Semantic bridges relate ontology components to database components </li></ul><ul><li>based on RDF  (...
DOML Language <ul><li>Concept bridge </li></ul><ul><ul><li>relates an ontology concept with a DB table </li></ul></ul><ul>...
DOML Language <ul><li>Datatype property bridge </li></ul><ul><ul><li>relates a datatype property with a DB column or trans...
DOML Language <ul><li>Advantages </li></ul><ul><ul><li>rich and powerfull  </li></ul></ul><ul><ul><ul><li>abstract descrip...
<ul><li>Database-to-Ontology Mapping </li></ul><ul><ul><li>Mapping Specification   </li></ul></ul><ul><ul><li>Mapping Proc...
Mapping Process Ontology Database Mapping  Document Metadata Rules Tables Columns Primary Keys ... Concepts Datatype Prope...
Particular  Table Cases <ul><li>Identification of the different particular table cases </li></ul><ul><li>Ontology componen...
Example DB Schema Case 1  (m-m relationship) Case 2  (1-1 relationship) Case 3  (others) studentId diplomaId studentNumber...
Rules for Ontology Generation Primary key Foreign key Integrity Constraint Database component Ontology component ... ... T...
presence-session presence-student module-diploma session-lecturer Person Hall Student Lecturer Diploma Module Session firs...
Generated Mappings using Associations with SQL Statements Concept Associations Datatype Property Associations Object Prope...
student-diploma-opb session-lecturer-opb person-cb ont:Person person student-cb ont:Student student lecturer-cb ont:Lectur...
<ul><li>Database-to-Ontology Mapping </li></ul><ul><ul><li>Mapping Specification   </li></ul></ul><ul><ul><li>Mapping Proc...
Query Processing sub-query local query Local Ontology Data Provider rewrite translate SQL  results SPARQL results reformul...
SPARQL-to-SQL Query Translation SPARQL query SQL query Ontology Database Mapping  Document Translation Associations with  ...
<ul><li>Database-to-Ontology Mapping </li></ul><ul><ul><li>Mapping Specification   </li></ul></ul><ul><ul><li>Mapping Proc...
SPARQL-to-SQL Translation using Associations with SQL Statements Mapping  document  SELECT variables SPARQL query SELECT F...
SPARQL-to-SQL Translation using Associations with SQL Statements presence-session presence-student module-diploma session-...
SPARQL-to-SQL Translation using Associations with SQL Statements SELECT  S1.RNG  AS  modName FROM  ( SELECT  Module.module...
SPARQL-to-SQL Translation using Associations with SQL Statements Generated SQL query Simplified SQL query SELECT  S1.RNG  ...
<ul><li>Database-to-Ontology Mapping </li></ul><ul><ul><li>Mapping Specification   </li></ul></ul><ul><ul><li>Mapping Proc...
SPARQL-to-SQL Translation using DOML Language DOML  mapping  document  SQL  results FILTERs SELECT variables Concept Bridg...
SPARQL-to-SQL Translation using DOML Language SELECT  ?name WHERE  { ?stud  a  ont:Student; ont:name  ?name; ont:studies-i...
SPARQL-to-SQL Translation using DOML Language <ul><li>Extract main components of the DOML mapping document </li></ul>1. Ma...
SPARQL-to-SQL Translation using DOML Language 2. Query Parsing SELECT variables = {  ?name  } FILTERs = {  (?deptName = &q...
SPARQL-to-SQL Translation using DOML Language <ul><li>Compute an auxiliary mapping between variables and concepts </li></u...
SPARQL-to-SQL Translation using DOML Language 4. Query Translation – Analysis of Mapping Bridges SELECT  ?name WHERE  { ?s...
SPARQL-to-SQL Translation using DOML Language 4. Query Translation – SELECT Construction SELECT  ?name WHERE  { ?stud  a  ...
SPARQL-to-SQL Translation using DOML Language 4. Query Translation – FILTER Translation  SELECT  ?name WHERE  { ?stud  a  ...
SPARQL-to-SQL Translation using DOML Language 4. Query Translation person.status=&quot;student&quot; person dept.deptName ...
Result Reformulation <sparql> <head> <variable name=&quot;fn&quot;/> <variable name=&quot;ln&quot;/> <variable name=&quot;...
<ul><li>Database-to-Ontology Mapping </li></ul><ul><ul><li>Mapping Specification  </li></ul></ul><ul><ul><li>Mapping Proce...
<ul><li>Database-to-Ontology Mapping </li></ul><ul><ul><li>Mapping Specification  </li></ul></ul><ul><ul><li>Mapping Proce...
<ul><li>Similar to DOML language </li></ul><ul><li>Semantic bridges relate ontology components to XML nodes ( expressed us...
<ul><li>Concept bridge </li></ul><ul><ul><li>relates an ontology concept with an  XML node </li></ul></ul><ul><ul><li>poss...
<ul><li>Object property bridge </li></ul><ul><ul><li>contains an object property </li></ul></ul><ul><ul><li>belongs to a c...
<ul><li>Database-to-Ontology Mapping </li></ul><ul><ul><li>Mapping Specification  </li></ul></ul><ul><ul><li>Mapping Proce...
XML-to-Ontology Mapping Process Ontology XML Schema Mapping  Document XSG Rules Types Elements Attributes ... Concepts Dat...
XML Schema Graph (XSG) PurchaseOrderType @ orderDate (anonymous) Address USAddress @ country @weightKg @shipBy purchaseOrd...
Rules for Ontology Generation object property MIXED restriction extention complex type element group attribute group conta...
hasItem hasItemDelivery hasShipTo hasBillTo Item PurchaseOrderType ItemDelivery USAddress ShipAndBill orderDate name stree...
Refinement <ul><li>Remove invalid mappings </li></ul><ul><ul><li>Reuse of types and elements within XML schema  </li></ul>...
Refinement – Use of Different Representations (anonymous) @orderid orderperson (anonymous) (anonymous) (anonymous) (anonym...
Refinement – Removing of Invalid Mappings <ul><li>Valid Mappings have valid XPaths with respect to XML document </li></ul>...
<ul><li>Database-to-Ontology Mapping </li></ul><ul><ul><li>Mapping Specification  </li></ul></ul><ul><ul><li>Mapping Proce...
SPARQL-to-XQuery Translation  SPARQL query XQuery query Ontology XML  Data Source Mapping  Document (XOML) Translation Dat...
SPARQL-to-XQuery Translation  XOML  mapping  document  SPARQL query XQuery  query SPARQL query results  XML format FILTERs...
SPARQL-to-XQuery Translation SELECT   ?date ?title WHERE  { ?ship  ont:date  ?date; ont:hasItem  ?item. ?item  ont:title  ...
SPARQL-to-XQuery Translation <ul><li>Extract main components of the XOML mapping document </li></ul>1. Mapping Document Pa...
SPARQL-to-XQuery Translation 2. Query Parsing SELECT variables = {  ?date, ?title  } FILTERs = { } <ul><li>Extract main co...
SPARQL-to-XQuery Translation 3. Preprocessing ?ship ~  /shipmentorder/shipments/shipment ?date ~ /shipmentorder/shipments/...
SPARQL-to-XQuery Translation <sparql> <head> <variable name=&quot;...&quot; /> ... </head> <results> { for   ... let   ......
SPARQL-to-XQuery Translation 4.  Building Target XQuery ?ship ~  /shipmentorder/shipments/shipment ?date ~ /shipmentorder/...
SPARQL-to-XQuery Translation 4.  Building Target XQuery Abbreviation of absolute XPath expressions into relative expressio...
SPARQL-to-XQuery Translation 4.  Building Target XQuery <sparql> <head> <variable name=&quot;date&quot; /> <variable name=...
SPARQL-to-XQuery Translation 4.  Building Target XQuery <sparql> <head> <variable name=&quot;date&quot;/> <variable name=&...
Implementation <ul><li>DB2OWL Tool </li></ul><ul><ul><li>generate ontology from DB </li></ul></ul><ul><ul><li>map a DB to ...
Conclusion and Contributions <ul><li>OWSCIS: Ontology-based framework for cooperation of information sources </li></ul><ul...
Publications <ul><li>Building Ontologies from XML Data Sources , Raji Ghawi and Nadine Cullot. 1st International Workshop ...
Future Works <ul><li>Make use of OWSCIS framework in real-world case study </li></ul><ul><li>Implementation </li></ul><ul>...
Thank you Merci
Upcoming SlideShare
Loading in …5
×

Ontology-based Cooperation of Information Systems

1,864 views

Published on

the slides of my PhD defense - March 2010

0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,864
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
138
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

Ontology-based Cooperation of Information Systems

  1. 1. Ontology-based Cooperation of Information Systems Contributions to Database-to-Ontology Mapping and XML-to-Ontology Mapping Raji GHAWI 15/03/2010
  2. 2. Outline <ul><li>Introduction </li></ul><ul><li>State of the Art </li></ul><ul><li>OWSCIS System </li></ul><ul><li>Database-to-Ontology Mapping </li></ul><ul><ul><li>Mapping Specification </li></ul></ul><ul><ul><li>Mapping Process </li></ul></ul><ul><ul><li>Query Translation </li></ul></ul><ul><li>XML-to-Ontology Mapping </li></ul><ul><ul><li>Mapping Specification </li></ul></ul><ul><ul><li>Mapping Process </li></ul></ul><ul><ul><li>Query Translation </li></ul></ul><ul><li>Conclusion </li></ul>
  3. 3. Introduction <ul><li>Cooperation of Information Systems: </li></ul>source source source query answer Share, combine and exchange information from distributed and heterogeneous sources in a transparent way to the end-users
  4. 4. Introduction Heterogeneity structural syntactic system semantic scaling & units naming language model schema representation hardware operating system synonymy homonymy
  5. 5. State of the Art - Approaches <ul><li>Semantic Approaches </li></ul>Federation Mediation Source 1 Source 2 Source 1 Source 2 Mediator Wrapper
  6. 6. State of the Art – Ontologies <ul><li>Ontologies </li></ul><ul><ul><li>promised technology to solve the semantic heterogeneity </li></ul></ul><ul><ul><li>explicit specification of a conceptualization </li></ul></ul><ul><ul><li>conceptual model for information sources </li></ul></ul><ul><li>Ontology-based cooperation of information systems </li></ul>
  7. 7. Ontology-based Cooperation of Information Systems <ul><li>Features </li></ul><ul><ul><li>Information Sources (RDBs, XML, …) </li></ul></ul><ul><ul><li>Ontology Use (Single, Multiple, Hybrid) </li></ul></ul><ul><ul><li>Representation Language (RDF/S, OWL) </li></ul></ul><ul><ul><li>Architecture Type (agent-based, wrapper-mediator) </li></ul></ul><ul><ul><li>… </li></ul></ul><ul><li>Existing Systems </li></ul><ul><ul><li>BUSTER, COIN, DOME, InfoSleuth, KRAFT, MOMIS, … </li></ul></ul>
  8. 8. Objectives of the Work <ul><li>Propose an architecture for cooperation of information sources </li></ul><ul><ul><li>Taking into account the semantics of information </li></ul></ul><ul><ul><ul><li>Ontologies </li></ul></ul></ul><ul><li>Specify methods and tools </li></ul><ul><ul><li>Allowing a transparent querying of the cooperation by users </li></ul></ul><ul><ul><ul><li>Mapping of information sources to ontologies </li></ul></ul></ul>
  9. 9. Our Proposal: OWSCIS <ul><li>Support RDBs and XML </li></ul><ul><li>Hybrid Ontology Approach </li></ul><ul><li>OWL language </li></ul><ul><li>Mediation-based Architecture </li></ul><ul><li>GAV approach at site level </li></ul><ul><li>LAV approach at global level </li></ul>O ntology & W eb S ervice based C ooperation of I nformation S ystems Global Ontology Local Ontologies Information Sources
  10. 10. OWSCIS Architecture Global Ontology Mapping Directory Knowledge Base Module End User Querying Web Service Results Recomposition Query Decomposition Visualization Web Service sub-queries partial results Relational database XML data source Data Providers DB2OWL X2OWL Local ontology Data Source to Local Ontology Mappings Local Ontology to Global Ontology Mappings Mapping Web Service
  11. 11. <ul><li>Database-to-Ontology Mapping </li></ul><ul><ul><li>Mapping Specification </li></ul></ul><ul><ul><li>Mapping Process </li></ul></ul><ul><ul><li>Query Translation </li></ul></ul><ul><li>XML-to-Ontology Mapping </li></ul><ul><ul><li>Mapping Specification </li></ul></ul><ul><ul><li>Mapping Process </li></ul></ul><ul><ul><li>Query Translation </li></ul></ul>Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  12. 12. <ul><li>Database-to-Ontology Mapping </li></ul><ul><ul><li>Mapping Specification </li></ul></ul><ul><ul><li>Mapping Process </li></ul></ul><ul><ul><li>Query Translation </li></ul></ul><ul><li>XML-to-Ontology Mapping </li></ul><ul><ul><li>Mapping Specification </li></ul></ul><ul><ul><li>Mapping Process </li></ul></ul><ul><ul><li>Query Translation </li></ul></ul>Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  13. 13. Database-to-Ontology Mapping Ontology Database Mappings Tables Columns Primary Keys ... Concepts Datatype Properties Object Properties ... <ul><li>Associations with SQL statements </li></ul><ul><li>DOML language </li></ul>Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  14. 14. Associations with SQL Statements <ul><li>Ontology components are associated with SQL statements </li></ul><ul><li>Concept Association </li></ul><ul><ul><li>the SQL statement retrieves the primary key of corresponding table </li></ul></ul>SELECT Paper.paperId AS DOM FROM Paper Paper Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation Paper C
  15. 15. Associations with SQL Statements <ul><li>Object Property Association </li></ul><ul><ul><li>the SQL statement retrieves the primary keys of tables corresponding to the domain and range concepts </li></ul></ul><ul><li>Datatype Property Association </li></ul><ul><ul><li>the SQL statement retrieves the primary key of table corresponding to the domain concept and the column of range value </li></ul></ul>SELECT Paper.paperId AS DOM, Publisher.publisherId AS RNG FROM Paper, Publisher WHERE Paper.publisher = Publisher.publisherId Paper Publisher Paper.publisher Publisher.publisherId SELECT Paper.paperId AS DOM, Paper.title AS RNG FROM Paper Paper Paper.title Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation publishedBy OP title DP
  16. 16. Associations with SQL Statements <ul><li>Advantages </li></ul><ul><ul><li>simple and easy to edit </li></ul></ul><ul><ul><li>directly exploited in query translation </li></ul></ul><ul><li>Drawbacks </li></ul><ul><ul><li>poor </li></ul></ul><ul><ul><ul><li>limited to SQL syntax </li></ul></ul></ul><ul><ul><ul><li>can not express 1-m mappings </li></ul></ul></ul>Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  17. 17. DOML Language <ul><li>Semantic bridges relate ontology components to database components </li></ul><ul><li>based on RDF (Resource Description Framework) </li></ul><ul><li>Combination of existing languages: </li></ul><ul><ul><li>D2RQ, R2O, Relational.OWL </li></ul></ul>D atabase to O ntology M apping L anguage Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  18. 18. DOML Language <ul><li>Concept bridge </li></ul><ul><ul><li>relates an ontology concept with a DB table </li></ul></ul><ul><ul><li>possibly, contains a condition </li></ul></ul><ul><li>Object property bridge </li></ul><ul><ul><li>relates an object property with a join of DB tables </li></ul></ul><ul><ul><li>belongs to a concept bridge (domain) </li></ul></ul><ul><ul><li>refers to another concept bridge (range ) </li></ul></ul><ul><ul><li>condition </li></ul></ul>student-cb ont:Student person person.status=&quot;student&quot; concept table condition works-for-opb ont:works-for employee-cb department-cb object property join domain concept bridge range concept bridge Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation emp.deptId = dept.deptId
  19. 19. DOML Language <ul><li>Datatype property bridge </li></ul><ul><ul><li>relates a datatype property with a DB column or transformation </li></ul></ul><ul><ul><li>belongs to a concept bridge (domain) </li></ul></ul><ul><ul><li>possibly, contains a condition </li></ul></ul>person-age-dpb ont:age person.age person-cb person-name-dpb ont:name CONCAT(person.firstName,person.LastName) person-cb datatype property column transformation domain concept bridge Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  20. 20. DOML Language <ul><li>Advantages </li></ul><ul><ul><li>rich and powerfull </li></ul></ul><ul><ul><ul><li>abstract description of DB schema </li></ul></ul></ul><ul><ul><ul><li>conditions and transformations </li></ul></ul></ul><ul><ul><ul><li>1-1, 1-m, m-1 and m-m mappings </li></ul></ul></ul><ul><ul><li>portable and extendable – based on RDF </li></ul></ul><ul><li>Drawbacks </li></ul><ul><ul><li>difficult to edit </li></ul></ul><ul><ul><li>can not directly be exploited in query translation </li></ul></ul>Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  21. 21. <ul><li>Database-to-Ontology Mapping </li></ul><ul><ul><li>Mapping Specification </li></ul></ul><ul><ul><li>Mapping Process </li></ul></ul><ul><ul><li>Query Translation </li></ul></ul><ul><li>XML-to-Ontology Mapping </li></ul><ul><ul><li>Mapping Specification </li></ul></ul><ul><ul><li>Mapping Process </li></ul></ul><ul><ul><li>Query Translation </li></ul></ul>Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  22. 22. Mapping Process Ontology Database Mapping Document Metadata Rules Tables Columns Primary Keys ... Concepts Datatype Properties Object Properties ... Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  23. 23. Particular Table Cases <ul><li>Identification of the different particular table cases </li></ul><ul><li>Ontology components are created according to these cases </li></ul>Case 3 Case 1 Case 2 Primary key Foreign key Integrity Constraint m-m relationship 1-1 relationship other tables PK1 ... T1 PFK1 PFK2 T PK2 ... T2 PK1 ... T1 PFK1 ... T ... ... T Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  24. 24. Example DB Schema Case 1 (m-m relationship) Case 2 (1-1 relationship) Case 3 (others) studentId diplomaId studentNumber Student diplomaId diplomaName Diploma moduleId diplomaId moduleName Module studentId sessionId Presence sessionId moduleId lecturerId Session time hallId lecturerId room Lecturer hallId building hallName Hall personId lastName firstName Person Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation Primary key Foreign key Integrity Constraint
  25. 25. Rules for Ontology Generation Primary key Foreign key Integrity Constraint Database component Ontology component ... ... T C case 3 PFK1 ... T PK1 ... T1 C C1 case 2 PK1 ... T1 PFK1 PFK2 T PK2 ... T2 op2 op1 C1 C2 ... NK T dp C ... FK T PK1 ... T1 op C C1 Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation Object property subClassOf Class Datatype property
  26. 26. presence-session presence-student module-diploma session-lecturer Person Hall Student Lecturer Diploma Module Session firstName lastName room hallName moduleName diplomaName studentNumber time student-diploma session-module session-hall building Primary key Foreign key Integrity Constraint Database Schema Generated Ontology Object property subClassOf Class Datatype property Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation personId lastName firstName Person sessionId moduleId lecturerId Session time hallId hallId building hallName Hall diplomaId studentNumber Student studentId lecturerId room Lecturer moduleId diplomaId moduleName Module diplomaId diplomaName Diploma studentId sessionId Presence
  27. 27. Generated Mappings using Associations with SQL Statements Concept Associations Datatype Property Associations Object Property Associations SELECT person.personId AS DOM FROM person Person SELECT lecturer.lecturerId AS DOM FROM lecturer, person WHERE lecturer.lecturerId = person.personId Student SELECT student.studentId AS DOM FROM student, person WHERE student.studentId = person.personId Lecturer SELECT person.personId AS DOM, person.FirstName AS RNG FROM person firstName SELECT student.studentId AS DOM, student.studentNumber AS RNG FROM student studentNumber student.diploma session.lecturer SELECT student.studentId AS DOM, diploma.diplomaId AS RNG FROM student, diploma WHERE student.diplomaID = diploma.diplomaId SELECT session.sessionId AS DOM, lecturer.lecturerId AS RNG FROM session, lecturer WHERE session.lecturerId = lecturer.lecturerId Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  28. 28. student-diploma-opb session-lecturer-opb person-cb ont:Person person student-cb ont:Student student lecturer-cb ont:Lecturer lecturer person-firstName-dpb ont:firstName person.firstName person-cb student-studentNumber-dpb ont:studentNumber student.studentNumber student-cb ont:student.diploma session.lecturerId = lecturer.lecturerId student-cb diploma-cb ont:session.lecturer student.diplomaID = diploma.diplomaId session-cb lecturer-cb Generated Mappings using DOML language Concept Bridges Datatype Property Bridges Object Property Bridges datatype property column domain concept bridge concept table object property join domain concept bridge range concept bridge Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  29. 29. <ul><li>Database-to-Ontology Mapping </li></ul><ul><ul><li>Mapping Specification </li></ul></ul><ul><ul><li>Mapping Process </li></ul></ul><ul><ul><li>Query Translation </li></ul></ul><ul><li>XML-to-Ontology Mapping </li></ul><ul><ul><li>Mapping Specification </li></ul></ul><ul><ul><li>Mapping Process </li></ul></ul><ul><ul><li>Query Translation </li></ul></ul>Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  30. 30. Query Processing sub-query local query Local Ontology Data Provider rewrite translate SQL results SPARQL results reformulate solve SQL query Data Source to Local Ontology Mappings Local Ontology to Global Ontology Mappings Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation Querying Web Service
  31. 31. SPARQL-to-SQL Query Translation SPARQL query SQL query Ontology Database Mapping Document Translation Associations with SQL Statements DOML Language Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  32. 32. <ul><li>Database-to-Ontology Mapping </li></ul><ul><ul><li>Mapping Specification </li></ul></ul><ul><ul><li>Mapping Process </li></ul></ul><ul><ul><li>Query Translation </li></ul></ul><ul><li>XML-to-Ontology Mapping </li></ul><ul><ul><li>Mapping Specification </li></ul></ul><ul><ul><li>Mapping Process </li></ul></ul><ul><ul><li>Query Translation </li></ul></ul><ul><li>Associations with SQL Statements </li></ul><ul><li>DOML Language </li></ul>Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  33. 33. SPARQL-to-SQL Translation using Associations with SQL Statements Mapping document SELECT variables SPARQL query SELECT FROM WHERE SQL statements SQL query SQL results SPARQL query results XML format Basic Graph Pattern FILTERs simplified SQL query 1 2 3 Concept Associations Property Associations Build Simplification Formulation Mapping Parsing Query Parsing Translation Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  34. 34. SPARQL-to-SQL Translation using Associations with SQL Statements presence-session presence-student module-diploma session-lecturer Person Hall Student Lecturer Diploma Module Session firstName lastName room hallName moduleName diplomaName studentNumber time student-diploma session-module session-hall building SELECT ?modName WHERE { ?mod ont:moduleName ?modName. ont:module-diploma ?dip. ?dip ont:diplomaName ?dipName. FILTER (?dipName = &quot;BDIA&quot;) } SPARQL query Example Ontology Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  35. 35. SPARQL-to-SQL Translation using Associations with SQL Statements SELECT S1.RNG AS modName FROM ( SELECT Module.moduleId AS DOM, Module.moduleName AS RNG FROM Module ) AS S1, ( SELECT Module.moduleId AS DOM, Diploma.diplomaId AS RNG FROM Module, Diploma WHERE Module.diplomaId = Diploma.diplomaId ) AS S2, ( SELECT Diploma.diplomaId AS DOM, Diploma.diplomaName AS RNG FROM Diploma ) AS S3 WHERE S1.DOM = S2.DOM AND S2.RNG = S3.DOM AND S3.RNG = &quot;BDIA&quot; S1.RNG AS modName S3.RNG = &quot;BDIA&quot; S1.DOM = S2.DOM S2.RNG = S3.DOM SQL AS S1 AS S2 AS S3 SELECT Module.moduleId AS DOM, Module.moduleName AS RNG FROM Module SELECT Module.moduleId AS DOM, Diploma.diplomaId AS RNG FROM Module, Diploma WHERE Module.diplomaId = Diploma.diplomaId SELECT Diploma.diplomaId AS DOM, Diploma.diplomaName AS RNG FROM Diploma Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation SELECT FROM WHERE
  36. 36. SPARQL-to-SQL Translation using Associations with SQL Statements Generated SQL query Simplified SQL query SELECT S1.RNG AS modName FROM ( SELECT Module.moduleId AS DOM, Module.moduleName AS RNG FROM Module ) AS S1, ( SELECT Module.moduleId AS DOM, Diploma.diplomaId AS RNG FROM Module, Diploma WHERE Module.diplomaId = Diploma.diplomaId ) AS S2, ( SELECT Diploma.diplomaId AS DOM, Diploma.diplomaName AS RNG FROM Diploma ) AS S3 WHERE S1.DOM = S2.DOM AND S2.RNG = S3.DOM AND S3.RNG = &quot;BDIA&quot; SELECT Module.moduleName AS modName FROM Module, Diploma WHERE Module.diplomaId = Diploma.diplomaId AND Diploma.diplomaName = &quot;BDIA&quot; Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  37. 37. <ul><li>Database-to-Ontology Mapping </li></ul><ul><ul><li>Mapping Specification </li></ul></ul><ul><ul><li>Mapping Process </li></ul></ul><ul><ul><li>Query Translation </li></ul></ul><ul><li>XML-to-Ontology Mapping </li></ul><ul><ul><li>Mapping Specification </li></ul></ul><ul><ul><li>Mapping Process </li></ul></ul><ul><ul><li>Query Translation </li></ul></ul><ul><li>Associations with SQL Statements </li></ul><ul><li>DOML Language </li></ul>Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  38. 38. SPARQL-to-SQL Translation using DOML Language DOML mapping document SQL results FILTERs SELECT variables Concept Bridges Datatype Property Bridges Object Property Bridges Transformations Conditions variable-to- Concept mapping 1 2 3 4 Basic Graph Pattern SPARQL query SPARQL query results XML format SQL query Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation Formulation Mapping Parsing Query Parsing Translation Preprocessing
  39. 39. SPARQL-to-SQL Translation using DOML Language SELECT ?name WHERE { ?stud a ont:Student; ont:name ?name; ont:studies-in ?dept. ?dept ont:dept-name ?deptName. FILTER (?deptName = &quot;IEM&quot;). } SPARQL query Example name email year dept-name works-for studies-in salary Person Ontology Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation Department Employee Student
  40. 40. SPARQL-to-SQL Translation using DOML Language <ul><li>Extract main components of the DOML mapping document </li></ul>1. Mapping Document Parsing DOML Mapping Document Concept Bridges Datatype Property Bridges Object Property Bridges Transformations Conditions Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation Mapping Document Parsing
  41. 41. SPARQL-to-SQL Translation using DOML Language 2. Query Parsing SELECT variables = { ?name } FILTERs = { (?deptName = &quot;IEM&quot;) } SELECT ?name WHERE { ?stud a ont:Student; ont:name ?name; ont:studies-in ?dept. ?dept ont:dept-name ?deptName. FILTER (?deptName = &quot;IEM&quot;). } SPARQL query ont:name ?stud ont:Student ?dept ?deptName ont:deptName ont:studies-in rdf:type ?name BGP <ul><li>Extract main components of the query: </li></ul><ul><ul><li>SELECT variables </li></ul></ul><ul><ul><li>Basic Graph Pattern (BGP) </li></ul></ul><ul><ul><li>FILTER conditions </li></ul></ul>Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  42. 42. SPARQL-to-SQL Translation using DOML Language <ul><li>Compute an auxiliary mapping between variables and concepts </li></ul><ul><li>Serve to choose suitable mapping bridges </li></ul>3. Preprocessing SELECT ?name WHERE { ?stud a ont:Student; ont:name ?name; ont:studies-in ?dept. ?dept ont:dept-name ?deptName. FILTER (?deptName = &quot;IEM&quot;). } ?stud ont:Student ?dept ont:Department concept variable SPARQL query Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  43. 43. SPARQL-to-SQL Translation using DOML Language 4. Query Translation – Analysis of Mapping Bridges SELECT ?name WHERE { ?stud a ont:Student; ont:name ?name; ont:studies-in ?dept. ?dept ont:dept-name ?deptName. FILTER (?deptName = &quot;IEM&quot;). } Mapping Bridges conditions tables join ?name CONCAT(firstName,lastName) variable to column auxiliary mapping ?deptname dept.deptName Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation WHERE FROM
  44. 44. SPARQL-to-SQL Translation using DOML Language 4. Query Translation – SELECT Construction SELECT ?name WHERE { ?stud a ont:Student; ont:name ?name; ont:studies-in ?dept. ?dept ont:dept-name ?deptName. FILTER (?deptName = &quot;IEM&quot;). } ?name CONCAT(firstName,lastName) variable-to-column auxiliary mapping SELECT CONCAT( firstName,lastName ) AS name Replace variables by their corresponding columns or transformations … … Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation SELECT
  45. 45. SPARQL-to-SQL Translation using DOML Language 4. Query Translation – FILTER Translation SELECT ?name WHERE { ?stud a ont:Student; ont:name ?name; ont:studies-in ?dept. ?dept ont:dept-name ?deptName. FILTER (?deptName = &quot;IEM&quot;). } dept.deptName = &quot;IEM&quot; Replace variables by their corresponding columns or transformations ?deptName dept.deptName variable-to-column auxiliary mapping … … Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation WHERE
  46. 46. SPARQL-to-SQL Translation using DOML Language 4. Query Translation person.status=&quot;student&quot; person dept.deptName = &quot;IEM&quot; SELECT CONCAT( firstName,lastName ) AS name dept person.deptId = dept.deptId SELECT CONCAT(person.firstName, person.lastName) AS name FROM person, dept WHERE (person.status = 'Student') AND (person.deptId = department.deptId) AND (dept.deptName = 'IEM') SQL query Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation WHERE SELECT FROM
  47. 47. Result Reformulation <sparql> <head> <variable name=&quot;fn&quot;/> <variable name=&quot;ln&quot;/> <variable name=&quot;dipName&quot;/> </head> <results> <result> <binding name=&quot;fn&quot;><literal>Raji</literal></binding> <binding name=&quot;ln&quot;><literal>Ghawi</literal></binding> <binding name=&quot;dipName&quot;><literal>Master 2 3I</literal></binding> </result> <result> <binding name=&quot;fn&quot;><literal>Thibault</literal></binding> <binding name=&quot;ln&quot;><literal>Poulain</literal></binding> <binding name=&quot;dipName&quot;><literal>Master 2 3I</literal></binding> </result> <result> <binding name=&quot;fn&quot;><literal>Guillermo</literal></binding> <binding name=&quot;ln&quot;><literal>Gomez</literal></binding> <binding name=&quot;dipName&quot;><literal>Master 2 BDIA</literal></binding> </result> </results> </sparql> SQL Results SPARQL Results (XML format) Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation Master 2 BDIA Gomez Guillermo Master 2 3I Poulain Thibault Master 2 3I Ghawi Raji dipName ln fn
  48. 48. <ul><li>Database-to-Ontology Mapping </li></ul><ul><ul><li>Mapping Specification </li></ul></ul><ul><ul><li>Mapping Process </li></ul></ul><ul><ul><li>Query Translation </li></ul></ul><ul><li>XML-to-Ontology Mapping </li></ul><ul><ul><li>Mapping Specification </li></ul></ul><ul><ul><li>Mapping Process </li></ul></ul><ul><ul><li>Query Translation </li></ul></ul>Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  49. 49. <ul><li>Database-to-Ontology Mapping </li></ul><ul><ul><li>Mapping Specification </li></ul></ul><ul><ul><li>Mapping Process </li></ul></ul><ul><ul><li>Query Translation </li></ul></ul><ul><li>XML-to-Ontology Mapping </li></ul><ul><ul><li>Mapping Specification </li></ul></ul><ul><ul><li>Mapping Process </li></ul></ul><ul><ul><li>Query Translation </li></ul></ul>Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  50. 50. <ul><li>Similar to DOML language </li></ul><ul><li>Semantic bridges relate ontology components to XML nodes ( expressed using XPath) </li></ul>XOML Language X ML to O ntology M apping L anguage Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  51. 51. <ul><li>Concept bridge </li></ul><ul><ul><li>relates an ontology concept with an XML node </li></ul></ul><ul><ul><li>possibly, contains a condition </li></ul></ul><ul><li>Datatype property bridge </li></ul><ul><ul><li>relates a datatype property with an XML node (or a transformation) </li></ul></ul><ul><ul><li>belongs to concept bridge (domain) </li></ul></ul><ul><ul><li>possibly, contains a condition </li></ul></ul>XOML Language student-cb Student /univ/student concept XML node student-name-dpb name student-cb /univ/student/name/text() datatype property XML node domain concept bridge Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  52. 52. <ul><li>Object property bridge </li></ul><ul><ul><li>contains an object property </li></ul></ul><ul><ul><li>belongs to a concept bridge (domain) </li></ul></ul><ul><ul><li>refers to another concept bridge (range) </li></ul></ul><ul><ul><li>possibly, contains a condition </li></ul></ul>XOML Language studies-in-opb studies-in student-cb university-cb object property domain concept bridge range concept bridge Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  53. 53. <ul><li>Database-to-Ontology Mapping </li></ul><ul><ul><li>Mapping Specification </li></ul></ul><ul><ul><li>Mapping Process </li></ul></ul><ul><ul><li>Query Translation </li></ul></ul><ul><li>XML-to-Ontology Mapping </li></ul><ul><ul><li>Mapping Specification </li></ul></ul><ul><ul><li>Mapping Process </li></ul></ul><ul><ul><li>Query Translation </li></ul></ul>Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  54. 54. XML-to-Ontology Mapping Process Ontology XML Schema Mapping Document XSG Rules Types Elements Attributes ... Concepts Datatype Properties Object Properties ... XML Schema Graph Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  55. 55. XML Schema Graph (XSG) PurchaseOrderType @ orderDate (anonymous) Address USAddress @ country @weightKg @shipBy purchaseOrder item billTo shipTo state zip street city name price productName shipAndBill ItemDelivery Nodes Edges Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation Attribute Group Element Group Attribute Complex Type Element Type Derivation Containment
  56. 56. Rules for Ontology Generation object property MIXED restriction extention complex type element group attribute group containment relationship simple element attribute text of mixed complex type subClassOf Class datatype property XML schema component result ontology component Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  57. 57. hasItem hasItemDelivery hasShipTo hasBillTo Item PurchaseOrderType ItemDelivery USAddress ShipAndBill orderDate name street city country productName price weightKg shipBy zip USstate object property subClassOf OWL class datatype property PurchaseOrderType @ orderDate (anonymous) Address USAddress @ country @weightKg @shipBy purchaseOrder item billTo shipTo state zip street city name price productName shipAndBill ItemDelivery Example hasShipAndBill XML Schema Graph Ontology Address Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  58. 58. Refinement <ul><li>Remove invalid mappings </li></ul><ul><ul><li>Reuse of types and elements within XML schema </li></ul></ul><ul><ul><li>Use of different representations to denote the same entity </li></ul></ul><ul><ul><li>lead to invalid XPaths expressions </li></ul></ul><ul><li>Ontology restructuring </li></ul><ul><ul><li>Humans may not admit automatically genenerated structure of ontology </li></ul></ul>Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  59. 59. Refinement – Use of Different Representations (anonymous) @orderid orderperson (anonymous) (anonymous) (anonymous) (anonymous) @title shipmentorder items shipments shipment date price title quantity item Example XSG XML Document Ontology Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation <shipmentorder orderid=&quot;889923&quot;> <orderperson>John Smith</orderperson> <items> <item> <title>Empire Burlesque</title> <quantity>1</quantity> <price>10.90</price> </item> <item> <title>Hide your heart</title> <quantity>1</quantity> <price>9.90</price> </item> <item> <title>Hearts of Fire</title> <quantity>1</quantity> <price>10.50</price> </item> </items> <shipments> <shipment> <date>12-01-2009</date> <item title=&quot;Empire Burlesque&quot; /> <item title=&quot;Hide your heart&quot; /> </shipment> </shipments> </shipmentorder> hasItem Shipments Item Items orderId orderPerson date title quantity price hasShipments hasItems hasShipment Shipment ShipmentOrder
  60. 60. Refinement – Removing of Invalid Mappings <ul><li>Valid Mappings have valid XPaths with respect to XML document </li></ul><shipmentorder ...> <items> <item> <title>Empire Burlesque</title> ... </item> ... </items> <shipments> <shipment> <item title=&quot;Empire Burlesque&quot; /> ... </shipment> </shipments> </shipmentorder> dpb2 title cb3 /shipmentorder/items/item/@title dpb4 title cb3 /shipmentorder/items/item/title/text() dpb7 title cb6 /shipmentorder/shipments/shipment/item/@title dpb9 title cb6 /shipmentorder/shipments/shipment/item/title/text() XML Document Mapping Bridges of « title » property Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  61. 61. <ul><li>Database-to-Ontology Mapping </li></ul><ul><ul><li>Mapping Specification </li></ul></ul><ul><ul><li>Mapping Process </li></ul></ul><ul><ul><li>Query Translation </li></ul></ul><ul><li>XML-to-Ontology Mapping </li></ul><ul><ul><li>Mapping Specification </li></ul></ul><ul><ul><li>Mapping Process </li></ul></ul><ul><ul><li>Query Translation </li></ul></ul>Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  62. 62. SPARQL-to-XQuery Translation SPARQL query XQuery query Ontology XML Data Source Mapping Document (XOML) Translation Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  63. 63. SPARQL-to-XQuery Translation XOML mapping document SPARQL query XQuery query SPARQL query results XML format FILTERs SELECT variables Concept Bridges Datatype Property Bridges Object Property Bridges 1 2 3 4 Basic Graph Pattern XML Data Source Suitable Mapping Graph Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation Mapping Parsing Query Parsing Building XQuery Preprocessing
  64. 64. SPARQL-to-XQuery Translation SELECT ?date ?title WHERE { ?ship ont:date ?date; ont:hasItem ?item. ?item ont:title ?title. } SPARQL query Example hasItem Shipments Item Items orderId orderPerson date title quantity price hasShipments hasItems hasShipment Ontology Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation Shipment ShipmentOrder
  65. 65. SPARQL-to-XQuery Translation <ul><li>Extract main components of the XOML mapping document </li></ul>1. Mapping Document Parsing Concept Bridges Datatype Property Bridges Object Property Bridges XOML mapping document Mapping Document Parsing Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  66. 66. SPARQL-to-XQuery Translation 2. Query Parsing SELECT variables = { ?date, ?title } FILTERs = { } <ul><li>Extract main components of the query: </li></ul><ul><ul><li>SELECT variables </li></ul></ul><ul><ul><li>Basic Graph Pattern (BGP) </li></ul></ul><ul><ul><li>FILTER conditions </li></ul></ul>SELECT ?date ?title WHERE { ?ship ont:date ?date; ont:hasItem ?item. ?item ont:title ?title. } SPARQL query ?ship ?date ?item ?title ont:title ont:date ont:hasItem BGP Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  67. 67. SPARQL-to-XQuery Translation 3. Preprocessing ?ship ~ /shipmentorder/shipments/shipment ?date ~ /shipmentorder/shipments/shipment/date/text() ?item ~ /shipmentorder/shipments/shipment/item ?title ~ /shipmentorder/shipments/shipment/item/@title Suitable Mapping Graph Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  68. 68. SPARQL-to-XQuery Translation <sparql> <head> <variable name=&quot;...&quot; /> ... </head> <results> { for ... let ... where ... return <result> <binding name=&quot;...&quot;>{ ... }</binding> ... </result> } </results> </sparql> 4. Building Target XQuery XQuery Template Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  69. 69. SPARQL-to-XQuery Translation 4. Building Target XQuery ?ship ~ /shipmentorder/shipments/shipment ?date ~ /shipmentorder/shipments/shipment/date/text() ?item ~ /shipmentorder/shipments/shipment/item ?title ~ /shipmentorder/shipments/shipment/item/@title for $ship in /shipmentorder/shipments/shipment let $date := /shipmentorder/shipments/shipment/date/text() for $item in /shipmentorder/shipments/shipment/item let $title := /shipmentorder/shipments/shipment/item/@title Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation non-leaf vertex  for statement leaf vertex  let statement
  70. 70. SPARQL-to-XQuery Translation 4. Building Target XQuery Abbreviation of absolute XPath expressions into relative expressions Replace common parts of XPaths by corresponding variables for $ship in /shipmentorder/shipments/shipment let $date := /shipmentorder/shipments/shipment/date/text() for $item in /shipmentorder/shipments/shipment/item let $title := /shipmentorder/shipments/shipment/item/@title for $ship in /shipmentorder/shipments/shipment let $date := $ship/date/text() for $item in $ship/item let $title := $item/@title Absolute XPaths Relative XPaths Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  71. 71. SPARQL-to-XQuery Translation 4. Building Target XQuery <sparql> <head> <variable name=&quot;date&quot; /> <variable name=&quot;title&quot; /> </head> <results> { for $ship in /shiporder/ships/ship let $date := $ship/date/text() for $item in $ship/item let $title := $item/@title return <result> <binding name=&quot;date&quot;>{$date}</binding> <binding name=&quot;title&quot;>{fn:data($title)}</binding> </result> } </results> </sparql> XQuery Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  72. 72. SPARQL-to-XQuery Translation 4. Building Target XQuery <sparql> <head> <variable name=&quot;date&quot;/> <variable name=&quot;title&quot;/> </head> <results> <result> <binding name=&quot;date&quot;>12-01-2009</binding> <binding name=&quot;title&quot;>Empire Burlesque</binding> </result> <result> <binding name=&quot;date&quot;>12-01-2009</binding> <binding name=&quot;title&quot;>Hide your heart</binding> </result> </results> </sparql> SPARQL Results (XML format) Database-to-Ontology Mapping XML-to-Ontology Mapping Mapping Specification Mapping Process Query Translation
  73. 73. Implementation <ul><li>DB2OWL Tool </li></ul><ul><ul><li>generate ontology from DB </li></ul></ul><ul><ul><li>map a DB to existing ontology </li></ul></ul><ul><ul><li>translate SPARQL to SQL </li></ul></ul><ul><ul><li>Oracle, MySQL </li></ul></ul><ul><ul><li>Associations with SQL, DOML language </li></ul></ul><ul><li>X2OWL Tool </li></ul><ul><ul><li>generate ontology from XML data source </li></ul></ul><ul><ul><li>translate SPARQL to XQuery </li></ul></ul><ul><ul><li>map XML to existing ontology </li></ul></ul>Jena JDBC Zql JDOM XSOM JUNG NUX Java programming language
  74. 74. Conclusion and Contributions <ul><li>OWSCIS: Ontology-based framework for cooperation of information sources </li></ul><ul><li>Mapping of information sources to local ontologies </li></ul><ul><ul><li>Mapping Specification </li></ul></ul><ul><ul><ul><li>Associations with SQL, DOML language </li></ul></ul></ul><ul><ul><ul><li>XOML language </li></ul></ul></ul><ul><ul><li>Ontology Construction </li></ul></ul><ul><ul><ul><li>from Database </li></ul></ul></ul><ul><ul><ul><li>from XML </li></ul></ul></ul><ul><ul><li>Query Translation </li></ul></ul><ul><ul><ul><li>SPARQL-to-SQL </li></ul></ul></ul><ul><ul><ul><li>SPARQL-to-XQuery </li></ul></ul></ul>
  75. 75. Publications <ul><li>Building Ontologies from XML Data Sources , Raji Ghawi and Nadine Cullot. 1st International Workshop on Modelling and Visualization of XML and Semantic Web Data - MoViX '09, held in conjunction with DEXA 2009 , Linz, Austria, September 2009. </li></ul><ul><li>Building Ontologies from Multiple Information Sources , Raji Ghawi and Nadine Cullot. 15th conference on Information and Software Technologies ( IT2009 ), Kaunas, Lithuania, April 2009. </li></ul><ul><li>OWSCIS: Ontology and Web Service based Cooperation of Information Sources , Raji Ghawi, Thibault Poulain, Guillermo Gomez and Nadine Cullot. 3rd International Conference on Signal-Image Technology & Internet-based Systems ( SITIS' 2007 ), Shanghai, China, December 2007. </li></ul><ul><li>Database-to-Ontology Mapping Generation for Semantic Interoperability , Raji Ghawi and Nadine Cullot. Third International Workshop on Database Interoperability (InterDB 2007), held in conjunction with VLDB 2007 , Vienna, Austria, 2007. </li></ul><ul><li>DB2OWL: A Tool for Automatic Database-to-Ontology Mapping , Nadine Cullot, Raji Ghawi and Kokou Yétongnon. In Proceedings of the 15th Italian Symposium on Advanced Database Systems ( SEBD 2007 ), Torre Canne di Fasano (BR), Italy, pp. 491-494, June 2007. </li></ul>
  76. 76. Future Works <ul><li>Make use of OWSCIS framework in real-world case study </li></ul><ul><li>Implementation </li></ul><ul><ul><li>Mapping XML data sources to existing ontologies </li></ul></ul><ul><ul><li>Ontology creation from multiple information sources </li></ul></ul><ul><ul><li>Full support of SPARQL in query translation </li></ul></ul>
  77. 77. Thank you Merci

×