From 9ba2e0d6c16b9af3bec26bc6126288e365d0b6fd Mon Sep 17 00:00:00 2001 From: Vasilije <8619304+Vasilije1990@users.noreply.github.com> Date: Tue, 11 Feb 2025 13:25:01 -0500 Subject: [PATCH] chore: Fix and update visualization (#518) ## Description ## DCO Affirmation I affirm that all code in every commit of this pull request conforms to the terms of the Topoteretes Developer Certificate of Origin ## Summary by CodeRabbit - **New Features** - Introduced enhanced visualization capabilities that let users launch a dedicated server for visual displays. - **Documentation** - Updated several interactive notebooks to include execution outputs and expanded explanatory content for better user guidance. - **Style** - Refined formatting and layout across notebooks to ensure consistent presentation and improved readability. --------- Co-authored-by: Igor Ilic <30923996+dexters1@users.noreply.github.com> --- cognee/__init__.py | 2 +- cognee/api/v1/visualize/__init__.py | 1 + .../visualize/start_visualization_server.py | 17 + cognee/api/v1/visualize/visualize.py | 1 - cognee/shared/utils.py | 42 +- notebooks/cognee_demo.ipynb | 490 ++++++++++++++---- notebooks/cognee_graphiti_demo.ipynb | 121 +++-- notebooks/cognee_hotpot_eval.ipynb | 144 ++--- notebooks/hr_demo.ipynb | 36 +- .../llama_index_cognee_integration.ipynb | 78 +-- 10 files changed, 630 insertions(+), 302 deletions(-) create mode 100644 cognee/api/v1/visualize/start_visualization_server.py diff --git a/cognee/__init__.py b/cognee/__init__.py index 420a7d88a..31095f7f8 100644 --- a/cognee/__init__.py +++ b/cognee/__init__.py @@ -4,7 +4,7 @@ from .api.v1.config.config import config from .api.v1.datasets.datasets import datasets from .api.v1.prune import prune from .api.v1.search import SearchType, get_search_history, search -from .api.v1.visualize import visualize_graph +from .api.v1.visualize import visualize_graph, start_visualization_server from cognee.modules.visualization.cognee_network_visualization import ( cognee_network_visualization, ) diff --git a/cognee/api/v1/visualize/__init__.py b/cognee/api/v1/visualize/__init__.py index 80db0367c..5c75eee7a 100644 --- a/cognee/api/v1/visualize/__init__.py +++ b/cognee/api/v1/visualize/__init__.py @@ -1 +1,2 @@ from .visualize import visualize_graph +from .start_visualization_server import visualization_server diff --git a/cognee/api/v1/visualize/start_visualization_server.py b/cognee/api/v1/visualize/start_visualization_server.py new file mode 100644 index 000000000..00b254393 --- /dev/null +++ b/cognee/api/v1/visualize/start_visualization_server.py @@ -0,0 +1,17 @@ +from cognee.shared.utils import start_visualization_server + + +def visualization_server(port): + """ + Start a visualization server on the specified port. + + Args: + port (int): The port number to run the server on + + Returns: + callable: A shutdown function that can be called to stop the server + + Raises: + ValueError: If port is not a valid port number + """ + return start_visualization_server(port=port) diff --git a/cognee/api/v1/visualize/visualize.py b/cognee/api/v1/visualize/visualize.py index 5776443d0..c171abd3b 100644 --- a/cognee/api/v1/visualize/visualize.py +++ b/cognee/api/v1/visualize/visualize.py @@ -12,7 +12,6 @@ from cognee.shared.utils import setup_logging async def visualize_graph(destination_file_path: str = None): graph_engine = await get_graph_engine() graph_data = await graph_engine.get_graph_data() - logging.info(graph_data) graph = await cognee_network_visualization(graph_data, destination_file_path) diff --git a/cognee/shared/utils.py b/cognee/shared/utils.py index 31246d147..2f3c3b874 100644 --- a/cognee/shared/utils.py +++ b/cognee/shared/utils.py @@ -10,7 +10,9 @@ import graphistry import networkx as nx import pandas as pd import matplotlib.pyplot as plt - +import http.server +import socketserver +from threading import Thread import logging import sys @@ -364,3 +366,41 @@ def setup_logging(log_level=logging.INFO): root_logger.addHandler(stream_handler) root_logger.setLevel(log_level) + + +def start_visualization_server( + host="0.0.0.0", port=8001, handler_class=http.server.SimpleHTTPRequestHandler +): + """ + Spin up a simple HTTP server in a background thread to serve files. + This is especially handy for quick demos or visualization purposes. + + Returns a shutdown() function that can be called to stop the server. + + :param host: Host/IP to bind to. Defaults to '0.0.0.0'. + :param port: Port to listen on. Defaults to 8001. + :param handler_class: A handler class, defaults to SimpleHTTPRequestHandler. + :return: A no-argument function `shutdown` which, when called, stops the server. + """ + # Create the server + server = socketserver.TCPServer((host, port), handler_class) + + def _serve_forever(): + print(f"Visualization server running at: http://{host}:{port}") + server.serve_forever() + + # Start the server in a background thread + thread = Thread(target=_serve_forever, daemon=True) + thread.start() + + def shutdown(): + """ + Shuts down the server and blocks until the thread is joined. + """ + server.shutdown() # Signals the serve_forever() loop to stop + server.server_close() # Frees up the socket + thread.join() + print(f"Visualization server on port {port} has been shut down.") + + # Return only the shutdown function (the server runs in the background) + return shutdown diff --git a/notebooks/cognee_demo.ipynb b/notebooks/cognee_demo.ipynb index a0c8961f8..bdd092cc9 100644 --- a/notebooks/cognee_demo.ipynb +++ b/notebooks/cognee_demo.ipynb @@ -265,12 +265,12 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "df16431d0f48b006", "metadata": { "ExecuteTime": { - "end_time": "2024-12-24T11:53:59.351640Z", - "start_time": "2024-12-24T11:53:59.347420Z" + "end_time": "2025-02-09T21:32:37.309629Z", + "start_time": "2025-02-09T21:32:37.305105Z" } }, "outputs": [], @@ -299,17 +299,17 @@ "Experience with deep learning frameworks (e.g., TensorFlow, PyTorch).\n", "Strong problem-solving skills and attention to detail.\n", "Candidate CVs\n", - "\"\"\"\n" + "\"\"\"" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "9086abf3af077ab4", "metadata": { "ExecuteTime": { - "end_time": "2024-12-24T11:53:59.365410Z", - "start_time": "2024-12-24T11:53:59.363662Z" + "end_time": "2025-02-09T21:32:37.869475Z", + "start_time": "2025-02-09T21:32:37.867374Z" } }, "outputs": [], @@ -349,12 +349,12 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "a9de0cc07f798b7f", "metadata": { "ExecuteTime": { - "end_time": "2024-12-24T11:53:59.372957Z", - "start_time": "2024-12-24T11:53:59.371152Z" + "end_time": "2025-02-09T21:32:38.269062Z", + "start_time": "2025-02-09T21:32:38.267194Z" } }, "outputs": [], @@ -393,12 +393,12 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "185ff1c102d06111", "metadata": { "ExecuteTime": { - "end_time": "2024-12-24T11:53:59.961140Z", - "start_time": "2024-12-24T11:53:59.959103Z" + "end_time": "2025-02-09T21:32:38.738093Z", + "start_time": "2025-02-09T21:32:38.736147Z" } }, "outputs": [], @@ -437,12 +437,12 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "d55ce4c58f8efb67", "metadata": { "ExecuteTime": { - "end_time": "2024-12-24T11:54:00.656495Z", - "start_time": "2024-12-24T11:54:00.654716Z" + "end_time": "2025-02-09T21:32:39.237542Z", + "start_time": "2025-02-09T21:32:39.235742Z" } }, "outputs": [], @@ -479,12 +479,12 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "ca4ecc32721ad332", "metadata": { "ExecuteTime": { - "end_time": "2024-12-24T11:54:01.184899Z", - "start_time": "2024-12-24T11:54:01.183028Z" + "end_time": "2025-02-09T21:32:39.740387Z", + "start_time": "2025-02-09T21:32:39.738768Z" } }, "outputs": [], @@ -529,12 +529,12 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "id": "bce39dc6", "metadata": { "ExecuteTime": { - "end_time": "2024-12-24T11:54:04.417315Z", - "start_time": "2024-12-24T11:54:04.414132Z" + "end_time": "2025-02-09T21:31:46.855966Z", + "start_time": "2025-02-09T21:31:46.847681Z" } }, "outputs": [], @@ -542,33 +542,33 @@ "import os\n", "\n", "# Setting environment variables\n", - "if \"GRAPHISTRY_USERNAME\" not in os.environ: \n", + "if \"GRAPHISTRY_USERNAME\" not in os.environ:\n", " os.environ[\"GRAPHISTRY_USERNAME\"] = \"\"\n", "\n", - "if \"GRAPHISTRY_PASSWORD\" not in os.environ: \n", + "if \"GRAPHISTRY_PASSWORD\" not in os.environ:\n", " os.environ[\"GRAPHISTRY_PASSWORD\"] = \"\"\n", "\n", "if \"LLM_API_KEY\" not in os.environ:\n", " os.environ[\"LLM_API_KEY\"] = \"\"\n", "\n", "# \"neo4j\" or \"networkx\"\n", - "os.environ[\"GRAPH_DATABASE_PROVIDER\"]=\"networkx\" \n", + "os.environ[\"GRAPH_DATABASE_PROVIDER\"] = \"networkx\"\n", "# Not needed if using networkx\n", - "#os.environ[\"GRAPH_DATABASE_URL\"]=\"\"\n", - "#os.environ[\"GRAPH_DATABASE_USERNAME\"]=\"\"\n", - "#os.environ[\"GRAPH_DATABASE_PASSWORD\"]=\"\"\n", + "# os.environ[\"GRAPH_DATABASE_URL\"]=\"\"\n", + "# os.environ[\"GRAPH_DATABASE_USERNAME\"]=\"\"\n", + "# os.environ[\"GRAPH_DATABASE_PASSWORD\"]=\"\"\n", "\n", "# \"pgvector\", \"qdrant\", \"weaviate\" or \"lancedb\"\n", - "os.environ[\"VECTOR_DB_PROVIDER\"]=\"lancedb\" \n", + "os.environ[\"VECTOR_DB_PROVIDER\"] = \"lancedb\"\n", "# Not needed if using \"lancedb\" or \"pgvector\"\n", "# os.environ[\"VECTOR_DB_URL\"]=\"\"\n", "# os.environ[\"VECTOR_DB_KEY\"]=\"\"\n", "\n", "# Relational Database provider \"sqlite\" or \"postgres\"\n", - "os.environ[\"DB_PROVIDER\"]=\"sqlite\"\n", + "os.environ[\"DB_PROVIDER\"] = \"sqlite\"\n", "\n", "# Database name\n", - "os.environ[\"DB_NAME\"]=\"cognee_db\"\n", + "os.environ[\"DB_NAME\"] = \"cognee_db\"\n", "\n", "# Postgres specific parameters (Only if Postgres or PGVector is used)\n", "# os.environ[\"DB_HOST\"]=\"127.0.0.1\"\n", @@ -579,15 +579,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "9f1a1dbd", "metadata": { "ExecuteTime": { - "end_time": "2024-12-24T11:54:16.672999Z", - "start_time": "2024-12-24T11:54:07.425202Z" + "end_time": "2025-02-09T21:32:56.703003Z", + "start_time": "2025-02-09T21:32:47.375684Z" } }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:httpx:HTTP Request: GET https://raw.githubusercontent.com/BerriAI/litellm/main/model_prices_and_context_window.json \"HTTP/1.1 200 OK\"/Users/vasilije/cognee/.venv/lib/python3.11/site-packages/pydantic/_internal/_config.py:341: UserWarning: Valid config keys have changed in V2:\n", + "* 'fields' has been removed\n", + " warnings.warn(message, UserWarning)\n", + "WARNING:cognee.infrastructure.databases.graph.networkx.adapter:File /Users/vasilije/cognee/cognee/.cognee_system/databases/cognee_graph.pkl not found. Initializing an empty graph.INFO:cognee.infrastructure.databases.graph.networkx.adapter:Graph deleted successfully./Users/vasilije/cognee/.venv/lib/python3.11/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", + " from .autonotebook import tqdm as notebook_tqdm\n", + "INFO:cognee.infrastructure.databases.relational.sqlalchemy.SqlAlchemyAdapter:Database deleted successfully." + ] + } + ], "source": [ "# Reset the cognee system with the following command:\n", "\n", @@ -607,15 +620,53 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "904df61ba484a8e5", "metadata": { "ExecuteTime": { - "end_time": "2024-12-24T11:54:28.313862Z", - "start_time": "2024-12-24T11:54:23.756587Z" + "end_time": "2025-02-09T21:33:07.412263Z", + "start_time": "2025-02-09T21:33:04.807282Z" } }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[92m16:33:04 - LiteLLM:INFO\u001b[0m: utils.py:2784 - \n", + "LiteLLM completion() model= gpt-4o-mini; provider = openaiINFO:LiteLLM:\n", + "LiteLLM completion() model= gpt-4o-mini; provider = openaiINFO:run_tasks(tasks: [Task], data):Pipeline run started: `add_pipeline`INFO:run_tasks(tasks: [Task], data):Coroutine task started: `resolve_data_directories`INFO:run_tasks(tasks: [Task], data):Coroutine task started: `ingest_data`" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "User 82d373be-4a32-433b-9ee3-d107780eccc2 has registered.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/vasilije/cognee/.venv/lib/python3.11/site-packages/dlt/destinations/impl/sqlalchemy/merge_job.py:194: SAWarning: Table 'file_metadata' already exists within the given MetaData - not copying.\n", + " staging_table_obj = table_obj.to_metadata(\n", + "/Users/vasilije/cognee/.venv/lib/python3.11/site-packages/dlt/destinations/impl/sqlalchemy/merge_job.py:229: SAWarning: implicitly coercing SELECT object to scalar subquery; please use the .scalar_subquery() method to produce a scalar subquery.\n", + " order_by=order_dir_func(order_by_col),\n", + "INFO:run_tasks(tasks: [Task], data):Coroutine task completed: `ingest_data`INFO:run_tasks(tasks: [Task], data):Coroutine task completed: `resolve_data_directories`INFO:run_tasks(tasks: [Task], data):Pipeline run completed: `add_pipeline`" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pipeline file_load_from_filesystem load step completed in 0.03 seconds\n", + "1 load package(s) were loaded to destination sqlalchemy and into dataset main\n", + "The sqlalchemy destination used sqlite:////Users/vasilije/cognee/cognee/.cognee_system/databases/cognee_db location to store data\n", + "Load package 1739136787.3077161 is LOADED and contains no failed jobs\n" + ] + } + ], "source": [ "import cognee\n", "\n", @@ -632,12 +683,12 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "7c431fdef4921ae0", "metadata": { "ExecuteTime": { - "end_time": "2024-12-24T11:54:44.728010Z", - "start_time": "2024-12-24T11:54:44.723877Z" + "end_time": "2025-02-09T21:33:21.450585Z", + "start_time": "2025-02-09T21:33:21.446326Z" } }, "outputs": [], @@ -649,29 +700,38 @@ "from cognee.modules.pipelines.tasks.Task import Task\n", "from cognee.modules.pipelines import run_tasks\n", "from cognee.modules.users.models import User\n", - "from cognee.tasks.documents import check_permissions_on_documents, classify_documents, extract_chunks_from_documents\n", + "from cognee.tasks.documents import (\n", + " check_permissions_on_documents,\n", + " classify_documents,\n", + " extract_chunks_from_documents,\n", + ")\n", "from cognee.infrastructure.llm import get_max_chunk_tokens\n", "from cognee.tasks.graph import extract_graph_from_data\n", "from cognee.tasks.storage import add_data_points\n", "from cognee.tasks.summarization import summarize_text\n", "\n", + "\n", "async def run_cognify_pipeline(dataset: Dataset, user: User = None):\n", - " data_documents: list[Data] = await get_dataset_data(dataset_id = dataset.id)\n", + " data_documents: list[Data] = await get_dataset_data(dataset_id=dataset.id)\n", "\n", " try:\n", " cognee_config = get_cognify_config()\n", "\n", " tasks = [\n", " Task(classify_documents),\n", - " Task(check_permissions_on_documents, user = user, permissions = [\"write\"]),\n", - " Task(extract_chunks_from_documents, max_chunk_tokens=get_max_chunk_tokens()), # Extract text chunks based on the document type.\n", - " Task(extract_graph_from_data, graph_model = KnowledgeGraph, task_config = { \"batch_size\": 10 }), # Generate knowledge graphs from the document chunks.\n", + " Task(check_permissions_on_documents, user=user, permissions=[\"write\"]),\n", + " Task(\n", + " extract_chunks_from_documents, max_chunk_tokens=get_max_chunk_tokens()\n", + " ), # Extract text chunks based on the document type.\n", + " Task(\n", + " extract_graph_from_data, graph_model=KnowledgeGraph, task_config={\"batch_size\": 10}\n", + " ), # Generate knowledge graphs from the document chunks.\n", " Task(\n", " summarize_text,\n", - " summarization_model = cognee_config.summarization_model,\n", - " task_config = { \"batch_size\": 10 }\n", + " summarization_model=cognee_config.summarization_model,\n", + " task_config={\"batch_size\": 10},\n", " ),\n", - " Task(add_data_points, task_config = { \"batch_size\": 10 }),\n", + " Task(add_data_points, task_config={\"batch_size\": 10}),\n", " ]\n", "\n", " pipeline_run = run_tasks(tasks, dataset.id, data_documents, \"cognify_pipeline\")\n", @@ -681,20 +741,61 @@ " pipeline_run_status = run_status\n", "\n", " except Exception as error:\n", - " raise error\n" + " raise error" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "f0a91b99c6215e09", "metadata": { "ExecuteTime": { - "end_time": "2024-12-24T11:55:26.027386Z", - "start_time": "2024-12-24T11:54:47.384342Z" + "end_time": "2025-02-09T21:33:50.228396Z", + "start_time": "2025-02-09T21:33:27.935791Z" } }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:run_tasks(tasks: [Task], data):Pipeline run started: `default_pipeline`INFO:run_tasks(tasks: [Task], data):Coroutine task started: `classify_documents`INFO:run_tasks(tasks: [Task], data):Coroutine task started: `check_permissions_on_documents`INFO:run_tasks(tasks: [Task], data):Async generator task started: `extract_chunks_from_documents`INFO:run_tasks(tasks: [Task], data):Coroutine task started: `extract_graph_from_data`\u001b[92m16:33:27 - LiteLLM:INFO\u001b[0m: utils.py:2784 - \n", + "LiteLLM completion() model= gpt-4o-mini; provider = openaiINFO:LiteLLM:\n", + "LiteLLM completion() model= gpt-4o-mini; provider = openai\u001b[92m16:33:27 - LiteLLM:INFO\u001b[0m: utils.py:2784 - \n", + "LiteLLM completion() model= gpt-4o-mini; provider = openaiINFO:LiteLLM:\n", + "LiteLLM completion() model= gpt-4o-mini; provider = openai\u001b[92m16:33:27 - LiteLLM:INFO\u001b[0m: utils.py:2784 - \n", + "LiteLLM completion() model= gpt-4o-mini; provider = openai\u001b[92m16:33:27 - LiteLLM:INFO\u001b[0m: utils.py:2784 - \n", + "LiteLLM completion() model= gpt-4o-mini; provider = openaiINFO:LiteLLM:\n", + "LiteLLM completion() model= gpt-4o-mini; provider = openai\u001b[92m16:33:27 - LiteLLM:INFO\u001b[0m: utils.py:2784 - \n", + "LiteLLM completion() model= gpt-4o-mini; provider = openaiINFO:LiteLLM:\n", + "LiteLLM completion() model= gpt-4o-mini; provider = openai\u001b[92m16:33:28 - LiteLLM:INFO\u001b[0m: utils.py:2784 - \n", + "LiteLLM completion() model= gpt-4o-mini; provider = openaiINFO:LiteLLM:\n", + "LiteLLM completion() model= gpt-4o-mini; provider = openaiINFO:LiteLLM:\n", + "LiteLLM completion() model= gpt-4o-mini; provider = openaiWARNING:cognee.infrastructure.databases.graph.networkx.adapter:File /Users/vasilije/cognee/cognee/.cognee_system/databases/cognee_graph.pkl not found. Initializing an empty graph./Users/vasilije/cognee/.venv/lib/python3.11/site-packages/pydantic/main.py:1522: RuntimeWarning: fields may not start with an underscore, ignoring \"__tablename__\"\n", + " warnings.warn(f'fields may not start with an underscore, ignoring \"{f_name}\"', RuntimeWarning)\n", + "INFO:run_tasks(tasks: [Task], data):Coroutine task started: `summarize_text`\u001b[92m16:33:42 - LiteLLM:INFO\u001b[0m: utils.py:2784 - \n", + "LiteLLM completion() model= gpt-4o-mini; provider = openaiINFO:LiteLLM:\n", + "LiteLLM completion() model= gpt-4o-mini; provider = openai\u001b[92m16:33:42 - LiteLLM:INFO\u001b[0m: utils.py:2784 - \n", + "LiteLLM completion() model= gpt-4o-mini; provider = openaiINFO:LiteLLM:\n", + "LiteLLM completion() model= gpt-4o-mini; provider = openai\u001b[92m16:33:42 - LiteLLM:INFO\u001b[0m: utils.py:2784 - \n", + "LiteLLM completion() model= gpt-4o-mini; provider = openaiINFO:LiteLLM:\n", + "LiteLLM completion() model= gpt-4o-mini; provider = openai\u001b[92m16:33:42 - LiteLLM:INFO\u001b[0m: utils.py:2784 - \n", + "LiteLLM completion() model= gpt-4o-mini; provider = openaiINFO:LiteLLM:\n", + "LiteLLM completion() model= gpt-4o-mini; provider = openai\u001b[92m16:33:42 - LiteLLM:INFO\u001b[0m: utils.py:2784 - \n", + "LiteLLM completion() model= gpt-4o-mini; provider = openaiINFO:LiteLLM:\n", + "LiteLLM completion() model= gpt-4o-mini; provider = openai\u001b[92m16:33:42 - LiteLLM:INFO\u001b[0m: utils.py:2784 - \n", + "LiteLLM completion() model= gpt-4o-mini; provider = openaiINFO:LiteLLM:\n", + "LiteLLM completion() model= gpt-4o-mini; provider = openaiINFO:run_tasks(tasks: [Task], data):Coroutine task started: `add_data_points`INFO:run_tasks(tasks: [Task], data):Coroutine task completed: `add_data_points`INFO:run_tasks(tasks: [Task], data):Coroutine task completed: `summarize_text`INFO:run_tasks(tasks: [Task], data):Coroutine task completed: `extract_graph_from_data`INFO:run_tasks(tasks: [Task], data):Async generator task completed: `extract_chunks_from_documents`INFO:run_tasks(tasks: [Task], data):Coroutine task completed: `check_permissions_on_documents`INFO:run_tasks(tasks: [Task], data):Coroutine task completed: `classify_documents`INFO:run_tasks(tasks: [Task], data):Pipeline run completed: `default_pipeline`" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[TextSummary(id=UUID('df63669a-803c-59aa-8952-f86f76bbcf15'), created_at=1739136826551, updated_at=1739136826551, version=1, topological_rank=0, metadata={'index_fields': ['text']}, text='Senior Data Scientist (Machine Learning) position at TechNova Solutions in San Francisco, CA', made_from=DocumentChunk(id=UUID('ac9c63ea-0f2e-50d9-86e7-acb43491d65a'), created_at=1739136807954, updated_at=1739136807954, version=1, topological_rank=0, metadata={'index_fields': ['text']}, text='Senior Data Scientist (Machine Learning)\\n\\nCompany: TechNova Solutions\\nLocation: San Francisco, CA\\n\\nJob Description:\\n\\nTechNova Solutions is seeking a Senior Data Scientist specializing in Machine Learning to join our dynamic analytics team. The ideal candidate will have a strong background in developing and deploying machine learning models, working with large datasets, and translating complex data into actionable insights.\\n\\nResponsibilities:\\n\\nDevelop and implement advanced machine learning algorithms and models.\\nAnalyze large, complex datasets to extract meaningful patterns and insights.\\nCollaborate with cross-functional teams to integrate predictive models into products.\\nStay updated with the latest advancements in machine learning and data science.\\nMentor junior data scientists and provide technical guidance.\\nQualifications:\\n\\nMaster’s or Ph.D. in Data Science, Computer Science, Statistics, or a related field.\\n5+ years of experience in data science and machine learning.\\nProficient in Python, R, and SQL.\\nExpe rience with deep learning frameworks (e.g., TensorFlow, PyTorch).\\nStrong problem-solving skills and attention to detail.\\nCandidate CVs\\n', word_count=153, token_count=228, chunk_index=0, cut_type='sentence_cut', is_part_of=TextDocument(id=UUID('130dc251-4be9-5a64-8ae1-5f7cd5bca54d'), created_at=1739136807947, updated_at=1739136807947, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='text_81a5a96a9a7325d40521ea453778ebe0', raw_data_location='/Users/vasilije/cognee/cognee/.data_storage/data/text_81a5a96a9a7325d40521ea453778ebe0.txt', external_metadata='{}', mime_type='text/plain', type='text'), pydantic_type='DocumentChunk', contains=[Entity(id=UUID('453a45c9-14e7-5b73-adb8-55991096fef0'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='technova solutions', is_a=EntityType(id=UUID('a6ed6bf1-fe31-5dfe-8ab4-484691fdf219'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='company', description='company', pydantic_type='EntityType'), description='A technology company seeking a Senior Data Scientist specializing in Machine Learning.', pydantic_type='Entity'), Entity(id=UUID('198e2ab8-75e9-5931-97ab-da9a5a8e188c'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='san francisco, ca', is_a=EntityType(id=UUID('19dd7d4d-a966-5ed5-82a0-6ae377761a29'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='location', description='location', pydantic_type='EntityType'), description='Location of TechNova Solutions.', pydantic_type='Entity'), Entity(id=UUID('435dbd37-ab20-503c-9e99-ab8b8a3484e5'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='senior data scientist', is_a=EntityType(id=UUID('03e4ce4a-d531-5a2a-a4f7-9fab8955bf60'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='job title', description='job title', pydantic_type='EntityType'), description='Position specializing in machine learning at TechNova Solutions.', pydantic_type='Entity'), Entity(id=UUID('5187986a-7305-5a63-b057-8f2c097419eb'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='machine learning', is_a=EntityType(id=UUID('0198571b-3e94-50ea-8b9f-19e3a31080c0'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='field', description='field', pydantic_type='EntityType'), description='Field of expertise required for the Senior Data Scientist position.', pydantic_type='Entity'), Entity(id=UUID('d6545b21-153c-58ba-be47-46e5216521a3'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='data science', is_a=EntityType(id=UUID('0198571b-3e94-50ea-8b9f-19e3a31080c0'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='field', description='field', pydantic_type='EntityType'), description='Field relevant to the Senior Data Scientist role.', pydantic_type='Entity'), Entity(id=UUID('c95db510-e2ee-5a00-bded-20bbcb50c492'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='python', is_a=EntityType(id=UUID('80d409bb-e431-5939-a1ad-3acd96267128'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='programming language', description='programming language', pydantic_type='EntityType'), description='Programming language required for the Senior Data Scientist position.', pydantic_type='Entity'), Entity(id=UUID('39bd9707-8098-52ed-9cbf-bbdd26b963fb'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='r', is_a=EntityType(id=UUID('80d409bb-e431-5939-a1ad-3acd96267128'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='programming language', description='programming language', pydantic_type='EntityType'), description='Programming language required for the Senior Data Scientist position.', pydantic_type='Entity'), Entity(id=UUID('1ff6821a-b207-5050-83e9-37ff67a27d03'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='sql', is_a=EntityType(id=UUID('80d409bb-e431-5939-a1ad-3acd96267128'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='programming language', description='programming language', pydantic_type='EntityType'), description='Programming language required for the Senior Data Scientist position.', pydantic_type='Entity'), Entity(id=UUID('6e72f6f5-0452-5d42-a4e8-4aba6a614cb1'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='tensorflow', is_a=EntityType(id=UUID('36a32bd3-8880-547a-949b-8447477d1ef5'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='framework', description='framework', pydantic_type='EntityType'), description='Deep learning framework experience required for the Senior Data Scientist position.', pydantic_type='Entity'), Entity(id=UUID('c0d95499-de6b-5fcf-b0f5-9cbf427ad5c6'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='pytorch', is_a=EntityType(id=UUID('36a32bd3-8880-547a-949b-8447477d1ef5'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='framework', description='framework', pydantic_type='EntityType'), description='Deep learning framework experience required for the Senior Data Scientist position.', pydantic_type='Entity'), Entity(id=UUID('cf03961a-14e0-5a0e-b208-bcf89f6326d6'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='master’s or ph.d. in data science, computer science, statistics', is_a=EntityType(id=UUID('f0cf12c5-3311-567e-a047-0116c1fc54e4'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='qualification', description='qualification', pydantic_type='EntityType'), description='Educational requirement for the Senior Data Scientist position.', pydantic_type='Entity'), Entity(id=UUID('2127fedf-b2d0-555d-9081-6e5951df3285'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='5+ years of experience in data science and machine learning', is_a=EntityType(id=UUID('874712b4-2760-5b8d-8708-12e52cfdf1e7'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='experience requirement', description='experience requirement', pydantic_type='EntityType'), description='Experience requirement for the Senior Data Scientist position.', pydantic_type='Entity'), Entity(id=UUID('2d55fb94-607c-5998-baf3-b18a2fb8a3fe'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='strong problem-solving skills and attention to detail', is_a=EntityType(id=UUID('37976df5-c5db-5a80-8dcc-780c39cbedb3'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='skill', description='skill', pydantic_type='EntityType'), description='Skill requirement for the Senior Data Scientist position.', pydantic_type='Entity')])), TextSummary(id=UUID('5963b173-a698-5179-9680-f24a2e5ae275'), created_at=1739136826551, updated_at=1739136826551, version=1, topological_rank=0, metadata={'index_fields': ['text']}, text='Data Scientist with extensive expertise in machine learning and statistical analysis, adept at managing large datasets and converting data into practical business strategies.', made_from=DocumentChunk(id=UUID('9e864329-dc94-5df5-b451-5e9ce33f66ec'), created_at=1739136807961, updated_at=1739136807961, version=1, topological_rank=0, metadata={'index_fields': ['text']}, text='\\nCV 2: Relevant\\nName: Michael Rodriguez\\nContact Information:\\n\\nEmail: michael.rodriguez@example.com\\nPhone: (555) 234-5678\\nSummary:\\n\\nData Scientist with a strong background in machine learning and statistical modeling. Skilled in handling large datasets and translating data into actionable business insights.\\n\\nEducation:\\n\\nM.S. in Data Science, Carnegie Mellon University (2013)\\nB.S. in Computer Science, University of Michigan (2011)\\nExperience:\\n\\nSenior Data Scientist, Alpha Analytics (2017 – Present)\\nDeveloped machine learning models to optimize marketing strategies.\\nReduced customer acquisition cost by 15% through predictive modeling.\\nData Scientist, TechInsights (2013 – 2017)\\nAnalyzed user behavior data to improve product features.\\nImplemented A/B testing frameworks to evaluate product changes.\\nSkills:\\n\\nProgramming Languages: Python, Java, SQL\\nMachine Learning: Scikit-Learn, XGBoost\\nData Visualization: Seaborn, Plotly\\nDatabases: MySQL, MongoDB\\n', word_count=108, token_count=218, chunk_index=0, cut_type='sentence_cut', is_part_of=TextDocument(id=UUID('5ba85987-4585-51fa-91d4-cd5ed28932ba'), created_at=1739136807947, updated_at=1739136807947, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='text_f0f63a5c88dbbeef1eca23d32848220c', raw_data_location='/Users/vasilije/cognee/cognee/.data_storage/data/text_f0f63a5c88dbbeef1eca23d32848220c.txt', external_metadata='{}', mime_type='text/plain', type='text'), pydantic_type='DocumentChunk', contains=[Entity(id=UUID('73ae630f-7b09-5dce-8c18-45d0a57b30f9'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='michael rodriguez', is_a=EntityType(id=UUID('d072ba0f-e1a9-58bf-9974-e1802adc8134'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='person', description='person', pydantic_type='EntityType'), description='Data Scientist with a strong background in machine learning and statistical modeling.', pydantic_type='Entity'), Entity(id=UUID('5534e0b0-d0c4-5ab9-82e9-91bed36f70bd'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='carnegie mellon university', is_a=EntityType(id=UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='organization', description='organization', pydantic_type='EntityType'), description='University where Michael Rodriguez completed his M.S. in Data Science.', pydantic_type='Entity'), Entity(id=UUID('0af613e0-c11b-550d-ada2-2c2aa6550884'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='university of michigan', is_a=EntityType(id=UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='organization', description='organization', pydantic_type='EntityType'), description='University where Michael Rodriguez completed his B.S. in Computer Science.', pydantic_type='Entity'), Entity(id=UUID('04a91fef-8a07-5d50-8f1b-46f3afeec497'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='alpha analytics', is_a=EntityType(id=UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='organization', description='organization', pydantic_type='EntityType'), description='Company where Michael Rodriguez works as a Senior Data Scientist.', pydantic_type='Entity'), Entity(id=UUID('3f848ed6-902f-5a8e-9577-cb67f8c17acd'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='techinsights', is_a=EntityType(id=UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='organization', description='organization', pydantic_type='EntityType'), description='Company where Michael Rodriguez worked as a Data Scientist.', pydantic_type='Entity'), Entity(id=UUID('c72287e7-5530-5507-bd52-f903075f568c'), created_at=1739136819424, updated_at=1739136819424, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='2017', is_a=EntityType(id=UUID('d61d99ac-b291-5666-9748-3e80e1c8b56a'), created_at=1739136819424, updated_at=1739136819424, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='date', description='date', pydantic_type='EntityType'), description='Year when Michael Rodriguez started working at Alpha Analytics.', pydantic_type='Entity'), Entity(id=UUID('9b5f11a6-00ba-5a7a-b856-f584cb2656fb'), created_at=1739136819424, updated_at=1739136819424, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='2013', is_a=EntityType(id=UUID('d61d99ac-b291-5666-9748-3e80e1c8b56a'), created_at=1739136819424, updated_at=1739136819424, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='date', description='date', pydantic_type='EntityType'), description='Year when Michael Rodriguez started working at TechInsights and completed his M.S.', pydantic_type='Entity'), Entity(id=UUID('f1ccd810-2a0c-578c-b1ee-92580359c202'), created_at=1739136819424, updated_at=1739136819424, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='2011', is_a=EntityType(id=UUID('d61d99ac-b291-5666-9748-3e80e1c8b56a'), created_at=1739136819424, updated_at=1739136819424, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='date', description='date', pydantic_type='EntityType'), description='Year when Michael Rodriguez completed his B.S. in Computer Science.', pydantic_type='Entity')])), TextSummary(id=UUID('739b26cc-b2ab-559a-a992-1d95d4c62bea'), created_at=1739136826551, updated_at=1739136826551, version=1, topological_rank=0, metadata={'index_fields': ['text']}, text='Senior Data Scientist with 8+ years in machine learning and predictive analytics, skilled in creating advanced algorithms and deploying scalable models.', made_from=DocumentChunk(id=UUID('2c01732f-3a58-5cf5-8edf-d2067c75758d'), created_at=1739136807965, updated_at=1739136807965, version=1, topological_rank=0, metadata={'index_fields': ['text']}, text='\\nCV 1: Relevant\\nName: Dr. Emily Carter\\nContact Information:\\n\\nEmail: emily.carter@example.com\\nPhone: (555) 123-4567\\nSummary:\\n\\nSenior Data Scientist with over 8 years of experience in machine learning and predictive analytics. Expertise in developing advanced algorithms and deploying scalable models in production environments.\\n\\nEducation:\\n\\nPh.D. in Computer Science, Stanford University (2014)\\nB.S. in Mathematics, University of California, Berkeley (2010)\\nExperience:\\n\\nSenior Data Scientist, InnovateAI Labs (2016 – Present)\\nLed a team in developing machine learning models for natural language processing applications.\\nImplemented deep learning algorithms that improved prediction accuracy by 25%.\\nCollaborated with cross-functional teams to integrate models into cloud-based platforms.\\nData Scientist, DataWave Analytics (2014 – 2016)\\nDeveloped predictive models for customer segmentation and churn analysis.\\nAnalyzed large datasets using Hadoop and Spark frameworks.\\nSkills:\\n\\nProgramming Languages: Python, R, SQL\\nMachin e Learning: TensorFlow, Keras, Scikit-Learn\\nBig Data Technologies: Hadoop, Spark\\nData Visualization: Tableau, Matplotlib\\n', word_count=133, token_count=252, chunk_index=0, cut_type='sentence_cut', is_part_of=TextDocument(id=UUID('681317e0-82a2-5867-81c2-3556769e6698'), created_at=1739136807947, updated_at=1739136807947, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='text_85410f4ad1197f5974aef9aed6f103c8', raw_data_location='/Users/vasilije/cognee/cognee/.data_storage/data/text_85410f4ad1197f5974aef9aed6f103c8.txt', external_metadata='{}', mime_type='text/plain', type='text'), pydantic_type='DocumentChunk', contains=[Entity(id=UUID('29e771c8-4c3f-52de-9511-6b705878e130'), created_at=1739136819424, updated_at=1739136819424, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='dr. emily carter', is_a=EntityType(id=UUID('d072ba0f-e1a9-58bf-9974-e1802adc8134'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='person', description='person', pydantic_type='EntityType'), description='Senior Data Scientist with over 8 years of experience in machine learning and predictive analytics.', pydantic_type='Entity'), Entity(id=UUID('ce8b394a-b30e-52fc-b80a-6352edc60e5b'), created_at=1739136819424, updated_at=1739136819424, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='stanford university', is_a=EntityType(id=UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='organization', description='organization', pydantic_type='EntityType'), description='A prestigious university located in California, known for its research programs.', pydantic_type='Entity'), Entity(id=UUID('2c02c93c-9cd1-56b8-9cc0-55ff0b290e57'), created_at=1739136819424, updated_at=1739136819424, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='university of california, berkeley', is_a=EntityType(id=UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='organization', description='organization', pydantic_type='EntityType'), description='A public research university in California, known for its academic excellence.', pydantic_type='Entity'), Entity(id=UUID('9780afb1-dccc-53eb-9a30-c0d4ce033711'), created_at=1739136819424, updated_at=1739136819424, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='innovateai labs', is_a=EntityType(id=UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='organization', description='organization', pydantic_type='EntityType'), description='A company that specializes in artificial intelligence and machine learning.', pydantic_type='Entity'), Entity(id=UUID('50d0a685-5300-544f-b081-edca4b625886'), created_at=1739136819424, updated_at=1739136819424, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='datawave analytics', is_a=EntityType(id=UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='organization', description='organization', pydantic_type='EntityType'), description='A company focused on data analytics and insights for business.', pydantic_type='Entity'), Entity(id=UUID('1625b880-9c57-5753-806b-5ffd2a0480dd'), created_at=1739136819424, updated_at=1739136819424, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='big data technologies', is_a=EntityType(id=UUID('dd9713b7-dc20-5101-aad0-1c4216811147'), created_at=1739136819424, updated_at=1739136819424, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='concept', description='concept', pydantic_type='EntityType'), description='Technologies used to handle large volumes of data that traditional data processing applications cannot manage.', pydantic_type='Entity'), Entity(id=UUID('2707e7b1-3947-5a9b-b2f3-e5bb3cadb6a7'), created_at=1739136819424, updated_at=1739136819424, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='data visualization', is_a=EntityType(id=UUID('dd9713b7-dc20-5101-aad0-1c4216811147'), created_at=1739136819424, updated_at=1739136819424, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='concept', description='concept', pydantic_type='EntityType'), description='The graphical representation of information and data.', pydantic_type='Entity')])), TextSummary(id=UUID('582a5af9-bddf-58a4-988d-20d060d23936'), created_at=1739136826551, updated_at=1739136826551, version=1, topological_rank=0, metadata={'index_fields': ['text']}, text='Data Scientist with a focus on machine learning and 6 years of experience in utilizing data to enhance business solutions and product efficacy.', made_from=DocumentChunk(id=UUID('db8ea487-bbac-5d2a-86e5-46d92b1a4681'), created_at=1739136807969, updated_at=1739136807969, version=1, topological_rank=0, metadata={'index_fields': ['text']}, text='\\nCV 3: Relevant\\nName: Sarah Nguyen\\nContact Information:\\n\\nEmail: sarah.nguyen@example.com\\nPhone: (555) 345-6789\\nSummary:\\n\\nData Scientist specializing in machine learning with 6 years of experience. Passionate about leveraging data to drive business solutions and improve product performance.\\n\\nEducation:\\n\\nM.S. in Statistics, University of Washington (2014)\\nB.S. in Applied Mathematics, University of Texas at Austin (2012)\\nExperience:\\n\\nData Scientist, QuantumTech (2016 – Present)\\nDesigned and implemented machine learning algorithms for financial forecasting.\\nImproved model efficiency by 20% through algorithm optimization.\\nJunior Data Scientist, DataCore Solutions (2014 – 2016)\\nAssisted in developing predictive models for supply chain optimization.\\nConducted data cleaning and preprocessing on large datasets.\\nSkills:\\n\\nProgramming Languages: Python, R\\nMachine Learning Frameworks: PyTorch, Scikit-Learn\\nStatistical Analysis: SAS, SPSS\\nCloud Platforms: AWS, Azure\\n', word_count=110, token_count=216, chunk_index=0, cut_type='sentence_cut', is_part_of=TextDocument(id=UUID('9acc9e48-cae1-581f-8f4f-051c761015fc'), created_at=1739136807947, updated_at=1739136807947, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='text_f8c7482e727f228001b0046ed68d656f', raw_data_location='/Users/vasilije/cognee/cognee/.data_storage/data/text_f8c7482e727f228001b0046ed68d656f.txt', external_metadata='{}', mime_type='text/plain', type='text'), pydantic_type='DocumentChunk', contains=[Entity(id=UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), created_at=1739136819424, updated_at=1739136819424, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='sarah nguyen', is_a=EntityType(id=UUID('d072ba0f-e1a9-58bf-9974-e1802adc8134'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='person', description='person', pydantic_type='EntityType'), description='Data Scientist specializing in machine learning with 6 years of experience.', pydantic_type='Entity'), Entity(id=UUID('d82673ff-ff5e-5436-bc8b-2967d4301b4f'), created_at=1739136819424, updated_at=1739136819424, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='m.s. in statistics', is_a=EntityType(id=UUID('a49b283a-ce92-50e0-b7fa-ca7c628eb01a'), created_at=1739136819424, updated_at=1739136819424, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='degree', description='degree', pydantic_type='EntityType'), description='Master of Science in Statistics from University of Washington', pydantic_type='Entity'), Entity(id=UUID('5abf79a8-2cdc-56a9-b78a-fd8150e9e891'), created_at=1739136819424, updated_at=1739136819424, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='b.s. in applied mathematics', is_a=EntityType(id=UUID('a49b283a-ce92-50e0-b7fa-ca7c628eb01a'), created_at=1739136819424, updated_at=1739136819424, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='degree', description='degree', pydantic_type='EntityType'), description='Bachelor of Science in Applied Mathematics from University of Texas at Austin', pydantic_type='Entity'), Entity(id=UUID('0d980f2a-09dd-581e-acc3-cc2d87c1bab4'), created_at=1739136819424, updated_at=1739136819424, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='quantumtech', is_a=EntityType(id=UUID('a6ed6bf1-fe31-5dfe-8ab4-484691fdf219'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='company', description='company', pydantic_type='EntityType'), description='Company where Sarah Nguyen works as a Data Scientist', pydantic_type='Entity'), Entity(id=UUID('95ac0551-38fc-5187-a422-533aeb7e8db0'), created_at=1739136819424, updated_at=1739136819424, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='datacore solutions', is_a=EntityType(id=UUID('a6ed6bf1-fe31-5dfe-8ab4-484691fdf219'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='company', description='company', pydantic_type='EntityType'), description='Company where Sarah Nguyen worked as a Junior Data Scientist', pydantic_type='Entity'), Entity(id=UUID('ec847cd7-8e31-51b2-bc9a-cb5467d2de9b'), created_at=1739136819424, updated_at=1739136819424, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='machine learning algorithms', is_a=EntityType(id=UUID('dd9713b7-dc20-5101-aad0-1c4216811147'), created_at=1739136819424, updated_at=1739136819424, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='concept', description='concept', pydantic_type='EntityType'), description='Algorithms designed and implemented for financial forecasting', pydantic_type='Entity')])), TextSummary(id=UUID('0f88fb55-8639-5272-bd78-3b0113969988'), created_at=1739136826551, updated_at=1739136826551, version=1, topological_rank=0, metadata={'index_fields': ['text']}, text='Experienced Graphic Designer', made_from=DocumentChunk(id=UUID('46acf40e-e5e3-53df-8908-8b9d4cf0fa82'), created_at=1739136807972, updated_at=1739136807972, version=1, topological_rank=0, metadata={'index_fields': ['text']}, text='\\nCV 4: Not Relevant\\nName: David Thompson\\nContact Information:\\n\\nEmail: david.thompson@example.com\\nPhone: (555) 456-7890\\nSummary:\\n\\nCreative Graphic Designer with over 8 years of experience in visual design and branding. Proficient in Adobe Creative Suite and passionate about creating compelling visuals.\\n\\nEducation:\\n\\nB.F.A. in Graphic Design, Rhode Island School of Design (2012)\\nExperience:\\n\\nSenior Graphic Designer, CreativeWorks Agency (2015 – Present)\\nLed design projects for clients in various industries.\\nCreated branding materials that increased client engagement by 30%.\\nGraphic Designer, Visual Innovations (2012 – 2015)\\nDesigned marketing collateral, including brochures, logos, and websites.\\nCollaborated with the marketing team to develop cohesive brand strategies.\\nSkills:\\n\\nDesign Software: Adobe Photoshop, Illustrator, InDesign\\nWeb Design: HTML, CSS\\nSpecialties: Branding and Identity, Typography\\n', word_count=108, token_count=202, chunk_index=0, cut_type='sentence_cut', is_part_of=TextDocument(id=UUID('f8846763-c7bc-565a-a9a3-6e59aa075142'), created_at=1739136807947, updated_at=1739136807947, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='text_9abf20fa7defd7e49296c51b4e38edf2', raw_data_location='/Users/vasilije/cognee/cognee/.data_storage/data/text_9abf20fa7defd7e49296c51b4e38edf2.txt', external_metadata='{}', mime_type='text/plain', type='text'), pydantic_type='DocumentChunk', contains=[Entity(id=UUID('a4777597-06c7-562c-bc44-56f74571a01a'), created_at=1739136819424, updated_at=1739136819424, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='david thompson', is_a=EntityType(id=UUID('d072ba0f-e1a9-58bf-9974-e1802adc8134'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='person', description='person', pydantic_type='EntityType'), description='Creative Graphic Designer with over 8 years of experience in visual design and branding.', pydantic_type='Entity'), Entity(id=UUID('60b027fe-7bb4-535d-8a47-19f1a491591b'), created_at=1739136819425, updated_at=1739136819425, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='rhode island school of design', is_a=EntityType(id=UUID('d625a269-8f40-5359-ad5f-e3b5fde1e477'), created_at=1739136819425, updated_at=1739136819425, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='educationalinstitution', description='educationalinstitution', pydantic_type='EntityType'), description='A prestigious institution for art and design education.', pydantic_type='Entity'), Entity(id=UUID('ca20272a-3e88-552f-92fe-491e23f117f8'), created_at=1739136819425, updated_at=1739136819425, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='creativeworks agency', is_a=EntityType(id=UUID('a6ed6bf1-fe31-5dfe-8ab4-484691fdf219'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='company', description='company', pydantic_type='EntityType'), description='A design agency serving various clients in different industries.', pydantic_type='Entity'), Entity(id=UUID('1e97bb97-4d29-5fb8-863a-15ab51f1dd46'), created_at=1739136819425, updated_at=1739136819425, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='visual innovations', is_a=EntityType(id=UUID('a6ed6bf1-fe31-5dfe-8ab4-484691fdf219'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='company', description='company', pydantic_type='EntityType'), description='A company focusing on marketing collateral design.', pydantic_type='Entity')])), TextSummary(id=UUID('6dbd0158-8a64-54f6-9765-c329e2224f89'), created_at=1739136826551, updated_at=1739136826551, version=1, topological_rank=0, metadata={'index_fields': ['text']}, text='Sales Manager with a proven record of boosting sales and cultivating high-performing teams. Strong leadership and interpersonal communication skills.', made_from=DocumentChunk(id=UUID('3a3e38bc-f351-52c8-8ebc-44e7359a4482'), created_at=1739136807976, updated_at=1739136807976, version=1, topological_rank=0, metadata={'index_fields': ['text']}, text=\"\\nCV 5: Not Relevant\\nName: Jessica Miller\\nContact Information:\\n\\nEmail: jessica.miller@example.com\\nPhone: (555) 567-8901\\nSummary:\\n\\nExperienced Sales Manager with a strong track record in driving sales growth and building high-performing teams. Excellent communication and leadership skills.\\n\\nEducation:\\n\\nB.A. in Business Administration, University of Southern California (2010)\\nExperience:\\n\\nSales Manager, Global Enterprises (2015 – Present)\\nManaged a sales team of 15 members, achieving a 20% increase in annual revenue.\\nDeveloped sales strategies that expanded customer base by 25%.\\nSales Representative, Market Leaders Inc. (2010 – 2015)\\nConsistently exceeded sales targets and received the 'Top Salesperson' award in 2013.\\nSkills:\\n\\nSales Strategy and Planning\\nTeam Leadership and Development\\nCRM Software: Salesforce, Zoho\\nNegotiation and Relationship Building\\n\", word_count=102, token_count=198, chunk_index=0, cut_type='sentence_cut', is_part_of=TextDocument(id=UUID('fe77a82d-eb85-5e0e-b25b-bdb83e44b972'), created_at=1739136807947, updated_at=1739136807947, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='text_9b35c7df1f5d4dc84e78270c0bf9cac6', raw_data_location='/Users/vasilije/cognee/cognee/.data_storage/data/text_9b35c7df1f5d4dc84e78270c0bf9cac6.txt', external_metadata='{}', mime_type='text/plain', type='text'), pydantic_type='DocumentChunk', contains=[Entity(id=UUID('36a5e3c8-c5f5-5ab5-8d59-ea69d8b36932'), created_at=1739136819425, updated_at=1739136819425, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='jessica miller', is_a=EntityType(id=UUID('d072ba0f-e1a9-58bf-9974-e1802adc8134'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='person', description='person', pydantic_type='EntityType'), description='Experienced Sales Manager with a strong track record in driving sales growth and building high-performing teams. Excellent communication and leadership skills.', pydantic_type='Entity'), Entity(id=UUID('f39d6c00-689b-5fd2-9021-893b28ac6ff2'), created_at=1739136819425, updated_at=1739136819425, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='university of southern california', is_a=EntityType(id=UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='organization', description='organization', pydantic_type='EntityType'), description='University located in Southern California.', pydantic_type='Entity'), Entity(id=UUID('5c32691d-c0e4-5378-9aab-dda8b0fa3931'), created_at=1739136819425, updated_at=1739136819425, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='global enterprises', is_a=EntityType(id=UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='organization', description='organization', pydantic_type='EntityType'), description='Company where Jessica Miller works as a Sales Manager.', pydantic_type='Entity'), Entity(id=UUID('67544857-983a-5152-801d-4fc9d35d14e4'), created_at=1739136819425, updated_at=1739136819425, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='market leaders inc.', is_a=EntityType(id=UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), created_at=1739136819423, updated_at=1739136819423, version=1, topological_rank=0, metadata={'index_fields': ['name']}, name='organization', description='organization', pydantic_type='EntityType'), description='Company where Jessica Miller worked as a Sales Representative.', pydantic_type='Entity')]))]\n" + ] + } + ], "source": [ "from cognee.modules.users.methods import get_default_user\n", "from cognee.modules.data.methods import get_datasets_by_name\n", @@ -706,6 +807,219 @@ "await run_cognify_pipeline(datasets[0], user)" ] }, + { + "cell_type": "code", + "execution_count": 3, + "id": "9dd29caf28c272d1", + "metadata": { + "ExecuteTime": { + "end_time": "2025-02-09T21:42:39.479622Z", + "start_time": "2025-02-09T21:42:39.469795Z" + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:root:([(UUID('6fd664a9-0f63-5010-b252-28cf0a2427b6'), {'created_at': 1739138108472, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 8, 472000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['text']}, 'text': 'Senior Data Scientist (Machine Learning)\\n\\nCompany: TechNova Solutions\\nLocation: San Francisco, CA\\n\\nJob Description:\\n\\nTechNova Solutions is seeking a Senior Data Scientist specializing in Machine Learning to join our dynamic analytics team. The ideal candidate will have a strong background in developing and deploying machine learning models, working with large datasets, and translating complex data into actionable insights.\\n\\nResponsibilities:\\n\\nDevelop and implement advanced machine learning algorithms and models.\\nAnalyze large, complex datasets to extract meaningful patterns and insights.\\nCollaborate with cross-functional teams to integrate predictive models into products.\\nStay updated with the latest advancements in machine learning and data science.\\nMentor junior data scientists and provide technical guidance.\\nQualifications:\\n\\nMaster’s or Ph.D. in Data Science, Computer Science, Statistics, or a related field.\\n5+ years of experience in data science and machine learning.\\nProficient in Python, R, and SQL.\\nExpe rience with deep learning frameworks (e.g., TensorFlow, PyTorch).\\nStrong problem-solving skills and attention to detail.\\nCandidate CVs\\n', 'word_count': 153, 'token_count': 228, 'chunk_index': 0, 'cut_type': 'sentence_cut', 'pydantic_type': 'DocumentChunk', 'id': UUID('6fd664a9-0f63-5010-b252-28cf0a2427b6')}), (UUID('005aa235-96be-5334-bc8a-cdc1180561e3'), {'created_at': 1739138120744, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 744000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'experience with deep learning frameworks (e.g., tensorflow, pytorch)', 'description': 'Experience with deep learning frameworks required for the Senior Data Scientist position.', 'pydantic_type': 'Entity', 'id': UUID('005aa235-96be-5334-bc8a-cdc1180561e3')}), (UUID('f0cf12c5-3311-567e-a047-0116c1fc54e4'), {'created_at': 1739138120744, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 744000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'qualification', 'description': 'qualification', 'pydantic_type': 'EntityType', 'id': UUID('f0cf12c5-3311-567e-a047-0116c1fc54e4')}), (UUID('198e2ab8-75e9-5931-97ab-da9a5a8e188c'), {'created_at': 1739138120744, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 744000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'san francisco, ca', 'description': 'The location of TechNova Solutions.', 'pydantic_type': 'Entity', 'id': UUID('198e2ab8-75e9-5931-97ab-da9a5a8e188c')}), (UUID('19dd7d4d-a966-5ed5-82a0-6ae377761a29'), {'created_at': 1739138120744, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 744000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'location', 'description': 'location', 'pydantic_type': 'EntityType', 'id': UUID('19dd7d4d-a966-5ed5-82a0-6ae377761a29')}), (UUID('8a9b7137-f981-5f96-8df0-dea78cdf1dda'), {'created_at': 1739138120744, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 744000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'strong problem-solving skills and attention to detail', 'description': 'Soft skills required for the Senior Data Scientist position.', 'pydantic_type': 'Entity', 'id': UUID('8a9b7137-f981-5f96-8df0-dea78cdf1dda')}), (UUID('435dbd37-ab20-503c-9e99-ab8b8a3484e5'), {'created_at': 1739138120744, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 744000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'senior data scientist', 'description': 'A position specializing in Machine Learning within the analytics team.', 'pydantic_type': 'Entity', 'id': UUID('435dbd37-ab20-503c-9e99-ab8b8a3484e5')}), (UUID('03e4ce4a-d531-5a2a-a4f7-9fab8955bf60'), {'created_at': 1739138120744, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 744000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'job_title', 'description': 'job_title', 'pydantic_type': 'EntityType', 'id': UUID('03e4ce4a-d531-5a2a-a4f7-9fab8955bf60')}), (UUID('453a45c9-14e7-5b73-adb8-55991096fef0'), {'created_at': 1739138120744, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 744000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'technova solutions', 'description': 'A company seeking to hire a Senior Data Scientist specializing in Machine Learning.', 'pydantic_type': 'Entity', 'id': UUID('453a45c9-14e7-5b73-adb8-55991096fef0')}), (UUID('a6ed6bf1-fe31-5dfe-8ab4-484691fdf219'), {'created_at': 1739138120744, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 744000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'company', 'description': 'company', 'pydantic_type': 'EntityType', 'id': UUID('a6ed6bf1-fe31-5dfe-8ab4-484691fdf219')}), (UUID('171a185d-c76c-539b-9520-9d1afd84dc4c'), {'created_at': 1739138108465, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 8, 465000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'text_81a5a96a9a7325d40521ea453778ebe0', 'raw_data_location': '/Users/vasilije/cognee/cognee/.data_storage/data/text_81a5a96a9a7325d40521ea453778ebe0.txt', 'external_metadata': '{}', 'mime_type': 'text/plain', 'type': 'text', 'id': UUID('171a185d-c76c-539b-9520-9d1afd84dc4c')}), (UUID('702366d5-21a2-5f25-a4d9-ea9794bae4fe'), {'created_at': 1739138120744, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 744000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'masters or ph.d. in data science, computer science, statistics, or a related field', 'description': 'Educational qualification required for the Senior Data Scientist position.', 'pydantic_type': 'Entity', 'id': UUID('702366d5-21a2-5f25-a4d9-ea9794bae4fe')}), (UUID('c35072da-4e2e-575e-acd4-5cc4682e3a2b'), {'created_at': 1739138120744, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 744000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'proficient in python, r, and sql', 'description': 'Technical skills required for the Senior Data Scientist position.', 'pydantic_type': 'Entity', 'id': UUID('c35072da-4e2e-575e-acd4-5cc4682e3a2b')}), (UUID('fe5ea90b-e586-5492-a7a4-71b918c71a20'), {'created_at': 1739138120744, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 744000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': '5+ years of experience in data science and machine learning', 'description': 'Experience required for the Senior Data Scientist position.', 'pydantic_type': 'Entity', 'id': UUID('fe5ea90b-e586-5492-a7a4-71b918c71a20')}), (UUID('9abf5135-7560-5815-9fc4-2bc94ef06f84'), {'created_at': 1739138108479, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 8, 479000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['text']}, 'text': '\\nCV 2: Relevant\\nName: Michael Rodriguez\\nContact Information:\\n\\nEmail: michael.rodriguez@example.com\\nPhone: (555) 234-5678\\nSummary:\\n\\nData Scientist with a strong background in machine learning and statistical modeling. Skilled in handling large datasets and translating data into actionable business insights.\\n\\nEducation:\\n\\nM.S. in Data Science, Carnegie Mellon University (2013)\\nB.S. in Computer Science, University of Michigan (2011)\\nExperience:\\n\\nSenior Data Scientist, Alpha Analytics (2017 – Present)\\nDeveloped machine learning models to optimize marketing strategies.\\nReduced customer acquisition cost by 15% through predictive modeling.\\nData Scientist, TechInsights (2013 – 2017)\\nAnalyzed user behavior data to improve product features.\\nImplemented A/B testing frameworks to evaluate product changes.\\nSkills:\\n\\nProgramming Languages: Python, Java, SQL\\nMachine Learning: Scikit-Learn, XGBoost\\nData Visualization: Seaborn, Plotly\\nDatabases: MySQL, MongoDB\\n', 'word_count': 108, 'token_count': 218, 'chunk_index': 0, 'cut_type': 'sentence_cut', 'pydantic_type': 'DocumentChunk', 'id': UUID('9abf5135-7560-5815-9fc4-2bc94ef06f84')}), (UUID('0af613e0-c11b-550d-ada2-2c2aa6550884'), {'created_at': 1739138120744, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 744000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'university of michigan', 'description': 'University known for its programs in computer science and engineering.', 'pydantic_type': 'Entity', 'id': UUID('0af613e0-c11b-550d-ada2-2c2aa6550884')}), (UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), {'created_at': 1739138120744, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 744000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'organization', 'description': 'organization', 'pydantic_type': 'EntityType', 'id': UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d')}), (UUID('5534e0b0-d0c4-5ab9-82e9-91bed36f70bd'), {'created_at': 1739138120744, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 744000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'carnegie mellon university', 'description': 'University known for its programs in data science and engineering.', 'pydantic_type': 'Entity', 'id': UUID('5534e0b0-d0c4-5ab9-82e9-91bed36f70bd')}), (UUID('73ae630f-7b09-5dce-8c18-45d0a57b30f9'), {'created_at': 1739138120744, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 744000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'michael rodriguez', 'description': 'Data Scientist with a strong background in machine learning and statistical modeling.', 'pydantic_type': 'Entity', 'id': UUID('73ae630f-7b09-5dce-8c18-45d0a57b30f9')}), (UUID('d072ba0f-e1a9-58bf-9974-e1802adc8134'), {'created_at': 1739138120744, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 744000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'person', 'description': 'person', 'pydantic_type': 'EntityType', 'id': UUID('d072ba0f-e1a9-58bf-9974-e1802adc8134')}), (UUID('175cf99b-d9e7-5d16-a8af-d4ce31ee96d1'), {'created_at': 1739138108465, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 8, 465000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'text_f0f63a5c88dbbeef1eca23d32848220c', 'raw_data_location': '/Users/vasilije/cognee/cognee/.data_storage/data/text_f0f63a5c88dbbeef1eca23d32848220c.txt', 'external_metadata': '{}', 'mime_type': 'text/plain', 'type': 'text', 'id': UUID('175cf99b-d9e7-5d16-a8af-d4ce31ee96d1')}), (UUID('04a91fef-8a07-5d50-8f1b-46f3afeec497'), {'created_at': 1739138120744, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 744000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'alpha analytics', 'description': 'Company where Michael Rodriguez works as a Senior Data Scientist.', 'pydantic_type': 'Entity', 'id': UUID('04a91fef-8a07-5d50-8f1b-46f3afeec497')}), (UUID('3f848ed6-902f-5a8e-9577-cb67f8c17acd'), {'created_at': 1739138120744, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 744000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'techinsights', 'description': 'Company where Michael Rodriguez worked as a Data Scientist.', 'pydantic_type': 'Entity', 'id': UUID('3f848ed6-902f-5a8e-9577-cb67f8c17acd')}), (UUID('1895e0c8-8f54-5c45-9f41-8891f0330576'), {'created_at': 1739138108484, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 8, 484000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['text']}, 'text': \"\\nCV 5: Not Relevant\\nName: Jessica Miller\\nContact Information:\\n\\nEmail: jessica.miller@example.com\\nPhone: (555) 567-8901\\nSummary:\\n\\nExperienced Sales Manager with a strong track record in driving sales growth and building high-performing teams. Excellent communication and leadership skills.\\n\\nEducation:\\n\\nB.A. in Business Administration, University of Southern California (2010)\\nExperience:\\n\\nSales Manager, Global Enterprises (2015 – Present)\\nManaged a sales team of 15 members, achieving a 20% increase in annual revenue.\\nDeveloped sales strategies that expanded customer base by 25%.\\nSales Representative, Market Leaders Inc. (2010 – 2015)\\nConsistently exceeded sales targets and received the 'Top Salesperson' award in 2013.\\nSkills:\\n\\nSales Strategy and Planning\\nTeam Leadership and Development\\nCRM Software: Salesforce, Zoho\\nNegotiation and Relationship Building\\n\", 'word_count': 102, 'token_count': 198, 'chunk_index': 0, 'cut_type': 'sentence_cut', 'pydantic_type': 'DocumentChunk', 'id': UUID('1895e0c8-8f54-5c45-9f41-8891f0330576')}), (UUID('5c32691d-c0e4-5378-9aab-dda8b0fa3931'), {'created_at': 1739138120744, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 744000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'global enterprises', 'description': 'A global company involved in various sectors, known for its sales and marketing strategies.', 'pydantic_type': 'Entity', 'id': UUID('5c32691d-c0e4-5378-9aab-dda8b0fa3931')}), (UUID('f39d6c00-689b-5fd2-9021-893b28ac6ff2'), {'created_at': 1739138120744, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 744000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'university of southern california', 'description': 'A private research university located in Los Angeles, California.', 'pydantic_type': 'Entity', 'id': UUID('f39d6c00-689b-5fd2-9021-893b28ac6ff2')}), (UUID('36a5e3c8-c5f5-5ab5-8d59-ea69d8b36932'), {'created_at': 1739138120744, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 744000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'jessica miller', 'description': 'An experienced Sales Manager with a strong track record in driving sales growth and building high-performing teams.', 'pydantic_type': 'Entity', 'id': UUID('36a5e3c8-c5f5-5ab5-8d59-ea69d8b36932')}), (UUID('7071b7bb-2de3-59ee-83f2-31f8e5c9f9eb'), {'created_at': 1739138108466, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 8, 466000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'text_9b35c7df1f5d4dc84e78270c0bf9cac6', 'raw_data_location': '/Users/vasilije/cognee/cognee/.data_storage/data/text_9b35c7df1f5d4dc84e78270c0bf9cac6.txt', 'external_metadata': '{}', 'mime_type': 'text/plain', 'type': 'text', 'id': UUID('7071b7bb-2de3-59ee-83f2-31f8e5c9f9eb')}), (UUID('94952c93-3432-581b-b6a6-101266596c46'), {'created_at': 1739138120744, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 744000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'market leaders inc.', 'description': 'A company that focuses on sales and marketing in various industries.', 'pydantic_type': 'Entity', 'id': UUID('94952c93-3432-581b-b6a6-101266596c46')}), (UUID('bae8a2f4-0bb7-5ef5-bd7e-19e279a1baf7'), {'created_at': 1739138108490, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 8, 490000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['text']}, 'text': '\\nCV 1: Relevant\\nName: Dr. Emily Carter\\nContact Information:\\n\\nEmail: emily.carter@example.com\\nPhone: (555) 123-4567\\nSummary:\\n\\nSenior Data Scientist with over 8 years of experience in machine learning and predictive analytics. Expertise in developing advanced algorithms and deploying scalable models in production environments.\\n\\nEducation:\\n\\nPh.D. in Computer Science, Stanford University (2014)\\nB.S. in Mathematics, University of California, Berkeley (2010)\\nExperience:\\n\\nSenior Data Scientist, InnovateAI Labs (2016 – Present)\\nLed a team in developing machine learning models for natural language processing applications.\\nImplemented deep learning algorithms that improved prediction accuracy by 25%.\\nCollaborated with cross-functional teams to integrate models into cloud-based platforms.\\nData Scientist, DataWave Analytics (2014 – 2016)\\nDeveloped predictive models for customer segmentation and churn analysis.\\nAnalyzed large datasets using Hadoop and Spark frameworks.\\nSkills:\\n\\nProgramming Languages: Python, R, SQL\\nMachin e Learning: TensorFlow, Keras, Scikit-Learn\\nBig Data Technologies: Hadoop, Spark\\nData Visualization: Tableau, Matplotlib\\n', 'word_count': 133, 'token_count': 252, 'chunk_index': 0, 'cut_type': 'sentence_cut', 'pydantic_type': 'DocumentChunk', 'id': UUID('bae8a2f4-0bb7-5ef5-bd7e-19e279a1baf7')}), (UUID('5187986a-7305-5a63-b057-8f2c097419eb'), {'created_at': 1739138120744, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 744000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'machine learning', 'description': 'Field of expertise related to predictive analytics and algorithms.', 'pydantic_type': 'Entity', 'id': UUID('5187986a-7305-5a63-b057-8f2c097419eb')}), (UUID('dd9713b7-dc20-5101-aad0-1c4216811147'), {'created_at': 1739138120744, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 744000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'concept', 'description': 'concept', 'pydantic_type': 'EntityType', 'id': UUID('dd9713b7-dc20-5101-aad0-1c4216811147')}), (UUID('2c02c93c-9cd1-56b8-9cc0-55ff0b290e57'), {'created_at': 1739138120744, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 744000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'university of california, berkeley', 'description': 'University where B.S. in Mathematics was obtained.', 'pydantic_type': 'Entity', 'id': UUID('2c02c93c-9cd1-56b8-9cc0-55ff0b290e57')}), (UUID('ce8b394a-b30e-52fc-b80a-6352edc60e5b'), {'created_at': 1739138120744, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 744000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'stanford university', 'description': 'Reputed university where Ph.D. in Computer Science was obtained.', 'pydantic_type': 'Entity', 'id': UUID('ce8b394a-b30e-52fc-b80a-6352edc60e5b')}), (UUID('29e771c8-4c3f-52de-9511-6b705878e130'), {'created_at': 1739138120744, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 744000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'dr. emily carter', 'description': 'Senior Data Scientist with over 8 years of experience in machine learning and predictive analytics.', 'pydantic_type': 'Entity', 'id': UUID('29e771c8-4c3f-52de-9511-6b705878e130')}), (UUID('cdb36296-ac37-550a-b87b-1453084103d2'), {'created_at': 1739138108466, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 8, 466000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'text_85410f4ad1197f5974aef9aed6f103c8', 'raw_data_location': '/Users/vasilije/cognee/cognee/.data_storage/data/text_85410f4ad1197f5974aef9aed6f103c8.txt', 'external_metadata': '{}', 'mime_type': 'text/plain', 'type': 'text', 'id': UUID('cdb36296-ac37-550a-b87b-1453084103d2')}), (UUID('9780afb1-dccc-53eb-9a30-c0d4ce033711'), {'created_at': 1739138120744, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 744000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'innovateai labs', 'description': 'Current workplace of Dr. Emily Carter as Senior Data Scientist.', 'pydantic_type': 'Entity', 'id': UUID('9780afb1-dccc-53eb-9a30-c0d4ce033711')}), (UUID('50d0a685-5300-544f-b081-edca4b625886'), {'created_at': 1739138120744, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 744000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'datawave analytics', 'description': 'Previous workplace of Dr. Emily Carter as Data Scientist.', 'pydantic_type': 'Entity', 'id': UUID('50d0a685-5300-544f-b081-edca4b625886')}), (UUID('bd548acf-d36e-5537-b6b0-2ec09de6c9b0'), {'created_at': 1739138120744, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 744000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'predictive analytics', 'description': 'Application of statistical techniques to analyze current and historical data.', 'pydantic_type': 'Entity', 'id': UUID('bd548acf-d36e-5537-b6b0-2ec09de6c9b0')}), (UUID('b96b0301-3c8b-5261-87d4-4d3d427a2343'), {'created_at': 1739138108494, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 8, 494000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['text']}, 'text': '\\nCV 4: Not Relevant\\nName: David Thompson\\nContact Information:\\n\\nEmail: david.thompson@example.com\\nPhone: (555) 456-7890\\nSummary:\\n\\nCreative Graphic Designer with over 8 years of experience in visual design and branding. Proficient in Adobe Creative Suite and passionate about creating compelling visuals.\\n\\nEducation:\\n\\nB.F.A. in Graphic Design, Rhode Island School of Design (2012)\\nExperience:\\n\\nSenior Graphic Designer, CreativeWorks Agency (2015 – Present)\\nLed design projects for clients in various industries.\\nCreated branding materials that increased client engagement by 30%.\\nGraphic Designer, Visual Innovations (2012 – 2015)\\nDesigned marketing collateral, including brochures, logos, and websites.\\nCollaborated with the marketing team to develop cohesive brand strategies.\\nSkills:\\n\\nDesign Software: Adobe Photoshop, Illustrator, InDesign\\nWeb Design: HTML, CSS\\nSpecialties: Branding and Identity, Typography\\n', 'word_count': 108, 'token_count': 202, 'chunk_index': 0, 'cut_type': 'sentence_cut', 'pydantic_type': 'DocumentChunk', 'id': UUID('b96b0301-3c8b-5261-87d4-4d3d427a2343')}), (UUID('2b53eab9-73b6-533a-bdd5-7f6a47229013'), {'created_at': 1739138120745, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 745000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'design skills', 'description': 'Skills related to graphic design possessed by David Thompson.', 'pydantic_type': 'Entity', 'id': UUID('2b53eab9-73b6-533a-bdd5-7f6a47229013')}), (UUID('37976df5-c5db-5a80-8dcc-780c39cbedb3'), {'created_at': 1739138120745, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 745000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'skill', 'description': 'skill', 'pydantic_type': 'EntityType', 'id': UUID('37976df5-c5db-5a80-8dcc-780c39cbedb3')}), (UUID('ca20272a-3e88-552f-92fe-491e23f117f8'), {'created_at': 1739138120745, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 745000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'creativeworks agency', 'description': 'Agency where David Thompson is currently working as a Senior Graphic Designer.', 'pydantic_type': 'Entity', 'id': UUID('ca20272a-3e88-552f-92fe-491e23f117f8')}), (UUID('60b027fe-7bb4-535d-8a47-19f1a491591b'), {'created_at': 1739138120745, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 745000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'rhode island school of design', 'description': 'Art and design school where David Thompson obtained his degree.', 'pydantic_type': 'Entity', 'id': UUID('60b027fe-7bb4-535d-8a47-19f1a491591b')}), (UUID('912b273c-683d-53ea-8ffe-aadef0b84237'), {'created_at': 1739138120745, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 745000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'educational institution', 'description': 'educational institution', 'pydantic_type': 'EntityType', 'id': UUID('912b273c-683d-53ea-8ffe-aadef0b84237')}), (UUID('a4777597-06c7-562c-bc44-56f74571a01a'), {'created_at': 1739138120745, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 745000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'david thompson', 'description': 'Creative Graphic Designer with over 8 years of experience in visual design and branding.', 'pydantic_type': 'Entity', 'id': UUID('a4777597-06c7-562c-bc44-56f74571a01a')}), (UUID('ce5f3fc6-bff1-55a6-ae3c-b77e3ac60360'), {'created_at': 1739138108466, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 8, 466000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'text_9abf20fa7defd7e49296c51b4e38edf2', 'raw_data_location': '/Users/vasilije/cognee/cognee/.data_storage/data/text_9abf20fa7defd7e49296c51b4e38edf2.txt', 'external_metadata': '{}', 'mime_type': 'text/plain', 'type': 'text', 'id': UUID('ce5f3fc6-bff1-55a6-ae3c-b77e3ac60360')}), (UUID('1e97bb97-4d29-5fb8-863a-15ab51f1dd46'), {'created_at': 1739138120745, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 745000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'visual innovations', 'description': 'Company where David Thompson worked as a Graphic Designer from 2012 to 2015.', 'pydantic_type': 'Entity', 'id': UUID('1e97bb97-4d29-5fb8-863a-15ab51f1dd46')}), (UUID('7e3df89c-2691-580b-84dc-378cb1df3db6'), {'created_at': 1739138120745, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 745000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'adobe creative suite', 'description': 'Suite of design software proficiently used by David Thompson.', 'pydantic_type': 'Entity', 'id': UUID('7e3df89c-2691-580b-84dc-378cb1df3db6')}), (UUID('2d66edc2-1e14-55ab-8304-680b514a597a'), {'created_at': 1739138120745, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 745000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'software', 'description': 'software', 'pydantic_type': 'EntityType', 'id': UUID('2d66edc2-1e14-55ab-8304-680b514a597a')}), (UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), {'created_at': 1739138108498, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 8, 498000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['text']}, 'text': '\\nCV 3: Relevant\\nName: Sarah Nguyen\\nContact Information:\\n\\nEmail: sarah.nguyen@example.com\\nPhone: (555) 345-6789\\nSummary:\\n\\nData Scientist specializing in machine learning with 6 years of experience. Passionate about leveraging data to drive business solutions and improve product performance.\\n\\nEducation:\\n\\nM.S. in Statistics, University of Washington (2014)\\nB.S. in Applied Mathematics, University of Texas at Austin (2012)\\nExperience:\\n\\nData Scientist, QuantumTech (2016 – Present)\\nDesigned and implemented machine learning algorithms for financial forecasting.\\nImproved model efficiency by 20% through algorithm optimization.\\nJunior Data Scientist, DataCore Solutions (2014 – 2016)\\nAssisted in developing predictive models for supply chain optimization.\\nConducted data cleaning and preprocessing on large datasets.\\nSkills:\\n\\nProgramming Languages: Python, R\\nMachine Learning Frameworks: PyTorch, Scikit-Learn\\nStatistical Analysis: SAS, SPSS\\nCloud Platforms: AWS, Azure\\n', 'word_count': 110, 'token_count': 216, 'chunk_index': 0, 'cut_type': 'sentence_cut', 'pydantic_type': 'DocumentChunk', 'id': UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85')}), (UUID('6b726763-e259-5e91-b505-85284f8ea5ea'), {'created_at': 1739138120745, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 745000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'sas', 'description': 'Statistical analysis tool used by Sarah Nguyen.', 'pydantic_type': 'Entity', 'id': UUID('6b726763-e259-5e91-b505-85284f8ea5ea')}), (UUID('c3ae2063-1a7e-5e88-8448-64bd3c844185'), {'created_at': 1739138120745, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 745000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'statistical analysis tool', 'description': 'statistical analysis tool', 'pydantic_type': 'EntityType', 'id': UUID('c3ae2063-1a7e-5e88-8448-64bd3c844185')}), (UUID('0d980f2a-09dd-581e-acc3-cc2d87c1bab4'), {'created_at': 1739138120745, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 745000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'quantumtech', 'description': 'Current employer of Sarah Nguyen, where she works as a Data Scientist.', 'pydantic_type': 'Entity', 'id': UUID('0d980f2a-09dd-581e-acc3-cc2d87c1bab4')}), (UUID('8b431923-4aa2-5886-a661-b8de0f888a9b'), {'created_at': 1739138120745, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 745000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'azure', 'description': 'Cloud platform used by Sarah Nguyen.', 'pydantic_type': 'Entity', 'id': UUID('8b431923-4aa2-5886-a661-b8de0f888a9b')}), (UUID('d84d991a-dab3-5c36-8806-df076ccb731b'), {'created_at': 1739138120745, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 745000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'cloud platform', 'description': 'cloud platform', 'pydantic_type': 'EntityType', 'id': UUID('d84d991a-dab3-5c36-8806-df076ccb731b')}), (UUID('c0d95499-de6b-5fcf-b0f5-9cbf427ad5c6'), {'created_at': 1739138120745, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 745000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'pytorch', 'description': 'Machine learning framework used by Sarah Nguyen.', 'pydantic_type': 'Entity', 'id': UUID('c0d95499-de6b-5fcf-b0f5-9cbf427ad5c6')}), (UUID('9ffe9ce7-8938-5a5c-8d03-5f1a4c5210a1'), {'created_at': 1739138120745, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 745000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'machine learning framework', 'description': 'machine learning framework', 'pydantic_type': 'EntityType', 'id': UUID('9ffe9ce7-8938-5a5c-8d03-5f1a4c5210a1')}), (UUID('a7410871-cef6-50c8-a473-e2d6fe86d039'), {'created_at': 1739138120745, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 745000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': '(555) 345-6789', 'description': 'Contact Phone for Sarah Nguyen.', 'pydantic_type': 'Entity', 'id': UUID('a7410871-cef6-50c8-a473-e2d6fe86d039')}), (UUID('974b5a05-a3db-5f43-995f-61e05155c1b9'), {'created_at': 1739138120745, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 745000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'phone', 'description': 'phone', 'pydantic_type': 'EntityType', 'id': UUID('974b5a05-a3db-5f43-995f-61e05155c1b9')}), (UUID('c95db510-e2ee-5a00-bded-20bbcb50c492'), {'created_at': 1739138120745, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 745000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'python', 'description': 'Programming language used by Sarah Nguyen.', 'pydantic_type': 'Entity', 'id': UUID('c95db510-e2ee-5a00-bded-20bbcb50c492')}), (UUID('80d409bb-e431-5939-a1ad-3acd96267128'), {'created_at': 1739138120745, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 745000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'programming language', 'description': 'programming language', 'pydantic_type': 'EntityType', 'id': UUID('80d409bb-e431-5939-a1ad-3acd96267128')}), (UUID('dd92c2f4-7895-5c1d-9050-e377ece182bf'), {'created_at': 1739138120745, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 745000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'sarah.nguyen@example.com', 'description': 'Contact Email for Sarah Nguyen.', 'pydantic_type': 'Entity', 'id': UUID('dd92c2f4-7895-5c1d-9050-e377ece182bf')}), (UUID('dfa1b90a-397e-59c3-acf8-071fa2509968'), {'created_at': 1739138120745, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 745000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'email', 'description': 'email', 'pydantic_type': 'EntityType', 'id': UUID('dfa1b90a-397e-59c3-acf8-071fa2509968')}), (UUID('3edcdf3f-25af-57a3-8878-8008bd7ea05a'), {'created_at': 1739138120745, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 745000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'aws', 'description': 'Cloud platform used by Sarah Nguyen.', 'pydantic_type': 'Entity', 'id': UUID('3edcdf3f-25af-57a3-8878-8008bd7ea05a')}), (UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), {'created_at': 1739138120745, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 745000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'sarah nguyen', 'description': 'Data Scientist specializing in machine learning with 6 years of experience.', 'pydantic_type': 'Entity', 'id': UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785')}), (UUID('4bee5f9c-846b-50f7-96fd-3e5889872b10'), {'created_at': 1739138120745, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 745000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'spss', 'description': 'Statistical analysis tool used by Sarah Nguyen.', 'pydantic_type': 'Entity', 'id': UUID('4bee5f9c-846b-50f7-96fd-3e5889872b10')}), (UUID('c689d93a-230a-566a-a4e6-8e461e56586c'), {'created_at': 1739138120745, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 745000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'scikit-learn', 'description': 'Machine learning framework used by Sarah Nguyen.', 'pydantic_type': 'Entity', 'id': UUID('c689d93a-230a-566a-a4e6-8e461e56586c')}), (UUID('f0019b36-93bf-5cc7-9600-f9d09069deac'), {'created_at': 1739138108466, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 8, 466000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'text_f8c7482e727f228001b0046ed68d656f', 'raw_data_location': '/Users/vasilije/cognee/cognee/.data_storage/data/text_f8c7482e727f228001b0046ed68d656f.txt', 'external_metadata': '{}', 'mime_type': 'text/plain', 'type': 'text', 'id': UUID('f0019b36-93bf-5cc7-9600-f9d09069deac')}), (UUID('9acb7f23-e27d-5dd4-8e1b-cc477a1113e6'), {'created_at': 1739138120745, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 745000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'm.s. in statistics, university of washington', 'description': \"Master's degree in Statistics obtained from the University of Washington in 2014.\", 'pydantic_type': 'Entity', 'id': UUID('9acb7f23-e27d-5dd4-8e1b-cc477a1113e6')}), (UUID('14cd23b8-44a8-5f7d-9209-fcec2d2dc222'), {'created_at': 1739138120745, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 745000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'education', 'description': 'education', 'pydantic_type': 'EntityType', 'id': UUID('14cd23b8-44a8-5f7d-9209-fcec2d2dc222')}), (UUID('c7536b57-3e1e-57c2-b503-3c6205957b31'), {'created_at': 1739138120745, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 745000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'b.s. in applied mathematics, university of texas at austin', 'description': \"Bachelor's degree in Applied Mathematics obtained from the University of Texas at Austin in 2012.\", 'pydantic_type': 'Entity', 'id': UUID('c7536b57-3e1e-57c2-b503-3c6205957b31')}), (UUID('39bd9707-8098-52ed-9cbf-bbdd26b963fb'), {'created_at': 1739138120745, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 745000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'r', 'description': 'Programming language used by Sarah Nguyen.', 'pydantic_type': 'Entity', 'id': UUID('39bd9707-8098-52ed-9cbf-bbdd26b963fb')}), (UUID('95ac0551-38fc-5187-a422-533aeb7e8db0'), {'created_at': 1739138120745, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 20, 745000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['name']}, 'name': 'datacore solutions', 'description': 'Previous employer of Sarah Nguyen as a Junior Data Scientist.', 'pydantic_type': 'Entity', 'id': UUID('95ac0551-38fc-5187-a422-533aeb7e8db0')}), (UUID('de387ad4-db59-5e5e-9304-4ce928640167'), {'created_at': 1739138128041, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 28, 41000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['text']}, 'text': 'Senior Data Scientist specializing in Machine Learning', 'id': UUID('de387ad4-db59-5e5e-9304-4ce928640167')}), (UUID('7900efe7-29c5-5683-ac96-1d7df66aec4a'), {'created_at': 1739138128041, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 28, 41000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['text']}, 'text': 'Experienced Data Scientist with expertise in machine learning and statistical analysis, adept at managing extensive datasets and converting data into actionable insights for businesses.', 'id': UUID('7900efe7-29c5-5683-ac96-1d7df66aec4a')}), (UUID('011f3a3d-0f8e-57c9-a304-2de884537798'), {'created_at': 1739138128041, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 28, 41000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['text']}, 'text': 'Sales Manager with extensive experience in increasing revenue and cultivating high-performing teams. Strong leadership and communication abilities.', 'id': UUID('011f3a3d-0f8e-57c9-a304-2de884537798')}), (UUID('e775362d-2d3b-511a-adc3-f07677fdb108'), {'created_at': 1739138128041, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 28, 41000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['text']}, 'text': 'Senior Data Scientist with 8+ years in machine learning and predictive analytics, specializing in advanced algorithms and scalable model deployment.', 'id': UUID('e775362d-2d3b-511a-adc3-f07677fdb108')}), (UUID('fc117dca-b919-516f-9761-94e217a86348'), {'created_at': 1739138128041, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 28, 41000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['text']}, 'text': 'David Thompson is an innovative Graphic Designer with over 8 years of expertise in visual design and branding. Highly skilled in Adobe Creative Suite, he is dedicated to producing impactful visuals.', 'id': UUID('fc117dca-b919-516f-9761-94e217a86348')}), (UUID('6391d484-88e4-5842-b3eb-95a84d942802'), {'created_at': 1739138128041, 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 28, 41000, tzinfo=datetime.timezone.utc), 'version': 1, 'topological_rank': 0, 'metadata': {'index_fields': ['text']}, 'text': 'Data Scientist with a focus on machine learning and 6 years of expertise. Committed to using data to enhance business strategies and optimize product outcomes.', 'id': UUID('6391d484-88e4-5842-b3eb-95a84d942802')})], [(UUID('6fd664a9-0f63-5010-b252-28cf0a2427b6'), UUID('005aa235-96be-5334-bc8a-cdc1180561e3'), 'contains', {'source_node_id': UUID('6fd664a9-0f63-5010-b252-28cf0a2427b6'), 'target_node_id': UUID('005aa235-96be-5334-bc8a-cdc1180561e3'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242485, tzinfo=datetime.timezone.utc)}), (UUID('6fd664a9-0f63-5010-b252-28cf0a2427b6'), UUID('198e2ab8-75e9-5931-97ab-da9a5a8e188c'), 'contains', {'source_node_id': UUID('6fd664a9-0f63-5010-b252-28cf0a2427b6'), 'target_node_id': UUID('198e2ab8-75e9-5931-97ab-da9a5a8e188c'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242487, tzinfo=datetime.timezone.utc)}), (UUID('6fd664a9-0f63-5010-b252-28cf0a2427b6'), UUID('8a9b7137-f981-5f96-8df0-dea78cdf1dda'), 'contains', {'source_node_id': UUID('6fd664a9-0f63-5010-b252-28cf0a2427b6'), 'target_node_id': UUID('8a9b7137-f981-5f96-8df0-dea78cdf1dda'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242488, tzinfo=datetime.timezone.utc)}), (UUID('6fd664a9-0f63-5010-b252-28cf0a2427b6'), UUID('435dbd37-ab20-503c-9e99-ab8b8a3484e5'), 'contains', {'source_node_id': UUID('6fd664a9-0f63-5010-b252-28cf0a2427b6'), 'target_node_id': UUID('435dbd37-ab20-503c-9e99-ab8b8a3484e5'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242490, tzinfo=datetime.timezone.utc)}), (UUID('6fd664a9-0f63-5010-b252-28cf0a2427b6'), UUID('453a45c9-14e7-5b73-adb8-55991096fef0'), 'contains', {'source_node_id': UUID('6fd664a9-0f63-5010-b252-28cf0a2427b6'), 'target_node_id': UUID('453a45c9-14e7-5b73-adb8-55991096fef0'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242491, tzinfo=datetime.timezone.utc)}), (UUID('6fd664a9-0f63-5010-b252-28cf0a2427b6'), UUID('171a185d-c76c-539b-9520-9d1afd84dc4c'), 'is_part_of', {'source_node_id': UUID('6fd664a9-0f63-5010-b252-28cf0a2427b6'), 'target_node_id': UUID('171a185d-c76c-539b-9520-9d1afd84dc4c'), 'relationship_name': 'is_part_of', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242492, tzinfo=datetime.timezone.utc)}), (UUID('6fd664a9-0f63-5010-b252-28cf0a2427b6'), UUID('702366d5-21a2-5f25-a4d9-ea9794bae4fe'), 'contains', {'source_node_id': UUID('6fd664a9-0f63-5010-b252-28cf0a2427b6'), 'target_node_id': UUID('702366d5-21a2-5f25-a4d9-ea9794bae4fe'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242493, tzinfo=datetime.timezone.utc)}), (UUID('6fd664a9-0f63-5010-b252-28cf0a2427b6'), UUID('c35072da-4e2e-575e-acd4-5cc4682e3a2b'), 'contains', {'source_node_id': UUID('6fd664a9-0f63-5010-b252-28cf0a2427b6'), 'target_node_id': UUID('c35072da-4e2e-575e-acd4-5cc4682e3a2b'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242495, tzinfo=datetime.timezone.utc)}), (UUID('6fd664a9-0f63-5010-b252-28cf0a2427b6'), UUID('fe5ea90b-e586-5492-a7a4-71b918c71a20'), 'contains', {'source_node_id': UUID('6fd664a9-0f63-5010-b252-28cf0a2427b6'), 'target_node_id': UUID('fe5ea90b-e586-5492-a7a4-71b918c71a20'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242496, tzinfo=datetime.timezone.utc)}), (UUID('005aa235-96be-5334-bc8a-cdc1180561e3'), UUID('f0cf12c5-3311-567e-a047-0116c1fc54e4'), 'is_a', {'source_node_id': UUID('005aa235-96be-5334-bc8a-cdc1180561e3'), 'target_node_id': UUID('f0cf12c5-3311-567e-a047-0116c1fc54e4'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242486, tzinfo=datetime.timezone.utc)}), (UUID('198e2ab8-75e9-5931-97ab-da9a5a8e188c'), UUID('19dd7d4d-a966-5ed5-82a0-6ae377761a29'), 'is_a', {'source_node_id': UUID('198e2ab8-75e9-5931-97ab-da9a5a8e188c'), 'target_node_id': UUID('19dd7d4d-a966-5ed5-82a0-6ae377761a29'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242488, tzinfo=datetime.timezone.utc)}), (UUID('8a9b7137-f981-5f96-8df0-dea78cdf1dda'), UUID('f0cf12c5-3311-567e-a047-0116c1fc54e4'), 'is_a', {'source_node_id': UUID('8a9b7137-f981-5f96-8df0-dea78cdf1dda'), 'target_node_id': UUID('f0cf12c5-3311-567e-a047-0116c1fc54e4'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242489, tzinfo=datetime.timezone.utc)}), (UUID('435dbd37-ab20-503c-9e99-ab8b8a3484e5'), UUID('03e4ce4a-d531-5a2a-a4f7-9fab8955bf60'), 'is_a', {'source_node_id': UUID('435dbd37-ab20-503c-9e99-ab8b8a3484e5'), 'target_node_id': UUID('03e4ce4a-d531-5a2a-a4f7-9fab8955bf60'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242490, tzinfo=datetime.timezone.utc)}), (UUID('435dbd37-ab20-503c-9e99-ab8b8a3484e5'), UUID('198e2ab8-75e9-5931-97ab-da9a5a8e188c'), 'located_in', {'relationship_name': 'located_in', 'source_node_id': UUID('435dbd37-ab20-503c-9e99-ab8b8a3484e5'), 'target_node_id': UUID('198e2ab8-75e9-5931-97ab-da9a5a8e188c'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39554, tzinfo=datetime.timezone.utc)}), (UUID('435dbd37-ab20-503c-9e99-ab8b8a3484e5'), UUID('702366d5-21a2-5f25-a4d9-ea9794bae4fe'), 'requires_qualification', {'relationship_name': 'requires_qualification', 'source_node_id': UUID('435dbd37-ab20-503c-9e99-ab8b8a3484e5'), 'target_node_id': UUID('702366d5-21a2-5f25-a4d9-ea9794bae4fe'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39555, tzinfo=datetime.timezone.utc)}), (UUID('435dbd37-ab20-503c-9e99-ab8b8a3484e5'), UUID('c35072da-4e2e-575e-acd4-5cc4682e3a2b'), 'requires_qualification', {'relationship_name': 'requires_qualification', 'source_node_id': UUID('435dbd37-ab20-503c-9e99-ab8b8a3484e5'), 'target_node_id': UUID('c35072da-4e2e-575e-acd4-5cc4682e3a2b'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39556, tzinfo=datetime.timezone.utc)}), (UUID('435dbd37-ab20-503c-9e99-ab8b8a3484e5'), UUID('005aa235-96be-5334-bc8a-cdc1180561e3'), 'requires_qualification', {'relationship_name': 'requires_qualification', 'source_node_id': UUID('435dbd37-ab20-503c-9e99-ab8b8a3484e5'), 'target_node_id': UUID('005aa235-96be-5334-bc8a-cdc1180561e3'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39556, tzinfo=datetime.timezone.utc)}), (UUID('435dbd37-ab20-503c-9e99-ab8b8a3484e5'), UUID('fe5ea90b-e586-5492-a7a4-71b918c71a20'), 'requires_qualification', {'relationship_name': 'requires_qualification', 'source_node_id': UUID('435dbd37-ab20-503c-9e99-ab8b8a3484e5'), 'target_node_id': UUID('fe5ea90b-e586-5492-a7a4-71b918c71a20'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39557, tzinfo=datetime.timezone.utc)}), (UUID('435dbd37-ab20-503c-9e99-ab8b8a3484e5'), UUID('8a9b7137-f981-5f96-8df0-dea78cdf1dda'), 'requires_qualification', {'relationship_name': 'requires_qualification', 'source_node_id': UUID('435dbd37-ab20-503c-9e99-ab8b8a3484e5'), 'target_node_id': UUID('8a9b7137-f981-5f96-8df0-dea78cdf1dda'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39558, tzinfo=datetime.timezone.utc)}), (UUID('453a45c9-14e7-5b73-adb8-55991096fef0'), UUID('a6ed6bf1-fe31-5dfe-8ab4-484691fdf219'), 'is_a', {'source_node_id': UUID('453a45c9-14e7-5b73-adb8-55991096fef0'), 'target_node_id': UUID('a6ed6bf1-fe31-5dfe-8ab4-484691fdf219'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242492, tzinfo=datetime.timezone.utc)}), (UUID('453a45c9-14e7-5b73-adb8-55991096fef0'), UUID('435dbd37-ab20-503c-9e99-ab8b8a3484e5'), 'is_hiring', {'relationship_name': 'is_hiring', 'source_node_id': UUID('453a45c9-14e7-5b73-adb8-55991096fef0'), 'target_node_id': UUID('435dbd37-ab20-503c-9e99-ab8b8a3484e5'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39552, tzinfo=datetime.timezone.utc)}), (UUID('702366d5-21a2-5f25-a4d9-ea9794bae4fe'), UUID('f0cf12c5-3311-567e-a047-0116c1fc54e4'), 'is_a', {'source_node_id': UUID('702366d5-21a2-5f25-a4d9-ea9794bae4fe'), 'target_node_id': UUID('f0cf12c5-3311-567e-a047-0116c1fc54e4'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242494, tzinfo=datetime.timezone.utc)}), (UUID('c35072da-4e2e-575e-acd4-5cc4682e3a2b'), UUID('f0cf12c5-3311-567e-a047-0116c1fc54e4'), 'is_a', {'source_node_id': UUID('c35072da-4e2e-575e-acd4-5cc4682e3a2b'), 'target_node_id': UUID('f0cf12c5-3311-567e-a047-0116c1fc54e4'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242495, tzinfo=datetime.timezone.utc)}), (UUID('fe5ea90b-e586-5492-a7a4-71b918c71a20'), UUID('f0cf12c5-3311-567e-a047-0116c1fc54e4'), 'is_a', {'source_node_id': UUID('fe5ea90b-e586-5492-a7a4-71b918c71a20'), 'target_node_id': UUID('f0cf12c5-3311-567e-a047-0116c1fc54e4'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242496, tzinfo=datetime.timezone.utc)}), (UUID('9abf5135-7560-5815-9fc4-2bc94ef06f84'), UUID('0af613e0-c11b-550d-ada2-2c2aa6550884'), 'contains', {'source_node_id': UUID('9abf5135-7560-5815-9fc4-2bc94ef06f84'), 'target_node_id': UUID('0af613e0-c11b-550d-ada2-2c2aa6550884'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242497, tzinfo=datetime.timezone.utc)}), (UUID('9abf5135-7560-5815-9fc4-2bc94ef06f84'), UUID('5534e0b0-d0c4-5ab9-82e9-91bed36f70bd'), 'contains', {'source_node_id': UUID('9abf5135-7560-5815-9fc4-2bc94ef06f84'), 'target_node_id': UUID('5534e0b0-d0c4-5ab9-82e9-91bed36f70bd'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242499, tzinfo=datetime.timezone.utc)}), (UUID('9abf5135-7560-5815-9fc4-2bc94ef06f84'), UUID('73ae630f-7b09-5dce-8c18-45d0a57b30f9'), 'contains', {'source_node_id': UUID('9abf5135-7560-5815-9fc4-2bc94ef06f84'), 'target_node_id': UUID('73ae630f-7b09-5dce-8c18-45d0a57b30f9'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242500, tzinfo=datetime.timezone.utc)}), (UUID('9abf5135-7560-5815-9fc4-2bc94ef06f84'), UUID('175cf99b-d9e7-5d16-a8af-d4ce31ee96d1'), 'is_part_of', {'source_node_id': UUID('9abf5135-7560-5815-9fc4-2bc94ef06f84'), 'target_node_id': UUID('175cf99b-d9e7-5d16-a8af-d4ce31ee96d1'), 'relationship_name': 'is_part_of', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242501, tzinfo=datetime.timezone.utc)}), (UUID('9abf5135-7560-5815-9fc4-2bc94ef06f84'), UUID('04a91fef-8a07-5d50-8f1b-46f3afeec497'), 'contains', {'source_node_id': UUID('9abf5135-7560-5815-9fc4-2bc94ef06f84'), 'target_node_id': UUID('04a91fef-8a07-5d50-8f1b-46f3afeec497'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242502, tzinfo=datetime.timezone.utc)}), (UUID('9abf5135-7560-5815-9fc4-2bc94ef06f84'), UUID('3f848ed6-902f-5a8e-9577-cb67f8c17acd'), 'contains', {'source_node_id': UUID('9abf5135-7560-5815-9fc4-2bc94ef06f84'), 'target_node_id': UUID('3f848ed6-902f-5a8e-9577-cb67f8c17acd'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242503, tzinfo=datetime.timezone.utc)}), (UUID('0af613e0-c11b-550d-ada2-2c2aa6550884'), UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), 'is_a', {'source_node_id': UUID('0af613e0-c11b-550d-ada2-2c2aa6550884'), 'target_node_id': UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242498, tzinfo=datetime.timezone.utc)}), (UUID('5534e0b0-d0c4-5ab9-82e9-91bed36f70bd'), UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), 'is_a', {'source_node_id': UUID('5534e0b0-d0c4-5ab9-82e9-91bed36f70bd'), 'target_node_id': UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242499, tzinfo=datetime.timezone.utc)}), (UUID('73ae630f-7b09-5dce-8c18-45d0a57b30f9'), UUID('d072ba0f-e1a9-58bf-9974-e1802adc8134'), 'is_a', {'source_node_id': UUID('73ae630f-7b09-5dce-8c18-45d0a57b30f9'), 'target_node_id': UUID('d072ba0f-e1a9-58bf-9974-e1802adc8134'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242500, tzinfo=datetime.timezone.utc)}), (UUID('73ae630f-7b09-5dce-8c18-45d0a57b30f9'), UUID('5534e0b0-d0c4-5ab9-82e9-91bed36f70bd'), 'earned_degree', {'relationship_name': 'earned_degree', 'source_node_id': UUID('73ae630f-7b09-5dce-8c18-45d0a57b30f9'), 'target_node_id': UUID('5534e0b0-d0c4-5ab9-82e9-91bed36f70bd'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39558, tzinfo=datetime.timezone.utc)}), (UUID('73ae630f-7b09-5dce-8c18-45d0a57b30f9'), UUID('0af613e0-c11b-550d-ada2-2c2aa6550884'), 'earned_degree', {'relationship_name': 'earned_degree', 'source_node_id': UUID('73ae630f-7b09-5dce-8c18-45d0a57b30f9'), 'target_node_id': UUID('0af613e0-c11b-550d-ada2-2c2aa6550884'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39559, tzinfo=datetime.timezone.utc)}), (UUID('73ae630f-7b09-5dce-8c18-45d0a57b30f9'), UUID('04a91fef-8a07-5d50-8f1b-46f3afeec497'), 'works_at', {'relationship_name': 'works_at', 'source_node_id': UUID('73ae630f-7b09-5dce-8c18-45d0a57b30f9'), 'target_node_id': UUID('04a91fef-8a07-5d50-8f1b-46f3afeec497'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39559, tzinfo=datetime.timezone.utc)}), (UUID('73ae630f-7b09-5dce-8c18-45d0a57b30f9'), UUID('3f848ed6-902f-5a8e-9577-cb67f8c17acd'), 'worked_at', {'relationship_name': 'worked_at', 'source_node_id': UUID('73ae630f-7b09-5dce-8c18-45d0a57b30f9'), 'target_node_id': UUID('3f848ed6-902f-5a8e-9577-cb67f8c17acd'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39560, tzinfo=datetime.timezone.utc)}), (UUID('04a91fef-8a07-5d50-8f1b-46f3afeec497'), UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), 'is_a', {'source_node_id': UUID('04a91fef-8a07-5d50-8f1b-46f3afeec497'), 'target_node_id': UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242502, tzinfo=datetime.timezone.utc)}), (UUID('3f848ed6-902f-5a8e-9577-cb67f8c17acd'), UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), 'is_a', {'source_node_id': UUID('3f848ed6-902f-5a8e-9577-cb67f8c17acd'), 'target_node_id': UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242503, tzinfo=datetime.timezone.utc)}), (UUID('1895e0c8-8f54-5c45-9f41-8891f0330576'), UUID('5c32691d-c0e4-5378-9aab-dda8b0fa3931'), 'contains', {'source_node_id': UUID('1895e0c8-8f54-5c45-9f41-8891f0330576'), 'target_node_id': UUID('5c32691d-c0e4-5378-9aab-dda8b0fa3931'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242505, tzinfo=datetime.timezone.utc)}), (UUID('1895e0c8-8f54-5c45-9f41-8891f0330576'), UUID('f39d6c00-689b-5fd2-9021-893b28ac6ff2'), 'contains', {'source_node_id': UUID('1895e0c8-8f54-5c45-9f41-8891f0330576'), 'target_node_id': UUID('f39d6c00-689b-5fd2-9021-893b28ac6ff2'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242507, tzinfo=datetime.timezone.utc)}), (UUID('1895e0c8-8f54-5c45-9f41-8891f0330576'), UUID('36a5e3c8-c5f5-5ab5-8d59-ea69d8b36932'), 'contains', {'source_node_id': UUID('1895e0c8-8f54-5c45-9f41-8891f0330576'), 'target_node_id': UUID('36a5e3c8-c5f5-5ab5-8d59-ea69d8b36932'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242508, tzinfo=datetime.timezone.utc)}), (UUID('1895e0c8-8f54-5c45-9f41-8891f0330576'), UUID('7071b7bb-2de3-59ee-83f2-31f8e5c9f9eb'), 'is_part_of', {'source_node_id': UUID('1895e0c8-8f54-5c45-9f41-8891f0330576'), 'target_node_id': UUID('7071b7bb-2de3-59ee-83f2-31f8e5c9f9eb'), 'relationship_name': 'is_part_of', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242509, tzinfo=datetime.timezone.utc)}), (UUID('1895e0c8-8f54-5c45-9f41-8891f0330576'), UUID('94952c93-3432-581b-b6a6-101266596c46'), 'contains', {'source_node_id': UUID('1895e0c8-8f54-5c45-9f41-8891f0330576'), 'target_node_id': UUID('94952c93-3432-581b-b6a6-101266596c46'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242510, tzinfo=datetime.timezone.utc)}), (UUID('5c32691d-c0e4-5378-9aab-dda8b0fa3931'), UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), 'is_a', {'source_node_id': UUID('5c32691d-c0e4-5378-9aab-dda8b0fa3931'), 'target_node_id': UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242506, tzinfo=datetime.timezone.utc)}), (UUID('f39d6c00-689b-5fd2-9021-893b28ac6ff2'), UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), 'is_a', {'source_node_id': UUID('f39d6c00-689b-5fd2-9021-893b28ac6ff2'), 'target_node_id': UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242507, tzinfo=datetime.timezone.utc)}), (UUID('f39d6c00-689b-5fd2-9021-893b28ac6ff2'), UUID('36a5e3c8-c5f5-5ab5-8d59-ea69d8b36932'), 'holds_degree', {'relationship_name': 'holds_degree', 'source_node_id': UUID('f39d6c00-689b-5fd2-9021-893b28ac6ff2'), 'target_node_id': UUID('36a5e3c8-c5f5-5ab5-8d59-ea69d8b36932'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39562, tzinfo=datetime.timezone.utc)}), (UUID('36a5e3c8-c5f5-5ab5-8d59-ea69d8b36932'), UUID('d072ba0f-e1a9-58bf-9974-e1802adc8134'), 'is_a', {'source_node_id': UUID('36a5e3c8-c5f5-5ab5-8d59-ea69d8b36932'), 'target_node_id': UUID('d072ba0f-e1a9-58bf-9974-e1802adc8134'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242509, tzinfo=datetime.timezone.utc)}), (UUID('36a5e3c8-c5f5-5ab5-8d59-ea69d8b36932'), UUID('5c32691d-c0e4-5378-9aab-dda8b0fa3931'), 'works_at', {'relationship_name': 'works_at', 'source_node_id': UUID('36a5e3c8-c5f5-5ab5-8d59-ea69d8b36932'), 'target_node_id': UUID('5c32691d-c0e4-5378-9aab-dda8b0fa3931'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39561, tzinfo=datetime.timezone.utc)}), (UUID('36a5e3c8-c5f5-5ab5-8d59-ea69d8b36932'), UUID('94952c93-3432-581b-b6a6-101266596c46'), 'worked_at', {'relationship_name': 'worked_at', 'source_node_id': UUID('36a5e3c8-c5f5-5ab5-8d59-ea69d8b36932'), 'target_node_id': UUID('94952c93-3432-581b-b6a6-101266596c46'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39561, tzinfo=datetime.timezone.utc)}), (UUID('94952c93-3432-581b-b6a6-101266596c46'), UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), 'is_a', {'source_node_id': UUID('94952c93-3432-581b-b6a6-101266596c46'), 'target_node_id': UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242510, tzinfo=datetime.timezone.utc)}), (UUID('bae8a2f4-0bb7-5ef5-bd7e-19e279a1baf7'), UUID('5187986a-7305-5a63-b057-8f2c097419eb'), 'contains', {'source_node_id': UUID('bae8a2f4-0bb7-5ef5-bd7e-19e279a1baf7'), 'target_node_id': UUID('5187986a-7305-5a63-b057-8f2c097419eb'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242511, tzinfo=datetime.timezone.utc)}), (UUID('bae8a2f4-0bb7-5ef5-bd7e-19e279a1baf7'), UUID('2c02c93c-9cd1-56b8-9cc0-55ff0b290e57'), 'contains', {'source_node_id': UUID('bae8a2f4-0bb7-5ef5-bd7e-19e279a1baf7'), 'target_node_id': UUID('2c02c93c-9cd1-56b8-9cc0-55ff0b290e57'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242513, tzinfo=datetime.timezone.utc)}), (UUID('bae8a2f4-0bb7-5ef5-bd7e-19e279a1baf7'), UUID('ce8b394a-b30e-52fc-b80a-6352edc60e5b'), 'contains', {'source_node_id': UUID('bae8a2f4-0bb7-5ef5-bd7e-19e279a1baf7'), 'target_node_id': UUID('ce8b394a-b30e-52fc-b80a-6352edc60e5b'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242514, tzinfo=datetime.timezone.utc)}), (UUID('bae8a2f4-0bb7-5ef5-bd7e-19e279a1baf7'), UUID('29e771c8-4c3f-52de-9511-6b705878e130'), 'contains', {'source_node_id': UUID('bae8a2f4-0bb7-5ef5-bd7e-19e279a1baf7'), 'target_node_id': UUID('29e771c8-4c3f-52de-9511-6b705878e130'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242516, tzinfo=datetime.timezone.utc)}), (UUID('bae8a2f4-0bb7-5ef5-bd7e-19e279a1baf7'), UUID('cdb36296-ac37-550a-b87b-1453084103d2'), 'is_part_of', {'source_node_id': UUID('bae8a2f4-0bb7-5ef5-bd7e-19e279a1baf7'), 'target_node_id': UUID('cdb36296-ac37-550a-b87b-1453084103d2'), 'relationship_name': 'is_part_of', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242517, tzinfo=datetime.timezone.utc)}), (UUID('bae8a2f4-0bb7-5ef5-bd7e-19e279a1baf7'), UUID('9780afb1-dccc-53eb-9a30-c0d4ce033711'), 'contains', {'source_node_id': UUID('bae8a2f4-0bb7-5ef5-bd7e-19e279a1baf7'), 'target_node_id': UUID('9780afb1-dccc-53eb-9a30-c0d4ce033711'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242517, tzinfo=datetime.timezone.utc)}), (UUID('bae8a2f4-0bb7-5ef5-bd7e-19e279a1baf7'), UUID('50d0a685-5300-544f-b081-edca4b625886'), 'contains', {'source_node_id': UUID('bae8a2f4-0bb7-5ef5-bd7e-19e279a1baf7'), 'target_node_id': UUID('50d0a685-5300-544f-b081-edca4b625886'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242519, tzinfo=datetime.timezone.utc)}), (UUID('bae8a2f4-0bb7-5ef5-bd7e-19e279a1baf7'), UUID('bd548acf-d36e-5537-b6b0-2ec09de6c9b0'), 'contains', {'source_node_id': UUID('bae8a2f4-0bb7-5ef5-bd7e-19e279a1baf7'), 'target_node_id': UUID('bd548acf-d36e-5537-b6b0-2ec09de6c9b0'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242520, tzinfo=datetime.timezone.utc)}), (UUID('5187986a-7305-5a63-b057-8f2c097419eb'), UUID('dd9713b7-dc20-5101-aad0-1c4216811147'), 'is_a', {'source_node_id': UUID('5187986a-7305-5a63-b057-8f2c097419eb'), 'target_node_id': UUID('dd9713b7-dc20-5101-aad0-1c4216811147'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242512, tzinfo=datetime.timezone.utc)}), (UUID('2c02c93c-9cd1-56b8-9cc0-55ff0b290e57'), UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), 'is_a', {'source_node_id': UUID('2c02c93c-9cd1-56b8-9cc0-55ff0b290e57'), 'target_node_id': UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242514, tzinfo=datetime.timezone.utc)}), (UUID('ce8b394a-b30e-52fc-b80a-6352edc60e5b'), UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), 'is_a', {'source_node_id': UUID('ce8b394a-b30e-52fc-b80a-6352edc60e5b'), 'target_node_id': UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242515, tzinfo=datetime.timezone.utc)}), (UUID('29e771c8-4c3f-52de-9511-6b705878e130'), UUID('d072ba0f-e1a9-58bf-9974-e1802adc8134'), 'is_a', {'source_node_id': UUID('29e771c8-4c3f-52de-9511-6b705878e130'), 'target_node_id': UUID('d072ba0f-e1a9-58bf-9974-e1802adc8134'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242516, tzinfo=datetime.timezone.utc)}), (UUID('29e771c8-4c3f-52de-9511-6b705878e130'), UUID('ce8b394a-b30e-52fc-b80a-6352edc60e5b'), 'obtained_degree', {'relationship_name': 'obtained_degree', 'source_node_id': UUID('29e771c8-4c3f-52de-9511-6b705878e130'), 'target_node_id': UUID('ce8b394a-b30e-52fc-b80a-6352edc60e5b'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39562, tzinfo=datetime.timezone.utc)}), (UUID('29e771c8-4c3f-52de-9511-6b705878e130'), UUID('2c02c93c-9cd1-56b8-9cc0-55ff0b290e57'), 'obtained_degree', {'relationship_name': 'obtained_degree', 'source_node_id': UUID('29e771c8-4c3f-52de-9511-6b705878e130'), 'target_node_id': UUID('2c02c93c-9cd1-56b8-9cc0-55ff0b290e57'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39563, tzinfo=datetime.timezone.utc)}), (UUID('29e771c8-4c3f-52de-9511-6b705878e130'), UUID('9780afb1-dccc-53eb-9a30-c0d4ce033711'), 'works_at', {'relationship_name': 'works_at', 'source_node_id': UUID('29e771c8-4c3f-52de-9511-6b705878e130'), 'target_node_id': UUID('9780afb1-dccc-53eb-9a30-c0d4ce033711'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39564, tzinfo=datetime.timezone.utc)}), (UUID('29e771c8-4c3f-52de-9511-6b705878e130'), UUID('50d0a685-5300-544f-b081-edca4b625886'), 'worked_at', {'relationship_name': 'worked_at', 'source_node_id': UUID('29e771c8-4c3f-52de-9511-6b705878e130'), 'target_node_id': UUID('50d0a685-5300-544f-b081-edca4b625886'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39564, tzinfo=datetime.timezone.utc)}), (UUID('29e771c8-4c3f-52de-9511-6b705878e130'), UUID('5187986a-7305-5a63-b057-8f2c097419eb'), 'expertise_in', {'relationship_name': 'expertise_in', 'source_node_id': UUID('29e771c8-4c3f-52de-9511-6b705878e130'), 'target_node_id': UUID('5187986a-7305-5a63-b057-8f2c097419eb'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39565, tzinfo=datetime.timezone.utc)}), (UUID('29e771c8-4c3f-52de-9511-6b705878e130'), UUID('bd548acf-d36e-5537-b6b0-2ec09de6c9b0'), 'expertise_in', {'relationship_name': 'expertise_in', 'source_node_id': UUID('29e771c8-4c3f-52de-9511-6b705878e130'), 'target_node_id': UUID('bd548acf-d36e-5537-b6b0-2ec09de6c9b0'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39565, tzinfo=datetime.timezone.utc)}), (UUID('9780afb1-dccc-53eb-9a30-c0d4ce033711'), UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), 'is_a', {'source_node_id': UUID('9780afb1-dccc-53eb-9a30-c0d4ce033711'), 'target_node_id': UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242518, tzinfo=datetime.timezone.utc)}), (UUID('50d0a685-5300-544f-b081-edca4b625886'), UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), 'is_a', {'source_node_id': UUID('50d0a685-5300-544f-b081-edca4b625886'), 'target_node_id': UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242519, tzinfo=datetime.timezone.utc)}), (UUID('bd548acf-d36e-5537-b6b0-2ec09de6c9b0'), UUID('dd9713b7-dc20-5101-aad0-1c4216811147'), 'is_a', {'source_node_id': UUID('bd548acf-d36e-5537-b6b0-2ec09de6c9b0'), 'target_node_id': UUID('dd9713b7-dc20-5101-aad0-1c4216811147'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242521, tzinfo=datetime.timezone.utc)}), (UUID('b96b0301-3c8b-5261-87d4-4d3d427a2343'), UUID('2b53eab9-73b6-533a-bdd5-7f6a47229013'), 'contains', {'source_node_id': UUID('b96b0301-3c8b-5261-87d4-4d3d427a2343'), 'target_node_id': UUID('2b53eab9-73b6-533a-bdd5-7f6a47229013'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242522, tzinfo=datetime.timezone.utc)}), (UUID('b96b0301-3c8b-5261-87d4-4d3d427a2343'), UUID('ca20272a-3e88-552f-92fe-491e23f117f8'), 'contains', {'source_node_id': UUID('b96b0301-3c8b-5261-87d4-4d3d427a2343'), 'target_node_id': UUID('ca20272a-3e88-552f-92fe-491e23f117f8'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242523, tzinfo=datetime.timezone.utc)}), (UUID('b96b0301-3c8b-5261-87d4-4d3d427a2343'), UUID('60b027fe-7bb4-535d-8a47-19f1a491591b'), 'contains', {'source_node_id': UUID('b96b0301-3c8b-5261-87d4-4d3d427a2343'), 'target_node_id': UUID('60b027fe-7bb4-535d-8a47-19f1a491591b'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242524, tzinfo=datetime.timezone.utc)}), (UUID('b96b0301-3c8b-5261-87d4-4d3d427a2343'), UUID('a4777597-06c7-562c-bc44-56f74571a01a'), 'contains', {'source_node_id': UUID('b96b0301-3c8b-5261-87d4-4d3d427a2343'), 'target_node_id': UUID('a4777597-06c7-562c-bc44-56f74571a01a'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242525, tzinfo=datetime.timezone.utc)}), (UUID('b96b0301-3c8b-5261-87d4-4d3d427a2343'), UUID('ce5f3fc6-bff1-55a6-ae3c-b77e3ac60360'), 'is_part_of', {'source_node_id': UUID('b96b0301-3c8b-5261-87d4-4d3d427a2343'), 'target_node_id': UUID('ce5f3fc6-bff1-55a6-ae3c-b77e3ac60360'), 'relationship_name': 'is_part_of', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242527, tzinfo=datetime.timezone.utc)}), (UUID('b96b0301-3c8b-5261-87d4-4d3d427a2343'), UUID('1e97bb97-4d29-5fb8-863a-15ab51f1dd46'), 'contains', {'source_node_id': UUID('b96b0301-3c8b-5261-87d4-4d3d427a2343'), 'target_node_id': UUID('1e97bb97-4d29-5fb8-863a-15ab51f1dd46'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242527, tzinfo=datetime.timezone.utc)}), (UUID('b96b0301-3c8b-5261-87d4-4d3d427a2343'), UUID('7e3df89c-2691-580b-84dc-378cb1df3db6'), 'contains', {'source_node_id': UUID('b96b0301-3c8b-5261-87d4-4d3d427a2343'), 'target_node_id': UUID('7e3df89c-2691-580b-84dc-378cb1df3db6'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242528, tzinfo=datetime.timezone.utc)}), (UUID('2b53eab9-73b6-533a-bdd5-7f6a47229013'), UUID('37976df5-c5db-5a80-8dcc-780c39cbedb3'), 'is_a', {'source_node_id': UUID('2b53eab9-73b6-533a-bdd5-7f6a47229013'), 'target_node_id': UUID('37976df5-c5db-5a80-8dcc-780c39cbedb3'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242523, tzinfo=datetime.timezone.utc)}), (UUID('ca20272a-3e88-552f-92fe-491e23f117f8'), UUID('a6ed6bf1-fe31-5dfe-8ab4-484691fdf219'), 'is_a', {'source_node_id': UUID('ca20272a-3e88-552f-92fe-491e23f117f8'), 'target_node_id': UUID('a6ed6bf1-fe31-5dfe-8ab4-484691fdf219'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242524, tzinfo=datetime.timezone.utc)}), (UUID('60b027fe-7bb4-535d-8a47-19f1a491591b'), UUID('912b273c-683d-53ea-8ffe-aadef0b84237'), 'is_a', {'source_node_id': UUID('60b027fe-7bb4-535d-8a47-19f1a491591b'), 'target_node_id': UUID('912b273c-683d-53ea-8ffe-aadef0b84237'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242525, tzinfo=datetime.timezone.utc)}), (UUID('a4777597-06c7-562c-bc44-56f74571a01a'), UUID('d072ba0f-e1a9-58bf-9974-e1802adc8134'), 'is_a', {'source_node_id': UUID('a4777597-06c7-562c-bc44-56f74571a01a'), 'target_node_id': UUID('d072ba0f-e1a9-58bf-9974-e1802adc8134'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242526, tzinfo=datetime.timezone.utc)}), (UUID('a4777597-06c7-562c-bc44-56f74571a01a'), UUID('60b027fe-7bb4-535d-8a47-19f1a491591b'), 'obtained_degree', {'relationship_name': 'obtained_degree', 'source_node_id': UUID('a4777597-06c7-562c-bc44-56f74571a01a'), 'target_node_id': UUID('60b027fe-7bb4-535d-8a47-19f1a491591b'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39566, tzinfo=datetime.timezone.utc)}), (UUID('a4777597-06c7-562c-bc44-56f74571a01a'), UUID('ca20272a-3e88-552f-92fe-491e23f117f8'), 'employed_at', {'relationship_name': 'employed_at', 'source_node_id': UUID('a4777597-06c7-562c-bc44-56f74571a01a'), 'target_node_id': UUID('ca20272a-3e88-552f-92fe-491e23f117f8'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39566, tzinfo=datetime.timezone.utc)}), (UUID('a4777597-06c7-562c-bc44-56f74571a01a'), UUID('1e97bb97-4d29-5fb8-863a-15ab51f1dd46'), 'previously_employed_at', {'relationship_name': 'previously_employed_at', 'source_node_id': UUID('a4777597-06c7-562c-bc44-56f74571a01a'), 'target_node_id': UUID('1e97bb97-4d29-5fb8-863a-15ab51f1dd46'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39567, tzinfo=datetime.timezone.utc)}), (UUID('a4777597-06c7-562c-bc44-56f74571a01a'), UUID('7e3df89c-2691-580b-84dc-378cb1df3db6'), 'proficient_in', {'relationship_name': 'proficient_in', 'source_node_id': UUID('a4777597-06c7-562c-bc44-56f74571a01a'), 'target_node_id': UUID('7e3df89c-2691-580b-84dc-378cb1df3db6'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39568, tzinfo=datetime.timezone.utc)}), (UUID('a4777597-06c7-562c-bc44-56f74571a01a'), UUID('2b53eab9-73b6-533a-bdd5-7f6a47229013'), 'has_skills', {'relationship_name': 'has_skills', 'source_node_id': UUID('a4777597-06c7-562c-bc44-56f74571a01a'), 'target_node_id': UUID('2b53eab9-73b6-533a-bdd5-7f6a47229013'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39568, tzinfo=datetime.timezone.utc)}), (UUID('1e97bb97-4d29-5fb8-863a-15ab51f1dd46'), UUID('a6ed6bf1-fe31-5dfe-8ab4-484691fdf219'), 'is_a', {'source_node_id': UUID('1e97bb97-4d29-5fb8-863a-15ab51f1dd46'), 'target_node_id': UUID('a6ed6bf1-fe31-5dfe-8ab4-484691fdf219'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242528, tzinfo=datetime.timezone.utc)}), (UUID('7e3df89c-2691-580b-84dc-378cb1df3db6'), UUID('2d66edc2-1e14-55ab-8304-680b514a597a'), 'is_a', {'source_node_id': UUID('7e3df89c-2691-580b-84dc-378cb1df3db6'), 'target_node_id': UUID('2d66edc2-1e14-55ab-8304-680b514a597a'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242529, tzinfo=datetime.timezone.utc)}), (UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), UUID('6b726763-e259-5e91-b505-85284f8ea5ea'), 'contains', {'source_node_id': UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), 'target_node_id': UUID('6b726763-e259-5e91-b505-85284f8ea5ea'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242530, tzinfo=datetime.timezone.utc)}), (UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), UUID('0d980f2a-09dd-581e-acc3-cc2d87c1bab4'), 'contains', {'source_node_id': UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), 'target_node_id': UUID('0d980f2a-09dd-581e-acc3-cc2d87c1bab4'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242531, tzinfo=datetime.timezone.utc)}), (UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), UUID('8b431923-4aa2-5886-a661-b8de0f888a9b'), 'contains', {'source_node_id': UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), 'target_node_id': UUID('8b431923-4aa2-5886-a661-b8de0f888a9b'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242532, tzinfo=datetime.timezone.utc)}), (UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), UUID('c0d95499-de6b-5fcf-b0f5-9cbf427ad5c6'), 'contains', {'source_node_id': UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), 'target_node_id': UUID('c0d95499-de6b-5fcf-b0f5-9cbf427ad5c6'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242533, tzinfo=datetime.timezone.utc)}), (UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), UUID('a7410871-cef6-50c8-a473-e2d6fe86d039'), 'contains', {'source_node_id': UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), 'target_node_id': UUID('a7410871-cef6-50c8-a473-e2d6fe86d039'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242534, tzinfo=datetime.timezone.utc)}), (UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), UUID('c95db510-e2ee-5a00-bded-20bbcb50c492'), 'contains', {'source_node_id': UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), 'target_node_id': UUID('c95db510-e2ee-5a00-bded-20bbcb50c492'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242535, tzinfo=datetime.timezone.utc)}), (UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), UUID('dd92c2f4-7895-5c1d-9050-e377ece182bf'), 'contains', {'source_node_id': UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), 'target_node_id': UUID('dd92c2f4-7895-5c1d-9050-e377ece182bf'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242537, tzinfo=datetime.timezone.utc)}), (UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), UUID('3edcdf3f-25af-57a3-8878-8008bd7ea05a'), 'contains', {'source_node_id': UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), 'target_node_id': UUID('3edcdf3f-25af-57a3-8878-8008bd7ea05a'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242538, tzinfo=datetime.timezone.utc)}), (UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), 'contains', {'source_node_id': UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), 'target_node_id': UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242539, tzinfo=datetime.timezone.utc)}), (UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), UUID('4bee5f9c-846b-50f7-96fd-3e5889872b10'), 'contains', {'source_node_id': UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), 'target_node_id': UUID('4bee5f9c-846b-50f7-96fd-3e5889872b10'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242540, tzinfo=datetime.timezone.utc)}), (UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), UUID('c689d93a-230a-566a-a4e6-8e461e56586c'), 'contains', {'source_node_id': UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), 'target_node_id': UUID('c689d93a-230a-566a-a4e6-8e461e56586c'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242541, tzinfo=datetime.timezone.utc)}), (UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), UUID('f0019b36-93bf-5cc7-9600-f9d09069deac'), 'is_part_of', {'source_node_id': UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), 'target_node_id': UUID('f0019b36-93bf-5cc7-9600-f9d09069deac'), 'relationship_name': 'is_part_of', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242543, tzinfo=datetime.timezone.utc)}), (UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), UUID('9acb7f23-e27d-5dd4-8e1b-cc477a1113e6'), 'contains', {'source_node_id': UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), 'target_node_id': UUID('9acb7f23-e27d-5dd4-8e1b-cc477a1113e6'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242543, tzinfo=datetime.timezone.utc)}), (UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), UUID('c7536b57-3e1e-57c2-b503-3c6205957b31'), 'contains', {'source_node_id': UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), 'target_node_id': UUID('c7536b57-3e1e-57c2-b503-3c6205957b31'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242544, tzinfo=datetime.timezone.utc)}), (UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), UUID('39bd9707-8098-52ed-9cbf-bbdd26b963fb'), 'contains', {'source_node_id': UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), 'target_node_id': UUID('39bd9707-8098-52ed-9cbf-bbdd26b963fb'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242545, tzinfo=datetime.timezone.utc)}), (UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), UUID('95ac0551-38fc-5187-a422-533aeb7e8db0'), 'contains', {'source_node_id': UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), 'target_node_id': UUID('95ac0551-38fc-5187-a422-533aeb7e8db0'), 'relationship_name': 'contains', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242547, tzinfo=datetime.timezone.utc)}), (UUID('6b726763-e259-5e91-b505-85284f8ea5ea'), UUID('c3ae2063-1a7e-5e88-8448-64bd3c844185'), 'is_a', {'source_node_id': UUID('6b726763-e259-5e91-b505-85284f8ea5ea'), 'target_node_id': UUID('c3ae2063-1a7e-5e88-8448-64bd3c844185'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242530, tzinfo=datetime.timezone.utc)}), (UUID('0d980f2a-09dd-581e-acc3-cc2d87c1bab4'), UUID('a6ed6bf1-fe31-5dfe-8ab4-484691fdf219'), 'is_a', {'source_node_id': UUID('0d980f2a-09dd-581e-acc3-cc2d87c1bab4'), 'target_node_id': UUID('a6ed6bf1-fe31-5dfe-8ab4-484691fdf219'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242531, tzinfo=datetime.timezone.utc)}), (UUID('8b431923-4aa2-5886-a661-b8de0f888a9b'), UUID('d84d991a-dab3-5c36-8806-df076ccb731b'), 'is_a', {'source_node_id': UUID('8b431923-4aa2-5886-a661-b8de0f888a9b'), 'target_node_id': UUID('d84d991a-dab3-5c36-8806-df076ccb731b'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242532, tzinfo=datetime.timezone.utc)}), (UUID('c0d95499-de6b-5fcf-b0f5-9cbf427ad5c6'), UUID('9ffe9ce7-8938-5a5c-8d03-5f1a4c5210a1'), 'is_a', {'source_node_id': UUID('c0d95499-de6b-5fcf-b0f5-9cbf427ad5c6'), 'target_node_id': UUID('9ffe9ce7-8938-5a5c-8d03-5f1a4c5210a1'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242534, tzinfo=datetime.timezone.utc)}), (UUID('a7410871-cef6-50c8-a473-e2d6fe86d039'), UUID('974b5a05-a3db-5f43-995f-61e05155c1b9'), 'is_a', {'source_node_id': UUID('a7410871-cef6-50c8-a473-e2d6fe86d039'), 'target_node_id': UUID('974b5a05-a3db-5f43-995f-61e05155c1b9'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242535, tzinfo=datetime.timezone.utc)}), (UUID('c95db510-e2ee-5a00-bded-20bbcb50c492'), UUID('80d409bb-e431-5939-a1ad-3acd96267128'), 'is_a', {'source_node_id': UUID('c95db510-e2ee-5a00-bded-20bbcb50c492'), 'target_node_id': UUID('80d409bb-e431-5939-a1ad-3acd96267128'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242536, tzinfo=datetime.timezone.utc)}), (UUID('dd92c2f4-7895-5c1d-9050-e377ece182bf'), UUID('dfa1b90a-397e-59c3-acf8-071fa2509968'), 'is_a', {'source_node_id': UUID('dd92c2f4-7895-5c1d-9050-e377ece182bf'), 'target_node_id': UUID('dfa1b90a-397e-59c3-acf8-071fa2509968'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242537, tzinfo=datetime.timezone.utc)}), (UUID('3edcdf3f-25af-57a3-8878-8008bd7ea05a'), UUID('d84d991a-dab3-5c36-8806-df076ccb731b'), 'is_a', {'source_node_id': UUID('3edcdf3f-25af-57a3-8878-8008bd7ea05a'), 'target_node_id': UUID('d84d991a-dab3-5c36-8806-df076ccb731b'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242538, tzinfo=datetime.timezone.utc)}), (UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), UUID('d072ba0f-e1a9-58bf-9974-e1802adc8134'), 'is_a', {'source_node_id': UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), 'target_node_id': UUID('d072ba0f-e1a9-58bf-9974-e1802adc8134'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242540, tzinfo=datetime.timezone.utc)}), (UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), UUID('dd92c2f4-7895-5c1d-9050-e377ece182bf'), 'has_email', {'relationship_name': 'has_email', 'source_node_id': UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), 'target_node_id': UUID('dd92c2f4-7895-5c1d-9050-e377ece182bf'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39568, tzinfo=datetime.timezone.utc)}), (UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), UUID('a7410871-cef6-50c8-a473-e2d6fe86d039'), 'has_phone', {'relationship_name': 'has_phone', 'source_node_id': UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), 'target_node_id': UUID('a7410871-cef6-50c8-a473-e2d6fe86d039'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39569, tzinfo=datetime.timezone.utc)}), (UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), UUID('9acb7f23-e27d-5dd4-8e1b-cc477a1113e6'), 'has_education', {'relationship_name': 'has_education', 'source_node_id': UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), 'target_node_id': UUID('9acb7f23-e27d-5dd4-8e1b-cc477a1113e6'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39569, tzinfo=datetime.timezone.utc)}), (UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), UUID('c7536b57-3e1e-57c2-b503-3c6205957b31'), 'has_education', {'relationship_name': 'has_education', 'source_node_id': UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), 'target_node_id': UUID('c7536b57-3e1e-57c2-b503-3c6205957b31'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39570, tzinfo=datetime.timezone.utc)}), (UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), UUID('0d980f2a-09dd-581e-acc3-cc2d87c1bab4'), 'works_at', {'relationship_name': 'works_at', 'source_node_id': UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), 'target_node_id': UUID('0d980f2a-09dd-581e-acc3-cc2d87c1bab4'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39570, tzinfo=datetime.timezone.utc)}), (UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), UUID('95ac0551-38fc-5187-a422-533aeb7e8db0'), 'worked_at', {'relationship_name': 'worked_at', 'source_node_id': UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), 'target_node_id': UUID('95ac0551-38fc-5187-a422-533aeb7e8db0'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39571, tzinfo=datetime.timezone.utc)}), (UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), UUID('c95db510-e2ee-5a00-bded-20bbcb50c492'), 'has_skill', {'relationship_name': 'has_skill', 'source_node_id': UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), 'target_node_id': UUID('c95db510-e2ee-5a00-bded-20bbcb50c492'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39572, tzinfo=datetime.timezone.utc)}), (UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), UUID('39bd9707-8098-52ed-9cbf-bbdd26b963fb'), 'has_skill', {'relationship_name': 'has_skill', 'source_node_id': UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), 'target_node_id': UUID('39bd9707-8098-52ed-9cbf-bbdd26b963fb'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39572, tzinfo=datetime.timezone.utc)}), (UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), UUID('c0d95499-de6b-5fcf-b0f5-9cbf427ad5c6'), 'has_skill', {'relationship_name': 'has_skill', 'source_node_id': UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), 'target_node_id': UUID('c0d95499-de6b-5fcf-b0f5-9cbf427ad5c6'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39573, tzinfo=datetime.timezone.utc)}), (UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), UUID('c689d93a-230a-566a-a4e6-8e461e56586c'), 'has_skill', {'relationship_name': 'has_skill', 'source_node_id': UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), 'target_node_id': UUID('c689d93a-230a-566a-a4e6-8e461e56586c'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39573, tzinfo=datetime.timezone.utc)}), (UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), UUID('6b726763-e259-5e91-b505-85284f8ea5ea'), 'has_skill', {'relationship_name': 'has_skill', 'source_node_id': UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), 'target_node_id': UUID('6b726763-e259-5e91-b505-85284f8ea5ea'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39574, tzinfo=datetime.timezone.utc)}), (UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), UUID('4bee5f9c-846b-50f7-96fd-3e5889872b10'), 'has_skill', {'relationship_name': 'has_skill', 'source_node_id': UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), 'target_node_id': UUID('4bee5f9c-846b-50f7-96fd-3e5889872b10'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39574, tzinfo=datetime.timezone.utc)}), (UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), UUID('3edcdf3f-25af-57a3-8878-8008bd7ea05a'), 'has_skill', {'relationship_name': 'has_skill', 'source_node_id': UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), 'target_node_id': UUID('3edcdf3f-25af-57a3-8878-8008bd7ea05a'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39574, tzinfo=datetime.timezone.utc)}), (UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), UUID('8b431923-4aa2-5886-a661-b8de0f888a9b'), 'has_skill', {'relationship_name': 'has_skill', 'source_node_id': UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), 'target_node_id': UUID('8b431923-4aa2-5886-a661-b8de0f888a9b'), 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 24, 39575, tzinfo=datetime.timezone.utc)}), (UUID('4bee5f9c-846b-50f7-96fd-3e5889872b10'), UUID('c3ae2063-1a7e-5e88-8448-64bd3c844185'), 'is_a', {'source_node_id': UUID('4bee5f9c-846b-50f7-96fd-3e5889872b10'), 'target_node_id': UUID('c3ae2063-1a7e-5e88-8448-64bd3c844185'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242541, tzinfo=datetime.timezone.utc)}), (UUID('c689d93a-230a-566a-a4e6-8e461e56586c'), UUID('9ffe9ce7-8938-5a5c-8d03-5f1a4c5210a1'), 'is_a', {'source_node_id': UUID('c689d93a-230a-566a-a4e6-8e461e56586c'), 'target_node_id': UUID('9ffe9ce7-8938-5a5c-8d03-5f1a4c5210a1'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242542, tzinfo=datetime.timezone.utc)}), (UUID('9acb7f23-e27d-5dd4-8e1b-cc477a1113e6'), UUID('14cd23b8-44a8-5f7d-9209-fcec2d2dc222'), 'is_a', {'source_node_id': UUID('9acb7f23-e27d-5dd4-8e1b-cc477a1113e6'), 'target_node_id': UUID('14cd23b8-44a8-5f7d-9209-fcec2d2dc222'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242544, tzinfo=datetime.timezone.utc)}), (UUID('c7536b57-3e1e-57c2-b503-3c6205957b31'), UUID('14cd23b8-44a8-5f7d-9209-fcec2d2dc222'), 'is_a', {'source_node_id': UUID('c7536b57-3e1e-57c2-b503-3c6205957b31'), 'target_node_id': UUID('14cd23b8-44a8-5f7d-9209-fcec2d2dc222'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242545, tzinfo=datetime.timezone.utc)}), (UUID('39bd9707-8098-52ed-9cbf-bbdd26b963fb'), UUID('80d409bb-e431-5939-a1ad-3acd96267128'), 'is_a', {'source_node_id': UUID('39bd9707-8098-52ed-9cbf-bbdd26b963fb'), 'target_node_id': UUID('80d409bb-e431-5939-a1ad-3acd96267128'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242546, tzinfo=datetime.timezone.utc)}), (UUID('95ac0551-38fc-5187-a422-533aeb7e8db0'), UUID('a6ed6bf1-fe31-5dfe-8ab4-484691fdf219'), 'is_a', {'source_node_id': UUID('95ac0551-38fc-5187-a422-533aeb7e8db0'), 'target_node_id': UUID('a6ed6bf1-fe31-5dfe-8ab4-484691fdf219'), 'relationship_name': 'is_a', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242547, tzinfo=datetime.timezone.utc)}), (UUID('de387ad4-db59-5e5e-9304-4ce928640167'), UUID('6fd664a9-0f63-5010-b252-28cf0a2427b6'), 'made_from', {'source_node_id': UUID('de387ad4-db59-5e5e-9304-4ce928640167'), 'target_node_id': UUID('6fd664a9-0f63-5010-b252-28cf0a2427b6'), 'relationship_name': 'made_from', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242482, tzinfo=datetime.timezone.utc)}), (UUID('7900efe7-29c5-5683-ac96-1d7df66aec4a'), UUID('9abf5135-7560-5815-9fc4-2bc94ef06f84'), 'made_from', {'source_node_id': UUID('7900efe7-29c5-5683-ac96-1d7df66aec4a'), 'target_node_id': UUID('9abf5135-7560-5815-9fc4-2bc94ef06f84'), 'relationship_name': 'made_from', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242497, tzinfo=datetime.timezone.utc)}), (UUID('011f3a3d-0f8e-57c9-a304-2de884537798'), UUID('1895e0c8-8f54-5c45-9f41-8891f0330576'), 'made_from', {'source_node_id': UUID('011f3a3d-0f8e-57c9-a304-2de884537798'), 'target_node_id': UUID('1895e0c8-8f54-5c45-9f41-8891f0330576'), 'relationship_name': 'made_from', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242504, tzinfo=datetime.timezone.utc)}), (UUID('e775362d-2d3b-511a-adc3-f07677fdb108'), UUID('bae8a2f4-0bb7-5ef5-bd7e-19e279a1baf7'), 'made_from', {'source_node_id': UUID('e775362d-2d3b-511a-adc3-f07677fdb108'), 'target_node_id': UUID('bae8a2f4-0bb7-5ef5-bd7e-19e279a1baf7'), 'relationship_name': 'made_from', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242511, tzinfo=datetime.timezone.utc)}), (UUID('fc117dca-b919-516f-9761-94e217a86348'), UUID('b96b0301-3c8b-5261-87d4-4d3d427a2343'), 'made_from', {'source_node_id': UUID('fc117dca-b919-516f-9761-94e217a86348'), 'target_node_id': UUID('b96b0301-3c8b-5261-87d4-4d3d427a2343'), 'relationship_name': 'made_from', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242522, tzinfo=datetime.timezone.utc)}), (UUID('6391d484-88e4-5842-b3eb-95a84d942802'), UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), 'made_from', {'source_node_id': UUID('6391d484-88e4-5842-b3eb-95a84d942802'), 'target_node_id': UUID('4320268e-16b7-5866-baa5-2eaa07fbaf85'), 'relationship_name': 'made_from', 'updated_at': datetime.datetime(2025, 2, 9, 21, 55, 31, 242529, tzinfo=datetime.timezone.utc)})])INFO:cognee.modules.visualization.cognee_network_visualization:Graph visualization saved as /Users/vasilije/cognee/notebooks/.artifacts/graph_visualization.htmlINFO:root:The HTML file has been stored at path: /Users/vasilije/cognee/notebooks/.artifacts/graph_visualization.html" + ] + } + ], + "source": [ + "import pathlib\n", + "import os\n", + "from cognee.api.v1.visualize import visualize_graph\n", + "\n", + "# Use the current working directory instead of __file__:\n", + "notebook_dir = pathlib.Path.cwd()\n", + "\n", + "graph_file_path = (notebook_dir / \".artifacts\" / \"graph_visualization.html\").resolve()\n", + "\n", + "# Make sure to convert to string if visualize_graph expects a string\n", + "b = await visualize_graph(str(graph_file_path))" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "9f941848c418d713", + "metadata": { + "ExecuteTime": { + "end_time": "2025-02-09T21:42:59.312945Z", + "start_time": "2025-02-09T21:42:59.311015Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "serving at port 8001\n" + ] + } + ], + "source": [ + "import http.server\n", + "import socketserver\n", + "from threading import Thread\n", + "\n", + "PORT = 8001\n", + "\n", + "\n", + "class ServerThread(Thread):\n", + " def run(self):\n", + " Handler = http.server.SimpleHTTPRequestHandler\n", + " with socketserver.TCPServer((\"\", PORT), Handler) as httpd:\n", + " print(\"serving at port\", PORT)\n", + " httpd.serve_forever()\n", + "\n", + "\n", + "ServerThread().start()" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "77d5794d-3561-4c9c-a001-df7d6b0c1968", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:httpx:HTTP Request: GET https://raw.githubusercontent.com/BerriAI/litellm/main/model_prices_and_context_window.json \"HTTP/1.1 200 OK\"/Users/vasilije/cognee/.venv/lib/python3.11/site-packages/pydantic/_internal/_config.py:341: UserWarning: Valid config keys have changed in V2:\n", + "* 'fields' has been removed\n", + " warnings.warn(message, UserWarning)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Visualization server running at: http://0.0.0.0:8002\n" + ] + }, + { + "data": { + "text/plain": [ + ".shutdown()>" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "127.0.0.1 - - [09/Feb/2025 20:43:16] \"GET /.artifacts/graph_visualization.html HTTP/1.1\" 200 -\n", + "127.0.0.1 - - [09/Feb/2025 20:43:17] code 404, message File not found\n", + "127.0.0.1 - - [09/Feb/2025 20:43:17] \"GET /favicon.ico HTTP/1.1\" 404 -\n", + "127.0.0.1 - - [09/Feb/2025 20:46:43] \"GET /.artifacts/graph_visualization.html HTTP/1.1\" 200 -\n", + "127.0.0.1 - - [09/Feb/2025 20:47:14] \"GET /.artifacts/graph_visualization.html HTTP/1.1\" 200 -\n", + "127.0.0.1 - - [09/Feb/2025 20:47:37] \"GET /.artifacts/graph_visualization.html HTTP/1.1\" 304 -\n" + ] + } + ], + "source": [ + "from cognee.api.v1.visualize import visualization_server\n", + "\n", + "visualization_server(port=8002)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "765bc42a143e98af", + "metadata": { + "ExecuteTime": { + "end_time": "2025-02-09T21:46:07.783693Z", + "start_time": "2025-02-09T21:46:07.780709Z" + } + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e1382358-433c-4cd0-8535-9e103f821034", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "6332d5bc-882f-49d5-8496-582e3954567a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from IPython.display import IFrame, display, HTML\n", + "\n", + "IFrame(\"http://127.0.0.1:8002/.artifacts/graph_visualization.html\", width=800, height=600)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "030c6aac-650c-42dc-a89b-d21a5f422474", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from IPython.display import IFrame, display, HTML\n", + "\n", + "IFrame(\"http://127.0.0.1:8002/.artifacts/graph_visualization.html\", width=800, height=600)" + ] + }, { "cell_type": "markdown", "id": "219a6d41", @@ -730,8 +1044,11 @@ "from cognee.shared.utils import render_graph\n", "from cognee.infrastructure.databases.graph import get_graph_engine\n", "import graphistry\n", - "# from dotenv import load_dotenv \n", - "graphistry.login(username=os.getenv(\"GRAPHISTRY_USERNAME\"), password=os.getenv(\"GRAPHISTRY_PASSWORD\"))\n", + "\n", + "# from dotenv import load_dotenv\n", + "graphistry.login(\n", + " username=os.getenv(\"GRAPHISTRY_USERNAME\"), password=os.getenv(\"GRAPHISTRY_PASSWORD\")\n", + ")\n", "\n", "graph_engine = await get_graph_engine()\n", "\n", @@ -789,11 +1106,14 @@ "\n", " result_values = list(results.to_dict(\"index\").values())\n", "\n", - " return [dict(\n", - " id = str(result[\"id\"]),\n", - " payload = result[\"payload\"],\n", - " score = result[\"_distance\"],\n", - " ) for result in result_values]\n", + " return [\n", + " dict(\n", + " id=str(result[\"id\"]),\n", + " payload=result[\"payload\"],\n", + " score=result[\"_distance\"],\n", + " )\n", + " for result in result_values\n", + " ]\n", "\n", "\n", "from cognee.infrastructure.databases.vector import get_vector_engine\n", @@ -832,7 +1152,7 @@ "node = (await vector_engine.search(\"Entity_name\", \"sarah.nguyen@example.com\"))[0]\n", "node_name = node.payload[\"text\"]\n", "\n", - "search_results = await cognee.search(query_type=SearchType.SUMMARIES, query_text = node_name)\n", + "search_results = await cognee.search(query_type=SearchType.SUMMARIES, query_text=node_name)\n", "print(\"\\n\\Extracted summaries are:\\n\")\n", "for result in search_results:\n", " print(f\"{result}\\n\")" @@ -853,7 +1173,7 @@ "metadata": {}, "outputs": [], "source": [ - "search_results = await cognee.search(query_type=SearchType.CHUNKS, query_text = node_name)\n", + "search_results = await cognee.search(query_type=SearchType.CHUNKS, query_text=node_name)\n", "print(\"\\n\\nExtracted chunks are:\\n\")\n", "for result in search_results:\n", " print(f\"{result}\\n\")" @@ -874,7 +1194,7 @@ "metadata": {}, "outputs": [], "source": [ - "search_results = await cognee.search(query_type=SearchType.INSIGHTS, query_text = node_name)\n", + "search_results = await cognee.search(query_type=SearchType.INSIGHTS, query_text=node_name)\n", "print(\"\\n\\nExtracted sentences are:\\n\")\n", "for result in search_results:\n", " print(f\"{result}\\n\")" @@ -958,12 +1278,12 @@ "random.seed(42)\n", "instances = dataset if not num_samples else random.sample(dataset, num_samples)\n", "\n", - "out_path = \"out\" \n", + "out_path = \"out\"\n", "if not Path(out_path).exists():\n", " Path(out_path).mkdir()\n", "contexts_filename = out_path / Path(\n", - " f\"contexts_{dataset_name_or_filename.split('.')[0]}_{context_provider_name}.json\"\n", - " )\n", + " f\"contexts_{dataset_name_or_filename.split('.')[0]}_{context_provider_name}.json\"\n", + ")\n", "\n", "answers = []\n", "for instance in tqdm(instances, desc=\"Getting answers\"):\n", @@ -1004,7 +1324,7 @@ "source": [ "metric_name_list = [\"Correctness\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -1037,7 +1357,7 @@ "source": [ "metric_name_list = [\"Comprehensiveness\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -1070,7 +1390,7 @@ "source": [ "metric_name_list = [\"Diversity\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -1080,9 +1400,7 @@ "metadata": {}, "outputs": [], "source": [ - "Diversity = statistics.mean(\n", - " [result.metrics_data[0].score for result in eval_results.test_results]\n", - ")\n", + "Diversity = statistics.mean([result.metrics_data[0].score for result in eval_results.test_results])\n", "print(Diversity)" ] }, @@ -1103,7 +1421,7 @@ "source": [ "metric_name_list = [\"Empowerment\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -1136,7 +1454,7 @@ "source": [ "metric_name_list = [\"Directness\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -1146,9 +1464,7 @@ "metadata": {}, "outputs": [], "source": [ - "Directness = statistics.mean(\n", - " [result.metrics_data[0].score for result in eval_results.test_results]\n", - ")\n", + "Directness = statistics.mean([result.metrics_data[0].score for result in eval_results.test_results])\n", "print(Directness)" ] }, @@ -1178,7 +1494,7 @@ "metadata": {}, "outputs": [], "source": [ - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -1188,9 +1504,7 @@ "metadata": {}, "outputs": [], "source": [ - "F1_score = statistics.mean(\n", - " [result.metrics_data[0].score for result in eval_results.test_results]\n", - ")\n", + "F1_score = statistics.mean([result.metrics_data[0].score for result in eval_results.test_results])\n", "print(F1_score)" ] }, @@ -1211,7 +1525,7 @@ "source": [ "metric_name_list = [\"EM\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -1221,9 +1535,7 @@ "metadata": {}, "outputs": [], "source": [ - "EM = statistics.mean(\n", - " [result.metrics_data[0].score for result in eval_results.test_results]\n", - ")\n", + "EM = statistics.mean([result.metrics_data[0].score for result in eval_results.test_results])\n", "print(EM)" ] }, @@ -1239,7 +1551,7 @@ ], "metadata": { "kernelspec": { - "display_name": ".venv", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -1253,7 +1565,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.8" + "version": "3.11.0" } }, "nbformat": 4, diff --git a/notebooks/cognee_graphiti_demo.ipynb b/notebooks/cognee_graphiti_demo.ipynb index 7d979bf96..1ac2bfb6b 100644 --- a/notebooks/cognee_graphiti_demo.ipynb +++ b/notebooks/cognee_graphiti_demo.ipynb @@ -16,7 +16,9 @@ }, { "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ "import cognee\n", "import logging\n", @@ -34,9 +36,7 @@ "from cognee.tasks.completion.graph_query_completion import retrieved_edges_to_string\n", "from cognee.infrastructure.llm.prompts import read_query_prompt, render_prompt\n", "from cognee.infrastructure.llm.get_llm_client import get_llm_client" - ], - "outputs": [], - "execution_count": null + ] }, { "cell_type": "markdown", @@ -47,17 +47,19 @@ }, { "cell_type": "code", + "execution_count": 2, "metadata": { "ExecuteTime": { "end_time": "2025-01-15T10:43:57.893763Z", "start_time": "2025-01-15T10:43:57.891332Z" } }, + "outputs": [], "source": [ "import os\n", "\n", "# We ignore warnigns for now\n", - "warnings.filterwarnings('ignore')\n", + "warnings.filterwarnings(\"ignore\")\n", "\n", "# API key for cognee\n", "if \"LLM_API_KEY\" not in os.environ:\n", @@ -68,10 +70,10 @@ " os.environ[\"OPENAI_API_KEY\"] = \"\"\n", "\n", "# Graphiti integration is only tested with neo4j + pgvector + postgres for now\n", - "GRAPH_DATABASE_PROVIDER=\"neo4j\"\n", - "GRAPH_DATABASE_URL=\"bolt://localhost:7687\"\n", - "GRAPH_DATABASE_USERNAME=\"neo4j\"\n", - "GRAPH_DATABASE_PASSWORD=\"pleaseletmein\"\n", + "GRAPH_DATABASE_PROVIDER = \"neo4j\"\n", + "GRAPH_DATABASE_URL = \"bolt://localhost:7687\"\n", + "GRAPH_DATABASE_USERNAME = \"neo4j\"\n", + "GRAPH_DATABASE_PASSWORD = \"pleaseletmein\"\n", "\n", "os.environ[\"VECTOR_DB_PROVIDER\"] = \"pgvector\"\n", "\n", @@ -79,13 +81,11 @@ "\n", "os.environ[\"DB_NAME\"] = \"cognee_db\"\n", "\n", - "os.environ[\"DB_HOST\"]=\"127.0.0.1\"\n", - "os.environ[\"DB_PORT\"]=\"5432\"\n", - "os.environ[\"DB_USERNAME\"]=\"cognee\"\n", - "os.environ[\"DB_PASSWORD\"]=\"cognee\"" - ], - "outputs": [], - "execution_count": 2 + "os.environ[\"DB_HOST\"] = \"127.0.0.1\"\n", + "os.environ[\"DB_PORT\"] = \"5432\"\n", + "os.environ[\"DB_USERNAME\"] = \"cognee\"\n", + "os.environ[\"DB_PASSWORD\"] = \"cognee\"" + ] }, { "cell_type": "markdown", @@ -94,21 +94,21 @@ }, { "cell_type": "code", + "execution_count": 3, "metadata": { "ExecuteTime": { "end_time": "2025-01-15T10:43:57.928664Z", "start_time": "2025-01-15T10:43:57.927105Z" } }, + "outputs": [], "source": [ "text_list = [\n", " \"Kamala Harris is the Attorney General of California. She was previously \"\n", " \"the district attorney for San Francisco.\",\n", " \"As AG, Harris was in office from January 3, 2011 – January 3, 2017\",\n", "]" - ], - "outputs": [], - "execution_count": 3 + ] }, { "cell_type": "markdown", @@ -117,12 +117,36 @@ }, { "cell_type": "code", + "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2025-01-15T10:44:25.008501Z", "start_time": "2025-01-15T10:43:57.932240Z" } }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Database deleted successfully.\n", + "Database deleted successfully.\n", + "User d3b51a32-38e1-4fe5-8270-6dc1d6ebfdf0 has registered.\n", + "Pipeline file_load_from_filesystem load step completed in 0.10 seconds\n", + "1 load package(s) were loaded to destination sqlalchemy and into dataset public\n", + "The sqlalchemy destination used postgresql://cognee:***@127.0.0.1:5432/cognee_db location to store data\n", + "Load package 1736937839.7739599 is LOADED and contains no failed jobs\n", + "Pipeline file_load_from_filesystem load step completed in 0.06 seconds\n", + "1 load package(s) were loaded to destination sqlalchemy and into dataset public\n", + "The sqlalchemy destination used postgresql://cognee:***@127.0.0.1:5432/cognee_db location to store data\n", + "Load package 1736937841.8467042 is LOADED and contains no failed jobs\n", + "Graph database initialized.\n", + "Added text: Kamala Harris is the Attorney Gener...\n", + "Added text: As AG, Harris was in office from Ja...\n", + "✅ Result Processed: \n" + ] + } + ], "source": [ "# 🔧 Setting Up Logging to Suppress Errors\n", "setup_logging(logging.ERROR) # Keeping logs clean and focused\n", @@ -152,45 +176,31 @@ "\n", "# 🔄 Indexing and Transforming Graph Data\n", "await index_and_transform_graphiti_nodes_and_edges()" - ], - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Database deleted successfully.\n", - "Database deleted successfully.\n", - "User d3b51a32-38e1-4fe5-8270-6dc1d6ebfdf0 has registered.\n", - "Pipeline file_load_from_filesystem load step completed in 0.10 seconds\n", - "1 load package(s) were loaded to destination sqlalchemy and into dataset public\n", - "The sqlalchemy destination used postgresql://cognee:***@127.0.0.1:5432/cognee_db location to store data\n", - "Load package 1736937839.7739599 is LOADED and contains no failed jobs\n", - "Pipeline file_load_from_filesystem load step completed in 0.06 seconds\n", - "1 load package(s) were loaded to destination sqlalchemy and into dataset public\n", - "The sqlalchemy destination used postgresql://cognee:***@127.0.0.1:5432/cognee_db location to store data\n", - "Load package 1736937841.8467042 is LOADED and contains no failed jobs\n", - "Graph database initialized.\n", - "Added text: Kamala Harris is the Attorney Gener...\n", - "Added text: As AG, Harris was in office from Ja...\n", - "✅ Result Processed: \n" - ] - } - ], - "execution_count": 4 + ] }, { - "metadata": {}, "cell_type": "markdown", + "metadata": {}, "source": "## Retrieving and generating answer from graphiti graph with cognee retriever" }, { + "cell_type": "code", + "execution_count": 5, "metadata": { "ExecuteTime": { "end_time": "2025-01-15T10:44:27.844438Z", "start_time": "2025-01-15T10:44:25.013325Z" } }, - "cell_type": "code", + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "💡 Answer: Kamala Harris was in office as Attorney General of California from January 3, 2011, to January 3, 2017.\n" + ] + } + ], "source": [ "# Step 1: Formulating the Query 🔍\n", "query = \"When was Kamala Harris in office?\"\n", @@ -205,10 +215,7 @@ "# Step 3: Preparing the Context for the LLM\n", "context = retrieved_edges_to_string(triplets)\n", "\n", - "args = {\n", - " \"question\": query,\n", - " \"context\": context\n", - "}\n", + "args = {\"question\": query, \"context\": context}\n", "\n", "# Step 4: Generating Prompts ✍️\n", "user_prompt = render_prompt(\"graph_context_for_question.txt\", args)\n", @@ -217,24 +224,14 @@ "# Step 5: Interacting with the LLM 🤖\n", "llm_client = get_llm_client()\n", "computed_answer = await llm_client.acreate_structured_output(\n", - " text_input=user_prompt, # Input prompt for the user context\n", - " system_prompt=system_prompt, # System-level instructions for the model\n", + " text_input=user_prompt, # Input prompt for the user context\n", + " system_prompt=system_prompt, # System-level instructions for the model\n", " response_model=str,\n", ")\n", "\n", "# Step 6: Displaying the Computed Answer ✨\n", "print(f\"💡 Answer: {computed_answer}\")" - ], - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "💡 Answer: Kamala Harris was in office as Attorney General of California from January 3, 2011, to January 3, 2017.\n" - ] - } - ], - "execution_count": 5 + ] } ], "metadata": { diff --git a/notebooks/cognee_hotpot_eval.ipynb b/notebooks/cognee_hotpot_eval.ipynb index 2ec83cc3b..d1ed575bf 100644 --- a/notebooks/cognee_hotpot_eval.ipynb +++ b/notebooks/cognee_hotpot_eval.ipynb @@ -98,12 +98,12 @@ "random.seed(42)\n", "instances = dataset if not num_samples else random.sample(dataset, num_samples)\n", "\n", - "out_path = \"out\" \n", + "out_path = \"out\"\n", "if not Path(out_path).exists():\n", " Path(out_path).mkdir()\n", "contexts_filename = out_path / Path(\n", - " f\"contexts_{dataset_name_or_filename.split('.')[0]}_{context_provider_name}.json\"\n", - " )\n", + " f\"contexts_{dataset_name_or_filename.split('.')[0]}_{context_provider_name}.json\"\n", + ")\n", "\n", "answers = []\n", "for instance in tqdm(instances, desc=\"Getting answers\"):\n", @@ -143,7 +143,7 @@ "source": [ "metric_name_list = [\"Correctness\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -173,7 +173,7 @@ "source": [ "metric_name_list = [\"Comprehensiveness\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -203,7 +203,7 @@ "source": [ "metric_name_list = [\"Diversity\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -212,9 +212,7 @@ "metadata": {}, "outputs": [], "source": [ - "Diversity = statistics.mean(\n", - " [result.metrics_data[0].score for result in eval_results.test_results]\n", - ")\n", + "Diversity = statistics.mean([result.metrics_data[0].score for result in eval_results.test_results])\n", "print(Diversity)" ] }, @@ -233,7 +231,7 @@ "source": [ "metric_name_list = [\"Empowerment\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -263,7 +261,7 @@ "source": [ "metric_name_list = [\"Directness\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -272,9 +270,7 @@ "metadata": {}, "outputs": [], "source": [ - "Directness = statistics.mean(\n", - " [result.metrics_data[0].score for result in eval_results.test_results]\n", - ")\n", + "Directness = statistics.mean([result.metrics_data[0].score for result in eval_results.test_results])\n", "print(Directness)" ] }, @@ -301,7 +297,7 @@ "metadata": {}, "outputs": [], "source": [ - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -310,9 +306,7 @@ "metadata": {}, "outputs": [], "source": [ - "F1_score = statistics.mean(\n", - " [result.metrics_data[0].score for result in eval_results.test_results]\n", - ")\n", + "F1_score = statistics.mean([result.metrics_data[0].score for result in eval_results.test_results])\n", "print(F1_score)" ] }, @@ -331,7 +325,7 @@ "source": [ "metric_name_list = [\"EM\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -340,9 +334,7 @@ "metadata": {}, "outputs": [], "source": [ - "EM = statistics.mean(\n", - " [result.metrics_data[0].score for result in eval_results.test_results]\n", - ")\n", + "EM = statistics.mean([result.metrics_data[0].score for result in eval_results.test_results])\n", "print(EM)" ] }, @@ -379,12 +371,12 @@ "random.seed(42)\n", "instances = dataset if not num_samples else random.sample(dataset, num_samples)\n", "\n", - "out_path = \"out\" \n", + "out_path = \"out\"\n", "if not Path(out_path).exists():\n", " Path(out_path).mkdir()\n", "contexts_filename = out_path / Path(\n", - " f\"contexts_{dataset_name_or_filename.split('.')[0]}_{context_provider_name}.json\"\n", - " )\n", + " f\"contexts_{dataset_name_or_filename.split('.')[0]}_{context_provider_name}.json\"\n", + ")\n", "\n", "answers = []\n", "for instance in tqdm(instances, desc=\"Getting answers\"):\n", @@ -414,7 +406,7 @@ "source": [ "metric_name_list = [\"Correctness\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -444,7 +436,7 @@ "source": [ "metric_name_list = [\"Comprehensiveness\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -474,7 +466,7 @@ "source": [ "metric_name_list = [\"Diversity\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -483,9 +475,7 @@ "metadata": {}, "outputs": [], "source": [ - "Diversity = statistics.mean(\n", - " [result.metrics_data[0].score for result in eval_results.test_results]\n", - ")\n", + "Diversity = statistics.mean([result.metrics_data[0].score for result in eval_results.test_results])\n", "print(Diversity)" ] }, @@ -504,7 +494,7 @@ "source": [ "metric_name_list = [\"Empowerment\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -534,7 +524,7 @@ "source": [ "metric_name_list = [\"Directness\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -543,9 +533,7 @@ "metadata": {}, "outputs": [], "source": [ - "Directness = statistics.mean(\n", - " [result.metrics_data[0].score for result in eval_results.test_results]\n", - ")\n", + "Directness = statistics.mean([result.metrics_data[0].score for result in eval_results.test_results])\n", "print(Directness)" ] }, @@ -572,7 +560,7 @@ "metadata": {}, "outputs": [], "source": [ - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -581,9 +569,7 @@ "metadata": {}, "outputs": [], "source": [ - "F1_score = statistics.mean(\n", - " [result.metrics_data[0].score for result in eval_results.test_results]\n", - ")\n", + "F1_score = statistics.mean([result.metrics_data[0].score for result in eval_results.test_results])\n", "print(F1_score)" ] }, @@ -602,7 +588,7 @@ "source": [ "metric_name_list = [\"EM\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -611,9 +597,7 @@ "metadata": {}, "outputs": [], "source": [ - "EM = statistics.mean(\n", - " [result.metrics_data[0].score for result in eval_results.test_results]\n", - ")\n", + "EM = statistics.mean([result.metrics_data[0].score for result in eval_results.test_results])\n", "print(EM)" ] }, @@ -650,12 +634,12 @@ "random.seed(42)\n", "instances = dataset if not num_samples else random.sample(dataset, num_samples)\n", "\n", - "out_path = \"out\" \n", + "out_path = \"out\"\n", "if not Path(out_path).exists():\n", " Path(out_path).mkdir()\n", "contexts_filename = out_path / Path(\n", - " f\"contexts_{dataset_name_or_filename.split('.')[0]}_{context_provider_name}.json\"\n", - " )\n", + " f\"contexts_{dataset_name_or_filename.split('.')[0]}_{context_provider_name}.json\"\n", + ")\n", "\n", "answers = []\n", "for instance in tqdm(instances, desc=\"Getting answers\"):\n", @@ -685,7 +669,7 @@ "source": [ "metric_name_list = [\"Correctness\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -715,7 +699,7 @@ "source": [ "metric_name_list = [\"Comprehensiveness\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -745,7 +729,7 @@ "source": [ "metric_name_list = [\"Diversity\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -754,9 +738,7 @@ "metadata": {}, "outputs": [], "source": [ - "Diversity = statistics.mean(\n", - " [result.metrics_data[0].score for result in eval_results.test_results]\n", - ")\n", + "Diversity = statistics.mean([result.metrics_data[0].score for result in eval_results.test_results])\n", "print(Diversity)" ] }, @@ -775,7 +757,7 @@ "source": [ "metric_name_list = [\"Empowerment\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -805,7 +787,7 @@ "source": [ "metric_name_list = [\"Directness\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -814,9 +796,7 @@ "metadata": {}, "outputs": [], "source": [ - "Directness = statistics.mean(\n", - " [result.metrics_data[0].score for result in eval_results.test_results]\n", - ")\n", + "Directness = statistics.mean([result.metrics_data[0].score for result in eval_results.test_results])\n", "print(Directness)" ] }, @@ -843,7 +823,7 @@ "metadata": {}, "outputs": [], "source": [ - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -852,9 +832,7 @@ "metadata": {}, "outputs": [], "source": [ - "F1_score = statistics.mean(\n", - " [result.metrics_data[0].score for result in eval_results.test_results]\n", - ")\n", + "F1_score = statistics.mean([result.metrics_data[0].score for result in eval_results.test_results])\n", "print(F1_score)" ] }, @@ -873,7 +851,7 @@ "source": [ "metric_name_list = [\"EM\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -882,9 +860,7 @@ "metadata": {}, "outputs": [], "source": [ - "EM = statistics.mean(\n", - " [result.metrics_data[0].score for result in eval_results.test_results]\n", - ")\n", + "EM = statistics.mean([result.metrics_data[0].score for result in eval_results.test_results])\n", "print(EM)" ] }, @@ -921,12 +897,12 @@ "random.seed(42)\n", "instances = dataset if not num_samples else random.sample(dataset, num_samples)\n", "\n", - "out_path = \"out\" \n", + "out_path = \"out\"\n", "if not Path(out_path).exists():\n", " Path(out_path).mkdir()\n", "contexts_filename = out_path / Path(\n", - " f\"contexts_{dataset_name_or_filename.split('.')[0]}_{context_provider_name}.json\"\n", - " )\n", + " f\"contexts_{dataset_name_or_filename.split('.')[0]}_{context_provider_name}.json\"\n", + ")\n", "\n", "answers = []\n", "for instance in tqdm(instances, desc=\"Getting answers\"):\n", @@ -956,7 +932,7 @@ "source": [ "metric_name_list = [\"Correctness\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -986,7 +962,7 @@ "source": [ "metric_name_list = [\"Comprehensiveness\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -1016,7 +992,7 @@ "source": [ "metric_name_list = [\"Diversity\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -1025,9 +1001,7 @@ "metadata": {}, "outputs": [], "source": [ - "Diversity = statistics.mean(\n", - " [result.metrics_data[0].score for result in eval_results.test_results]\n", - ")\n", + "Diversity = statistics.mean([result.metrics_data[0].score for result in eval_results.test_results])\n", "print(Diversity)" ] }, @@ -1046,7 +1020,7 @@ "source": [ "metric_name_list = [\"Empowerment\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -1076,7 +1050,7 @@ "source": [ "metric_name_list = [\"Directness\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -1085,9 +1059,7 @@ "metadata": {}, "outputs": [], "source": [ - "Directness = statistics.mean(\n", - " [result.metrics_data[0].score for result in eval_results.test_results]\n", - ")\n", + "Directness = statistics.mean([result.metrics_data[0].score for result in eval_results.test_results])\n", "print(Directness)" ] }, @@ -1114,7 +1086,7 @@ "metadata": {}, "outputs": [], "source": [ - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -1123,9 +1095,7 @@ "metadata": {}, "outputs": [], "source": [ - "F1_score = statistics.mean(\n", - " [result.metrics_data[0].score for result in eval_results.test_results]\n", - ")\n", + "F1_score = statistics.mean([result.metrics_data[0].score for result in eval_results.test_results])\n", "print(F1_score)" ] }, @@ -1144,7 +1114,7 @@ "source": [ "metric_name_list = [\"EM\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -1153,9 +1123,7 @@ "metadata": {}, "outputs": [], "source": [ - "EM = statistics.mean(\n", - " [result.metrics_data[0].score for result in eval_results.test_results]\n", - ")\n", + "EM = statistics.mean([result.metrics_data[0].score for result in eval_results.test_results])\n", "print(EM)" ] } diff --git a/notebooks/hr_demo.ipynb b/notebooks/hr_demo.ipynb index e864ec994..fc6515bdf 100644 --- a/notebooks/hr_demo.ipynb +++ b/notebooks/hr_demo.ipynb @@ -682,12 +682,12 @@ "random.seed(42)\n", "instances = dataset if not num_samples else random.sample(dataset, num_samples)\n", "\n", - "out_path = \"out\" \n", + "out_path = \"out\"\n", "if not Path(out_path).exists():\n", " Path(out_path).mkdir()\n", "contexts_filename = out_path / Path(\n", - " f\"contexts_{dataset_name_or_filename.split('.')[0]}_{context_provider_name}.json\"\n", - " )\n", + " f\"contexts_{dataset_name_or_filename.split('.')[0]}_{context_provider_name}.json\"\n", + ")\n", "\n", "answers = []\n", "for instance in tqdm(instances, desc=\"Getting answers\"):\n", @@ -728,7 +728,7 @@ "source": [ "metric_name_list = [\"Correctness\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -761,7 +761,7 @@ "source": [ "metric_name_list = [\"Comprehensiveness\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -794,7 +794,7 @@ "source": [ "metric_name_list = [\"Diversity\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -804,9 +804,7 @@ "metadata": {}, "outputs": [], "source": [ - "Diversity = statistics.mean(\n", - " [result.metrics_data[0].score for result in eval_results.test_results]\n", - ")\n", + "Diversity = statistics.mean([result.metrics_data[0].score for result in eval_results.test_results])\n", "print(Diversity)" ] }, @@ -827,7 +825,7 @@ "source": [ "metric_name_list = [\"Empowerment\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -860,7 +858,7 @@ "source": [ "metric_name_list = [\"Directness\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -870,9 +868,7 @@ "metadata": {}, "outputs": [], "source": [ - "Directness = statistics.mean(\n", - " [result.metrics_data[0].score for result in eval_results.test_results]\n", - ")\n", + "Directness = statistics.mean([result.metrics_data[0].score for result in eval_results.test_results])\n", "print(Directness)" ] }, @@ -902,7 +898,7 @@ "metadata": {}, "outputs": [], "source": [ - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -912,9 +908,7 @@ "metadata": {}, "outputs": [], "source": [ - "F1_score = statistics.mean(\n", - " [result.metrics_data[0].score for result in eval_results.test_results]\n", - ")\n", + "F1_score = statistics.mean([result.metrics_data[0].score for result in eval_results.test_results])\n", "print(F1_score)" ] }, @@ -935,7 +929,7 @@ "source": [ "metric_name_list = [\"EM\"]\n", "eval_metrics = get_metrics(metric_name_list)\n", - "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"]) " + "eval_results = await deepeval_answers(instances, answers, eval_metrics[\"deepeval_metrics\"])" ] }, { @@ -945,9 +939,7 @@ "metadata": {}, "outputs": [], "source": [ - "EM = statistics.mean(\n", - " [result.metrics_data[0].score for result in eval_results.test_results]\n", - ")\n", + "EM = statistics.mean([result.metrics_data[0].score for result in eval_results.test_results])\n", "print(EM)" ] }, diff --git a/notebooks/llama_index_cognee_integration.ipynb b/notebooks/llama_index_cognee_integration.ipynb index 464a95839..91daf72d5 100644 --- a/notebooks/llama_index_cognee_integration.ipynb +++ b/notebooks/llama_index_cognee_integration.ipynb @@ -1,13 +1,13 @@ { "cells": [ { - "metadata": {}, "cell_type": "markdown", + "metadata": {}, "source": "[![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1EpokQ8Y_5jIJ7HdixZms81Oqgh2sp7-E?usp=sharing)" }, { - "metadata": {}, "cell_type": "markdown", + "metadata": {}, "source": [ "## LlamaIndex Cognee GraphRAG Integration\n", "\n", @@ -53,17 +53,15 @@ ] }, { - "metadata": {}, "cell_type": "code", - "outputs": [], "execution_count": null, "source": "!pip install llama-index-graph-rag-cognee==0.1.3" }, { - "metadata": {}, "cell_type": "code", - "outputs": [], "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "import os\n", "import asyncio\n", @@ -75,8 +73,8 @@ ] }, { - "metadata": {}, "cell_type": "markdown", + "metadata": {}, "source": [ "Ensure you’ve set up your API keys and installed necessary dependencies.\n", "\n", @@ -86,24 +84,24 @@ ] }, { - "metadata": {}, "cell_type": "code", - "outputs": [], "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "documents = [\n", - " Document(\n", - " text=\"Jessica Miller, Experienced Sales Manager with a strong track record in driving sales growth and building high-performing teams.\"\n", - " ),\n", - " Document(\n", - " text=\"David Thompson, Creative Graphic Designer with over 8 years of experience in visual design and branding.\"\n", - " ),\n", - " ]" + " Document(\n", + " text=\"Jessica Miller, Experienced Sales Manager with a strong track record in driving sales growth and building high-performing teams.\"\n", + " ),\n", + " Document(\n", + " text=\"David Thompson, Creative Graphic Designer with over 8 years of experience in visual design and branding.\"\n", + " ),\n", + "]" ] }, { - "metadata": {}, "cell_type": "markdown", + "metadata": {}, "source": [ "### 3. Initializing CogneeGraphRAG\n", "\n", @@ -111,10 +109,10 @@ ] }, { - "metadata": {}, "cell_type": "code", - "outputs": [], "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "cogneeRAG = CogneeGraphRAG(\n", " llm_api_key=os.environ[\"OPENAI_API_KEY\"],\n", @@ -128,8 +126,8 @@ ] }, { - "metadata": {}, "cell_type": "markdown", + "metadata": {}, "source": [ "### 4. Adding Data to Cognee\n", "\n", @@ -137,15 +135,17 @@ ] }, { - "metadata": {}, "cell_type": "code", - "outputs": [], "execution_count": null, - "source": "await cogneeRAG.add(documents, \"test\")" + "metadata": {}, + "outputs": [], + "source": [ + "await cogneeRAG.add(documents, \"test\")" + ] }, { - "metadata": {}, "cell_type": "markdown", + "metadata": {}, "source": [ "This step prepares the data for graph-based processing.\n", "\n", @@ -155,15 +155,17 @@ ] }, { - "metadata": {}, "cell_type": "code", - "outputs": [], "execution_count": null, - "source": "await cogneeRAG.process_data(\"test\")" + "metadata": {}, + "outputs": [], + "source": [ + "await cogneeRAG.process_data(\"test\")" + ] }, { - "metadata": {}, "cell_type": "markdown", + "metadata": {}, "source": [ "The graph now contains nodes and relationships derived from the dataset, creating a powerful structure for exploration.\n", "\n", @@ -173,10 +175,10 @@ ] }, { - "metadata": {}, "cell_type": "code", - "outputs": [], "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "search_results = await cogneeRAG.search(\"Tell me who are the people mentioned?\")\n", "\n", @@ -186,15 +188,15 @@ ] }, { - "metadata": {}, "cell_type": "markdown", + "metadata": {}, "source": "### Answer prompt based on RAG approach:" }, { - "metadata": {}, "cell_type": "code", - "outputs": [], "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "search_results = await cogneeRAG.rag_search(\"Tell me who are the people mentioned?\")\n", "\n", @@ -204,13 +206,13 @@ ] }, { - "metadata": {}, "cell_type": "markdown", + "metadata": {}, "source": "In conclusion, the results demonstrate a significant advantage of the knowledge graph-based approach (Graphrag) over the RAG approach. Graphrag successfully identified all the mentioned individuals across multiple documents, showcasing its ability to aggregate and infer information from a global context. In contrast, the RAG approach was limited to identifying individuals within a single document due to its chunking-based processing constraints. This highlights Graphrag's superior capability in comprehensively resolving queries that span across a broader corpus of interconnected data." }, { - "metadata": {}, "cell_type": "markdown", + "metadata": {}, "source": [ "### 7. Finding Related Nodes\n", "\n", @@ -218,10 +220,10 @@ ] }, { - "metadata": {}, "cell_type": "code", - "outputs": [], "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "related_nodes = await cogneeRAG.get_related_nodes(\"person\")\n", "\n", @@ -231,8 +233,8 @@ ] }, { - "metadata": {}, "cell_type": "markdown", + "metadata": {}, "source": [ "## Why Choose Cognee and LlamaIndex?\n", "\n",