{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "25cf0a40e669a70",
   "metadata": {},
   "source": [
    "# Understanding Ontologies with Cognee\n",
    "\n",
    "This notebook demonstrates how to work with ontologies in scientific research using the Cognee framework. We'll explore how ontologies can enhance our understanding and querying of scientific papers.\n",
    "\n",
    "## What is an Ontology?\n",
    "\n",
    "An ontology is a formal representation of knowledge that defines:\n",
    "- Concepts within a domain\n",
    "- Relationships between concepts\n",
    "- Properties and attributes\n",
    "- Rules and constraints\n",
    "\n",
    "Key terms:\n",
    "- **Classes**: Categories or types (e.g., Disease, Symptom)\n",
    "- **Instances**: Specific examples of classes (e.g., Type 2 Diabetes)\n",
    "- **Properties**: Relationships between classes/instances (e.g., hasSymptom)\n",
    "- **Axioms**: Logical statements defining relationships"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "441248da37f2b901",
   "metadata": {},
   "source": [
    "## Setup\n",
    "\n",
    "First, let's install the required packages and set up our environment:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "8cf7ba29f9a150af",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Install required package\n",
    "# !pip install cognee"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "abb86851",
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "\n",
    "# Set up OpenAI API key (required for Cognee's LLM functionality)\n",
    "if \"LLM_API_KEY\" not in os.environ:\n",
    "    os.environ[\"LLM_API_KEY\"] = \"your-api-key-here\"  # Replace with your API key"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "d825d126b3a0ec26",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n",
      "\u001b[2m2025-10-22T18:01:55.986758\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mDeleted old log file: /Users/daulet/Desktop/dev/cognee-claude/logs/2025-10-22_18-22-34.log\u001b[0m [\u001b[0m\u001b[1m\u001b[34mcognee.shared.logging_utils\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:01:56.875637\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.3.6-local\u001b[0m \u001b[36mdatabase_path\u001b[0m=\u001b[35m/Users/daulet/Desktop/dev/cognee-claude/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:43 PDT 2025; root:xnu-11417.121.6~2/RELEASE_ARM64_T8132)'\u001b[0m \u001b[36mpython_version\u001b[0m=\u001b[35m3.10.11\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-10-22T18:01:56.876198\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mDatabase storage: /Users/daulet/Desktop/dev/cognee-claude/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",
     "text": [
      "0.3.6-local\n"
     ]
    }
   ],
   "source": [
    "# Import required libraries\n",
    "import cognee\n",
    "print(cognee.__version__)\n",
    "from cognee.shared.logging_utils import get_logger\n",
    "\n",
    "cognee.config.set_llm_model(\"gpt-4o-mini\")\n",
    "cognee.config.set_llm_provider(\"openai\")\n",
    "from cognee.api.v1.search import SearchType\n",
    "\n",
    "logger = get_logger()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6af350837e86b7a1",
   "metadata": {},
   "source": [
    "## Creating the Pipeline\n",
    "\n",
    "Let's create a pipeline that will:\n",
    "1. Clean existing data\n",
    "2. Process scientific papers\n",
    "3. Apply ontological knowledge"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "4d0e4a58e4207a7d",
   "metadata": {},
   "outputs": [],
   "source": [
    "async def run_pipeline(config=None):\n",
    "    # Clean existing data\n",
    "    await cognee.prune.prune_data()\n",
    "    await cognee.prune.prune_system(metadata=True)\n",
    "    \n",
    "    # Set up path to scientific papers\n",
    "    scientific_papers_dir = os.path.join(\n",
    "        os.path.dirname(os.path.dirname(os.path.abspath(\".\"))), \n",
    "        \"cognee\",\n",
    "        \"examples\",\n",
    "        \"data\", \n",
    "        \"scientific_papers/\"\n",
    "    )\n",
    "    \n",
    "    # Add papers to the system\n",
    "    await cognee.add(scientific_papers_dir)\n",
    "    \n",
    "    # Cognify with optional ontology\n",
    "    return await cognee.cognify(config=config)\n",
    "\n",
    "async def query_pipeline(questions):\n",
    "    answers = []\n",
    "    for question in questions:\n",
    "        search_results = await cognee.search(\n",
    "            query_type=SearchType.GRAPH_COMPLETION,\n",
    "            query_text=question,\n",
    "        )\n",
    "        answers.append(search_results)\n",
    "    return answers"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c87c21a75d6f4d79",
   "metadata": {},
   "source": [
    "## Running the Demo\n",
    "\n",
    "Let's test our system with some medical questions, comparing results with and without ontological knowledge:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1363772d2b48f5c0",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n",
      "\u001b[2m2025-10-22T18:01:58.278557\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mOntology loaded successfully from file: ../examples/python/ontology_input_example/enriched_medical_ontology_with_classes.owl\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:01:58.280303\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mLookup built: 4 classes, 50 individuals\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:01:58.376936\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mLoaded JSON extension         \u001b[0m [\u001b[0m\u001b[1m\u001b[34mcognee.shared.logging_utils\u001b[0m]\u001b[0m\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "--- Results WITH ontology ---\n",
      "\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n",
      "\u001b[2m2025-10-22T18:01:58.421862\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mDeleted Kuzu database files at /Users/daulet/Desktop/dev/cognee-claude/cognee/.cognee_system/databases/cognee_graph_kuzu\u001b[0m [\u001b[0m\u001b[1m\u001b[34mcognee.shared.logging_utils\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:01.325380\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",
      "\n",
      "\u001b[1mStorage manager absolute path: /Users/daulet/Desktop/dev/cognee-claude/cognee/.cognee_cache\u001b[0m\n",
      "\n",
      "\u001b[1mDeleting cache...             \u001b[0m\n",
      "\n",
      "\u001b[1m✓ Cache deleted successfully! \u001b[0m\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "User bbafc85c-4a78-404e-a5ba-fd0283528287 has registered.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n",
      "\u001b[2m2025-10-22T18:02:02.808090\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mPipeline run started: `e4e8d210-231c-5518-9068-cf56e37634d0`\u001b[0m [\u001b[0m\u001b[1m\u001b[34mrun_tasks_with_telemetry()\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:02.808489\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-10-22T18:02:02.808812\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-10-22T18:02:02.809810\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mPipeline run started: `e4e8d210-231c-5518-9068-cf56e37634d0`\u001b[0m [\u001b[0m\u001b[1m\u001b[34mrun_tasks_with_telemetry()\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:02.810062\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-10-22T18:02:02.810401\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-10-22T18:02:02.821927\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-10-22T18:02:02.822839\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-10-22T18:02:02.823183\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-10-22T18:02:02.823457\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-10-22T18:02:02.823740\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-10-22T18:02:02.823955\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mRegistered loader: advanced_pdf_loader\u001b[0m [\u001b[0m\u001b[1m\u001b[34mcognee.infrastructure.loaders.LoaderEngine\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:02.824215\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mRegistered loader: beautiful_soup_loader\u001b[0m [\u001b[0m\u001b[1m\u001b[34mcognee.infrastructure.loaders.LoaderEngine\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:02.826496\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mReading PDF: /Users/daulet/Desktop/dev/cognee/examples/data/scientific_papers/nutrients-13-01241.pdf\u001b[0m [\u001b[0m\u001b[1m\u001b[34mcognee.infrastructure.loaders.external.pypdf_loader\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:02.978024\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mReading PDF: /Users/daulet/Desktop/dev/cognee/examples/data/scientific_papers/TOJ-22-0073_152Mendoza.pdf\u001b[0m [\u001b[0m\u001b[1m\u001b[34mcognee.infrastructure.loaders.external.pypdf_loader\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:03.089601\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-10-22T18:02:03.089945\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-10-22T18:02:03.090213\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mPipeline run completed: `e4e8d210-231c-5518-9068-cf56e37634d0`\u001b[0m [\u001b[0m\u001b[1m\u001b[34mrun_tasks_with_telemetry()\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:03.093289\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-10-22T18:02:03.093568\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-10-22T18:02:03.093853\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mPipeline run completed: `e4e8d210-231c-5518-9068-cf56e37634d0`\u001b[0m [\u001b[0m\u001b[1m\u001b[34mrun_tasks_with_telemetry()\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:03.111960\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mPipeline run started: `5cb69d58-632d-526b-8d9b-690ff3cfdb06`\u001b[0m [\u001b[0m\u001b[1m\u001b[34mrun_tasks_with_telemetry()\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:03.112419\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-10-22T18:02:03.112769\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-10-22T18:02:03.113688\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mPipeline run started: `5cb69d58-632d-526b-8d9b-690ff3cfdb06`\u001b[0m [\u001b[0m\u001b[1m\u001b[34mrun_tasks_with_telemetry()\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:03.113927\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-10-22T18:02:03.114196\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-10-22T18:02:03.120801\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-10-22T18:02:03.166742\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-10-22T18:02:03.196502\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-10-22T18:02:03.207831\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-10-22T18:02:39.102677\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mReconnecting to Kuzu database...\u001b[0m [\u001b[0m\u001b[1m\u001b[34mcognee.shared.logging_utils\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.152639\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mLoaded JSON extension         \u001b[0m [\u001b[0m\u001b[1m\u001b[34mcognee.shared.logging_utils\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.187155\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-10-22T18:02:39.187808\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'michael f. mendoza' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.188243\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'ralf martz sulague' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.188653\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'therese posas-mendoza' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.189065\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'carl j. lavie' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.189425\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'journal' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.189790\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'ochsner journal' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.190074\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'research article' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.190376\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'impact of coffee consumption on cardiovascular health' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.190645\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'beverage' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.191025\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'coffee' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.191324\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'health aspect' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.191667\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'cardiovascular health' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.191937\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mhttp://example.org/ontology#Disease match was found for found for 'disease' node\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.192303\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mhttp://example.org/ontology#Hypertension match was found for found for 'hypertension' node\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.193210\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'lipid' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.193635\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mhttp://example.org/ontology#HighCholesterol match was found for found for 'cholesterol' node\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.194108\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mhttp://example.org/ontology#AtrialFibrillation match was found for found for 'atrial fibrillation' node\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.195332\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mhttp://example.org/ontology#CoronaryArteryDisease match was found for found for 'coronary heart disease' node\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.195868\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mhttp://example.org/ontology#HeartFailure match was found for found for 'heart failure' node\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.197051\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'myocardial infarction' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.197423\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'health metric' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.197787\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'mortality' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.198071\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'stimulant' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.198351\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'caffeine' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.198636\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'compound' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.198961\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'diterpenes' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.199320\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'phenolic acid' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.199731\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'molecule' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.200061\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'antioxidants' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.200440\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'medical condition' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.200795\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mhttp://example.org/ontology#CardiovascularDisease match was found for found for 'cardiovascular disease' node\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.201606\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-10-22T18:02:39.202112\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'habit' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.202511\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mhttp://example.org/ontology#ModerateCoffeeConsumption match was found for found for 'moderate coffee consumption' node\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.202945\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'chlorogenic acid' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.203222\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'quinone' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.203508\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'trigonelline' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.203783\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'cafestol' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.204116\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'polyphenols' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.204383\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'research method' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.204688\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'prospective cohort studies' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:39.204928\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mhttp://example.org/ontology#Smoking match was found for found for 'smoking' node\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.294723\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'research study' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.295507\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'coffee consumption study' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.296148\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-10-22T18:02:40.296659\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'laura torres-collado' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.297133\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'laura maría compañ-gabucio' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.297552\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'sandra gonzález-palacios' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.297983\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'leyre notario-barandiaran' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.298406\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'alejandro oncina-cánovas' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.298837\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'jesús vioque' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.299184\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'manuela garcía-de la hera' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.299542\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'study' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.299880\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'valencia nutrition study' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.300225\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'dietary factor' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.300591\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'caffeine consumption' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.300988\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'decaffeinated coffee' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.301302\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'health outcome' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.301632\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'all-cause mortality' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.301980\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'cardiovascular mortality' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.302300\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'cancer mortality' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.302564\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'dietary pattern' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.303006\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mhttp://example.org/ontology#MediterraneanDiet match was found for found for 'mediterranean diet' node\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.303395\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-10-22T18:02:40.303657\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for '2021' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.304035\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'valencia nutrition survey' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.304297\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'health_behavior' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.304606\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'coffee consumption' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.304926\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mhttp://example.org/ontology#CardiovascularDisease match was found for found for 'cardiovascular disease' node\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.305991\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'statistical_analysis' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.306298\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'cumulative incidence curves' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.306593\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'coffee_type' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.306938\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'caffeinated coffee' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.307203\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'statistical_metric' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.307588\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'person years' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.307862\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'population' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.308175\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'study population' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.308694\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'time_period' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.309057\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'follow up periods' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.309411\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-10-22T18:02:40.309755\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'chronic illness' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.309984\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'group' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.310242\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'mediterranean population' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.310682\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'self-reported data' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.311053\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'nutrition survey' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.311563\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'sample size' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.311900\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'study methods' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.312270\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'follow-up period' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.312559\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'publication date' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.312867\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'study design' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.313241\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'author contributions' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:40.592404\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-10-22T18:02:42.342445\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-10-22T18:02:49.238795\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-10-22T18:02:49.830084\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-10-22T18:02:52.018222\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-10-22T18:02:52.018844\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-10-22T18:02:52.019249\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-10-22T18:02:52.019765\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-10-22T18:02:52.020191\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-10-22T18:02:52.020616\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-10-22T18:02:52.021087\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mPipeline run completed: `5cb69d58-632d-526b-8d9b-690ff3cfdb06`\u001b[0m [\u001b[0m\u001b[1m\u001b[34mrun_tasks_with_telemetry()\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:52.647123\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-10-22T18:02:52.647737\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-10-22T18:02:52.648086\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-10-22T18:02:52.648333\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-10-22T18:02:52.648795\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-10-22T18:02:52.649190\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-10-22T18:02:52.649482\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mPipeline run completed: `5cb69d58-632d-526b-8d9b-690ff3cfdb06`\u001b[0m [\u001b[0m\u001b[1m\u001b[34mrun_tasks_with_telemetry()\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:52.668860\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mGraph projection completed: 127 nodes, 259 edges in 0.01s\u001b[0m [\u001b[0m\u001b[1m\u001b[34mCogneeGraph\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:53.428014\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mVector collection retrieval completed: Retrieved distances from 6 collections in 0.09s\u001b[0m [\u001b[0m\u001b[1m\u001b[34mcognee.shared.logging_utils\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:54.889692\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mGraph projection completed: 127 nodes, 259 edges in 0.01s\u001b[0m [\u001b[0m\u001b[1m\u001b[34mCogneeGraph\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:55.185898\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mVector collection retrieval completed: Retrieved distances from 6 collections in 0.08s\u001b[0m [\u001b[0m\u001b[1m\u001b[34mcognee.shared.logging_utils\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:56.449820\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mGraph projection completed: 127 nodes, 259 edges in 0.01s\u001b[0m [\u001b[0m\u001b[1m\u001b[34mCogneeGraph\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:56.834718\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mVector collection retrieval completed: Retrieved distances from 6 collections in 0.09s\u001b[0m [\u001b[0m\u001b[1m\u001b[34mcognee.shared.logging_utils\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:58.068993\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mGraph projection completed: 127 nodes, 259 edges in 0.01s\u001b[0m [\u001b[0m\u001b[1m\u001b[34mCogneeGraph\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:02:58.391792\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mVector collection retrieval completed: Retrieved distances from 6 collections in 0.08s\u001b[0m [\u001b[0m\u001b[1m\u001b[34mcognee.shared.logging_utils\u001b[0m]\u001b[0m\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Q: What are common risk factors for Type 2 Diabetes?\n",
      "A: ['Common risk factors for Type 2 Diabetes include:\\n- Obesity\\n- Hypertension (high blood pressure)\\n- High cholesterol\\n- Cardiovascular disease\\n- Smoking\\n- Family history of diabetes']\n",
      "\n",
      "Q: What preventive measures reduce the risk of Hypertension?\n",
      "A: ['Preventive measures to reduce the risk of hypertension include:\\n1. Low sodium diet\\n2. Moderate coffee consumption\\n3. Regular exercise and physical activity.']\n",
      "\n",
      "Q: What symptoms indicate possible Cardiovascular Disease?\n",
      "A: ['Symptoms indicating possible Cardiovascular Disease include:\\n- Chest pain\\n- Shortness of breath\\n- Fatigue']\n",
      "\n",
      "Q: What diseases are associated with Obesity?\n",
      "A: ['Diseases associated with obesity include:\\n1. Cardiovascular disease\\n2. Diabetes\\n3. Hypertension\\n4. High cholesterol\\n5. High blood pressure\\n6. Atrial fibrillation\\n7. Heart disease\\n8. Heart failure\\n9. Coronary artery disease']\n",
      "\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n",
      "\u001b[2m2025-10-22T18:03:27.048651\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mReconnecting to Kuzu database...\u001b[0m [\u001b[0m\u001b[1m\u001b[34mcognee.shared.logging_utils\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.093759\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mLoaded JSON extension         \u001b[0m [\u001b[0m\u001b[1m\u001b[34mcognee.shared.logging_utils\u001b[0m]\u001b[0m\n"
     ]
    }
   ],
   "source": [
    "from cognee.modules.ontology.rdf_xml.RDFLibOntologyResolver import RDFLibOntologyResolver\n",
    "from cognee.modules.ontology.ontology_config import Config\n",
    "# Test questions\n",
    "questions = [\n",
    "    \"What are common risk factors for Type 2 Diabetes?\",\n",
    "    \"What preventive measures reduce the risk of Hypertension?\",\n",
    "    \"What symptoms indicate possible Cardiovascular Disease?\",\n",
    "    \"What diseases are associated with Obesity?\"\n",
    "]\n",
    "\n",
    "# Path to medical ontology\n",
    "ontology_path = \"../examples/python/ontology_input_example/enriched_medical_ontology_with_classes.owl\"  # Update with your ontology path\n",
    "\n",
    "config: Config = {\n",
    "        \"ontology_config\": {\n",
    "            \"ontology_resolver\": RDFLibOntologyResolver(ontology_file=ontology_path)\n",
    "        }\n",
    "    }\n",
    "\n",
    "# Run with ontology\n",
    "print(\"\\n--- Results WITH ontology ---\\n\")\n",
    "await run_pipeline(config=config)\n",
    "answers_with = await query_pipeline(questions)\n",
    "for q, a in zip(questions, answers_with):\n",
    "    print(f\"Q: {q}\\nA: {a}\\n\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "3aa18f4cdd5ceff6",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n",
      "\u001b[2m2025-10-22T18:03:02.112053\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mDeleted Kuzu database files at /Users/daulet/Desktop/dev/cognee-claude/cognee/.cognee_system/databases/cognee_graph_kuzu\u001b[0m [\u001b[0m\u001b[1m\u001b[34mcognee.shared.logging_utils\u001b[0m]\u001b[0m\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "--- Results WITHOUT ontology ---\n",
      "\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n",
      "\u001b[2m2025-10-22T18:03:04.157767\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",
      "\n",
      "\u001b[1mDeleting cache...             \u001b[0m\n",
      "\n",
      "\u001b[1m✓ Cache deleted successfully! \u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:04.270250\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mPipeline run started: `be0945ca-b02d-57d3-8c55-2e66cb0e6465`\u001b[0m [\u001b[0m\u001b[1m\u001b[34mrun_tasks_with_telemetry()\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:04.270711\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-10-22T18:03:04.271253\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-10-22T18:03:04.271827\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mPipeline run started: `be0945ca-b02d-57d3-8c55-2e66cb0e6465`\u001b[0m [\u001b[0m\u001b[1m\u001b[34mrun_tasks_with_telemetry()\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:04.272160\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-10-22T18:03:04.272586\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-10-22T18:03:04.289999\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mReading PDF: /Users/daulet/Desktop/dev/cognee/examples/data/scientific_papers/TOJ-22-0073_152Mendoza.pdf\u001b[0m [\u001b[0m\u001b[1m\u001b[34mcognee.infrastructure.loaders.external.pypdf_loader\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:04.413221\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mReading PDF: /Users/daulet/Desktop/dev/cognee/examples/data/scientific_papers/nutrients-13-01241.pdf\u001b[0m [\u001b[0m\u001b[1m\u001b[34mcognee.infrastructure.loaders.external.pypdf_loader\u001b[0m]\u001b[0m\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "User 287cca05-43b5-48c2-90de-2e86072d27f0 has registered.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n",
      "\u001b[2m2025-10-22T18:03:04.576198\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-10-22T18:03:04.576640\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-10-22T18:03:04.577015\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mPipeline run completed: `be0945ca-b02d-57d3-8c55-2e66cb0e6465`\u001b[0m [\u001b[0m\u001b[1m\u001b[34mrun_tasks_with_telemetry()\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:04.580698\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-10-22T18:03:04.581235\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-10-22T18:03:04.581502\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mPipeline run completed: `be0945ca-b02d-57d3-8c55-2e66cb0e6465`\u001b[0m [\u001b[0m\u001b[1m\u001b[34mrun_tasks_with_telemetry()\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:04.586826\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-10-22T18:03:04.600355\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mPipeline run started: `8654ab86-b9d9-5cea-b22e-0732dd3d817d`\u001b[0m [\u001b[0m\u001b[1m\u001b[34mrun_tasks_with_telemetry()\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:04.600702\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-10-22T18:03:04.601046\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-10-22T18:03:04.601638\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mPipeline run started: `8654ab86-b9d9-5cea-b22e-0732dd3d817d`\u001b[0m [\u001b[0m\u001b[1m\u001b[34mrun_tasks_with_telemetry()\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:04.601874\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-10-22T18:03:04.602164\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-10-22T18:03:04.608533\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-10-22T18:03:04.631303\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-10-22T18:03:04.669209\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-10-22T18:03:04.676603\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-10-22T18:03:27.107571\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-10-22T18:03:27.108124\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'michael f. mendoza' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.108461\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'ralf martz sulague' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.108786\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'therese posas-mendoza' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.109186\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'carl j. lavie' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.109585\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-10-22T18:03:27.109931\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'coffee consumption' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.110251\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'cardiovascular health' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.110572\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'disease' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.110880\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'hypertension' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.111183\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'heart failure' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.111441\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'atrial fibrillation' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.111735\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'coronary heart disease' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.112035\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'cardiovascular disease' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.112334\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'cholesterol' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.112655\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'diterpenes' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.112937\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'plasma phenolic acid' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.113333\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'gene' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.113811\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'cyp1a2' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.114138\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'chemical' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.114595\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'caffeine' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.115448\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'coffee type' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.115811\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-10-22T18:03:27.116116\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for '2023' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.116454\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for '2000 to 2021' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.116944\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'beverage' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.117254\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'coffee' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.117542\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'nutrient' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.117808\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'antioxidants' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.118098\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'medical condition' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.118484\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'event' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.118715\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'death' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.118941\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'lifestyle habit' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.119132\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'moderate coffee consumption' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.119423\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'smoking' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.119739\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'research study' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.120002\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'study one' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.120272\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'study two' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:27.120485\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'health benefits of coffee' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:29.236495\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-10-22T18:03:32.479557\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'article' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.480882\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'coffee consumption and all-cause, cardiovascular, and cancer mortality in an adult mediterranean population' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.482220\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-10-22T18:03:32.483231\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'laura torres-collado' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.484024\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'laura maría compañ-gabucio' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.484716\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'sandra gonzález-palacios' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.485294\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'leyre notario-barandiaran' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.485834\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'alejandro oncina-cánovas' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.486334\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'jesús vioque' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.486905\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'manuela garcía-de la hera' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.487490\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'diet' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.488033\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'mediterranean diet' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.488394\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'study' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.488925\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'valencia nutrition study' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.489299\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'statistical_method' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.489816\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'cox regression' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.490217\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'mortality_cause' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.490693\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'cardiovascular disease mortality' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.491092\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'cancer mortality' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.491410\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'all-cause mortality' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.491897\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'beverage' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.492256\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'caffeinated coffee' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.492560\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'decaffeinated coffee' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.492954\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'compound' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.493251\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'polyphenols' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.493560\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'classification_system' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.494017\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'international classification of diseases, 10th revision' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.494701\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-10-22T18:03:32.495153\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'coffee consumption' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.495617\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'cardiovascular disease mortality' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.496000\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'valencia nutrition survey' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.496333\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'type of coffee consumption' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.496657\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'chemical' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.497129\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'caffeine' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.497458\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'chronic exposure' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.497914\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'health benefits of coffee' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.498360\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'study period' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.498747\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'mortality' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.499117\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'chronic illness' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.499393\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'nutrition survey' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.499727\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'group' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.500116\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'mediterranean population' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.500429\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'self-reported consumption' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.500735\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'coffee preparation methods' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.501077\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'data' in category 'classes'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.501374\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'sample size' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.501737\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'follow-up period' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.502080\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'funding sources' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:32.502566\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mNo close match found for 'ethical guidelines' in category 'individuals'\u001b[0m [\u001b[0m\u001b[1m\u001b[34mOntologyAdapter\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:34.952314\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-10-22T18:03:35.632753\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-10-22T18:03:36.948752\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-10-22T18:03:36.949382\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-10-22T18:03:36.949764\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-10-22T18:03:36.950077\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-10-22T18:03:36.950431\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-10-22T18:03:36.950718\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-10-22T18:03:36.950999\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mPipeline run completed: `8654ab86-b9d9-5cea-b22e-0732dd3d817d`\u001b[0m [\u001b[0m\u001b[1m\u001b[34mrun_tasks_with_telemetry()\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:44.327686\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-10-22T18:03:45.275415\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-10-22T18:03:45.275990\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-10-22T18:03:45.276333\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-10-22T18:03:45.276673\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-10-22T18:03:45.277082\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-10-22T18:03:45.277350\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-10-22T18:03:45.277600\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mPipeline run completed: `8654ab86-b9d9-5cea-b22e-0732dd3d817d`\u001b[0m [\u001b[0m\u001b[1m\u001b[34mrun_tasks_with_telemetry()\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:45.293105\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mGraph projection completed: 92 nodes, 199 edges in 0.00s\u001b[0m [\u001b[0m\u001b[1m\u001b[34mCogneeGraph\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:45.558946\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mVector collection retrieval completed: Retrieved distances from 6 collections in 0.05s\u001b[0m [\u001b[0m\u001b[1m\u001b[34mcognee.shared.logging_utils\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:48.006511\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mGraph projection completed: 92 nodes, 199 edges in 0.00s\u001b[0m [\u001b[0m\u001b[1m\u001b[34mCogneeGraph\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:48.290685\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",
      "\n",
      "\u001b[2m2025-10-22T18:03:50.185443\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mGraph projection completed: 92 nodes, 199 edges in 0.01s\u001b[0m [\u001b[0m\u001b[1m\u001b[34mCogneeGraph\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:50.461855\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",
      "\n",
      "\u001b[2m2025-10-22T18:03:53.349437\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mGraph projection completed: 92 nodes, 199 edges in 0.01s\u001b[0m [\u001b[0m\u001b[1m\u001b[34mCogneeGraph\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:53.794121\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": [
      "Q: What are common risk factors for Type 2 Diabetes?\n",
      "A: ['Common risk factors for Type 2 Diabetes include smoking, obesity (especially with a high body mass index or waist circumference), physical inactivity, and poor dietary habits. Additionally, pre-existing chronic diseases such as high blood pressure and high blood cholesterol can increase the risk. Moderate coffee consumption may also affect the risk, as it has been linked with lower incidences of Type 2 Diabetes in some studies.']\n",
      "\n",
      "Q: What preventive measures reduce the risk of Hypertension?\n",
      "A: ['Preventive measures to reduce the risk of hypertension include moderate coffee consumption (typically defined as 1 to 4 cups per day), which is associated with a decreased risk of developing hypertension. Additionally, avoiding smoking can also mitigate risk as smoking increases the risk of cardiovascular diseases.']\n",
      "\n",
      "Q: What symptoms indicate possible Cardiovascular Disease?\n",
      "A: ['Symptoms that may indicate possible cardiovascular disease include:\\n- Chest pain or discomfort\\n- Shortness of breath\\n- Fatigue with activity\\n- Irregular heartbeats (arrhythmias)\\n- Swelling in the legs, ankles, or feet (edema)\\n- Lightheadedness or dizziness\\n- Weakness or numbness in arms or legs\\nThese symptoms may vary based on individual conditions and risk factors, such as smoking, which increases the risk of cardiovascular disease.']\n",
      "\n",
      "Q: What diseases are associated with Obesity?\n",
      "A: ['Diseases associated with obesity include cardiovascular disease, hypertension, and cancer.']\n",
      "\n"
     ]
    }
   ],
   "source": [
    "# Run without ontology\n",
    "print(\"\\n--- Results WITHOUT ontology ---\\n\")\n",
    "await run_pipeline()\n",
    "answers_without = await query_pipeline(questions)\n",
    "for q, a in zip(questions, answers_without):\n",
    "    print(f\"Q: {q}\\nA: {a}\\n\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c60533d2423acdb0",
   "metadata": {},
   "source": [
    "## Visualizing the Knowledge Graph\n",
    "\n",
    "Let's visualize how our ontology connects different medical concepts:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "36ee2a360f47a054",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n",
      "\u001b[2m2025-10-22T18:03:55.296116\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mGraph visualization saved as /Users/daulet/graph_visualization.html\u001b[0m [\u001b[0m\u001b[1m\u001b[34mcognee.shared.logging_utils\u001b[0m]\u001b[0m\n",
      "\n",
      "\u001b[2m2025-10-22T18:03:55.296647\u001b[0m [\u001b[32m\u001b[1minfo     \u001b[0m] \u001b[1mThe HTML file has been stored on your home directory! Navigate there with cd ~\u001b[0m [\u001b[0m\u001b[1m\u001b[34mcognee.shared.logging_utils\u001b[0m]\u001b[0m\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "'/Users/daulet/graph_visualization.html'"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import webbrowser\n",
    "import os\n",
    "from cognee.api.v1.visualize.visualize import visualize_graph\n",
    "html = await visualize_graph()\n",
    "home_dir = os.path.expanduser(\"~\")\n",
    "html_file = os.path.join(home_dir, \"graph_visualization.html\")\n",
    "display(html_file)\n",
    "webbrowser.open(f\"file://{html_file}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ff39326921b75273",
   "metadata": {},
   "source": [
    "## Understanding the Results\n",
    "\n",
    "The demonstration above shows how ontologies enhance our analysis by:\n",
    "\n",
    "1. **Making Connections**: \n",
    "   - Linking related medical concepts even when not explicitly stated\n",
    "   - Identifying relationships between symptoms, diseases, and risk factors\n",
    "\n",
    "2. **Standardizing Terms**: \n",
    "   - Unifying different ways of referring to the same medical condition\n",
    "   - Ensuring consistent terminology across documents\n",
    "\n",
    "3. **Enabling Inference**: \n",
    "   - Drawing conclusions based on ontological relationships\n",
    "   - Discovering implicit connections in the data\n",
    "\n",
    "## Next Steps\n",
    "\n",
    "To learn more about Cognee and ontologies:\n",
    "1. Check out the [Cognee documentation](https://docs.cognee.ai/)\n",
    "2. Explore more examples in the `examples` directory\n",
    "3. Try creating your own domain-specific ontology\n",
    "\n",
    "Remember to:\n",
    "- Place your scientific papers in the appropriate directory\n",
    "- Update the ontology path to point to your .owl file\n",
    "- Replace the API key with your own OpenAI key"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8d2a0fe555a7bc0f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mThe Kernel crashed while executing code in the current cell or a previous cell. \n",
      "\u001b[1;31mPlease review the code in the cell(s) to identify a possible cause of the failure. \n",
      "\u001b[1;31mClick <a href='https://aka.ms/vscodeJupyterKernelCrash'>here</a> for more info. \n",
      "\u001b[1;31mView Jupyter <a href='command:jupyter.viewOutput'>log</a> for further details."
     ]
    }
   ],
   "source": [
    "# Only exit in interactive mode, not during GitHub Actions\n",
    "import os\n",
    "\n",
    "# Skip exit if we're running in GitHub Actions\n",
    "if not os.environ.get('GITHUB_ACTIONS'):\n",
    "    print(\"Exiting kernel to clean up resources...\")\n",
    "    os._exit(0)\n",
    "else:\n",
    "    print(\"Skipping kernel exit - running in GitHub Actions\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "adb6601890237b6a",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": ".venv",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
