The predecessor of Theca, Typhoon , provided an XML-based API for both
input(queries) and output(result sets). Although some customers still
insist in communicating via API's, we have seen several advantages in
applying an approach that is more suited for relational thinking. That’s
why we developed the Relational Query Language, RQL. RQL allows both DML
and DDL operations within the same scope of operations. RQL is highly
inspired by SQL, but it avoids some of the pitfalls that has struck SQL.
RQL
strictly follows the relational model. The relational model is based on
sets, not bags. RQL does therefore not allow duplicates in relations, and
unifies bags into sets automatically. The relational model is based on
predicate and binary logics. By allowing NULL’s, SQL enters the twilight
zone of 3-valued logics. RQL does therefore not allow nulls. RQL focus
merely on expressing data management with no regards of external
environments. Backward compatibility towards extinct programming languages
such as Fortran is therefore spared in RQL. RQL allows specialisations of
types, structures and operators at the lowest levels of the kernel.
Beside
the basic differences mentioned above, the RQL syntax is intentionally
influenced by SQL and it does not take an experienced SQL developer more
than a couple of hours to feel confident behind the controls.
For
customers upgrading to Theca from Typhoon, who want to keep the previous
XML interface towards Theca, an RQL-XML interpreter is provided.
