Querying Ontology Based Databases. The OntoQL Proposal by knowledgegod

VIEWS: 0 PAGES: 25

									                 Laboratory of Applied Computer Science
  National Engineering School for Mechanics and Aerotechnics and University of Poitiers
             1, avenue Clément Ader - BP 40109 - 86961 Futuroscope cedex - France




Querying Ontology Based Databases.
       The OntoQL Proposal

 Stéphane JEAN                                                jean@ensma.fr
 Yamine AIT-AMEUR                                             yamine@ensma.fr
 Guy PIERRA                                                   pierra@ensma.fr

              SEKE’06, San Francisco Bay, July 5, 2006
                        Session Databases
                                                                                                                      Motivation
                                                                                                      Ontology: our point of view

                                                                                                 Grubber’s definition
Querying Ontology Based Databases – The OntoQL proposal




                                                                                                     ‘an   explicit specification of a conceptualisation’

                                                                                                 Our understanding of domain ontologies
                                                      SEKE’06, San Francisco Bay, July 5, 2006
                                                        Stéphane Jean – Session Databases




                                                                                                    ‘a formal and consensual dictionary of categories and
                                                                                                    properties of entities of a domain and the relationships that
                                                                                                    hold among them’

                                                                                                     Three criteria
                                                                                                       Formality
                                                                                                       Consensuality
                                                                                                       Referenceability



                                                                                                                                                                    2
                                                                                                                        Motivation
                                                                                                       Ontology: our points of view
                                                                                                  Conceptual ontology (CO)
