The crash comes from replace_property_refs() (src/backend/rewrite/rewriteGraphTable.c) which rewrites the GraphPropertyRef nodes.
It calls expression_tree_mutator() directly on the top level node instead of calling it's mutator (replace_property_refs_mutator()) which treats GraphPropertyRef as a leaf & just copies it unchanged.
```
case T_GraphLabelRef:
case T_GraphPropertyRef:
case T_MergeSupportFunc:
return copyObject(node);
```
The fix is to call the mutator directly at the entry point.
In MATCH clause you cannot use "WHERE boolean" Syntax. aka :
select * from GRAPH_TABLE (trajet MATCH ( a IS quai where a.nom_station='Place des Fêtes' )-[t IS dessert where t.correspondance ]->(b IS quai) columns (a.nom_station as station1, a.num_ligne as ligne1, b.nom_station as station2, b.num_ligne as ligne2, T.correspondance as correspondance)); ERROR: unrecognized node type: 63
You have to add " = true" (ugly) : select * from GRAPH_TABLE (trajet MATCH ( a IS quai where a.nom_station='Place des Fêtes' )-[t IS dessert where t.correspondance=true ]->(b IS quai) columns (a.nom_station as station1, a.num_ligne as ligne1, b.nom_station as station2, b.num_ligne as ligne2, T.correspondance as correspondance)); station1 | ligne1 | station2 | ligne2 | correspondance -----------------+--------+-----------------+--------+---------------- Place des Fêtes | 7bis | Place des Fêtes | 11 | t Place des Fêtes | 11 | Place des Fêtes | 7bis | t (2 rows)