250 likes | 382 Views
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
E N D
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 • Links Ontologies / Data
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 …
Outline • Context: OBDB and OBDB Query Languages • Overall Approach • Proposal: Data Model and Query Algebra for OBDB • Conclusion and future work
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
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
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
Outline • Context: OBDBs and OBDBs Query Langages • Overall Approach • Proposal: Data Model and Query Algebra for OBDB • Conclusion and future work
Objective 1: Independence from ontology model • Context • Approach • Proposal • Conclusion • Definition of an extendable core ontology model • Storable in the ontology meta-schema part
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
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]
Outline • Context: OBDBs and OBDBs Query Langages • Overall Approach • Proposal: Data Model and Query Algebra for OBDB • Conclusion and future work
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
Formal data model of an OBDB: Example • Context • Approach • Proposal • Conclusion Meta Schema System catalog Content Ontology
OntoImage: E x 2OCx FunctionE 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 PredicateE 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)})
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
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 FunctionC x 2I OntoProject: C x 2Ix 2Function x 2StringC x 2I OntoSelect: C x 2Ix PredicateC x 2I OntoOJoin: C x 2Ix C x 2I x PredicateC x 2I
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 FunctionC x 2I Apply a function (e.g. a property) to a collection of ontology class instances • Operator semantics
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
Query Algebra for OBDB:Ontology and Content parts • Context • Approach • Proposal • Conclusion • Signatures of Operators (EC) x 2(EC)x …(EC)x 2(EC) 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
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
Outline • Context: OBDBs and OBDBs Query Langages • Overall Approach • Proposal: Data Model and Query Algebra for OBDB • Conclusion and future work
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
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