240 likes | 430 Views
Querying Ontology Based Database Using OntoQL. Stephane Jean et al. Presented by: Meher Talat Shaikh. Overview. OntoQL is a language for defining, manipulating and querying data stored in an OBDB. Objective: retrieve definition, meaning, translation and/or identifier of a given data item.
E N D
Querying Ontology Based Database UsingOntoQL Stephane Jean et al. Presented by: Meher Talat Shaikh
Overview • OntoQL is a language for defining, manipulating and querying data stored in an OBDB. • Objective: retrieve definition, meaning, translation and/or identifier of a given data item. • OBDB (OntoDB) data model: created and customized by users • OntoQL operators that makes up OntoAlgebra • Example queries
OBDB data model Built on top of relational database model. Both the ontology and the instances are kept in the same database. Content part: Stores the instances Ontology part: Stores ontology definitions
Ontology • E is a set of entities representing the ontology model • OC is the set of concepts of ontologies • A is the set of attributes describing each OC • SuperEntities: associates set of super entities to an entity (E 2E1 ) • TypeOf: Associates the strongest entity to each concept of ontology (OC E) • AttributeDomain, AttributeRange • Val
Content • EXTENT is a set of extensional definitions of ontology classes • I is the set of instances of the OBDB • TypeOf : I EXTENT • SchemaProp : EXTENT 2P • Val
Content cont.. Relationship between ontology and content is defined by partial function nomination: CEXTENT Classes without extensional definition are said to be abstract
Onto Algebra • OntoImage: returns collection of objects after applying a specific function. OntoImage(C, IC, p) • OntoProject: allows the application of more than one function. • OntoSelect: creates a collection of objects satisfying a selection predicate. • OntoJoin: creates relationships between objects of two collections. • * : introduces polymorphism: returns the instances of the class C and all the classes subsumed by C
OntoQL • Extension of SQL • DDL to create, alter and drop concepts of ontologies to create, alter and drop attributes of these concepts of ontologies • DML Update, Insert, Delete etc.
OntoQL Features • Path expressions. Associations may be traversed using dot notation. • Polymorphic query: * operator • Nested queries • Aggregate functions: count, avg, min max. • Quantification: Existential (ANY, SOME) and universal (ALL) • Set operators: Union, Intersection and Except
Processing of ONtoQL • OntoQL query is parsed into an OntoAlgebra expression tree • path expressions and * operators removed • The expression tree is optimized • OntoAlgebra is translated to relational algebra tree. • The relational algebra tree is optimized. • The optimized relational algebra trees are translated into SQL queries.
Advantages of OntoQL • Based on SQL • Allows schema manipulation • Express queries in different languages. • Provides GROUP BY and ORDER By operators.
Shortcomings • FROM Clause is mandatory • Does not yet support multi-instantiation capability • Large sets of data are to be evaluated to study the OntoQL scalability issue.
Conclusion • OntoQL is effective in querying data, ontology and both • Based on Object oriented concepts and RDB model • conceptual model may be created and customized by users.