Principles
The principles of OQL are close to the principles of ODMG OQL introduced
in the book Object Database Standard, ODMG 3 by Rick Cattell and al.
Our design is based on the following principles and assumptions:
- OQL relies on the EYEDB Object Model.
- OQL is based on ODMG OQL close to SQL 92. Extensions to SQL 92
concern object-oriented notions, like complex objects, object identify,
path expressions, polymorphim, operation invocation and late binding.
Extensions to ODMG OQL concern function definitions, selection statements,
iteration statement, assignment operator (see Section 3).
- OQL provides high level primitives to deal with sets of objects,
structures, lists and arrays.
- OQL is a functional language where operators can freely be composed as
long as the operands respect the type system.
- OQL is computationally complete.
- OQL can be invoked from within programming languages for which an
EYEDB binding is defined (currently C++ and Java).
Conversely, OQL can invoke operations programmed in this language.
EyeDB manual