an object-oriented based algebra for ontologies and their instances

25
Laboratory of Computer Science LISI National 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] Yamine AIT-AMEUR [email protected] Guy PIERRA [email protected] An Object-Oriented Based Algebra for Ontologies and their Instances

Upload: ronat

Post on 12-Jan-2016

29 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

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

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

Page 2: 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

Page 3: An Object-Oriented Based Algebra for Ontologies and their Instances

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 ?

Page 4: An Object-Oriented Based Algebra for Ontologies and their Instances

4

Outline

Context: OBDB and OBDB Query Languages

Overall Approach

Proposal: Data Model and Query Algebra for OBDB

Conclusion and future work

Page 5: An Object-Oriented Based Algebra for Ontologies and their Instances

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

Page 6: An Object-Oriented Based Algebra for Ontologies and their Instances

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

Page 7: An Object-Oriented Based Algebra for Ontologies and their Instances

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

Page 8: An Object-Oriented Based Algebra for Ontologies and their Instances

8

Outline

Context: OBDBs and OBDBs Query Langages

Overall Approach

Proposal: Data Model and Query Algebra for OBDB

Conclusion and future work

Page 9: An Object-Oriented Based Algebra for Ontologies and their Instances

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

Page 10: An Object-Oriented Based Algebra for Ontologies and their Instances

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

Page 11: An Object-Oriented Based Algebra for Ontologies and their Instances

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

Page 12: An Object-Oriented Based Algebra for Ontologies and their Instances

12

Outline

Context: OBDBs and OBDBs Query Langages

Overall Approach

Proposal: Data Model and Query Algebra for OBDB

Conclusion and future work

Page 13: An Object-Oriented Based Algebra for Ontologies and their Instances

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

Page 14: An Object-Oriented Based Algebra for Ontologies and their Instances

14

Formal data model of an OBDB: Example

Ontology

Meta Schema

Content

System catalog

Context Approach Proposal Conclusion

Page 15: An Object-Oriented Based Algebra for Ontologies and their Instances

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

Page 16: An Object-Oriented Based Algebra for Ontologies and their Instances

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

Page 17: An Object-Oriented Based Algebra for Ontologies and their Instances

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

Page 18: An Object-Oriented Based Algebra for Ontologies and their Instances

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

Page 19: An Object-Oriented Based Algebra for Ontologies and their Instances

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

Page 20: An Object-Oriented Based Algebra for Ontologies and their Instances

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

Page 21: An Object-Oriented Based Algebra for Ontologies and their Instances

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

Page 22: An Object-Oriented Based Algebra for Ontologies and their Instances

22

Outline

Context: OBDBs and OBDBs Query Langages

Overall Approach

Proposal: Data Model and Query Algebra for OBDB

Conclusion and future work

Page 23: An Object-Oriented Based Algebra for Ontologies and their Instances

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

Page 24: An Object-Oriented Based Algebra for Ontologies and their Instances

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

Page 25: An Object-Oriented Based Algebra for Ontologies and their Instances

25

Questions