GQL: A New ISO Standard in Graph Query Language
tigergraph.com
tigergraph.com
You want to make this a standard? Then make it free. We live in 2024 in a world where most of the innovation in software has been driven by open source. I mean, the entire Internet has been built on specifications from the IETF and W3C available for free. Most programming languages are open source and their specification are available for free as well. If the IETF and the W3C can make their standards available online for free, then why ISO couldn't?
My only experience with ISO standards is the C++ standard, and the community works around the price by making draft copies available for free.
This is a guess on my part, but maybe the majority use case for ISO standards is companies buying copies for their employees or maybe even lawyers. They _have_ to have a copy if they're going to have products that conform to the industry standards, so ISO can charge whatever they want and it's just a minor expense for the business. Compare this with the "hackers in mom's garage" image of software and you see the difference.
I've been in the situation of buying copies of these standards in my last two jobs, because we wanted to read and use these standards, because they are "standards" (standards on topics like functional safety, quality, and innovation). But as you can guess, the larger a company is, the more difficult it is to buy anything. And that's the problem with these standards. They can't be standards if people can't read and learn about them. What happens next is that you you have tons of people talking about these standards, without even having read them once, or not being able to check an assumption by going back to the source material. That stuff was ok 30 years ago, but not anymore: this is 2024 and we have Internet and open source.
You simply have to make the decision from the start and keep it through all the ISO approval process. That's how we made SPDX (ISO/IEC 5962:2021) and OpenChain (ISO/IEC 5230:2020) standards.
The alternative is what? Open Source? Where anybody can fork anything. One person puts out a standard, then another and another and suddenly there is no standard there is just a giant pile of one-off hacks.
Any Open Source project that has amounted to anything, guess what, has funding, and an organization. Some gatekeeper to make sure there is one truth.
Would SQL Exists today without some 'standards' body : "as standardized by the American National Standards Institute (ANSI) "
Tell me you don't understand open source software without telling me.
Major OSS projects today have funding and corporate backing because the popularity earns you money. Not all major OSS projects start with funding and corporate backing (though some certainly do and that can be a leg up if it's done with good intention).
The point was everyone was complaining about paying for a publication. But how do you fund publishing without paying? Everyone expects 'standards' to be free, but don't they take time and effort and organization?
GQL has existed for long time, as open source, and has evolved, with a community. But eventually there is a need to 'pay' to get funding, and industry backing to grow further. And a standards organization is valuable in doing that.
Complaining it isn't 'free' is the wrong part.
Also, you've got to understand that ISO is a complicated association of national "standard bodies" of varying legal statue, held together by international treaties. Nothing is easy and quick in that kind of environment; it's a miracle that it can produce something at all in this day and age. A way of motivating domain experts to become standard editors in the past has been to sell the standard text at high enough prices, such that the editor's own privately published book (containing a commented version of the standard text) would sell better.
Now whether the world needs another graph query language I'm not sure tbh. Certainly, I thought that creating a standard from scratch by committee was deemed less desired when Prolog (and Datalog) exist, as ISO standards even. W3C had put a lot of effort into RDF/SPARQL, and TBL' involvement with graph knowledge bases predates even WWW [3].
[1]: https://github.com/w3c/htmlwg
[2]: https://sgmljs.net/docs/html200129.html and https://sgmljs.net/docs/html230116.html
It's like having to pay for research I already paid for with my taxes... oh wait!
Even assuming the work of standardization bodies were tax-financed, that by itself still doesn't imply standards should be free of charge. It's the same thing when you have to pay a certain amount for any state or communal service you're receiving as an individual or business, such as idk real estate transactions or traffic management for construction or events, even though the service is performed by an authority or stage agency.
Guess it is time to learn Cypher as increasingly graph db vendors are adopting GQL. Is there an existing GraphDB that implements the GQL spec?
More open source projects should have fun text and drawings in them like the Tinkerpop[1].
[0] https://aws.amazon.com/blogs/database/gql-the-iso-standard-f...
[1] https://tinkerpop.apache.org/docs/current/reference/#preface
"Grasily had been stationed at vertex v[32] for as long as he could remember. ... Grasily's commanding officer was org.apache.tinkerpop.gremlin.process.traversal.Traverser@76a36b71"
"The famous mystic traverser Gri Gurobindo (ग्री गुरोबिंदो) once said:
My single step in the graph is composed of the steps of numerous other traversers."
Our computers are at least 10,000 times faster than decades ago. Yet, are we having 10,000 times the fun?
- SPARQL: A query language for RDF data, developed for semantic web by W3C. [3]
- PGQL: Property Graph Query Language developed by Oracle [4]
- Cypher: Neo4j's query language designed for its graph database. [5]
- openCypher: An open-source initiative to make the Cypher available beyond Neo4j database. [6]
- GSQL: TigerGraph's graph query language, SQL-like syntax for graph querying. [7]
- SQL/ PGQ: Another subproject of the SQL standard group introducing graph queries inside SELECT statements. Superseded by GQL (chapter SQL/PGQ Property Graph Query in [8])
[1] https://arxiv.org/abs/2112.06217
[2] https://www.iso.org/standard/76120.html
[3] https://www.w3.org/TR/2013/REC-sparql11-overview-20130321/
[5] https://neo4j.com/docs/cypher-manual/current/introduction/
Relational databases: decent at everything
Document databases: insane at saving and retrieving trees of data; bad at other things
Graph databases: insane at deep relational queries (e.g. give me all my friends of friends of friends); bad at other things
Columnar databases: insane at columnar operations; bad at other things
A reference "dual mode" SQL/GQL open source database would make understanding and use of graph logic more easy and hopefully widespread among relational database communities.
While many (if not most) practical problems can eventually be optimised as relational designs, thinking in graphs and occasionally (where warranted) executing as graphs feels like a coming of age moment for the entire database world.
Why? Did the ISO GQL come first before GraphQL did?
GraphQL is older, it was introduced in 2015 [1] while the work on the ISO GQL standard officially started in 2019 [2].
GraphQL is more of an RPC protocol that always recurses down from the same entry node.
I agree the names are too similar.