graphiti icon indicating copy to clipboard operation
graphiti copied to clipboard

Add support for FalkorDB Graph database alongside Neo4j usage

Open galshubeli opened this issue 7 months ago • 5 comments

[!IMPORTANT] Add support for FalkorDB as an alternative to Neo4j, including configuration, examples, and core functionality updates.

  • Database Support:
    • Adds support for FalkorDB alongside Neo4j in graphiti_core/driver.py.
    • Introduces Driver class to abstract database interactions.
    • Updates .env.example and README.md to include FalkorDB configuration.
  • Examples:
    • Adds quickstart_falkordb.py for FalkorDB usage.
    • Renames quickstart.py to quickstart_neo4j.py.
    • Updates examples/quickstart/README.md to reflect FalkorDB support.
  • Code Changes:
    • Modifies graphiti_core/edges.py, graphiti_core/nodes.py, and graphiti_core/search/search.py to use the new Driver class.
    • Updates graphiti_core/graph_queries.py to generate queries for both Neo4j and FalkorDB.
    • Adjusts graphiti_core/utils/bulk_utils.py and graphiti_core/utils/maintenance modules for compatibility with both databases.
  • Miscellaneous:
    • Adds falkordb dependency in pyproject.toml.
    • Updates CONTRIBUTING.md for environment setup changes.

This description was created by Ellipsis for 61a99ff1e93806bf7a2bc0a8ab5be6ded6589060. You can customize this summary. It will automatically update as commits are pushed.

galshubeli avatar May 26 '25 09:05 galshubeli

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

danielchalef avatar May 27 '25 11:05 danielchalef

I have read the CLA Document and I hereby sign the CLA

dudizimber avatar May 27 '25 11:05 dudizimber

I have read the CLA Document and I hereby sign the CLA

galshubeli avatar May 27 '25 12:05 galshubeli

This is awesome. Thanks for contributing. Please allow @prasmussen15 and team some time to review and comment. Thank you!

danielchalef avatar May 28 '25 03:05 danielchalef

I took a look at the PR and I agree with the approach! I still have to run tests locally before merging though

prasmussen15 avatar Jun 05 '25 17:06 prasmussen15

@prasmussen15 can you approve the workflow?

galshubeli avatar Jun 12 '25 06:06 galshubeli

Hey, closing this PR since I merged in these commits along with a few MyPy/linter fixes and a different abstraction methodology.

prasmussen15 avatar Jun 13 '25 19:06 prasmussen15