kuzudb / kuzu

Embeddable property graph database management system built for query speed and scalability. Implements Cypher.
https://kuzudb.com/
MIT License
1.42k stars 99 forks source link

GDS and Recursive Joins TODOs #4285

Open semihsalihoglu-uw opened 2 months ago

semihsalihoglu-uw commented 2 months ago

This issue is intended to keep track of the suite of optimizations, refactoring, enhancements, experimentations, and documentations we plan to implement/write in both the new fast recursive join implementations and the upcoming Kuzu GDS functions.

Recursive Joins TODOs

GDS TODOs

andyfengHKU commented 1 month ago

Optimization: Currently when writing outputs in SingleSPOutputWriterPaths, we call the ....

This seems no longer relevant because we are reusing the same path writer for both single&all shortest path. And there is no tableID to fix.

sapalli2989 commented 1 month ago

Thanks very much for doing optimizations on recursive joins, this looks awesome.

Enhancement: Integrate predicates to recursive joins, e.g., (a)-[r:* | WHERE r.since < 2022 AND n.age > 45]->(b). (Xiyang)

Enhancement: Make recursive joins work on undirected recursive relationship patterns (e.g., (a)-[r:*]-(b)) as well as when scanning the graph in backwards direction.

Personally can't wait for these :-) Do you plan to incorporate the refactoring into next major release - or WIP and see, how stable it gets?

semihsalihoglu-uw commented 1 month ago

Hi @sapalli2989, yes this is the focus of the next major release. I think you can start testing some of this functionality out at the dev branch or the branch @andyfengHKU is working on. Not sure how much has been integrated into the dev branch but he can keep you updated here.

sapalli2989 commented 1 month ago

Awesome, will have a look at it and do some testing in the next days.

semihsalihoglu-uw commented 1 month ago

OK, I'd double check with @andyfengHKU first though on Discord. Not sure how much is testable yet.