Querying Ontology Based Databases – The OntoQL proposal




                                                                                                    the representation of the categories of objects and of the
                                                                                                    properties of objects available in some part of the world.
                                                                                                  Linguistic ontology (LO)
                                                      SEKE’06, San Francisco Bay, July 5, 2006
                                                        Stéphane Jean – Session Databases




                                                                                                    the representation of the meaning of the words used in a particular
                                                                                                    Universe of Discourse, in a particular language.
                                                                                                  A layered view
                                                                                                          LO


                                                                                                          CO



                                                                                                  Examples (available at http://plib.ensma.fr)
                                                                                                        Electronic, petrolium, IMA, Mechanics, Measure instruments, etc.
                                                                                                  Applications
                                                                                                        B2B, E-Engineering                                                 3
                                                                                                                              Motivation
                                                                                                                  Target of the language
                                                                                                  Main Objective
Querying Ontology Based Databases – The OntoQL proposal




                                                                                                    Semantic Integration of heterogeneous information DB
                                                                                                                          ontology
                                                      SEKE’06, San Francisco Bay, July 5, 2006
                                                        Stéphane Jean – Session Databases




                                                                                                         system catalog                     system catalog
                                                                                                                                                       ?

                                                                                                         logical model                      logical model




                                                                                                  Other Objective
                                                                                                     Semantic Web
                                                                                                                          ontology




                                                                                                                           HTML documents
                                                                                                                                                             4
                                                                                                                        Aim of our work

                                                                                                 An exploitation language for ontological data in
Querying Ontology Based Databases – The OntoQL proposal




                                                                                                  databases
                                                                                                     Ontology
                                                      SEKE’06, San Francisco Bay, July 5, 2006
                                                        Stéphane Jean – Session Databases




                                                                                                       Independent of the ontology model used
                                                                                                       Exploiting the linguistic layer of an ontology
                                                                                                     Data
                                                                                                       If data are structured by a schema (semantic integration)
                                                                                                       Or if data are URI (Semantic Web)
                                                                                                 Fulfilling the requirement of databases exploitation
                                                                                                  languages
                                                                                                       Completeness, closure
                                                                                                       Efficiency
                                                                                                       Concurrency, Access control
                                                                                                                                                                    5
                                                                                                                             Outline
Querying Ontology Based Databases – The OntoQL proposal




                                                                                                 Introduction
                                                      SEKE’06, San Francisco Bay, July 5, 2006
                                                        Stéphane Jean – Session Databases




                                                                                                    Motivation
                                                                                                    From SQL to OntoQL
                                                                                                    The OntoQL proposal
                                                                                                    Comparison with Semantic Web Query Languages

                                                                                                 Conclusion



                                                                                                                                                    6
                                                                                                      From SQL to OntoQL:
                                                                                                                                      Motivation
                                                                                                                                      From SQL to OntoQL

                                                                                                                    OBDB
                                                                                                                                      OntoQL proposal
                                                                                                                                      Related Work
Querying Ontology Based Databases – The OntoQL proposal




                                                                                                  Meta-Schema     System Catalog
                                                      SEKE’06, San Francisco Bay, July 5, 2006
                                                        Stéphane Jean – Session Databases




                                                                                                 Ontology         Logical model




                                                                                                                                                            7
                                                                                                                           From SQL to OntoQL
                                                                                                                                                          Motivation
                                                                                                                                                          From SQL to OntoQL

                                                                                                                                       RDBMS
                                                                                                                                                          OntoQL proposal
                                                                                                                                                          Related Work




                                                                                                 Model:                              Example:
Querying Ontology Based Databases – The OntoQL proposal




                                                                                                              system catalog
                                                      SEKE’06, San Francisco Bay, July 5, 2006
                                                        Stéphane Jean – Session Databases




                                                                                                                 logical model




                                                                                                 Langage:                           SELECT a.a_city, avg(p.a_age)
                                                                                                 • Relational Algebra                FROM T_Person p, T_Adress a
                                                                                                 • Completeness, closure            WHERE p.a_address = a.id
                                                                                                                                       AND p.a_name like 'J%'
                                                                                                                                    GROUP BY a.a_city
                                                                                                                                    ORDER BY a.a_city DESC




                                                                                                                                                                                8
                                                                                                                         From SQL to OntoQL
                                                                                                                                                             Motivation
                                                                                                                                                             From SQL to OntoQL

                                                                                                                                   RODBMS
                                                                                                                                                             OntoQL proposal
                                                                                                                                                             Related Work




                                                                                                 Model:                                Example:
Querying Ontology Based Databases – The OntoQL proposal




                                                                                                             system catalog
                                                      SEKE’06, San Francisco Bay, July 5, 2006
                                                        Stéphane Jean – Session Databases




                                                                                                              logical model




                                                                                                 Language:
                                                                                                                                 SELECT p.a_address->a_city, avg(p.a_age)
                                                                                                 • Extended Relational Algebra
                                                                                                 (UDT, collection, method ...)    FROM ONLY T_Person p
                                                                                                 • keep Completness, closure     WHERE p.a_names[1] like 'J%'
                                                                                                                                 GROUP BY p.a_address.a_city
                                                                                                                                 ORDER BY p.a_address.a_city DESC



                                                                                                                                                                                   9
                                                                                                                               From SQL to OntoQL
                                                                                                                                                                      Motivation
                                                                                                                                                                      From SQL to OntoQL

                                                                                                                                           OBDBs
                                                                                                                                                                      OntoQL proposal
                                                                                                                                                                      Related Work




                                                                                                 Model:
Querying Ontology Based Databases – The OntoQL proposal

                                                      SEKE’06, San Francisco Bay, July 5, 2006
                                                        Stéphane Jean – Session Databases




                                                                                                 Language:                               SELECT city, age
                                                                                                 • Extended Algebra: OntoAlgebra          FROM ONLY ns_lisi:Person p
                                                                                                 (namespace, multilinguism, properties   WHERE p.names[1] like 'J%'
                                                                                                 unused)                                 GROUP BY p.address.city
                                                                                                 • keep completness, closure             ORDER BY p.address DESC
                                                                                                                                         USING ns_lisi = 'http://www.lisi.ensma.fr'
                                                                                                                                                                                        10
                                                                                                                             Outline
Querying Ontology Based Databases – The OntoQL proposal




                                                                                                 Introduction
                                                      SEKE’06, San Francisco Bay, July 5, 2006
                                                        Stéphane Jean – Session Databases




                                                                                                    Motivation
                                                                                                    From SQL to OntoQL
                                                                                                    The OntoQL proposal
                                                                                                    Comparison with Semantic Web Query Languages

                                                                                                 Conclusion



                                                                                                                                                    11
                                                                                                              The OntoQL proposal
                                                                                                                                                     Motivation
                                                                                                                                                     From SQL to OntoQL

                                                                                                               Data Model and DDL
                                                                                                                                                     OntoQL proposal
                                                                                                                                                     Related Work




                                                                                                 Ontology Part for defining ontologies
Querying Ontology Based Databases – The OntoQL proposal




                                                                                                                             CREATE #CLASS C_Student UNDER C_Person(
                                                                                                                                DESCRIPTOR (
                                                                                                                                  #name[en] = ‘Student’,
                                                      SEKE’06, San Francisco Bay, July 5, 2006




                                                                                                                                  #name[fr] =‘Etudiant’,
                                                        Stéphane Jean – Session Databases




                                                                                                                                  #definition[en]= ‘a learner’
                                                                                                                                )
                                                                                                                                PROPERTIES (
                                                                                                                                  a_grade VARCHAR(32)
                                                                                                                               )
                                                                                                                             )


                                                                                                 Possibility to extend the ontology part
                                                                                                                             CREATE ATTRIBUTE #Remark
                                                                                                                                              SCOPE #CLASS
                                                                                                                                              DATATYPE STRING



                                                                                                                             CREATE ENTITY #Restriction
                                                                                                                                            UNDER #CLASS

                                                                                                                                                                       12
                                                                                                                         The OntoQL proposal
                                                                                                                                                                                  Motivation
                                                                                                                                                                                  From SQL to OntoQL

                                                                                                                         Data Model and DML
                                                                                                                                                                                  OntoQL proposal
                                                                                                                                                                                  Related Work




                                                                                                 Content Part for instances
