Skip to main content

OntoSight: A flexible, AI-ready visualization engine for interactive knowledge graphs and hypergraphs.

Project description

OntoSight 🔍

OntoSight Banner

PyPI Version Python Version License Interactive UI

English | 简体中文

Interactive Visualization Engine for AI-Enhanced Knowledge Graphs & Hypergraphs

OntoSight is a lightweight yet powerful Python library designed to bridge the gap between static graph visualizations and dynamic AI-driven exploration. It allows developers to create highly interactive, searchable, and "chat-ready" visualizations for complex knowledge structures with just a few lines of code.


🌟 Key Features

  • Standard & Hypergraph Support: Seamlessly switch between traditional node-edge graphs and advanced hypergraphs.
  • AI-Ready Callbacks: Flexible on_search and on_chat hooks to integrate with any LLM (GPT-4, Claude, Llama 3) or Vector Database (Milvus, Pinecone, Chroma).
  • Interactive Exploration: Built-in detail panels, filtering, and real-time highlighting.
  • Framework Agnostic: Works with any data source. Define your schema using Pydantic and let OntoSight handle the rest.
  • Developer First: Python-native API with automatic web-server management and browser launching.

📸 Visualization Previews

1. Core Architectures

OntoSight supports both traditional graphs and hypergraphs with a unified interface.

Graph Hypergraph

2. Intelligent Search (Vector DB Ready)

Define custom search callbacks to highlight matching subgraphs via embedding-based retrieval.

Search in Graph Search in Hypergraph

3. GraphRAG & AI Chat

Seamlessly connect your Graph to LLMs. Auto-highlight relevant entities while generating textual answers.

AI Chat (Graph) AI Chat (Hypergraph)

🚀 Quick Start

Installation

pip install ontosight

Basic Usage

Define your data structure using Pydantic models:

from pydantic import BaseModel
from ontosight import view_graph

class Entity(BaseModel):
    name: str
    type: str

class Relation(BaseModel):
    source: str
    target: str
    relation: str

# Your data
nodes = [Entity(name="Alice", type="Person"), Entity(name="Wonderland", type="Place")]
edges = [Relation(source="Alice", target="Wonderland", relation="visits")]

# Launch visualization
view_graph(
    node_list=nodes,
    edge_list=edges,
    node_schema=Entity,
    edge_schema=Relation,
    node_id_extractor=lambda n: n.name,
    node_ids_in_edge_extractor=lambda e: (e.source, e.target),
    edge_label_extractor=lambda e: e.relation
)

🧠 AI Integration (The "Sight" in OntoSight)

OntoSight is built for the Age of AI. While it doesn't ship with a specific LLM, it provides the "plumbing" to make your graph interactive and intelligent.

Flexible Search (Vector DB Ready)

You can define a custom search callback to perform semantic search using embedding models.

def my_vector_search(query: str):
    # Logic to call your Vector DB (e.g., Milvus)
    # returns matching_nodes, matching_edges
    pass

view_graph(..., on_search=my_vector_search)

GraphRAG & Chat

Connect a Chat interface directly to your Graph. When a user asks a question, the LLM can provide a textual answer, and OntoSight will auto-highlight the relevant subgraph.

def my_chat_handler(question: str):
    # 1. Send question to LLM (e.g., GPT-4)
    # 2. Get relevant nodes/edges from your Retrieval logic
    return "Alice is in Wonderland.", (relevant_nodes, relevant_edges)

view_graph(..., on_chat=my_chat_handler)

🛠 Advanced Features

  • Schema-Driven Detail Panels: Automatically generates UI panels based on your Pydantic models.
  • Hypergraph Modeling: Visualize relationships between multiple nodes simultaneously.

📄 License

OntoSight is released under the Apache License 2.0.

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

ontosight-0.1.0.tar.gz (2.9 MB view details)

Uploaded Source

Built Distribution

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

ontosight-0.1.0-py3-none-any.whl (2.9 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ontosight-0.1.0.tar.gz
  • Upload date:
  • Size: 2.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for ontosight-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4a440eb041e1ffdfdc1ceabc9e13917f65bc5c88a775431a538443af85613ca3
MD5 5e5501a22250c7dac3e76cfa2bd1675b
BLAKE2b-256 a3c8a8da307f70b2b57dbb90a45585f14044b03afcea35115ae039ae2047ee29

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ontosight-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for ontosight-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 919d3813be22d3606a0f9e93d9497f90c9342c01b3fdc43bc89370f5a1c508e6
MD5 29d21012e75f4f9b8d637814b3dc9a47
BLAKE2b-256 7aba233ab1d1c7ff7652a1320bf07f02191d68efbe5d83f984bbcb78904b2ec6

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