This site is not optimized for Internet Explorer 9 and lower. Please choose another browser or upgrade your existing browser in order get the best experience of this website.

Geequel is Awesome

January 20, 2016

Open Native Graph Query Language for ONgDB query shortest pathGeequel is a declarative pattern matching language created by ONgDB for the purposes of describing graph data representations effectively. Geequel is considered to be one of the most powerful features for effectively expressing graph database traversals for reading and writing graph database data into ONgDB.

Geequel makes it capable for queries to do something like: “bring back my friends’ friends right now” or “give me back all pages this page is linked to within the last day” in the form of several code lines. As such, graph database queries and operations across all languages and integrations with ONgDB are able to query in a consistent manner.

The reception to Geequel has been so great that ONgDB intends to make Geequel the SQL for graph databases. The organizations that are joining the initiative to establish a standard graph query language are very important to the graph database movement because supporting a common graph database query language means there will be more utilization and commonality across graph database implementations.

Geequel Query Syntax

Geequel looks a lot like ASCII art because it uses textual pattern representations to express nodes and relationships. The nodes are surrounded with parenthesis which appear like circles and the relationships consist of dashes with square brackets. Here’s an example: (graphs)-[:ARE]-(everywhere)

If we want to find all people and their preferences, the query will involve identifiers for the person and thing. A pattern like “(person)-[:LIKES]->(thing)” could be utilized so it can be referred to later say, for instance, to gain access to properties such as “person.name” and “thing.title.”

Writing and representing depth based queries is one place where Geequel makes it really easy to do. To look at my friends of friends is as simple as “(me)-[:FRIEND*2]->(fof). It’s actually fun to create queries because its comprehensive nature follows direct patterns and relationships without having to think about what needs joining together to aggregate the required data.

Advantages of ONgDB with Geequel

In a traditional SQL DB environment, the queries mentioned above could involve a lot of code and memory for calculations. But with the native graph database, ONgDB, and Geequel, it’s easier to achieve a minimum code and optimized performance at the same time.

If you dig deeper into the workings of the Open Native Graph Database (ONgDB) and computer systems on which it runs, you’ll find that ONgDB is a highly optimized product that is very system-friendly.

With ONgDB, nodes and relationship are housed in divided files. Every node is housed as a “constant length” record with a pointer to its initial property and initial relationship. And every relationship is also stored as a constant length with a pointer to its last and next relationship. Such constant length record promotes for a faster look-up.


Layering Geequel on top of any graph database from organizations that implement the standard graph query language will be an advantage for representing the graph database models, but layering on a native graph database, like ONgDB, will provide an even greater advantage thanks to completely natural pairing of native graph database storage and a native graph database query language like Geequel.