Question: why odmg created and developed oql?
Answer: OQL was developed to play the role of SQL for Object-Oriented Databases, especially those adhering to the ODMG Standard [4] where the language is defined. Unlike SQL, OQL is a functional language, and its operators can be composed to an arbitrary level of nesting within a query provided the query remains type-correct.