1 / 25

An Object-Oriented Based Algebra for Ontologies and their Instances

An Object-Oriented Based Algebra for Ontologies and their Instances. System Catalog. Ontology. Content. Definition of an Ontology Based Database (OBDB). A Database which contains : Local ontologies Possibly, links to external ontologies Ontology-based data : extensions of ontology concepts

ronat
Download Presentation

An Object-Oriented Based Algebra for Ontologies and their Instances

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. An Object-Oriented Based Algebra for Ontologies and their Instances

  2. System Catalog Ontology Content Definition of an Ontology Based Database (OBDB) • A Database which contains : • Local ontologies • Possibly, links to external ontologies • Ontology-based data : extensions of ontology concepts • Links Ontologies / Data

  3. System catalog Data Model ? Content Ontology QueryAlgebra ? What about OBDB ? OBDB Motivation of our work System catalog Relational Data Model (Relation) Logical model RelationalAlgebra RDB Object-Oriented Data Model (Class, Property, …) System catalog Logical model Query Algebra : Encore, AQUA, QAL, ... OODB Useful to study optimization, to prove semantic properties (e.g. completeness, closure) of query languages …

  4. Outline • Context: OBDB and OBDB Query Languages • Overall Approach • Proposal: Data Model and Query Algebra for OBDB • Conclusion and future work

  5. Existing OBDB: diversity of ontology models • Context • Approach • Proposal • Conclusion • OBDB use different ontology models RDF-Schema (RDF-Suite, Sesame, RSTAR,...) System Catalog Content Ontology PLIB (OntoDB and OntoDB2) OWL (DLDB, OntoMS, …) F-Logic, OWL Flight, KIF, Powerloom, KARIN, Ontolingua, … Objective 1. A data model for OBDB independent of the underlying ontology model

  6. system catalog • Split ontology/data (e.g. Sesame) • binary or vertical representation for data • fixed ontology model ontology content meta-schema system catalog • Ontology Meta-Schema (OntoDB) • table-like representation for data • evolving ontology model ontology content Existing OBDB: diversity of representations • Context • Approach • Proposal • Conclusion system catalog • Table of triples (e.g. Jena, 3Store) Objective 2. A data model for OBDB independent of the persistence DB logical model

  7. system catalog RQL ontology content OntoQL meta-schema system catalog ontology content Existing Ontology Query languages • Context • Approach • Proposal • Conclusion • RDF Querying system catalog SPARQL • semantics of RDF-S constructors • fixed ontology model • semantics of core ontology model constructors • evolving ontology model Objective 3. Define a reference query _ _ algebra for ontology query languages

  8. Outline • Context: OBDBs and OBDBs Query Langages • Overall Approach • Proposal: Data Model and Query Algebra for OBDB • Conclusion and future work

  9. Objective 1: Independence from ontology model • Context • Approach • Proposal • Conclusion • Definition of an extendable core ontology model • Storable in the ontology meta-schema part

  10. Objective 2: Independence from persistence DB logical model • Context • Approach • Proposal • Conclusion • Each class is associated to an extent whatever is the logical model used to represent it • A view may be associated to represent the extent of a class in order to hide the specific logical model

  11. Objective 3: Define a Query algebra for OBDB • Context • Approach • Proposal • Conclusion • Ontologies use extensively object-oriented concepts Class Instances • But they have their own particularities • Ontology and/or Data may be queried • Solely a subset of properties are valued • Multi-instanciation • … Property Proposed solution Adapt and Extend the ENCORE algebra for OODB [Shaw&Zdonik, 1990]

  12. Outline • Context: OBDBs and OBDBs Query Langages • Overall Approach • Proposal: Data Model and Query Algebra for OBDB • Conclusion and future work

  13. Proposal: formal data model of an OBDB • Context • Approach • Proposal • Conclusion Model M = (E, A, OC, C, P, Extent) Meta-schema: E, A, OC SuperEntities E  2E Type OC  E AttDomain A  E AttRange A  E Val OC A  OC System catalog Meta Schema Ontology Content Ontology C, P SuperClasses C  2c propDomain P  C propRange P  C Nomination: C  Extent Content: Extent, I Type I  2Extent SchemaProp Extent  2p Val I  P  I Abstraction: Extent  C

  14. Formal data model of an OBDB: Example • Context • Approach • Proposal • Conclusion Meta Schema System catalog Content Ontology

  15. OntoImage: E x 2OCx FunctionE x 2OC Apply a function to a collection of ontology elements • T  E, Oc  2OC => OntoImage(T, Oc,f) = (AttRange(f), {f(i) | i  Oc}) Query Algebra for OBDB:Ontology part • Context • Approach • Proposal • Conclusion • Signatures of Operators E x 2OCx …E x 2OC Collection of ontology elements Collection of ontology elements Ontology elements = Instance of an __ (Object-Oriented) Ontology model  Same Semantics as OODB Operators • Main Operators : OntoImage, OntoProject, OntoSelect, OntoOJoin OntoSelect: E x 2OCx PredicateE x 2OC Apply a selection to a collection of ontology elements • T  E, Oc  2OC => OntoSelect(T, Oc,pred) = (T, {i | i  Oc  pred(i)})

  16. Query Algebra for OBDB: Example(1) • Context • Approach • Proposal • Conclusion • Query on ontologies Retrieve the URI of the ontology classes named ‘Person’ • OntoQL. SELECT#uri FROM#class WHERE #name = ‘Person’ • RQL. SELECT$C FROM$C WHERE label($C) = ‘Person’ • SPARQL. SELECT?C WHERE {?Crdf:type rdfs:Class . • ?C rdfs:label ?nFILTER (?n=‘Person’) } ontoImage ontoSelect uri Same Semantics as OODB operators name = ‘Person’ ext* Class

  17. Query Algebra for OBDB:Content part • Context • Approach • Proposal • Conclusion • Signatures of operators C x 2Ix …C x 2I Collection of ontology class instances Collection of ontology class instances Case 1: Subset of properties are valued Case 2: Multi-instanciation  The Semantics of the operators needs to be adapted • Same Operators as on the ontology part OntoImage: C x 2Ix FunctionC x 2I OntoProject: C x 2Ix 2Function x 2StringC x 2I OntoSelect: C x 2Ix PredicateC x 2I OntoOJoin: C x 2Ix C x 2I x PredicateC x 2I

  18. case 1: Property not used in the extent of a class • OntoVal(i, p) = Val(i, p), if e  TypeOf (i) such that p  SchemaProp(e) • _ else, UNKNOWN • => OntoImage’(C, Ic,p) = (range(p), {OntoVal(i) | i  Ic} case 2: Multi-instanciation • Domain(p) = C2 => OntoImage (C1, Ic1,p) = • OntoImage’( OntoOJoin ( C1, Ic1 C2, ext*(C2), λiC1λiC2.ic1= ic2 ), Ic2.p ) Query Algebra for OBDB:OntoImage Operator • Context • Approach • Proposal • Conclusion • Operator signature OntoImage: C x 2Ix FunctionC x 2I Apply a function (e.g. a property) to a collection of ontology class instances • Operator semantics

  19. Query Algebra for OBDB: Example(2) • Context • Approach • Proposal • Conclusion • Query on data Retrieve the first name of the instances of the ontology class User • OntoQL. SELECTfirst name FROMUser • RQL. SELECTfn FROMUser{u}.first_name{fn} • SPARQL. SELECT?fn WHERE {?urdf:type User • OPTIONAL { ?u first_name ?fn } } ontoImage Case 1: May not be used in the extent of User case2: May not be defined on User (multi-instanciation) first_name ext* User

  20. Query Algebra for OBDB:Ontology and Content parts • Context • Approach • Proposal • Conclusion • Signatures of Operators (EC) x 2(EC)x …(EC)x 2(EC) Collection of ontology elements Collection of ontology elements and/or class instances_and/or class instances • Same Operators with the introduction of the TypeOf function TypeOf: I 2C Returns the set of classes an instance belongs to Allows to join the ontology and content part of an OBDB

  21. OntoProject <C.uri, i.uri> OntoOJoin ext* ext* C  typeOf(i) Class C ObjectC i Query Algebra for OBDBs: Example (3) • Context • Approach • Proposal • Conclusion • Querying both ontology and data Retrieve the URI of each ontology class and the URI of its instances • OntoQL. SELECTC.#uri, i.uri FROM#Class C, C as i • RQL. SELECT$C, i FROM {i;$C} • SPARQL. SELECT?C ?i WHERE {?Crdf:type rdfs:Class . ?i rdf:type ?C } Join the ontology and content part of an OBDB

  22. Outline • Context: OBDBs and OBDBs Query Langages • Overall Approach • Proposal: Data Model and Query Algebra for OBDB • Conclusion and future work

  23. Conclusion • Context • Approach • Proposal • Conclusion • A formal work on OBDB • Formal Data Model • Independent of a given ontology model • Core ontology model • Extension capabilities • Can be stored in the Meta-Schema part • Independent of the logical model • Extent to each class • View mechanism for hiding the logical model • Query Algebra • Extension and adaptation of the ENCORE query algebra • Usable to represent the semantics of queries on Ontology and/or data expressed in different languages

  24. Future work • Context • Approach • Proposal • Conclusion • Optimization • Adapt and reuse existing techniques • Exploit specific features of OBDB • Properties of the algebra • Completeness and closure of the algebra • Complexity and benchmarking • Expressive power of Ontology Query Language • Extend the notion of relational completeness to OBDB exploitation languages

  25. Questions

More Related