SQL has been the lingua franca of database querying since the dawn of time.
But for the first time in over three decades (!), ISO just published a NEW database query language called GQL -- the Graph Query Language!
Prior to SQL, there were a bunch of different relational query languages. But the industry came together to create one unified query language so that vendors could compete not on syntax & lockin, but on the strength of their implementations.
The goal of GQL is the same.
The origin of GQL goes all the way back to 2015 when we announced @openCypher with the goal to create a unified language for declarative graph querying. It took many years, but Cypher is now the most popular graph query language, supported by many DBs including @neo4j & Neptune.
But GQL is truly a joint effort. Lots of graph vendors came together to create the best possible graph query language, with an eye towards a future where users can write applications with one query language and it will immediately (or with low effort) run on all implementations.
When SQL got standardized in the 80s, it was like a lightning strike for the budding category of relational databases. The industry was already going through a platform shift (from mainframe to client/server) and as a new class of applications emerged they all got built on SQL.
GQL has the potential to do that for graph databases. The AI platform shift is driving a surge of adoption of Knowledge Graphs.
And as this new class of AI applications emerge, they will be built on top of the first standardized query language since SQL.
In my NODES keynote today, we ran a live demo of a social app with more people nodes than FB (!), backed by a trillion+ relationship graph sharded across more than 1,000 servers, executing deep, complex graph queries that return in <20 ms.
And we open sourced it for the world.
I've heard people claim that "Neo4j doesn't scale" for a decade.
There's some truth to that. Graph data IS hard to scale.
But they're probably not up to date with the new Fabric architecture in Neo4j 4 & Graph Native Sharding.
So we figured it was time to show what it can do.
We started out with 30B nodes & relationships sharded across 1 shard for all the people and 10 shards for the forums. We ran a complex, real graph query (not just a simple put/get). With sustained load, that query ran in <20ms.