See How Your Ideas Connect

Interactive force-directed graph visualization of document connections. Explore wiki links, markdown links, and semantic similarity as a navigable constellation. CLI, Web UI, and API access.

Key Benefits

  • Interactive force-directed visualization
  • Wiki links, markdown links, and similarity edges
  • Filter by collection
  • Click nodes to navigate to documents
  • Zoom, pan, and explore
  • CLI and REST API access

Example Commands

gno graph gno graph --collection notes gno serve # then /graph

Get Started

Ready to try Knowledge Graph?

Visualize Your Knowledge

See your document connections at a glance. The Knowledge Graph renders your notes as an interactive constellation—nodes are documents, edges are links between them.

Knowledge Graph

What You’ll See

  • Wiki links: [[Document Name]] connections shown as teal edges
  • Markdown links: [text](path.md) shown as lighter edges
  • Similar documents: Optional gold edges for semantically related notes (requires vector index)

Web UI

Access the graph at http://localhost:3000/graph after starting the server:

gno serve
  • Click a node to navigate to that document
  • Hover to see document title and connection count
  • Scroll to zoom in/out
  • Drag to pan the view
  • Use the +/- buttons for zoom controls

Filtering

  • Collection filter: Focus on a single collection
  • Similar toggle: Show/hide semantic similarity edges (golden lines)

Legend

The bottom-right legend shows edge types:

  • Teal: Wiki links ([[...]])
  • Light teal: Markdown links ([...](...))
  • Gold: Similarity connections (when enabled)

CLI Access

Generate graph data from the command line:

# Full graph
gno graph

# Filter by collection
gno graph --collection notes

# JSON output
gno graph --json

# Include similarity edges
gno graph --similar

# Limit nodes/edges
gno graph --limit 500 --edge-limit 2000

Options

Flag Description Default
--collection Filter to single collection all
--limit Max nodes to return 2000
--edge-limit Max edges to return 10000
--similar Include similarity edges false
--threshold Similarity threshold (0-1) 0.7
--linked-only Exclude isolated nodes true
--json JSON output false

REST API

Programmatic access via HTTP:

# Basic graph
curl http://localhost:3000/api/graph

# With options
curl "http://localhost:3000/api/graph?collection=notes&includeSimilar=true&limit=1000"

Query Parameters

Param Description Default
collection Filter to collection -
limit Max nodes 2000
edgeLimit Max edges 10000
includeSimilar Include similarity edges false
threshold Similarity threshold (0-1) 0.7
linkedOnly Exclude isolated nodes true
similarTopK Similar docs per node 5

Response

{
  "nodes": [
    {
      "id": "doc-123",
      "uri": "notes/my-note.md",
      "title": "My Note",
      "collection": "notes",
      "relPath": "my-note.md",
      "degree": 5
    }
  ],
  "links": [
    {
      "source": "doc-123",
      "target": "doc-456",
      "type": "wiki",
      "weight": 1
    }
  ],
  "meta": {
    "totalNodes": 150,
    "totalEdges": 320,
    "truncated": false
  }
}

Use Cases

  • Knowledge exploration: Discover unexpected connections
  • Documentation audit: Find orphaned or poorly-connected docs
  • Research navigation: Follow citation chains visually
  • Onboarding: Help new team members understand doc structure
  • Content planning: Identify gaps in your knowledge base

Performance

The graph handles large collections efficiently:

  • Default limits: 2000 nodes, 10000 edges
  • Particle animations disabled for 500+ edges
  • Lazy-loaded graph library (~250KB)
  • Client-side caching for smooth navigation

For very large graphs, filter by collection or adjust limits.

Getting Started

# Index your documents
gno index

# Start the web server
gno serve

# Open the graph
# http://localhost:3000/graph

Or via CLI:

gno graph --json | jq '.nodes | length'
# 142