an object-oriented based algebra for ontologies and their instances
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
Laboratory of Computer Science LISINational Engineering School for Mechanics and Aerotechnics ENSMA
1, avenue Clément Ader - BP 40109 - 86961 Futuroscope cedex - France
ADBIS’07, Varna, September 30, 2007
Stéphane JEAN [email protected] [email protected] PIERRA [email protected]
An Object-Oriented Based Algebra for Ontologies and their Instances
2
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
Content
System Catalog
Ontology
3
Motivation of our work
RDB
Logical model
System catalog
OODB
System catalog
Logical model
Object-Oriented Data Model (Class, Property, …)
Query Algebra : Encore, AQUA, QAL, ...
Relational Data Model (Relation)
Relational Algebra
Useful to study optimization, to prove semantic properties (e.g. completeness, closure) of query languages …
OBDB
System catalog
Ontology Content
Data Model ?
Query Algebra ?
What about OBDB ?
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
OBDB use different ontology models
Ontology
System Catalog
Content
PLIB(OntoDB and OntoDB2)
RDF-Schema(RDF-Suite, Sesame, RSTAR,...)
OWL(DLDB, OntoMS, …)
F-Logic,OWL Flight,KIF,Powerloom,KARIN,Ontolingua,…
Objective 1. A data model for OBDB independent of the underlying ontology model
Context Approach Proposal Conclusion
6
Existing OBDB: diversity of representations
Table of triples (e.g. Jena, 3Store)system catalog
system catalog
contentontology
Split ontology/data (e.g. Sesame) binary or vertical representation for data fixed ontology model
system catalog
contentontology
Ontology Meta-Schema (OntoDB) table-like representation for data evolving ontology model
meta-schema
Objective 2. A data model for OBDB independent of the persistence DB logical model
Context Approach Proposal Conclusion
7
Existing Ontology Query languages
SPARQLsystem catalog
RQL
system catalog
contentontology
OntoQLsystem catalog
contentontology
meta-schema
Objective 3. Define a reference query _ _ algebra for ontology query languages
Context Approach Proposal Conclusion
RDF Querying
semantics of RDF-S constructors fixed ontology model
semantics of core ontology model constructors
evolving ontology model
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
Storable in the ontology meta-schema partEntities Attributes
_ Ontology_ Class_ Property_ Datatype
_ code_ name_ definition_ superClasses…
Entities Attributes
_ Ontology_ Class_ Property_ Datatype_ Restriction
_ code_ name_ definition_ superClasses…_ remark
Definition of an extendable core ontology model
10
Objective 2: Independence from persistence DB logical model
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
Context Approach Proposal Conclusion
11
Objective 3: Define a Query algebra for OBDB
Ontologies use extensively object-oriented concepts
Context Approach Proposal Conclusion
But they have their own particularitiesOntology and/or Data may be queriedSolely a subset of properties are valuedMulti-instanciation…
Proposed solution Adapt and Extend the ENCORE algebra
for OODB [Shaw&Zdonik, 1990]
Class
PropertyInstances
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
Content: Extent, I
Type I 2Extent
SchemaProp Extent 2p
Val I P I
Meta-schema: E, A, OC
SuperEntities E 2E
Type OC E
AttDomain A E
AttRange A E
Val OC A OC
Ontology C, P
SuperClasses C 2c
propDomain P C
propRange P C
Model
M = (E, A, OC, C, P, Extent)
System catalog
Ontology Content
Meta Schema
Nomination: C Extent
Abstraction: Extent C
Context Approach Proposal Conclusion
14
Formal data model of an OBDB: Example
Ontology
Meta Schema
Content
System catalog
Context Approach Proposal Conclusion
15
OntoImage: E x 2OC x 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 2OC x … E x 2OC
Main Operators : OntoImage, OntoProject, OntoSelect, OntoOJoin
Collection of ontology elements Collection of ontology elements
T E, Oc 2OC => OntoSelect(T, Oc, pred) = (T, {i | i Oc pred(i)})
Apply a selection to a collection of ontology elements
OntoSelect: E x 2OC x Predicate E x 2OC
Ontology elements = Instance of an _ _ (Object-Oriented) Ontology model
Same Semantics as OODB Operators
16
Query Algebra for OBDB: Example(1)
Query on ontologies
Retrieve the URI of the ontology classes named ‘Person’
OntoQL. SELECT #uri FROM #class WHERE #name = ‘Person’
ontoImage
name = ‘Person’ext*
Class
ontoSelect uri
RQL. SELECT $C FROM $C WHERE label($C) = ‘Person’
SPARQL. SELECT ?C WHERE { ?C rdf:type rdfs:Class . ?C rdfs:label ?n FILTER (?n=‘Person’) }
Same Semantics as OODB operators
Context Approach Proposal Conclusion
17
OntoImage: C x 2I x Function C x 2I
Query Algebra for OBDB:Content part
Context Approach Proposal Conclusion
Signatures of operators
C x 2I x … C x 2I
Same Operators as on the ontology part
Collection of ontology class instances Collection of ontology class instances
OntoSelect: C x 2I x Predicate C x 2I
OntoOJoin: C x 2I x C x 2I x Predicate C x 2I
OntoProject: C x 2I x 2Function x 2String C x 2I
Case 1: Subset of properties are valued
Case 2: Multi-instanciation
The Semantics of the operators needs to be adapted
18
OntoImage: C x 2I x Function C x 2I
Apply a function (e.g. a property) to a collection of ontology class instances
Query Algebra for OBDB:OntoImage Operator
Context Approach Proposal Conclusion
Operator signature
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 1: Property not used in the extent of a class
Domain(p) = C2 => OntoImage (C1, Ic1, p) = OntoImage’( OntoOJoin ( C1, Ic1 C2, ext*(C2), λiC1 λiC2.ic1= ic2 ), Ic2.p )
case 2: Multi-instanciation
Operator semantics
19
Query Algebra for OBDB: Example(2)
Query on data
Retrieve the first name of the instances of the ontology class User
ontoImage
first_name ext*
User
OntoQL. SELECT first name FROM User
RQL. SELECT fn FROM User{u}.first_name{fn}
SPARQL. SELECT ?fn WHERE { ?u rdf:type User OPTIONAL { ?u first_name ?fn } }
Case 1: May not be used in the extent of User
case2: May not be defined on User (multi-instanciation)
Context Approach Proposal Conclusion
20
TypeOf: I 2C
Returns the set of classes an instance belongs to
Query Algebra for OBDB:Ontology and Content parts
Context Approach Proposal Conclusion
Signatures of Operators
(EC) x 2(EC) x … (EC) x 2(EC)
Same Operators with the introduction of the TypeOf function
Collection of ontology elements Collection of ontology elements and/or class instances _ and/or class instances
Allows to join the ontology and content part of an OBDB
21
Query Algebra for OBDBs: Example (3)
Querying both ontology and data
Retrieve the URI of each ontology class and the URI of its instances
OntoQL. SELECT C.#uri, i.uri FROM #Class C, C as i
RQL. SELECT $C, i FROM {i;$C}
SPARQL. SELECT ?C ?i WHERE { ?C rdf:type rdfs:Class . ?i rdf:type ?C }
OntoOJoin
ext* ext*
Class CObjectC i
C typeOf(i)
OntoProject
<C.uri, i.uri>
Join the ontology and content part of an OBDB
Context Approach Proposal Conclusion
22
Outline
Context: OBDBs and OBDBs Query Langages
Overall Approach
Proposal: Data Model and Query Algebra for OBDB
Conclusion and future work
23
Conclusion
A formal work on OBDB
Context Approach Proposal Conclusion
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
OptimizationAdapt and reuse existing techniquesExploit specific features of OBDB
Context Approach Proposal Conclusion
Properties of the algebraCompleteness and closure of the algebraComplexity and benchmarking
Expressive power of Ontology Query LanguageExtend the notion of relational completeness to
OBDB exploitation languages
25
Questions