graphiti-core 0.16.0__tar.gz → 0.17.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of graphiti-core might be problematic. Click here for more details.
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/.env.example +0 -1
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/CLAUDE.md +9 -1
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/PKG-INFO +9 -13
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/README.md +8 -12
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/examples/quickstart/README.md +8 -12
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/driver/driver.py +2 -4
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/driver/falkordb_driver.py +9 -7
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/driver/neo4j_driver.py +14 -13
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/edges.py +3 -20
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/graphiti.py +1 -5
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/helpers.py +0 -1
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/nodes.py +3 -22
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/search/search_utils.py +1 -20
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/utils/bulk_utils.py +2 -2
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/utils/maintenance/community_operations.py +1 -6
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/utils/maintenance/edge_operations.py +1 -2
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/utils/maintenance/graph_data_operations.py +2 -6
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/mcp_server/pyproject.toml +1 -1
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/pyproject.toml +1 -1
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/tests/driver/test_falkordb_driver.py +3 -5
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/uv.lock +478 -409
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/.github/dependabot.yml +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/.github/pull_request_template.md +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/.github/secret_scanning.yml +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/.github/workflows/cla.yml +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/.github/workflows/claude-code-review.yml +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/.github/workflows/claude.yml +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/.github/workflows/codeql.yml +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/.github/workflows/lint.yml +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/.github/workflows/mcp-server-docker.yml +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/.github/workflows/release-graphiti-core.yml +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/.github/workflows/typecheck.yml +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/.github/workflows/unit_tests.yml +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/.gitignore +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/CODE_OF_CONDUCT.md +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/CONTRIBUTING.md +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/Dockerfile +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/LICENSE +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/Makefile +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/SECURITY.md +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/Zep-CLA.md +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/conftest.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/depot.json +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/docker-compose.test.yml +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/docker-compose.yml +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/ellipsis.yaml +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/examples/data/manybirds_products.json +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/examples/ecommerce/runner.ipynb +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/examples/ecommerce/runner.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/examples/langgraph-agent/agent.ipynb +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/examples/langgraph-agent/tinybirds-jess.png +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/examples/podcast/podcast_runner.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/examples/podcast/podcast_transcript.txt +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/examples/podcast/transcript_parser.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/examples/quickstart/quickstart_falkordb.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/examples/quickstart/quickstart_neo4j.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/examples/quickstart/requirements.txt +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/examples/wizard_of_oz/parser.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/examples/wizard_of_oz/runner.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/examples/wizard_of_oz/woo.txt +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/__init__.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/cross_encoder/__init__.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/cross_encoder/bge_reranker_client.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/cross_encoder/client.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/cross_encoder/gemini_reranker_client.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/cross_encoder/openai_reranker_client.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/driver/__init__.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/embedder/__init__.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/embedder/azure_openai.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/embedder/client.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/embedder/gemini.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/embedder/openai.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/embedder/voyage.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/errors.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/graph_queries.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/graphiti_types.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/llm_client/__init__.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/llm_client/anthropic_client.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/llm_client/azure_openai_client.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/llm_client/client.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/llm_client/config.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/llm_client/errors.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/llm_client/gemini_client.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/llm_client/groq_client.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/llm_client/openai_base_client.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/llm_client/openai_client.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/llm_client/openai_generic_client.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/llm_client/utils.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/models/__init__.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/models/edges/__init__.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/models/edges/edge_db_queries.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/models/nodes/__init__.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/models/nodes/node_db_queries.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/prompts/__init__.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/prompts/dedupe_edges.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/prompts/dedupe_nodes.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/prompts/eval.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/prompts/extract_edge_dates.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/prompts/extract_edges.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/prompts/extract_nodes.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/prompts/invalidate_edges.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/prompts/lib.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/prompts/models.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/prompts/prompt_helpers.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/prompts/summarize_nodes.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/py.typed +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/search/__init__.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/search/search.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/search/search_config.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/search/search_config_recipes.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/search/search_filters.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/search/search_helpers.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/telemetry/__init__.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/telemetry/telemetry.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/utils/__init__.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/utils/datetime_utils.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/utils/maintenance/__init__.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/utils/maintenance/node_operations.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/utils/maintenance/temporal_operations.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/utils/maintenance/utils.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/graphiti_core/utils/ontology_utils/entity_types_utils.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/images/arxiv-screenshot.png +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/images/graphiti-graph-intro.gif +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/images/graphiti-intro-slides-stock-2.gif +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/images/simple_graph.svg +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/mcp_server/.env.example +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/mcp_server/.python-version +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/mcp_server/Dockerfile +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/mcp_server/README.md +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/mcp_server/cursor_rules.md +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/mcp_server/docker-compose.yml +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/mcp_server/graphiti_mcp_server.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/mcp_server/mcp_config_sse_example.json +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/mcp_server/mcp_config_stdio_example.json +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/mcp_server/uv.lock +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/poetry.lock +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/py.typed +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/pytest.ini +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/server/.env.example +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/server/Makefile +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/server/README.md +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/server/graph_service/__init__.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/server/graph_service/config.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/server/graph_service/dto/__init__.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/server/graph_service/dto/common.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/server/graph_service/dto/ingest.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/server/graph_service/dto/retrieve.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/server/graph_service/main.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/server/graph_service/routers/__init__.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/server/graph_service/routers/ingest.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/server/graph_service/routers/retrieve.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/server/graph_service/zep_graphiti.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/server/pyproject.toml +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/server/uv.lock +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/signatures/version1/cla.json +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/tests/cross_encoder/test_bge_reranker_client.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/tests/cross_encoder/test_gemini_reranker_client.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/tests/driver/__init__.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/tests/embedder/embedder_fixtures.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/tests/embedder/test_gemini.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/tests/embedder/test_openai.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/tests/embedder/test_voyage.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/tests/evals/data/longmemeval_data/README.md +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/tests/evals/data/longmemeval_data/longmemeval_oracle.json +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/tests/evals/eval_cli.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/tests/evals/eval_e2e_graph_building.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/tests/evals/pytest.ini +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/tests/evals/utils.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/tests/helpers_test.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/tests/llm_client/test_anthropic_client.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/tests/llm_client/test_anthropic_client_int.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/tests/llm_client/test_client.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/tests/llm_client/test_errors.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/tests/llm_client/test_gemini_client.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/tests/test_entity_exclusion_int.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/tests/test_graphiti_falkordb_int.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/tests/test_graphiti_int.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/tests/test_node_falkordb_int.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/tests/test_node_int.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/tests/utils/maintenance/test_edge_operations.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/tests/utils/maintenance/test_temporal_operations_int.py +0 -0
- {graphiti_core-0.16.0 → graphiti_core-0.17.0}/tests/utils/search/search_utils_test.py +0 -0
|
@@ -102,7 +102,11 @@ docker-compose up
|
|
|
102
102
|
### Database Setup
|
|
103
103
|
|
|
104
104
|
- **Neo4j**: Version 5.26+ required, available via Neo4j Desktop
|
|
105
|
+
- Database name defaults to `neo4j` (hardcoded in Neo4jDriver)
|
|
106
|
+
- Override by passing `database` parameter to driver constructor
|
|
105
107
|
- **FalkorDB**: Version 1.1.2+ as alternative backend
|
|
108
|
+
- Database name defaults to `default_db` (hardcoded in FalkorDriver)
|
|
109
|
+
- Override by passing `database` parameter to driver constructor
|
|
106
110
|
|
|
107
111
|
## Development Guidelines
|
|
108
112
|
|
|
@@ -117,8 +121,12 @@ docker-compose up
|
|
|
117
121
|
### Testing Requirements
|
|
118
122
|
|
|
119
123
|
- Run tests with `make test` or `pytest`
|
|
120
|
-
- Integration tests require database connections
|
|
124
|
+
- Integration tests require database connections and are marked with `_int` suffix
|
|
121
125
|
- Use `pytest-xdist` for parallel test execution
|
|
126
|
+
- Run specific test files: `pytest tests/test_specific_file.py`
|
|
127
|
+
- Run specific test methods: `pytest tests/test_file.py::test_method_name`
|
|
128
|
+
- Run only integration tests: `pytest tests/ -k "_int"`
|
|
129
|
+
- Run only unit tests: `pytest tests/ -k "not _int"`
|
|
122
130
|
|
|
123
131
|
### LLM Provider Support
|
|
124
132
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: graphiti-core
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.17.0
|
|
4
4
|
Summary: A temporal graph building library
|
|
5
5
|
Project-URL: Homepage, https://help.getzep.com/graphiti/graphiti/overview
|
|
6
6
|
Project-URL: Repository, https://github.com/getzep/graphiti
|
|
@@ -267,22 +267,18 @@ must be set.
|
|
|
267
267
|
|
|
268
268
|
### Database Configuration
|
|
269
269
|
|
|
270
|
-
|
|
270
|
+
Database names are configured directly in the driver constructors:
|
|
271
271
|
|
|
272
|
-
- **Neo4j
|
|
273
|
-
- **
|
|
274
|
-
- **FalkorDB**: The default graph name is `default_db`
|
|
272
|
+
- **Neo4j**: Database name defaults to `neo4j` (hardcoded in Neo4jDriver)
|
|
273
|
+
- **FalkorDB**: Database name defaults to `default_db` (hardcoded in FalkorDriver)
|
|
275
274
|
|
|
276
|
-
|
|
275
|
+
To use a different database name, pass the `database` parameter when creating the driver:
|
|
277
276
|
|
|
278
|
-
```
|
|
279
|
-
|
|
280
|
-
```
|
|
281
|
-
|
|
282
|
-
Or add to your `.env` file:
|
|
277
|
+
```python
|
|
278
|
+
from graphiti_core.driver.neo4j_driver import Neo4jDriver
|
|
283
279
|
|
|
284
|
-
|
|
285
|
-
|
|
280
|
+
# Use custom database name
|
|
281
|
+
driver = Neo4jDriver(uri="bolt://localhost:7687", user="neo4j", password="password", database="my_db")
|
|
286
282
|
```
|
|
287
283
|
|
|
288
284
|
### Performance Configuration
|
|
@@ -215,22 +215,18 @@ must be set.
|
|
|
215
215
|
|
|
216
216
|
### Database Configuration
|
|
217
217
|
|
|
218
|
-
|
|
218
|
+
Database names are configured directly in the driver constructors:
|
|
219
219
|
|
|
220
|
-
- **Neo4j
|
|
221
|
-
- **
|
|
222
|
-
- **FalkorDB**: The default graph name is `default_db`
|
|
220
|
+
- **Neo4j**: Database name defaults to `neo4j` (hardcoded in Neo4jDriver)
|
|
221
|
+
- **FalkorDB**: Database name defaults to `default_db` (hardcoded in FalkorDriver)
|
|
223
222
|
|
|
224
|
-
|
|
223
|
+
To use a different database name, pass the `database` parameter when creating the driver:
|
|
225
224
|
|
|
226
|
-
```
|
|
227
|
-
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
Or add to your `.env` file:
|
|
225
|
+
```python
|
|
226
|
+
from graphiti_core.driver.neo4j_driver import Neo4jDriver
|
|
231
227
|
|
|
232
|
-
|
|
233
|
-
|
|
228
|
+
# Use custom database name
|
|
229
|
+
driver = Neo4jDriver(uri="bolt://localhost:7687", user="neo4j", password="password", database="my_db")
|
|
234
230
|
```
|
|
235
231
|
|
|
236
232
|
### Performance Configuration
|
|
@@ -42,8 +42,7 @@ export NEO4J_PASSWORD=password
|
|
|
42
42
|
# Optional FalkorDB connection parameters (defaults shown)
|
|
43
43
|
export FALKORDB_URI=falkor://localhost:6379
|
|
44
44
|
|
|
45
|
-
#
|
|
46
|
-
export DEFAULT_DATABASE=neo4j
|
|
45
|
+
# To use a different database, modify the driver constructor in the script
|
|
47
46
|
```
|
|
48
47
|
|
|
49
48
|
3. Run the example:
|
|
@@ -78,21 +77,18 @@ After running this example, you can:
|
|
|
78
77
|
|
|
79
78
|
### "Graph not found: default_db" Error
|
|
80
79
|
|
|
81
|
-
If you encounter the error `Neo.ClientError.Database.DatabaseNotFound: Graph not found: default_db`, this
|
|
80
|
+
If you encounter the error `Neo.ClientError.Database.DatabaseNotFound: Graph not found: default_db`, this occurs when the driver is trying to connect to a database that doesn't exist.
|
|
82
81
|
|
|
83
82
|
**Solution:**
|
|
84
|
-
|
|
83
|
+
The Neo4j driver defaults to using `neo4j` as the database name. If you need to use a different database, modify the driver constructor in the script:
|
|
85
84
|
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
|
|
85
|
+
```python
|
|
86
|
+
# In quickstart_neo4j.py, change:
|
|
87
|
+
driver = Neo4jDriver(uri=neo4j_uri, user=neo4j_user, password=neo4j_password)
|
|
89
88
|
|
|
90
|
-
|
|
89
|
+
# To specify a different database:
|
|
90
|
+
driver = Neo4jDriver(uri=neo4j_uri, user=neo4j_user, password=neo4j_password, database="your_db_name")
|
|
91
91
|
```
|
|
92
|
-
DEFAULT_DATABASE=neo4j
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
This tells Graphiti to use the correct database name for your Neo4j version.
|
|
96
92
|
|
|
97
93
|
## Understanding the Output
|
|
98
94
|
|
|
@@ -19,8 +19,6 @@ from abc import ABC, abstractmethod
|
|
|
19
19
|
from collections.abc import Coroutine
|
|
20
20
|
from typing import Any
|
|
21
21
|
|
|
22
|
-
from graphiti_core.helpers import DEFAULT_DATABASE
|
|
23
|
-
|
|
24
22
|
logger = logging.getLogger(__name__)
|
|
25
23
|
|
|
26
24
|
|
|
@@ -54,7 +52,7 @@ class GraphDriver(ABC):
|
|
|
54
52
|
raise NotImplementedError()
|
|
55
53
|
|
|
56
54
|
@abstractmethod
|
|
57
|
-
def session(self, database: str) -> GraphDriverSession:
|
|
55
|
+
def session(self, database: str | None = None) -> GraphDriverSession:
|
|
58
56
|
raise NotImplementedError()
|
|
59
57
|
|
|
60
58
|
@abstractmethod
|
|
@@ -62,5 +60,5 @@ class GraphDriver(ABC):
|
|
|
62
60
|
raise NotImplementedError()
|
|
63
61
|
|
|
64
62
|
@abstractmethod
|
|
65
|
-
def delete_all_indexes(self, database_: str =
|
|
63
|
+
def delete_all_indexes(self, database_: str | None = None) -> Coroutine:
|
|
66
64
|
raise NotImplementedError()
|
|
@@ -33,7 +33,6 @@ else:
|
|
|
33
33
|
) from None
|
|
34
34
|
|
|
35
35
|
from graphiti_core.driver.driver import GraphDriver, GraphDriverSession
|
|
36
|
-
from graphiti_core.helpers import DEFAULT_DATABASE
|
|
37
36
|
|
|
38
37
|
logger = logging.getLogger(__name__)
|
|
39
38
|
|
|
@@ -81,6 +80,7 @@ class FalkorDriver(GraphDriver):
|
|
|
81
80
|
username: str | None = None,
|
|
82
81
|
password: str | None = None,
|
|
83
82
|
falkor_db: FalkorDB | None = None,
|
|
83
|
+
database: str = 'default_db',
|
|
84
84
|
):
|
|
85
85
|
"""
|
|
86
86
|
Initialize the FalkorDB driver.
|
|
@@ -95,15 +95,16 @@ class FalkorDriver(GraphDriver):
|
|
|
95
95
|
self.client = falkor_db
|
|
96
96
|
else:
|
|
97
97
|
self.client = FalkorDB(host=host, port=port, username=username, password=password)
|
|
98
|
+
self._database = database
|
|
98
99
|
|
|
99
100
|
def _get_graph(self, graph_name: str | None) -> FalkorGraph:
|
|
100
|
-
# FalkorDB requires a non-None database name for multi-tenant graphs; the default is
|
|
101
|
+
# FalkorDB requires a non-None database name for multi-tenant graphs; the default is "default_db"
|
|
101
102
|
if graph_name is None:
|
|
102
|
-
graph_name =
|
|
103
|
+
graph_name = self._database
|
|
103
104
|
return self.client.select_graph(graph_name)
|
|
104
105
|
|
|
105
106
|
async def execute_query(self, cypher_query_, **kwargs: Any):
|
|
106
|
-
graph_name = kwargs.pop('database_',
|
|
107
|
+
graph_name = kwargs.pop('database_', self._database)
|
|
107
108
|
graph = self._get_graph(graph_name)
|
|
108
109
|
|
|
109
110
|
# Convert datetime objects to ISO strings (FalkorDB does not support datetime objects directly)
|
|
@@ -136,7 +137,7 @@ class FalkorDriver(GraphDriver):
|
|
|
136
137
|
|
|
137
138
|
return records, header, None
|
|
138
139
|
|
|
139
|
-
def session(self, database: str | None) -> GraphDriverSession:
|
|
140
|
+
def session(self, database: str | None = None) -> GraphDriverSession:
|
|
140
141
|
return FalkorDriverSession(self._get_graph(database))
|
|
141
142
|
|
|
142
143
|
async def close(self) -> None:
|
|
@@ -148,10 +149,11 @@ class FalkorDriver(GraphDriver):
|
|
|
148
149
|
elif hasattr(self.client.connection, 'close'):
|
|
149
150
|
await self.client.connection.close()
|
|
150
151
|
|
|
151
|
-
async def delete_all_indexes(self, database_: str =
|
|
152
|
+
async def delete_all_indexes(self, database_: str | None = None) -> None:
|
|
153
|
+
database = database_ or self._database
|
|
152
154
|
await self.execute_query(
|
|
153
155
|
'CALL db.indexes() YIELD name DROP INDEX name',
|
|
154
|
-
database_=
|
|
156
|
+
database_=database,
|
|
155
157
|
)
|
|
156
158
|
|
|
157
159
|
|
|
@@ -22,7 +22,6 @@ from neo4j import AsyncGraphDatabase, EagerResult
|
|
|
22
22
|
from typing_extensions import LiteralString
|
|
23
23
|
|
|
24
24
|
from graphiti_core.driver.driver import GraphDriver, GraphDriverSession
|
|
25
|
-
from graphiti_core.helpers import DEFAULT_DATABASE
|
|
26
25
|
|
|
27
26
|
logger = logging.getLogger(__name__)
|
|
28
27
|
|
|
@@ -30,34 +29,36 @@ logger = logging.getLogger(__name__)
|
|
|
30
29
|
class Neo4jDriver(GraphDriver):
|
|
31
30
|
provider: str = 'neo4j'
|
|
32
31
|
|
|
33
|
-
def __init__(
|
|
34
|
-
self,
|
|
35
|
-
uri: str,
|
|
36
|
-
user: str | None,
|
|
37
|
-
password: str | None,
|
|
38
|
-
):
|
|
32
|
+
def __init__(self, uri: str, user: str | None, password: str | None, database: str = 'neo4j'):
|
|
39
33
|
super().__init__()
|
|
40
34
|
self.client = AsyncGraphDatabase.driver(
|
|
41
35
|
uri=uri,
|
|
42
36
|
auth=(user or '', password or ''),
|
|
43
37
|
)
|
|
38
|
+
self._database = database
|
|
44
39
|
|
|
45
40
|
async def execute_query(self, cypher_query_: LiteralString, **kwargs: Any) -> EagerResult:
|
|
41
|
+
# Check if database_ is provided in kwargs.
|
|
42
|
+
# If not populated, set the value to retain backwards compatibility
|
|
46
43
|
params = kwargs.pop('params', None)
|
|
44
|
+
if params is None:
|
|
45
|
+
params = {}
|
|
46
|
+
params.setdefault('database_', self._database)
|
|
47
|
+
|
|
47
48
|
result = await self.client.execute_query(cypher_query_, parameters_=params, **kwargs)
|
|
48
49
|
|
|
49
50
|
return result
|
|
50
51
|
|
|
51
|
-
def session(self, database: str) -> GraphDriverSession:
|
|
52
|
-
|
|
52
|
+
def session(self, database: str | None = None) -> GraphDriverSession:
|
|
53
|
+
_database = database or self._database
|
|
54
|
+
return self.client.session(database=_database) # type: ignore
|
|
53
55
|
|
|
54
56
|
async def close(self) -> None:
|
|
55
57
|
return await self.client.close()
|
|
56
58
|
|
|
57
|
-
def delete_all_indexes(
|
|
58
|
-
|
|
59
|
-
) -> Coroutine[Any, Any, EagerResult]:
|
|
59
|
+
def delete_all_indexes(self, database_: str | None = None) -> Coroutine[Any, Any, EagerResult]:
|
|
60
|
+
database = database_ or self._database
|
|
60
61
|
return self.client.execute_query(
|
|
61
62
|
'CALL db.indexes() YIELD name DROP INDEX name',
|
|
62
|
-
database_=
|
|
63
|
+
database_=database,
|
|
63
64
|
)
|
|
@@ -27,7 +27,7 @@ from typing_extensions import LiteralString
|
|
|
27
27
|
from graphiti_core.driver.driver import GraphDriver
|
|
28
28
|
from graphiti_core.embedder import EmbedderClient
|
|
29
29
|
from graphiti_core.errors import EdgeNotFoundError, GroupsEdgesNotFoundError
|
|
30
|
-
from graphiti_core.helpers import
|
|
30
|
+
from graphiti_core.helpers import parse_db_date
|
|
31
31
|
from graphiti_core.models.edges.edge_db_queries import (
|
|
32
32
|
COMMUNITY_EDGE_SAVE,
|
|
33
33
|
ENTITY_EDGE_SAVE,
|
|
@@ -71,7 +71,6 @@ class Edge(BaseModel, ABC):
|
|
|
71
71
|
DELETE e
|
|
72
72
|
""",
|
|
73
73
|
uuid=self.uuid,
|
|
74
|
-
database_=DEFAULT_DATABASE,
|
|
75
74
|
)
|
|
76
75
|
|
|
77
76
|
logger.debug(f'Deleted Edge: {self.uuid}')
|
|
@@ -99,7 +98,6 @@ class EpisodicEdge(Edge):
|
|
|
99
98
|
uuid=self.uuid,
|
|
100
99
|
group_id=self.group_id,
|
|
101
100
|
created_at=self.created_at,
|
|
102
|
-
database_=DEFAULT_DATABASE,
|
|
103
101
|
)
|
|
104
102
|
|
|
105
103
|
logger.debug(f'Saved edge to Graph: {self.uuid}')
|
|
@@ -119,7 +117,6 @@ class EpisodicEdge(Edge):
|
|
|
119
117
|
e.created_at AS created_at
|
|
120
118
|
""",
|
|
121
119
|
uuid=uuid,
|
|
122
|
-
database_=DEFAULT_DATABASE,
|
|
123
120
|
routing_='r',
|
|
124
121
|
)
|
|
125
122
|
|
|
@@ -143,7 +140,6 @@ class EpisodicEdge(Edge):
|
|
|
143
140
|
e.created_at AS created_at
|
|
144
141
|
""",
|
|
145
142
|
uuids=uuids,
|
|
146
|
-
database_=DEFAULT_DATABASE,
|
|
147
143
|
routing_='r',
|
|
148
144
|
)
|
|
149
145
|
|
|
@@ -183,7 +179,6 @@ class EpisodicEdge(Edge):
|
|
|
183
179
|
group_ids=group_ids,
|
|
184
180
|
uuid=uuid_cursor,
|
|
185
181
|
limit=limit,
|
|
186
|
-
database_=DEFAULT_DATABASE,
|
|
187
182
|
routing_='r',
|
|
188
183
|
)
|
|
189
184
|
|
|
@@ -231,9 +226,7 @@ class EntityEdge(Edge):
|
|
|
231
226
|
MATCH (n:Entity)-[e:RELATES_TO {uuid: $uuid}]->(m:Entity)
|
|
232
227
|
RETURN e.fact_embedding AS fact_embedding
|
|
233
228
|
"""
|
|
234
|
-
records, _, _ = await driver.execute_query(
|
|
235
|
-
query, uuid=self.uuid, database_=DEFAULT_DATABASE, routing_='r'
|
|
236
|
-
)
|
|
229
|
+
records, _, _ = await driver.execute_query(query, uuid=self.uuid, routing_='r')
|
|
237
230
|
|
|
238
231
|
if len(records) == 0:
|
|
239
232
|
raise EdgeNotFoundError(self.uuid)
|
|
@@ -261,7 +254,6 @@ class EntityEdge(Edge):
|
|
|
261
254
|
result = await driver.execute_query(
|
|
262
255
|
ENTITY_EDGE_SAVE,
|
|
263
256
|
edge_data=edge_data,
|
|
264
|
-
database_=DEFAULT_DATABASE,
|
|
265
257
|
)
|
|
266
258
|
|
|
267
259
|
logger.debug(f'Saved edge to Graph: {self.uuid}')
|
|
@@ -276,7 +268,6 @@ class EntityEdge(Edge):
|
|
|
276
268
|
"""
|
|
277
269
|
+ ENTITY_EDGE_RETURN,
|
|
278
270
|
uuid=uuid,
|
|
279
|
-
database_=DEFAULT_DATABASE,
|
|
280
271
|
routing_='r',
|
|
281
272
|
)
|
|
282
273
|
|
|
@@ -298,7 +289,6 @@ class EntityEdge(Edge):
|
|
|
298
289
|
"""
|
|
299
290
|
+ ENTITY_EDGE_RETURN,
|
|
300
291
|
uuids=uuids,
|
|
301
|
-
database_=DEFAULT_DATABASE,
|
|
302
292
|
routing_='r',
|
|
303
293
|
)
|
|
304
294
|
|
|
@@ -331,7 +321,6 @@ class EntityEdge(Edge):
|
|
|
331
321
|
group_ids=group_ids,
|
|
332
322
|
uuid=uuid_cursor,
|
|
333
323
|
limit=limit,
|
|
334
|
-
database_=DEFAULT_DATABASE,
|
|
335
324
|
routing_='r',
|
|
336
325
|
)
|
|
337
326
|
|
|
@@ -349,9 +338,7 @@ class EntityEdge(Edge):
|
|
|
349
338
|
"""
|
|
350
339
|
+ ENTITY_EDGE_RETURN
|
|
351
340
|
)
|
|
352
|
-
records, _, _ = await driver.execute_query(
|
|
353
|
-
query, node_uuid=node_uuid, database_=DEFAULT_DATABASE, routing_='r'
|
|
354
|
-
)
|
|
341
|
+
records, _, _ = await driver.execute_query(query, node_uuid=node_uuid, routing_='r')
|
|
355
342
|
|
|
356
343
|
edges = [get_entity_edge_from_record(record) for record in records]
|
|
357
344
|
|
|
@@ -367,7 +354,6 @@ class CommunityEdge(Edge):
|
|
|
367
354
|
uuid=self.uuid,
|
|
368
355
|
group_id=self.group_id,
|
|
369
356
|
created_at=self.created_at,
|
|
370
|
-
database_=DEFAULT_DATABASE,
|
|
371
357
|
)
|
|
372
358
|
|
|
373
359
|
logger.debug(f'Saved edge to Graph: {self.uuid}')
|
|
@@ -387,7 +373,6 @@ class CommunityEdge(Edge):
|
|
|
387
373
|
e.created_at AS created_at
|
|
388
374
|
""",
|
|
389
375
|
uuid=uuid,
|
|
390
|
-
database_=DEFAULT_DATABASE,
|
|
391
376
|
routing_='r',
|
|
392
377
|
)
|
|
393
378
|
|
|
@@ -409,7 +394,6 @@ class CommunityEdge(Edge):
|
|
|
409
394
|
e.created_at AS created_at
|
|
410
395
|
""",
|
|
411
396
|
uuids=uuids,
|
|
412
|
-
database_=DEFAULT_DATABASE,
|
|
413
397
|
routing_='r',
|
|
414
398
|
)
|
|
415
399
|
|
|
@@ -447,7 +431,6 @@ class CommunityEdge(Edge):
|
|
|
447
431
|
group_ids=group_ids,
|
|
448
432
|
uuid=uuid_cursor,
|
|
449
433
|
limit=limit,
|
|
450
|
-
database_=DEFAULT_DATABASE,
|
|
451
434
|
routing_='r',
|
|
452
435
|
)
|
|
453
436
|
|
|
@@ -30,7 +30,6 @@ from graphiti_core.edges import EntityEdge, EpisodicEdge
|
|
|
30
30
|
from graphiti_core.embedder import EmbedderClient, OpenAIEmbedder
|
|
31
31
|
from graphiti_core.graphiti_types import GraphitiClients
|
|
32
32
|
from graphiti_core.helpers import (
|
|
33
|
-
DEFAULT_DATABASE,
|
|
34
33
|
semaphore_gather,
|
|
35
34
|
validate_excluded_entity_types,
|
|
36
35
|
validate_group_id,
|
|
@@ -168,7 +167,6 @@ class Graphiti:
|
|
|
168
167
|
raise ValueError('uri must be provided when graph_driver is None')
|
|
169
168
|
self.driver = Neo4jDriver(uri, user, password)
|
|
170
169
|
|
|
171
|
-
self.database = DEFAULT_DATABASE
|
|
172
170
|
self.store_raw_episode_content = store_raw_episode_content
|
|
173
171
|
self.max_coroutines = max_coroutines
|
|
174
172
|
if llm_client:
|
|
@@ -921,9 +919,7 @@ class Graphiti:
|
|
|
921
919
|
nodes_to_delete: list[EntityNode] = []
|
|
922
920
|
for node in nodes:
|
|
923
921
|
query: LiteralString = 'MATCH (e:Episodic)-[:MENTIONS]->(n:Entity {uuid: $uuid}) RETURN count(*) AS episode_count'
|
|
924
|
-
records, _, _ = await self.driver.execute_query(
|
|
925
|
-
query, uuid=node.uuid, database_=DEFAULT_DATABASE, routing_='r'
|
|
926
|
-
)
|
|
922
|
+
records, _, _ = await self.driver.execute_query(query, uuid=node.uuid, routing_='r')
|
|
927
923
|
|
|
928
924
|
for record in records:
|
|
929
925
|
if record['episode_count'] == 1:
|
|
@@ -32,7 +32,6 @@ from graphiti_core.errors import GroupIdValidationError
|
|
|
32
32
|
|
|
33
33
|
load_dotenv()
|
|
34
34
|
|
|
35
|
-
DEFAULT_DATABASE = os.getenv('DEFAULT_DATABASE', 'default_db')
|
|
36
35
|
USE_PARALLEL_RUNTIME = bool(os.getenv('USE_PARALLEL_RUNTIME', False))
|
|
37
36
|
SEMAPHORE_LIMIT = int(os.getenv('SEMAPHORE_LIMIT', 20))
|
|
38
37
|
MAX_REFLEXION_ITERATIONS = int(os.getenv('MAX_REFLEXION_ITERATIONS', 0))
|
|
@@ -28,7 +28,7 @@ from typing_extensions import LiteralString
|
|
|
28
28
|
from graphiti_core.driver.driver import GraphDriver
|
|
29
29
|
from graphiti_core.embedder import EmbedderClient
|
|
30
30
|
from graphiti_core.errors import NodeNotFoundError
|
|
31
|
-
from graphiti_core.helpers import
|
|
31
|
+
from graphiti_core.helpers import parse_db_date
|
|
32
32
|
from graphiti_core.models.nodes.node_db_queries import (
|
|
33
33
|
COMMUNITY_NODE_SAVE,
|
|
34
34
|
ENTITY_NODE_SAVE,
|
|
@@ -103,7 +103,6 @@ class Node(BaseModel, ABC):
|
|
|
103
103
|
DETACH DELETE n
|
|
104
104
|
""",
|
|
105
105
|
uuid=self.uuid,
|
|
106
|
-
database_=DEFAULT_DATABASE,
|
|
107
106
|
)
|
|
108
107
|
|
|
109
108
|
logger.debug(f'Deleted Node: {self.uuid}')
|
|
@@ -126,7 +125,6 @@ class Node(BaseModel, ABC):
|
|
|
126
125
|
DETACH DELETE n
|
|
127
126
|
""",
|
|
128
127
|
group_id=group_id,
|
|
129
|
-
database_=DEFAULT_DATABASE,
|
|
130
128
|
)
|
|
131
129
|
|
|
132
130
|
return 'SUCCESS'
|
|
@@ -162,7 +160,6 @@ class EpisodicNode(Node):
|
|
|
162
160
|
created_at=self.created_at,
|
|
163
161
|
valid_at=self.valid_at,
|
|
164
162
|
source=self.source.value,
|
|
165
|
-
database_=DEFAULT_DATABASE,
|
|
166
163
|
)
|
|
167
164
|
|
|
168
165
|
logger.debug(f'Saved Node to Graph: {self.uuid}')
|
|
@@ -185,7 +182,6 @@ class EpisodicNode(Node):
|
|
|
185
182
|
e.entity_edges AS entity_edges
|
|
186
183
|
""",
|
|
187
184
|
uuid=uuid,
|
|
188
|
-
database_=DEFAULT_DATABASE,
|
|
189
185
|
routing_='r',
|
|
190
186
|
)
|
|
191
187
|
|
|
@@ -213,7 +209,6 @@ class EpisodicNode(Node):
|
|
|
213
209
|
e.entity_edges AS entity_edges
|
|
214
210
|
""",
|
|
215
211
|
uuids=uuids,
|
|
216
|
-
database_=DEFAULT_DATABASE,
|
|
217
212
|
routing_='r',
|
|
218
213
|
)
|
|
219
214
|
|
|
@@ -254,7 +249,6 @@ class EpisodicNode(Node):
|
|
|
254
249
|
group_ids=group_ids,
|
|
255
250
|
uuid=uuid_cursor,
|
|
256
251
|
limit=limit,
|
|
257
|
-
database_=DEFAULT_DATABASE,
|
|
258
252
|
routing_='r',
|
|
259
253
|
)
|
|
260
254
|
|
|
@@ -279,7 +273,6 @@ class EpisodicNode(Node):
|
|
|
279
273
|
e.entity_edges AS entity_edges
|
|
280
274
|
""",
|
|
281
275
|
entity_node_uuid=entity_node_uuid,
|
|
282
|
-
database_=DEFAULT_DATABASE,
|
|
283
276
|
routing_='r',
|
|
284
277
|
)
|
|
285
278
|
|
|
@@ -309,9 +302,7 @@ class EntityNode(Node):
|
|
|
309
302
|
MATCH (n:Entity {uuid: $uuid})
|
|
310
303
|
RETURN n.name_embedding AS name_embedding
|
|
311
304
|
"""
|
|
312
|
-
records, _, _ = await driver.execute_query(
|
|
313
|
-
query, uuid=self.uuid, database_=DEFAULT_DATABASE, routing_='r'
|
|
314
|
-
)
|
|
305
|
+
records, _, _ = await driver.execute_query(query, uuid=self.uuid, routing_='r')
|
|
315
306
|
|
|
316
307
|
if len(records) == 0:
|
|
317
308
|
raise NodeNotFoundError(self.uuid)
|
|
@@ -334,7 +325,6 @@ class EntityNode(Node):
|
|
|
334
325
|
ENTITY_NODE_SAVE,
|
|
335
326
|
labels=self.labels + ['Entity'],
|
|
336
327
|
entity_data=entity_data,
|
|
337
|
-
database_=DEFAULT_DATABASE,
|
|
338
328
|
)
|
|
339
329
|
|
|
340
330
|
logger.debug(f'Saved Node to Graph: {self.uuid}')
|
|
@@ -352,7 +342,6 @@ class EntityNode(Node):
|
|
|
352
342
|
records, _, _ = await driver.execute_query(
|
|
353
343
|
query,
|
|
354
344
|
uuid=uuid,
|
|
355
|
-
database_=DEFAULT_DATABASE,
|
|
356
345
|
routing_='r',
|
|
357
346
|
)
|
|
358
347
|
|
|
@@ -371,7 +360,6 @@ class EntityNode(Node):
|
|
|
371
360
|
"""
|
|
372
361
|
+ ENTITY_NODE_RETURN,
|
|
373
362
|
uuids=uuids,
|
|
374
|
-
database_=DEFAULT_DATABASE,
|
|
375
363
|
routing_='r',
|
|
376
364
|
)
|
|
377
365
|
|
|
@@ -403,7 +391,6 @@ class EntityNode(Node):
|
|
|
403
391
|
group_ids=group_ids,
|
|
404
392
|
uuid=uuid_cursor,
|
|
405
393
|
limit=limit,
|
|
406
|
-
database_=DEFAULT_DATABASE,
|
|
407
394
|
routing_='r',
|
|
408
395
|
)
|
|
409
396
|
|
|
@@ -425,7 +412,6 @@ class CommunityNode(Node):
|
|
|
425
412
|
summary=self.summary,
|
|
426
413
|
name_embedding=self.name_embedding,
|
|
427
414
|
created_at=self.created_at,
|
|
428
|
-
database_=DEFAULT_DATABASE,
|
|
429
415
|
)
|
|
430
416
|
|
|
431
417
|
logger.debug(f'Saved Node to Graph: {self.uuid}')
|
|
@@ -446,9 +432,7 @@ class CommunityNode(Node):
|
|
|
446
432
|
MATCH (c:Community {uuid: $uuid})
|
|
447
433
|
RETURN c.name_embedding AS name_embedding
|
|
448
434
|
"""
|
|
449
|
-
records, _, _ = await driver.execute_query(
|
|
450
|
-
query, uuid=self.uuid, database_=DEFAULT_DATABASE, routing_='r'
|
|
451
|
-
)
|
|
435
|
+
records, _, _ = await driver.execute_query(query, uuid=self.uuid, routing_='r')
|
|
452
436
|
|
|
453
437
|
if len(records) == 0:
|
|
454
438
|
raise NodeNotFoundError(self.uuid)
|
|
@@ -468,7 +452,6 @@ class CommunityNode(Node):
|
|
|
468
452
|
n.summary AS summary
|
|
469
453
|
""",
|
|
470
454
|
uuid=uuid,
|
|
471
|
-
database_=DEFAULT_DATABASE,
|
|
472
455
|
routing_='r',
|
|
473
456
|
)
|
|
474
457
|
|
|
@@ -492,7 +475,6 @@ class CommunityNode(Node):
|
|
|
492
475
|
n.summary AS summary
|
|
493
476
|
""",
|
|
494
477
|
uuids=uuids,
|
|
495
|
-
database_=DEFAULT_DATABASE,
|
|
496
478
|
routing_='r',
|
|
497
479
|
)
|
|
498
480
|
|
|
@@ -529,7 +511,6 @@ class CommunityNode(Node):
|
|
|
529
511
|
group_ids=group_ids,
|
|
530
512
|
uuid=uuid_cursor,
|
|
531
513
|
limit=limit,
|
|
532
|
-
database_=DEFAULT_DATABASE,
|
|
533
514
|
routing_='r',
|
|
534
515
|
)
|
|
535
516
|
|