Re: SQL Property Graph Queries (SQL/PGQ)

Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>

From: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
To: Junwang Zhao <zhjwpku@gmail.com>
Cc: Vik Fearing <vik@postgresfriends.org>, Ajay Pal <ajay.pal.k@gmail.com>, Imran Zaheer <imran.zhir@gmail.com>, Peter Eisentraut <peter@eisentraut.org>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2024-12-16T10:14:04Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Fix some typos and make small stylistic improvements

  2. Cleanup users and roles in graph_table_rls test

  3. Dump labels in reproducible order

  4. SQL Property Graph Queries (SQL/PGQ)

  5. Factor out constructSetOpTargetlist() from transformSetOperationTree()

  6. Sort out table_open vs. relation_open in rewriter

  7. Rename grammar nonterminal to simplify reuse

  8. Make ecpg parse.pl more robust with braces

  9. Don't lock partitions pruned by initial pruning

  10. Remove pg_regex_collation

  11. Use auxv to check for CRC32 instructions on ARM.

  12. Fix inappropriate uses of atol()

  13. Remove unnecessary array object_classes[] in dependency.c

Hi Junwang,

>
> I'm looking at the catalog definition, I have some questions which
> might be silly.

Thanks for your interest in SQL/PGQ.

>
> Each pg element can have multiple labels(whose properties belong
> to the same pg element), can we have multiple elements share the
> same label?

Yes. A label can be shared between edges and vertices as well.

>
> If we have a 1..* relation between element and label, I think maybe
> we don't need _pg_propgraph_label_.

pg_propgraph_label is used to map a label name in a given property
graph to its OID. pg_propgraph_element_label - can be used to find all
the elements with a given label and all the labels of a given element.
The relationship is many to many.

>
> From the name _pg_propgraph_label_property_, I tend to think it is
> referencing _pg_propgraph_label_, but actually it is referencing
> _pg_propgraph_element_label_.
>

Right.

-- 
Best Wishes,
Ashutosh Bapat