Querying Ontology Based Databases – The OntoQL proposal




                                                                                                                                                              View of
                                                      SEKE’06, San Francisco Bay, July 5, 2006
                                                        Stéphane Jean – Session Databases




                                                                                                                                                                            Relations in NF3




                                                                                                                                Relations in NF2

                                                                                                                                    INSERT INTO Student (names, age, address) VALUES (
                                                                                                 CREATE EXTENT OF Student (             ARRAY[‘Steve’, ‘John’, ‘Henry’], 18,
                                                                                                   names, age, address, grade          (SELECT oid FROM Address
                                                                                                 )                                      WHERE street = ‘Sunset’ and city = ‘Los Angeles’)
                                                                                                                                    )
                                                                                                                                                                                                    13
                                                                                                                        The OntoQL proposal
                                                                                                                                                                                 Motivation
                                                                                                                                                                                 From SQL to OntoQL

                                                                                                                                       DQL
                                                                                                                                                                                 OntoQL proposal
                                                                                                                                                                                 Related Work




                                                                                                 On content
Querying Ontology Based Databases – The OntoQL proposal




                                                                                                    SET REFERENCE_LANGUAGE EN
                                                                                                    SET NAMESPACE ‘http://lisi.ensma.fr’
                                                      SEKE’06, San Francisco Bay, July 5, 2006
                                                        Stéphane Jean – Session Databases




                                                                                                     Polymorphism         SELECT p.names FROM ONLY Person p

                                                                                                     Path Expression      SELECT p.address->city FROM Person p

                                                                                                 Dependent Collection     SELECT name FROM Person p, UNNEST (p.names) as name

                                                                                                        Nested query      SELECT p.names, ARRAY (SELECT a.street FROM Address a
                                                                                                                                                  WHERE a.city = p.address->city) as streets
                                                                                                                          FROM Person p

                                                                                                   Boolean Operators      (SELECT p.oid FROM Person p) EXCEPT (SELECT s.oid FROM Student s)

                                                                                                 Aggregate Operators      SELECT avg(age) FROM Student s WHERE s.address->city = ‘Los Angeles’

                                                                                                 Quantifier Operators     SELECT a.city FROM Address a WHERE EXISTS
                                                                                                                          (SELECT s FROM Student s WHERE s.address->city = a.city AND s.age > 35)

                                                                                                        Method Call       SELECT hairColor(’07/05/06’) FROM Student s

                                                                                                                                                                                                    14
                                                                                                                    The OntoQL proposal
                                                                                                                                               Motivation
                                                                                                                                               From SQL to OntoQL

                                                                                                                                   DQL
                                                                                                                                               OntoQL proposal
                                                                                                                                               Related Work




                                                                                                 on ontology
