Written By:
Content Copyright © 2017 Bloor. All Rights Reserved.
Also posted on: Accessibility

Regular readers will know that I play bridge. There’s a convention known as Lebensohl that has so many variants that one is known as YAS (yet another ‘sohl). This article is something similar: yet another graph update.

There are two things I want to consider. The first is yet another discussion on property graph languages. Currently, the two major choices are Cypher, developed by Neo4j, which has been open-sourced as OpenCypher; and Apache Gremlin (part of TinkerPop). During discussions recently with Oracle on their graph offerings (property graph support on both the Oracle database and Hadoop as well as the company’s long-standing RDF capabilities), the company mentioned a recently introduced project to support property graph extension to SQL.

To cut a long story short, it was announced early this year that a working party was to be established with a view to developing the ISO graph query language standard (ISO SQL:2020 WG 3), which will provide property graph query extensions to SQL. This working party, which is chaired by a representative from Oracle, had its first meeting in June, though the minutes of that meeting have not been published.

Clearly, if SQL is going to have these sorts of extensions then this broadens the discussions on languages beyond just OpenCypher versus Gremlin. It is also interesting that the members of the committee include SAP, IBM, Teradata, Actian, Microsoft and Neo4j, as well as Oracle. Several of these are also involved in the OpenCypher project, which suggests to me that either they have doubts about OpenCypher – perhaps because they feel that it is too dominated by Neo? – or they are simply hedging their bets. Of course, we’ll have to wait and see, but I wouldn’t want to bet against the ultimate success of SQL.

The second thing I wanted to mention is that IBM has announced that its Compose product will support JanusGraph. For a change, the latter is an open source Linux Foundation project, which is a fork of (the almost defunct) Apache Titan project. IBM Compose supports (or will support – JanusGraph, for example, is in beta) ten different open source databases (including PostgreSQL, MySQL, Redis, MongoDB, Elastic Search, ScyllaDB and others) and aims to provide a common administrative environment through which you can provision your data and support scaling and other functions through a single, coherent user interface which makes the administration of all of the supported database products look the same – even if, under the hood, different commands are sent to the relevant databases. While it’s not necessarily the prime intention of Compose, this also supports polyglot persistence, whereby a single application uses multiple databases for persistence, depending on the type of data.