diff --git a/notebooks/tutorial.ipynb b/notebooks/tutorial.ipynb index b273a6300..4e41a2879 100644 --- a/notebooks/tutorial.ipynb +++ b/notebooks/tutorial.ipynb @@ -19,8 +19,8 @@ "In this comprehensive tutorial, you'll discover how to transform scattered development data into an intelligent knowledge system that enhances your coding workflow. By the end, you'll have:\n", "\n", "- **Connected disparate data sources** (Guido's CPython contributions, mypy development, PEP discussions, your Python projects) into a unified AI memory graph\n", - "- **Built an memory layer** that understands Python design philosophy and coding patterns\n", - "- **Learn how to use intelligent search capabilities** that surface Pythonic solutions when you need them most\n", + "- **Built an memory layer** that understands Python design philosophy, best practice coding patterns, and your preferences and experience\n", + "- **Learn how to use intelligent search capabilities** that combine the diverse context\n", "- **Integrated everything with your coding environment** through MCP (Model Context Protocol)\n", "\n", "This tutorial demonstrates the power of **knowledge graphs** and **retrieval-augmented generation (RAG)** for software development, showing you how to build systems that learn from Python's creator and improve your own Python development." @@ -33,14 +33,11 @@ "source": [ "## Cognee and its core operations\n", "\n", - "Before we dive in, let's understand the key components we'll be working with:\n", - "\n", - "### Core Cognee Functions\n", + "Before we dive in, let's understand the core Cognee operations we'll be working with:\n", "\n", "- **`cognee.add()`** - Ingests raw data (files, text, APIs) into the system\n", "- **`cognee.cognify()`** - Processes and structures data into a knowledge graph using AI\n", "- **`cognee.search()`** - Queries the knowledge graph with natural language or Cypher\n", - "- **`cognee.visualize()`** - Creates interactive graph visualizations\n", "- **`cognee.memify()`** - Cognee's \"secret sauce\" that infers implicit connections and rules from your data" ], "id": "b03b59c064213dd4" @@ -75,8 +72,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-09-07T11:43:21.615213Z", - "start_time": "2025-09-07T11:43:21.600122Z" + "end_time": "2025-09-07T12:05:29.648998Z", + "start_time": "2025-09-07T12:05:29.642122Z" } }, "cell_type": "code", @@ -86,7 +83,7 @@ ], "id": "20cb02b49e3c53e2", "outputs": [], - "execution_count": 20 + "execution_count": 17 }, { "metadata": {}, @@ -97,8 +94,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-09-07T09:57:30.827241Z", - "start_time": "2025-09-07T09:57:27.209811Z" + "end_time": "2025-09-07T12:05:32.556756Z", + "start_time": "2025-09-07T12:05:32.551903Z" } }, "cell_type": "code", @@ -122,20 +119,6 @@ ], "id": "9386ecb596860399", "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\n", - "\u001B[2m2025-09-07T09:57:28.419783\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mDeleted old log file: /Users/lazar/PycharmProjects/cognee/logs/2025-09-04_09-37-20.log\u001B[0m [\u001B[0m\u001B[1m\u001B[34mcognee.shared.logging_utils\u001B[0m]\u001B[0m\n", - "/Users/lazar/PycharmProjects/cognee/.venv/lib/python3.12/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", - "\n", - "\u001B[2m2025-09-07T09:57:29.163761\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mLogging initialized \u001B[0m [\u001B[0m\u001B[1m\u001B[34mcognee.shared.logging_utils\u001B[0m]\u001B[0m \u001B[36mcognee_version\u001B[0m=\u001B[35m0.2.4-local\u001B[0m \u001B[36mdatabase_path\u001B[0m=\u001B[35m/Users/lazar/PycharmProjects/cognee/cognee/.cognee_system/databases\u001B[0m \u001B[36mgraph_database_name\u001B[0m=\u001B[35m\u001B[0m \u001B[36mos_info\u001B[0m=\u001B[35m'Darwin 24.5.0 (Darwin Kernel Version 24.5.0: Tue Apr 22 19:54:29 PDT 2025; root:xnu-11417.121.6~2/RELEASE_ARM64_T6030)'\u001B[0m \u001B[36mpython_version\u001B[0m=\u001B[35m3.12.8\u001B[0m \u001B[36mrelational_config\u001B[0m=\u001B[35mcognee_db\u001B[0m \u001B[36mstructlog_version\u001B[0m=\u001B[35m25.4.0\u001B[0m \u001B[36mvector_config\u001B[0m=\u001B[35mlancedb\u001B[0m\n", - "\n", - "\u001B[2m2025-09-07T09:57:29.164208\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mDatabase storage: /Users/lazar/PycharmProjects/cognee/cognee/.cognee_system/databases\u001B[0m [\u001B[0m\u001B[1m\u001B[34mcognee.shared.logging_utils\u001B[0m]\u001B[0m\n" - ] - }, { "name": "stdout", "output_type": "stream", @@ -148,7 +131,7 @@ ] } ], - "execution_count": 1 + "execution_count": 18 }, { "metadata": {}, @@ -159,8 +142,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-09-07T09:59:43.525416Z", - "start_time": "2025-09-07T09:59:43.522480Z" + "end_time": "2025-09-07T12:05:34.435510Z", + "start_time": "2025-09-07T12:05:34.430582Z" } }, "cell_type": "code", @@ -190,7 +173,7 @@ ] } ], - "execution_count": 2 + "execution_count": 19 }, { "metadata": {}, @@ -199,15 +182,29 @@ "id": "af584b935cbdc8d" }, { - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-09-07T12:05:41.228831Z", + "start_time": "2025-09-07T12:05:38.986516Z" + } + }, "cell_type": "code", - "outputs": [], - "execution_count": null, "source": [ "await cognee.prune.prune_data()\n", "await cognee.prune.prune_system(metadata=True)" ], - "id": "dd47383aa9519465" + "id": "dd47383aa9519465", + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n", + "\u001B[2m2025-09-07T12:05:41.226643\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mDatabase deleted successfully.\u001B[0m [\u001B[0m\u001B[1m\u001B[34mcognee.shared.logging_utils\u001B[0m]\u001B[0m\n" + ] + } + ], + "execution_count": 20 }, { "metadata": {}, @@ -224,54 +221,295 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-09-07T10:00:14.685409Z", - "start_time": "2025-09-07T10:00:12.419145Z" + "end_time": "2025-09-07T11:55:27.121445Z", + "start_time": "2025-09-07T11:54:57.031243Z" } }, "cell_type": "code", "source": [ "import cognee\n", - "\n", - "\n", - "\n", - "result = await cognee.add(\"file://data/guido_contributions.json\", node_set=[\"guido\"])\n", + "result = await cognee.add(\n", + " \"file://data/guido_contributions.json\",\n", + " node_set=[\"guido\"]\n", + ")\n", "await cognee.cognify()\n", "results = await cognee.search(\"Show me commits\")" ], "id": "b8743ed520b4de37", "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "User a35adc78-d4bb-42da-ad0b-3ad52fc222e7 has registered.\n" + ] + }, { "name": "stderr", "output_type": "stream", "text": [ "\n", - "\u001B[2m2025-09-07T10:00:12.505721\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mOntology file 'None' not found. No owl ontology will be attached to the graph.\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\u001B[1mEmbeddingRateLimiter initialized: enabled=False, requests_limit=60, interval_seconds=60\u001B[0m\n", "\n", - "\u001B[2m2025-09-07T10:00:12.578388\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 85 nodes and 182 edges in 0.02 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\u001B[2m2025-09-07T11:54:59.663413\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mPipeline run started: `f5ca7c7d-08ef-584f-a745-891dcc728073`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_with_telemetry()\u001B[0m]\u001B[0m\n", "\n", - "\u001B[2m2025-09-07T10:00:12.580139\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mGraph projection completed: 85 nodes, 182 edges in 0.03s\u001B[0m [\u001B[0m\u001B[1m\u001B[34mCogneeGraph\u001B[0m]\u001B[0m\n", + "\u001B[2m2025-09-07T11:54:59.664064\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `resolve_data_directories`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", "\n", - "\u001B[2m2025-09-07T10:00:12.958731\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mVector collection retrieval completed: Retrieved distances from 6 collections in 0.03s\u001B[0m [\u001B[0m\u001B[1m\u001B[34mcognee.shared.logging_utils\u001B[0m]\u001B[0m\n" + "\u001B[2m2025-09-07T11:54:59.664466\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `ingest_data`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:54:59.678662\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRegistered loader: pypdf_loader\u001B[0m [\u001B[0m\u001B[1m\u001B[34mcognee.infrastructure.loaders.LoaderEngine\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:54:59.679216\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRegistered loader: text_loader\u001B[0m [\u001B[0m\u001B[1m\u001B[34mcognee.infrastructure.loaders.LoaderEngine\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:54:59.679596\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRegistered loader: image_loader\u001B[0m [\u001B[0m\u001B[1m\u001B[34mcognee.infrastructure.loaders.LoaderEngine\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:54:59.679951\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRegistered loader: audio_loader\u001B[0m [\u001B[0m\u001B[1m\u001B[34mcognee.infrastructure.loaders.LoaderEngine\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:54:59.680260\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRegistered loader: unstructured_loader\u001B[0m [\u001B[0m\u001B[1m\u001B[34mcognee.infrastructure.loaders.LoaderEngine\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:54:59.692179\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `ingest_data`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:54:59.692997\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `resolve_data_directories`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:54:59.693329\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mPipeline run completed: `f5ca7c7d-08ef-584f-a745-891dcc728073`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_with_telemetry()\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:54:59.708125\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mOntology file 'None' not found. No owl ontology will be attached to the graph.\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:54:59.729261\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mPipeline run started: `7233180e-8575-54d0-bee4-700ba5f5de42`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_with_telemetry()\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:54:59.729906\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `classify_documents`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:54:59.730351\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `check_permissions_on_dataset`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:54:59.739549\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mAsync Generator task started: `extract_chunks_from_documents`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:54:59.821323\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `extract_graph_from_data`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.803782\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'softwarechange' in category 'classes'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.807972\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 're-work indirect dependencies' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.809182\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'softwareproject' in category 'classes'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.810180\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'mypy' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.811212\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'prnumber' in category 'classes'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.812692\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for '19798' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.813773\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'concept' in category 'classes'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.814819\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'files changed' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.815754\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'indirect dependencies' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.816530\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'codecomponent' in category 'classes'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.817383\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'typeindirectionvisitor' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.818102\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'process' in category 'classes'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.818890\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'semantic analysis' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.819643\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'performance impact' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.820298\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'fixes' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.821052\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'date' in category 'classes'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.821569\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for '2025-09-05' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.822748\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'file' in category 'classes'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.823523\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'mypy/indirection.py changes' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.823901\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'mypy/nodes.py changes' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.824273\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'typealiastype' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.824599\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'instance' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.824933\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'variable' in category 'classes'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.825219\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'seen_aliases' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.825488\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'seen_types' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.826183\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'seen_fullnames' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.826657\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'modules' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.826987\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'project' in category 'classes'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.827334\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'pullrequest' in category 'classes'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.827632\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'chore: add cline_docs/ to .gitignore' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.827911\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for '[mypyc] add type annotations to tests' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.828178\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'check functions without annotations in mypyc tests' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.828778\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'fix: allow instantiation of type[none] in analyze_type_type_callee' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.829118\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'mypy pr 19782' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.829426\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'issue' in category 'classes'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.829708\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'issue 19660' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.830029\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'mypy/checkexpr.py' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.830317\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'testcase' in category 'classes'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.830604\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'testtypeusingtypecnonetype' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.830860\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'mypyc pr 19217' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.831165\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'mypyc/primitives/weakref_ops.py' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.831451\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'commit' in category 'classes'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.831747\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'cpython commit 28625d4f' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.831977\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for '2025-09-02' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.832241\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'gh-118335' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.832462\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'rename --experimental-interpreter on windows to --experimental-jit-interpreter' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.832901\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'document' in category 'classes'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.833298\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'doc/whatsnew/3.13.rst' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.833553\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'pcbuild/build.bat' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.833875\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'pep' in category 'classes'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.834104\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'pep 667' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.834438\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'attribute' in category 'classes'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.834646\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'frame.f_locals' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.834950\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'write-through proxy' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.835311\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'typeguard (pep 647)' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.835796\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'mypy: support typeguard (pep 647)' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.836117\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'software' in category 'classes'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.836381\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for '.github/issue_template/crash.md' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.836676\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for '.github/issue_template/bug.md' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.836932\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'mypy/config_parser.py' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.837324\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'commit_cca6e2f' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.837927\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'commit_6f07cb6' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.838309\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'commit_9d03846' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.838653\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'commit_57d3473' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:10.838967\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'commit_42a5220' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:14.763168\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 70 nodes and 156 edges in 0.02 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:15.500077\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `summarize_text`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:19.781997\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `add_data_points`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:23.577888\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 76 nodes and 209 edges in 0.02 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:24.515648\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `add_data_points`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:24.516093\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `summarize_text`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:24.516397\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `extract_graph_from_data`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:24.516754\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mAsync Generator task completed: `extract_chunks_from_documents`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:24.517062\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `check_permissions_on_dataset`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:24.517361\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `classify_documents`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:24.517606\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mPipeline run completed: `7233180e-8575-54d0-bee4-700ba5f5de42`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_with_telemetry()\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:24.550762\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 76 nodes and 209 edges in 0.01 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:24.552178\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mGraph projection completed: 76 nodes, 209 edges in 0.02s\u001B[0m [\u001B[0m\u001B[1m\u001B[34mCogneeGraph\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:24.995660\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mVector collection retrieval completed: Retrieved distances from 6 collections in 0.03s\u001B[0m [\u001B[0m\u001B[1m\u001B[34mcognee.shared.logging_utils\u001B[0m]\u001B[0m\n" + ] + } + ], + "execution_count": 5 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-09-07T11:55:29.022001Z", + "start_time": "2025-09-07T11:55:29.019626Z" + } + }, + "cell_type": "code", + "source": "print(results[0])", + "id": "f08b362cbf12b398", + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Showing commits for repository 'mypy':\n" ] } ], "execution_count": 6 }, + { + "metadata": {}, + "cell_type": "markdown", + "source": [ + "### What's just happened?\n", + "The `search()` function uses natural language to query a knowledge graph containing Guido's development history.\n", + "Unlike traditional databases, Cognee understands the relationships between commits, language features, design decisions, and evolution over time.\n", + "\n", + "Cognee also allows you to visualize the graphs created:" + ], + "id": "10d582d02ead905e" + }, { "metadata": { "ExecuteTime": { - "end_time": "2025-09-07T10:00:16.283950Z", - "start_time": "2025-09-07T10:00:16.280509Z" + "end_time": "2025-09-07T11:55:38.531950Z", + "start_time": "2025-09-07T11:55:38.486793Z" } }, "cell_type": "code", - "source": "results[0]", - "id": "f08b362cbf12b398", + "source": [ + "from cognee import visualize_graph\n", + "await visualize_graph('./guido_contributions.html')" + ], + "id": "1fb068f422bda6cf", "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n", + "\u001B[2m2025-09-07T11:55:38.519644\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 76 nodes and 209 edges in 0.02 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:38.522646\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mGraph visualization saved as ./guido_contributions.html\u001B[0m [\u001B[0m\u001B[1m\u001B[34mcognee.shared.logging_utils\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:55:38.523615\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mThe HTML file has been stored at path: ./guido_contributions.html\u001B[0m [\u001B[0m\u001B[1m\u001B[34mcognee.shared.logging_utils\u001B[0m]\u001B[0m\n" + ] + }, { "data": { "text/plain": [ - "'Here are the commits from the provided context:'" + "'\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n\\n \\n \\n \\n \\n \\n '" ] }, "execution_count": 7, @@ -281,57 +519,11 @@ ], "execution_count": 7 }, - { - "metadata": {}, - "cell_type": "markdown", - "source": "What's happening here? The search() function uses natural language to query a knowledge graph containing Guido's development history. Unlike traditional databases, this understands the relationships between commits, language features, design decisions, and evolution over time.", - "id": "10d582d02ead905e" - }, { "metadata": { "ExecuteTime": { - "end_time": "2025-09-07T10:04:42.969912Z", - "start_time": "2025-09-07T10:04:42.898473Z" - } - }, - "cell_type": "code", - "source": [ - "from cognee import visualize_graph\n", - "\n", - "await visualize_graph('./guido_contributions.html')" - ], - "id": "1fb068f422bda6cf", - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\n", - "\u001B[2m2025-09-07T10:04:42.959421\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 85 nodes and 182 edges in 0.03 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", - "\n", - "\u001B[2m2025-09-07T10:04:42.963711\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mGraph visualization saved as ./guido_contributions.html\u001B[0m [\u001B[0m\u001B[1m\u001B[34mcognee.shared.logging_utils\u001B[0m]\u001B[0m\n", - "\n", - "\u001B[2m2025-09-07T10:04:42.964638\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mThe HTML file has been stored at path: ./guido_contributions.html\u001B[0m [\u001B[0m\u001B[1m\u001B[34mcognee.shared.logging_utils\u001B[0m]\u001B[0m\n" - ] - }, - { - "data": { - "text/plain": [ - "'\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n\\n \\n \\n \\n \\n \\n '" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "execution_count": 12 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2025-09-07T10:04:24.449814Z", - "start_time": "2025-09-07T10:04:24.443869Z" + "end_time": "2025-09-07T11:55:51.971412Z", + "start_time": "2025-09-07T11:55:51.966222Z" } }, "cell_type": "code", @@ -344,7 +536,7 @@ { "data": { "text/plain": [ - "" + "" ], "text/html": [ "\n", @@ -363,13 +555,13 @@ "output_type": "display_data" } ], - "execution_count": 11 + "execution_count": 8 }, { "metadata": {}, "cell_type": "markdown", "source": [ - "**Why visualization matters:** Knowledge graphs reveal hidden patterns in Python's development. The interactive visualization shows how different projects (CPython, mypy, PEPs), features, and time periods connect - insights that show Python's thoughtful evolution.\n", + "**Why visualization matters:** Knowledge graphs reveal hidden patterns in data. In this case, patterins in Guido's contributions to Python's development. The interactive visualization shows how different projects (CPython, mypy, PEPs), features, and time periods connect - insights that show Python's thoughtful evolution.\n", "\n", "Take a moment to explore the graph. Notice how:\n", "\n", @@ -383,37 +575,307 @@ { "metadata": {}, "cell_type": "markdown", - "source": "tNow we'll add your own the remaining data and see how they connections emerge between Guido's contributions, Python best practices and user conversations.", + "source": "Now we'll add the remaining data and see how they connections emerge between Guido's contributions, Python best practices, and user conversations.", "id": "5e8d9094a09ae05d" }, { "metadata": { "ExecuteTime": { - "end_time": "2025-09-07T11:29:01.564485Z", - "start_time": "2025-09-07T11:29:01.371325Z" + "end_time": "2025-09-07T11:56:24.445525Z", + "start_time": "2025-09-07T11:56:03.584840Z" } }, "cell_type": "code", "source": [ - "await cognee.add(\"file://data/copilot_conversations.json\", node_set=\"conversation_logs\")\n", - "await cognee.add(\"file://data/my_developer_rules.md\", node_set=\"repository_data\")\n", - "await cognee.add(\"file://data/zen_principles.md\", node_set=\"repository_data\")\n", - "await cognee.add(\"file://data/pep_style_guide.md\", node_set=\"repository_data\")" + "await cognee.add(\"file://data/copilot_conversations.json\", node_set=[\"developer_data\"])\n", + "await cognee.add(\"file://data/my_developer_rules.md\", node_set=[\"developer_data\"])\n", + "await cognee.add(\"file://data/zen_principles.md\", node_set=[\"principles_data\"])\n", + "await cognee.add(\"file://data/pep_style_guide.md\", node_set=[\"principles_data\"])\n", + "\n", + "await cognee.cognify()" ], "id": "5315318324968f0f", "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n", + "\u001B[2m2025-09-07T11:56:03.636275\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mPipeline run started: `f5ca7c7d-08ef-584f-a745-891dcc728073`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_with_telemetry()\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.637065\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `resolve_data_directories`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.637392\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `ingest_data`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.652328\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `ingest_data`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.652727\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `resolve_data_directories`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.653007\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mPipeline run completed: `f5ca7c7d-08ef-584f-a745-891dcc728073`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_with_telemetry()\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.711636\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mPipeline run started: `f5ca7c7d-08ef-584f-a745-891dcc728073`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_with_telemetry()\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.712201\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `resolve_data_directories`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.712555\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `ingest_data`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.723866\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `ingest_data`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.724268\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `resolve_data_directories`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.724611\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mPipeline run completed: `f5ca7c7d-08ef-584f-a745-891dcc728073`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_with_telemetry()\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.755905\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mPipeline run started: `f5ca7c7d-08ef-584f-a745-891dcc728073`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_with_telemetry()\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.756284\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `resolve_data_directories`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.756685\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `ingest_data`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.767895\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `ingest_data`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.768252\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `resolve_data_directories`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.768520\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mPipeline run completed: `f5ca7c7d-08ef-584f-a745-891dcc728073`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_with_telemetry()\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.801806\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mPipeline run started: `f5ca7c7d-08ef-584f-a745-891dcc728073`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_with_telemetry()\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.802166\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `resolve_data_directories`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.802468\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `ingest_data`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.812704\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `ingest_data`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.813054\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `resolve_data_directories`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.813379\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mPipeline run completed: `f5ca7c7d-08ef-584f-a745-891dcc728073`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_with_telemetry()\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.820869\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mOntology file 'None' not found. No owl ontology will be attached to the graph.\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.838218\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mPipeline run started: `7233180e-8575-54d0-bee4-700ba5f5de42`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_with_telemetry()\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.838593\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `classify_documents`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.838956\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `check_permissions_on_dataset`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.840133\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mPipeline run started: `7233180e-8575-54d0-bee4-700ba5f5de42`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_with_telemetry()\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.840463\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `classify_documents`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.840788\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `check_permissions_on_dataset`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.841272\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mPipeline run started: `7233180e-8575-54d0-bee4-700ba5f5de42`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_with_telemetry()\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.841545\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `classify_documents`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.841774\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `check_permissions_on_dataset`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.842389\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mPipeline run started: `7233180e-8575-54d0-bee4-700ba5f5de42`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_with_telemetry()\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.842624\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `classify_documents`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.843063\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `check_permissions_on_dataset`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.856804\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mAsync Generator task started: `extract_chunks_from_documents`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.862163\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mAsync Generator task started: `extract_chunks_from_documents`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.864341\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mAsync Generator task started: `extract_chunks_from_documents`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.867652\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mAsync Generator task started: `extract_chunks_from_documents`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.878616\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `extract_graph_from_data`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.905587\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `extract_graph_from_data`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.915328\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `extract_graph_from_data`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:03.940779\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `extract_graph_from_data`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:07.294325\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'document' in category 'classes'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:07.295957\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'assistant guidelines' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:07.296933\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'spec.md' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:09.092344\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 80 nodes and 214 edges in 0.02 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:09.774410\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'concept' in category 'classes'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:09.775032\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'the zen of python' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:09.775519\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'person' in category 'classes'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:09.775956\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'tim peters' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:09.776405\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'principles' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:09.776843\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'modern python tie-ins' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:09.777435\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'quick review checklist' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:10.061598\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `summarize_text`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:11.577685\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 88 nodes and 226 edges in 0.02 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:12.551947\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `summarize_text`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:12.894396\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `add_data_points`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:13.937846\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'styleguide' in category 'classes'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:13.939242\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'pep 8 style guide' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:13.940158\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'concept' in category 'classes'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:13.941087\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'code layout' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:13.941932\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'imports' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:13.942672\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'whitespace' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:13.943424\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'naming' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:13.944069\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'comments and docstrings' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:13.944700\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'type hints' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:13.945319\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'tooling' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:13.945917\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'common violations' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:13.946485\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'codeexample' in category 'classes'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:13.947083\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'hanging indent example' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:13.947625\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'imports example' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:13.948310\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'whitespace example' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:13.948788\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'docstring example' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:13.990684\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'concept' in category 'classes'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:13.991329\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'async/await patterns' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:13.991704\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'library' in category 'classes'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:13.992055\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'aiohttp' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:13.992374\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'semaphore' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:13.992681\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'context manager' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:13.992975\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'pydantic' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:13.993285\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'dataclass' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:13.993583\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'fastapi' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:13.993908\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'pytest-asyncio' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:13.994174\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'performance optimization' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:13.994529\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'error handling' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:13.994733\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'tcpconnector' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:13.995023\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'retry logic' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:13.995271\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'html parsing' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:13.995562\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mNo close match found for 'sqlalchemy' in category 'individuals'\u001B[0m [\u001B[0m\u001B[1m\u001B[34mOntologyAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:14.912139\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 89 nodes and 231 edges in 0.02 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:15.661925\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `add_data_points`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:15.816155\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `add_data_points`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:15.816765\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `summarize_text`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:15.817045\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `extract_graph_from_data`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:15.817451\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mAsync Generator task completed: `extract_chunks_from_documents`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:15.817758\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `check_permissions_on_dataset`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:15.817988\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `classify_documents`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:15.818206\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mPipeline run completed: `7233180e-8575-54d0-bee4-700ba5f5de42`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_with_telemetry()\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:15.884291\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 106 nodes and 260 edges in 0.02 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:16.096303\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 123 nodes and 287 edges in 0.02 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:17.216211\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `summarize_text`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:17.273588\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `summarize_text`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:18.281748\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 124 nodes and 312 edges in 0.03 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:19.288421\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `add_data_points`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:19.288925\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `summarize_text`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:19.289246\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `extract_graph_from_data`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:19.289608\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mAsync Generator task completed: `extract_chunks_from_documents`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:19.289921\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `check_permissions_on_dataset`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:19.290242\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `classify_documents`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:19.290464\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mPipeline run completed: `7233180e-8575-54d0-bee4-700ba5f5de42`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_with_telemetry()\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:21.079114\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `add_data_points`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:21.108303\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `add_data_points`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:23.441693\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 126 nodes and 314 edges in 0.03 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:23.453053\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 126 nodes and 314 edges in 0.05 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:24.411975\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `add_data_points`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:24.412403\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `summarize_text`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:24.412745\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `extract_graph_from_data`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:24.413023\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mAsync Generator task completed: `extract_chunks_from_documents`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:24.413307\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `check_permissions_on_dataset`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:24.413565\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `classify_documents`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:24.413803\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mPipeline run completed: `7233180e-8575-54d0-bee4-700ba5f5de42`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_with_telemetry()\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:24.429816\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `add_data_points`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:24.430172\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `summarize_text`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:24.430413\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `extract_graph_from_data`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:24.430683\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mAsync Generator task completed: `extract_chunks_from_documents`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:24.430929\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `check_permissions_on_dataset`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:24.431204\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `classify_documents`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:56:24.431443\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mPipeline run completed: `7233180e-8575-54d0-bee4-700ba5f5de42`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_with_telemetry()\u001B[0m]\u001B[0m\n" + ] + }, { "data": { "text/plain": [ - "PipelineRunCompleted(status='PipelineRunCompleted', pipeline_run_id=UUID('525400dd-b28e-59bf-aee9-ff7338a16159'), dataset_id=UUID('7cbac52a-507c-5a7d-aea8-91cc6a696792'), dataset_name='main_dataset', payload=None, data_ingestion_info=[{'run_info': PipelineRunAlreadyCompleted(status='PipelineRunAlreadyCompleted', pipeline_run_id=UUID('525400dd-b28e-59bf-aee9-ff7338a16159'), dataset_id=UUID('7cbac52a-507c-5a7d-aea8-91cc6a696792'), dataset_name='main_dataset', payload=None, data_ingestion_info=None), 'data_id': UUID('c2edae28-6c2f-5673-b354-b5376e88c6b1')}])" + "{UUID('727f2c35-93eb-57f9-8f66-8856c9ae95e3'): PipelineRunCompleted(status='PipelineRunCompleted', pipeline_run_id=UUID('7cef3d5b-e7fe-5fb1-ad08-43ff407c9e44'), dataset_id=UUID('727f2c35-93eb-57f9-8f66-8856c9ae95e3'), dataset_name='main_dataset', payload=None, data_ingestion_info=[{'run_info': PipelineRunCompleted(status='PipelineRunCompleted', pipeline_run_id=UUID('7cef3d5b-e7fe-5fb1-ad08-43ff407c9e44'), dataset_id=UUID('727f2c35-93eb-57f9-8f66-8856c9ae95e3'), dataset_name='main_dataset', payload=None, data_ingestion_info=None), 'data_id': UUID('06812f34-2873-557f-86c9-debcc5b618c9')}, {'run_info': PipelineRunAlreadyCompleted(status='PipelineRunAlreadyCompleted', pipeline_run_id=UUID('7cef3d5b-e7fe-5fb1-ad08-43ff407c9e44'), dataset_id=UUID('727f2c35-93eb-57f9-8f66-8856c9ae95e3'), dataset_name='main_dataset', payload=None, data_ingestion_info=None), 'data_id': UUID('0e3b3446-ba35-5c74-a491-eac47acc6d98')}, {'run_info': PipelineRunCompleted(status='PipelineRunCompleted', pipeline_run_id=UUID('7cef3d5b-e7fe-5fb1-ad08-43ff407c9e44'), dataset_id=UUID('727f2c35-93eb-57f9-8f66-8856c9ae95e3'), dataset_name='main_dataset', payload=None, data_ingestion_info=None), 'data_id': UUID('27467b8e-9b7c-5ca1-9b2e-0d2ca315446f')}, {'run_info': PipelineRunCompleted(status='PipelineRunCompleted', pipeline_run_id=UUID('7cef3d5b-e7fe-5fb1-ad08-43ff407c9e44'), dataset_id=UUID('727f2c35-93eb-57f9-8f66-8856c9ae95e3'), dataset_name='main_dataset', payload=None, data_ingestion_info=None), 'data_id': UUID('460f2065-b267-56f7-a1c0-c7515d326dac')}, {'run_info': PipelineRunCompleted(status='PipelineRunCompleted', pipeline_run_id=UUID('7cef3d5b-e7fe-5fb1-ad08-43ff407c9e44'), dataset_id=UUID('727f2c35-93eb-57f9-8f66-8856c9ae95e3'), dataset_name='main_dataset', payload=None, data_ingestion_info=None), 'data_id': UUID('c20e772c-9313-57af-974b-2068cdfe19e8')}])}" ] }, - "execution_count": 19, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], - "execution_count": 19 + "execution_count": 9 }, { "metadata": {}, @@ -424,13 +886,16 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-09-07T10:07:59.212671Z", - "start_time": "2025-09-07T10:07:56.314960Z" + "end_time": "2025-09-07T12:02:50.808174Z", + "start_time": "2025-09-07T12:02:47.323752Z" } }, "cell_type": "code", "source": [ - "results = cognee.search(\"What Python type hinting challenges did I face, and how does Guido approach similar problems in mypy?\")\n", + "results = await cognee.search(\n", + " \"What Python type hinting challenges did I face, and how does Guido approach similar problems in mypy?\",\n", + " query_type=cognee.SearchType.GRAPH_COMPLETION\n", + ")\n", "print(results)" ], "id": "98b69c45db2fca3", @@ -440,31 +905,22 @@ "output_type": "stream", "text": [ "\n", - "\u001B[2m2025-09-07T10:07:56.373046\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 147 nodes and 322 edges in 0.03 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\u001B[2m2025-09-07T12:02:47.514797\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 158 nodes and 379 edges in 0.03 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", "\n", - "\u001B[2m2025-09-07T10:07:56.375530\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mGraph projection completed: 147 nodes, 322 edges in 0.04s\u001B[0m [\u001B[0m\u001B[1m\u001B[34mCogneeGraph\u001B[0m]\u001B[0m\n", + "\u001B[2m2025-09-07T12:02:47.517739\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mGraph projection completed: 158 nodes, 379 edges in 0.03s\u001B[0m [\u001B[0m\u001B[1m\u001B[34mCogneeGraph\u001B[0m]\u001B[0m\n", "\n", - "\u001B[2m2025-09-07T10:07:56.739044\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mVector collection retrieval completed: Retrieved distances from 6 collections in 0.02s\u001B[0m [\u001B[0m\u001B[1m\u001B[34mcognee.shared.logging_utils\u001B[0m]\u001B[0m\n" + "\u001B[2m2025-09-07T12:02:48.187870\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mVector collection retrieval completed: Retrieved distances from 6 collections in 0.02s\u001B[0m [\u001B[0m\u001B[1m\u001B[34mcognee.shared.logging_utils\u001B[0m]\u001B[0m\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "[\"Using the provided context, I'll answer briefly about your type-hinting challenges and how Guido (in mypy) approaches similar problems.\"]\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/var/folders/b6/fdg52thn3h309cbg6kv5nryc0000gn/T/ipykernel_75109/564786944.py:1: RuntimeWarning: coroutine 'search' was never awaited\n", - " results = await cognee.search(\"What Python type hinting challenges did I face, and how does Guido approach similar problems in mypy?\")\n", - "RuntimeWarning: Enable tracemalloc to get the object allocation traceback\n" + "['Acknowledged.']\n" ] } ], - "execution_count": 18 + "execution_count": 14 }, { "metadata": {}, @@ -488,12 +944,144 @@ "id": "a1f4606bfed8fc45" }, { - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-09-07T11:59:45.337944Z", + "start_time": "2025-09-07T11:57:54.805696Z" + } + }, "cell_type": "code", - "outputs": [], - "execution_count": null, - "source": "cognee.memify()", - "id": "20234960f7566b15" + "source": "await cognee.memify()", + "id": "20234960f7566b15", + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n", + "\u001B[2m2025-09-07T11:57:54.862996\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 126 nodes and 314 edges in 0.03 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:57:54.865110\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mGraph projection completed: 126 nodes, 314 edges in 0.03s\u001B[0m [\u001B[0m\u001B[1m\u001B[34mCogneeGraph\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:57:54.886755\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mPipeline run started: `af2e3872-55fb-5cbb-b0dc-0a13d0b9b1bd`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_with_telemetry()\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:57:54.887389\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mAsync Generator task started: `extract_subgraph_chunks`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:57:54.887914\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `add_rule_associations`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:58:04.375679\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 131 nodes and 318 edges in 0.02 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:58:05.428516\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 131 nodes and 322 edges in 0.02 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:58:06.414586\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `add_rule_associations`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:58:06.415131\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `add_rule_associations`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:58:06.431621\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 5 nodes and 4 edges for NodeSet in 0.01 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:58:13.285793\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 134 nodes and 325 edges in 0.06 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:58:14.299334\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 134 nodes and 328 edges in 0.03 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:58:15.255634\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `add_rule_associations`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:58:15.256386\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `add_rule_associations`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:58:15.278329\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 8 nodes and 7 edges for NodeSet in 0.01 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:58:24.608953\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 139 nodes and 333 edges in 0.02 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:58:25.817327\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 139 nodes and 338 edges in 0.02 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:58:26.805980\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `add_rule_associations`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:58:26.806649\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `add_rule_associations`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:58:26.822555\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 13 nodes and 12 edges for NodeSet in 0.01 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:58:35.652805\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 142 nodes and 341 edges in 0.02 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:58:36.686147\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 142 nodes and 344 edges in 0.02 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:58:37.699798\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `add_rule_associations`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:58:37.700712\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `add_rule_associations`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:58:37.718775\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 16 nodes and 15 edges for NodeSet in 0.01 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:58:51.576721\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 145 nodes and 347 edges in 0.07 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:58:52.568566\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 145 nodes and 350 edges in 0.03 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:58:53.516969\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `add_rule_associations`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:58:53.517455\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `add_rule_associations`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:58:53.542532\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 19 nodes and 18 edges for NodeSet in 0.02 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:59:08.426235\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 148 nodes and 353 edges in 0.03 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:59:09.560436\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 148 nodes and 356 edges in 0.02 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:59:10.503615\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `add_rule_associations`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:59:10.504130\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `add_rule_associations`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:59:10.513761\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 22 nodes and 21 edges for NodeSet in 0.01 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:59:16.601704\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 151 nodes and 359 edges in 0.03 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:59:17.605849\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 151 nodes and 362 edges in 0.02 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:59:18.869401\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `add_rule_associations`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:59:18.870007\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `add_rule_associations`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:59:18.882199\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 25 nodes and 24 edges for NodeSet in 0.01 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:59:24.709820\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 151 nodes and 362 edges in 0.03 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:59:25.731473\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 151 nodes and 365 edges in 0.02 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:59:26.769884\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `add_rule_associations`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:59:26.770412\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `add_rule_associations`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:59:26.782453\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 25 nodes and 24 edges for NodeSet in 0.01 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:59:33.591001\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 154 nodes and 368 edges in 0.03 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:59:35.111361\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 154 nodes and 371 edges in 0.02 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:59:35.719330\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `add_rule_associations`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:59:35.719937\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task started: `add_rule_associations`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:59:35.732641\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 28 nodes and 27 edges for NodeSet in 0.01 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:59:43.575467\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 158 nodes and 375 edges in 0.03 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:59:44.732779\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 158 nodes and 379 edges in 0.03 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:59:45.326267\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mCoroutine task completed: `add_rule_associations`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:59:45.326932\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mAsync Generator task completed: `extract_subgraph_chunks`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_base\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T11:59:45.327231\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mPipeline run completed: `af2e3872-55fb-5cbb-b0dc-0a13d0b9b1bd`\u001B[0m [\u001B[0m\u001B[1m\u001B[34mrun_tasks_with_telemetry()\u001B[0m]\u001B[0m\n" + ] + }, + { + "data": { + "text/plain": [ + "{UUID('727f2c35-93eb-57f9-8f66-8856c9ae95e3'): PipelineRunCompleted(status='PipelineRunCompleted', pipeline_run_id=UUID('85d185c7-8cf8-5e85-9894-7938a80c9acf'), dataset_id=UUID('727f2c35-93eb-57f9-8f66-8856c9ae95e3'), dataset_name='main_dataset', payload=None, data_ingestion_info=[{'run_info': PipelineRunCompleted(status='PipelineRunCompleted', pipeline_run_id=UUID('85d185c7-8cf8-5e85-9894-7938a80c9acf'), dataset_id=UUID('727f2c35-93eb-57f9-8f66-8856c9ae95e3'), dataset_name='main_dataset', payload=None, data_ingestion_info=None)}])}" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 12 }, { "metadata": {}, @@ -513,19 +1101,53 @@ "id": "a304033f9f0f5dcf" }, { - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-09-07T12:03:12.333024Z", + "start_time": "2025-09-07T12:03:09.975414Z" + } + }, "cell_type": "code", - "outputs": [], - "execution_count": null, "source": [ "# Search for connections between your async patterns and Python philosophy\n", - "results = cognee.search(\n", + "results = await cognee.search(\n", " \"How does my AsyncWebScraper implementation align with Python's design principles?\",\n", - " search_type=\"GRAPH_COMPLETION\"\n", + " query_type=cognee.SearchType.GRAPH_COMPLETION\n", ")\n", "print(\"Python Pattern Analysis:\", results)" ], - "id": "518fa9b17a604657" + "id": "518fa9b17a604657", + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n", + "\u001B[2m2025-09-07T12:03:10.069706\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mRetrieved 158 nodes and 379 edges in 0.03 seconds\u001B[0m [\u001B[0m\u001B[1m\u001B[34mNeo4jAdapter\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T12:03:10.073335\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mGraph projection completed: 158 nodes, 379 edges in 0.04s\u001B[0m [\u001B[0m\u001B[1m\u001B[34mCogneeGraph\u001B[0m]\u001B[0m\n", + "\n", + "\u001B[2m2025-09-07T12:03:10.606712\u001B[0m [\u001B[32m\u001B[1minfo \u001B[0m] \u001B[1mVector collection retrieval completed: Retrieved distances from 6 collections in 0.07s\u001B[0m [\u001B[0m\u001B[1m\u001B[34mcognee.shared.logging_utils\u001B[0m]\u001B[0m\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Python Pattern Analysis: ['Analyzing alignment of AsyncWebScraper with Python design principles...']\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/b6/fdg52thn3h309cbg6kv5nryc0000gn/T/ipykernel_78432/1153209151.py:2: RuntimeWarning: coroutine 'search' was never awaited\n", + " results = await cognee.search(\n", + "RuntimeWarning: Enable tracemalloc to get the object allocation traceback\n" + ] + } + ], + "execution_count": 16 }, { "metadata": {},