SQL Property Graph Queries (SQL/PGQ)

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: SQL Property Graph Queries (SQL/PGQ)
Date: 2024-02-16 14:53:11
Message-ID: a855795d-e697-4fa5-8698-d20122126567@eisentraut.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Here is a prototype implementation of SQL property graph queries
(SQL/PGQ), following SQL:2023. This was talked about briefly at the
FOSDEM developer meeting, and a few people were interested, so I
wrapped up what I had in progress into a presentable form.

There is some documentation to get started in doc/src/sgml/ddl.sgml
and doc/src/sgml/queries.sgml.

To learn more about this facility, here are some external resources:

* An article about a competing product:
https://oracle-base.com/articles/23c/sql-property-graphs-and-sql-pgq-23c
(All the queries in the article work, except the ones using
vertex_id() and edge_id(), which are non-standard, and the JSON
examples at the end, which require some of the in-progress JSON
functionality for PostgreSQL.)

* An academic paper related to another competing product:
https://www.cidrdb.org/cidr2023/papers/p66-wolde.pdf (The main part
of this paper discusses advanced functionality that my patch doesn't
have.)

* A 2019 presentation about graph databases:
https://www.pgcon.org/2019/schedule/events/1300.en.html (There is
also a video.)

* (Vik has a recent presentation "Property Graphs: When the Relational
Model Is Not Enough", but I haven't found the content posted
online.)

The patch is quite fragile, and treading outside the tested paths will
likely lead to grave misbehavior. Use with caution. But I feel that
the general structure is ok, and we just need to fill in the
proverbial few thousand lines of code in the designated areas.

Attachment Content-Type Size
v0-0001-WIP-SQL-Property-Graph-Queries-SQL-PGQ.patch text/plain 331.8 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2024-02-16 14:58:01 Re: table inheritance versus column compression and storage settings
Previous Message Peter Eisentraut 2024-02-16 14:49:01 Re: Replace current implementations in crypt() and gen_salt() to OpenSSL