Querying Ontology Based Databases – The OntoQL proposal




                                                                                                     Same syntax with # as prefix
                                                                                                     + Multilingual attribute
                                                      SEKE’06, San Francisco Bay, July 5, 2006
                                                        Stéphane Jean – Session Databases




                                                                                                  SELECT c.#name[fr],
                                                                                                         c.#description[en],
                                                                                                         p.#name[en],
                                                                                                  FROM #CLASS c, UNNEST (c.#properties) p
                                                                                                  WHERE #name[en] = ‘Person’

                                                                                                     + Built-in Attributes
                                                                                                 SELECT c.#subClasses
                                                                                                        c.#allSubClasses
                                                                                                        c.#scopeProperties
                                                                                                        c.#properties
                                                                                                 FROM #CLASS c



                                                                                                                                                                 15
                                                                                                                    The OntoQL proposal
                                                                                                                                                    Motivation
                                                                                                                                                    From SQL to OntoQL

                                                                                                                                   DQL
                                                                                                                                                    OntoQL proposal
                                                                                                                                                    Related Work




                                                                                                 both on content and on ontology
Querying Ontology Based Databases – The OntoQL proposal




                                                                                                     Ontology to content
                                                      SEKE’06, San Francisco Bay, July 5, 2006
                                                        Stéphane Jean – Session Databases




                                                                                                  SELECT i.oid, ARRAY (SELECT p.#name[en], i.p
                                                                                                                FROM UNNEST (C.#properties) p)

                                                                                                   FROM C in #CLASS, C as i
                                                                                                  WHERE C.#name[en] like ‘Per%’




                                                                                                   Content to ontology
                                                                                                      SELECT typeOf(p).#name[fr]
                                                                                                       FROM Person p




                                                                                                                                                                      16
                                                                                                                          The OntoQL proposal
                                                                                                                                                                               Motivation
                                                                                                                                                                               From SQL to OntoQL

                                                                                                                              Implementation
                                                                                                                                                                               OntoQL proposal
                                                                                                                                                                               Related Work




                                                                                                 Architecture
Querying Ontology Based Databases – The OntoQL proposal

                                                      SEKE’06, San Francisco Bay, July 5, 2006
                                                        Stéphane Jean – Session Databases




                                                                                                                                                                        system catalog

                                                                                                                            OntoQL+
                                                                                                                                                                                 logical model
                                                                                                                                                  JOBDBC

                                                                                                 OntoQBE                     OntoAPI




                                                                                                 EntityClass c = new EntityClass(‘CPerson’);   OntoQLResultSet rs =
                                                                                                 c.getName(‘fr’);                                stmt.executeQuery(
                                                                                                                                                      ‘SELECT c.#name[fr]
                                                                                                                                                       FROM #CLASS’ WHERE c.#oid = ‘CPerson’)    17
                                                                                                                             Outline
Querying Ontology Based Databases – The OntoQL proposal




                                                                                                 Introduction
                                                      SEKE’06, San Francisco Bay, July 5, 2006
                                                        Stéphane Jean – Session Databases




                                                                                                    Motivation
                                                                                                    From SQL to OntoQL
                                                                                                    The OntoQL proposal
                                                                                                    Comparison with Semantic Web Query Languages

                                                                                                 Conclusion



                                                                                                                                                    18
                                                                                                                                                                 Motivation

                                                                                                                                 Comparison
                                                                                                                                                                 From SQL to OntoQL
                                                                                                                                                                 OntoQL proposal
                                                                                                                                                                 Related Work




                                                                                                  OntoQL                             RQL
Querying Ontology Based Databases – The OntoQL proposal




                                                                                                      SQL compatible                      no targeted class queries
                                                      SEKE’06, San Francisco Bay, July 5, 2006




                                                                                                      Content manipulation
                                                        Stéphane Jean – Session Databases




                                                                                                                                              SELECT I, T
                                                                                                      Linguistic definitions                 FROM {I}.title{T}

                                                                                                      Independent w.r.t ontology model    multi-instanciation

                                                                                                                                            SELECT I, T
                                                                                                                                            FROM Person{I}.title{T}


                                                                                                                                             DELETE FROM Person




                                                                                                                                                                                  19
                                                                                                                             Outline
Querying Ontology Based Databases – The OntoQL proposal




                                                                                                 Introduction
                                                      SEKE’06, San Francisco Bay, July 5, 2006
                                                        Stéphane Jean – Session Databases




                                                                                                    Motivation
                                                                                                    From SQL to OntoQL
                                                                                                    The OntoQL proposal
                                                                                                    Comparison with Semantic Web Query Languages

                                                                                                 Conclusion



                                                                                                                                                    20
                                                                                                                                 Conclusion

                                                                                                  A full database language
Querying Ontology Based Databases – The OntoQL proposal




                                                                                                      Extension of SQL
                                                      SEKE’06, San Francisco Bay, July 5, 2006




                                                                                                          Easy to learn
                                                        Stéphane Jean – Session Databases




                                                                                                          Powerful
                                                                                                          Completeness, closure
                                                                                                          Can be implemented as an extension of existing RODBMS

                                                                                                      Independence from any specific
                                                                                                          Ontology model
                                                                                                          OBDB model

                                                                                                      Exploitation of both
                                                                                                          Conceptual definitions and
                                                                                                          Linguistic definitions associated to ontology concepts

                                                                                                                                                                    21
                                                                                                                             Future work

                                                                                                 Filling the gap with Semantic Web Query
Querying Ontology Based Databases – The OntoQL proposal




                                                                                                  Languages
                                                      SEKE’06, San Francisco Bay, July 5, 2006
                                                        Stéphane Jean – Session Databases




                                                                                                     Support of
                                                                                                       no targeted class queries
                                                                                                       Multi-instanciation


                                                                                                 link with reasoning techniques

                                                                                                 Improve linguistic exploitation


                                                                                                                                            22
     Querying Ontology Based Databases – The OntoQL proposal
                  Stéphane Jean – Session Databases
                SEKE’06, San Francisco Bay, July 5, 2006
                                                               Questions




23
                                                                                                                         Semantic Web Query
                                                                                                                                                               Motivation
                                                                                                                                                               From SQL to OntoQL

                                                                                                                                  Languages
                                                                                                                                                               OntoQL proposal
                                                                                                                                                               Related Work
Querying Ontology Based Databases – The OntoQL proposal

                                                      SEKE’06, San Francisco Bay, July 5, 2006




                                                                                                                                           system catalog
                                                        Stéphane Jean – Session Databases




                                                                                                 SPARQL

                                                                                                 SELECT ?p, ?name, ?age, ?city
                                                                                                 FROM http://lisi.ensma.fr
                                                                                                 WHERE     (?p rdf:type C_Person),
                                                                                                           (?p a_Name ?name),
                                                                                                           (?p a_Age ?age)

                                                                                                                                     3Store RDF storage
                                                                                                 OPTIONAL (?p a_address ?a),
                                                                                                            (?a a_city ?city)




                                                                                                                                                                                24
                                                                                                                           Semantic Web Query
                                                                                                                                                                             Motivation
                                                                                                                                                                             From SQL to OntoQL

                                                                                                                                    Languages
                                                                                                                                                                             OntoQL proposal
                                                                                                                                                                             Related Work
Querying Ontology Based Databases – The OntoQL proposal

                                                      SEKE’06, San Francisco Bay, July 5, 2006




                                                                                                                                                   system catalog
                                                        Stéphane Jean – Session Databases




                                                                                                     RQL                                ontology                content



                                                                                                 SELECT p, name, age, city
                                                                                                 FROM Person{p},
                                                                                                      {p} a_Name {name},
                                                                                                      {p} a_age {age},
                                                                                                      {p} a_address {a}.a_city {city}

                                                                                                                                                      RDFSuite




                                                                                                                                                                                              25

								
To top