Skip to main content

Turingdb graph database adapter for cognee

Project description

Cognee Community TuringDB Graph Adapter

This is a community-maintained adapter that enables Cognee to work with TuringDB as a graph database.

Installation

pip install cognee-community-graph-adapter-turingdb

Usage

import asyncio
import os
import pathlib
from os import path
from cognee import config, prune, add, cognify, search, SearchType

# Import the register module to enable TuringDB support
from cognee_community_graph_adapter_turingdb import register

async def main():
    # Set up local directories
    system_path = pathlib.Path(__file__).parent
    config.system_root_directory(path.join(system_path, ".cognee_system"))
    config.data_root_directory(path.join(system_path, ".cognee_data"))
    
    # Configure databases
    config.set_relational_db_config({
        "db_provider": "sqlite",
    })
    
    # Configure TuringDB as the graph database
    config.set_graph_db_config({
        "graph_database_provider": "turingdb",
        "graph_database_url": os.getenv("GRAPH_DB_URL", "http://localhost:6666"),
    })
    
    # Optional: Clean previous data
    await prune.prune_data()
    await prune.prune_system(metadata=True)
    
    # Add and process your content
    await add("""
    Natural language processing (NLP) is an interdisciplinary
    subfield of computer science and information retrieval.
    """)
    
    await add("""
    Sandwiches are best served toasted with cheese, ham, mayo,
    lettuce, mustard, and salt & pepper.          
    """)
    
    await cognify()
    
    # Search using graph completion
    query_text = "Tell me about NLP"
    search_results = await search(
        query_type=SearchType.GRAPH_COMPLETION,
        query_text=query_text
    )
    
    for result in search_results:
        print("\nSearch result: \n" + result)

if __name__ == "__main__":
    asyncio.run(main())

Configuration

The TuringDB adapter can be configured as a graph database. The following configuration parameters are available:

Database Configuration:

  • graph_database_provider: Set to "turingdb"
  • graph_database_url: Your TuringDB server url (default: "http://localhost:6666")

Environment Variables

Set the following environment variables or pass them directly in the config, or set the in the .env file:

export GRAPH_DB_URL="http://localhost:6666"

Alternative: You can also use the .env.template file from the main cognee repository. Copy it to your project directory, rename it to .env, and fill in your TuringDB configuration values.

Requirements

  • Python >= 3.11, <= 3.13
  • turingdb >= 1.22.0
  • cognee >= 0.5.2

This adapter allows Cognee to leverage TuringDB's capabilities for advanced knowledge graph operations.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file cognee_community_graph_adapter_turingdb-0.1.0.tar.gz.

File metadata

File hashes

Hashes for cognee_community_graph_adapter_turingdb-0.1.0.tar.gz
Algorithm Hash digest
SHA256 278c18f37946e43ce086da5307e8a4a984e5ba1d3064b522a0b8916f9e643af8
MD5 36ef62fd54498332612e9762d14abb33
BLAKE2b-256 9f774d245119ec8713f38a3d166c059141407b45d5706a345770b34e4f89c512

See more details on using hashes here.

File details

Details for the file cognee_community_graph_adapter_turingdb-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for cognee_community_graph_adapter_turingdb-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 48b469ff3112c24f2ed7252f1632b6724efceca130028fff34b722399d9f2db3
MD5 7594cd3b3abc075a081268b6d6f02047
BLAKE2b-256 a1067690240cac4764c4758d74c946a3b98506bb0f176c6c802ba02ecbf118fc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page