Hacker News new | past | comments | ask | show | jobs | submit login
GQL: A New ISO Standard in Graph Query Language (tigergraph.com)
111 points by todsacerdoti 9 days ago | hide | past | favorite | 38 comments





> Dive into the Standard: read the 628-page ISO GQL standard (cost: 217 CHF) for a comprehensive understanding of the language’s specifications.

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?


You would need someone high up in ISO to feel strongly enough about that to take the revenue hit.

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.


If the ISO is not willing to change their mind on that question, then let's work with other standard organizations. ISO doesn't have a monopoly, as we've seen with the IETF and the W3C.

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.


It's not particularly difficult to have an ISO standard be made freely available and published in https://standards.iso.org/ittf/PubliclyAvailableStandards/in...

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.


It's great that ISO is offering this possibility! But then, why don't we have more ISO standards freely available? Is it because the contributors don't want them to be free available, in order to sell books or trainings?

Sorry to put it this way but what revenue hit? Who exactly is so stupid they'd pay for this standard that nobody asked for, nobody needs, and very few people care about?

Someone has to organize conferences and protocols for voting, and organize the documents and get them published. Nothing is free, someone has to organize things.

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) "


> 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.

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).


Exactly. Popular ones are funded.

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.


This is the same organization that passed the absolute hack Microsoft lobbied for as an international digital document standard. Never assume anything ISO does has any value, at the risk of locking yourself into some large organization's grift.

Can't answer that tbh, but really, W3C is nearly irrelevant today and lives on only in the minds of people who have this idea that so-called web standards are created by W3C. W3C is into CSS still (on life support, and arguably, to avoid the bad looks of a single "browser vendor" dominating the show). But eg W3C's last involvement with HTML was three years ago [1], and their last HTML recommendation was based on WHATWG HTML snapshot January, 2020 [2]. You can check the barren place that is W3C's site yourself. I wouldn't put forth W3C as a shining example of standardization, to say the least, given the state of the web and browser diversity.

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

[3]: https://en.m.wikipedia.org/wiki/ENQUIRE


And still, I already paid the ISO standard (at least to some degree, in my country) by paying taxes and I still have to pay for a standard?

It's like having to pay for research I already paid for with my taxes... oh wait!


In my country, the ISO member org engaging in standardization (a pretty well-known one) isn't funded by taxes at all but is a non-profit, funded by member fees.

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.


Amazon Neptune supported both Gremlin and Cypher. AWS states in a blog post[0] that Cypher is the pathway to GQL. That aligns with the blog post. Personally I was hoping Gremlin would go farther, but it appears GQL is on track to be the unifying language for property graphs in a few years.

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


The tinkerpop writings of Marco Rodriguez are seriously underrated pieces of computer science literature

https://www.datastax.com/blog/tales-tinkerpop


Almost as good as having a coloring book and crayons!

Maybe all these years of staring into the uncaring blackness of my terminal has damaged my brain, but there are some real gems in "Tales from the TinkerPop."

"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?


Currently there is very little information available online on GQL, the SIGMOID paper 'Graph Pattern Matching in GQL and SQL/PGQ' linked in the article is a great intro to the topic [1]. The authoritative source is the ISO spec [2] but it is paywalled. In short, GQL ISO is inspired by the following query languages and has the aim to standardize graph querying:

- 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/

[4] https://pgql-lang.org/

[5] https://neo4j.com/docs/cypher-manual/current/introduction/

[6] https://opencypher.org/

[7] https://www.tigergraph.com/gsql/

[8] https://en.m.wikipedia.org/wiki/Graph_Query_Language


It is quite ridiculous in my opinion that the iso standard is paywalled. When it comes to standards, we should be driving adoption by making it accessible, in particular for open source developers, students learning etc. Piracy of standards may actually be beneficial for their success. I wonder who buys the access at such price and how much money iso makes it any at all.

You can get the machine interpretable bits of it without a paywall [1].

[1] https://standards.iso.org/iso-iec/39075/ed-1/en/


Yeah totally agree. I think it's great there is an organization that works on establishing standards but paywalling them definitely adds lots of frictions. In an ideal world the org would be fully financed by its members/governments so the standards can freely proliferate. Guess the only ones paying are big corporations who can then claim to be in accordance with a standard.

I've still never been convinced by the use cases of graph databases. It just seems like a new coat of paint over NoSQL. I always hear vague claims of increased performance (the same thing everyone said about NoSQL), without much backing it up. PG is just so performant and feature-rich these days, it's hard to beat.

"NoSQL" isn't a technology, though. It's an industry category. At that level of detail it'll all seem pretty confusing, I'm sure!

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


Given that the P and G initials (property graph) coincidentally match the commonly used Postgres abbreviation (pg) I would hope/wish that that ecosystem too develops a very strong GQL proposition.

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.


I keep hoping/wishing EdgeDB would catch on more for this exact reason.

I had a wonderful time with cypher and redisgraph. SPARQL, not so much. This new era of peace between the RDF and property graph people is very exciting. I'm looking forward to using GQL in a project soon.

If they publish it for free then it may be adopted. Currently tech industry should use free and public access standard.

The major vendors are adopting it. Most people don't read the ISO SQL spec to learn SQL. They read their vendors documentation.

The standard is has two flavours; one for each of the two main contributing companies' graph query languages.

When I think of GQL I think of GraphQL, but this seems to be an entirely different thing with the same name.

Why? Did the ISO GQL come first before GraphQL did?


Agree names are too close, searching GQL on Google returns results related to GraphQL as well.

GraphQL is older, it was introduced in 2015 [1] while the work on the ISO GQL standard officially started in 2019 [2].

[1] https://en.m.wikipedia.org/wiki/GraphQL

[2] https://en.m.wikipedia.org/wiki/Graph_Query_Language


It should be named SGQL -- Structured Graph Query Language to be more resemble SQL.

and we could pronounce it "sguiqle" or "squiggle"

Current one could be pronounced "geekle".

Despite the name, GraphQL does not actually query graphs (at least, not like GQL does).

It queries graphs of objects and fields but it’s not a general purpose graph query language.

Another limitation is that GraphQL always starts traversal from the same starting objects, one for "queries" and the other for "mutations."

This language actually reminds me more of SPARQL, but without RDF’s URI prefixes reminiscent of XML namespaces. These queries search a graph for patterns spanning many nodes and edges.

GraphQL is more of an RPC protocol that always recurses down from the same entry node.

I agree the names are too similar.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: