Visualizador Instanciados

Docker Compose stack for exploring large RDF/OWL graphs stored in AnzoGraph.

What Runs Here

  • anzograph: SPARQL store
  • backend: Go API that queries AnzoGraph and serves cached graph snapshots
  • frontend: React/Vite app with a WebGL left graph and a right-side cosmos.gl selection graph
  • owl_imports_combiner: one-shot Python service that can merge owl:imports
  • radial_sugiyama: Rust hierarchy layout pipeline used in two ways:
    • standalone SVG generator through the radial Compose profile
    • optional hierarchy layout engine for the Go backend

Current Flow

  • The backend always builds graph snapshots from SPARQL queries against AnzoGraph.
  • graph_query_id=default and graph_query_id=types use the Go layout path.
  • graph_query_id=hierarchy can use either:
    • the Go layout path
    • the Rust radial Sugiyama path when HIERARCHY_LAYOUT_ENGINE=rust
  • When the Rust hierarchy path is enabled, the backend sends the hierarchy graph to Rust over JSON, Rust lays it out, returns node positions + routed edge segments, and also rewrites:
radial_sugiyama/out/layout.svg

That SVG is a debug artifact for the exact Rust layout run used by the backend.

Quick Start

  1. Put your TTL files under ./data/.
  2. Copy or edit .env as needed.
  3. Start the stack:
docker compose up --build

Open:

  • Frontend: http://localhost:5173
  • Backend health: http://localhost:8000/api/health

Stop:

docker compose down

Rust Hierarchy Layout

To use Rust for the hierarchy graph mode, set this in the repo root .env:

HIERARCHY_LAYOUT_ENGINE=rust

The backend also reads radial_sugiyama/.env for the Rust layout settings such as:

  • RADIAL_ROOT_CLASS_IRI
  • RADIAL_OUTPUT_DIR
  • RADIAL_OUTPUT_FILE
  • RADIAL_RING_DISTRIBUTION

The debug SVG for backend-driven hierarchy requests is written to:

radial_sugiyama/out/layout.svg

You can still run the standalone Rust SVG pipeline directly with:

docker compose --profile radial up --build radial_sugiyama

Main API

  • GET /api/health
  • GET /api/stats
  • GET /api/graph
  • GET /api/graph_queries
  • GET /api/selection_queries
  • POST /api/selection_query
  • POST /api/selection_triples
  • POST /api/sparql

Repo Layout

  • backend_go/ Go API and SPARQL snapshot logic
  • frontend/ React/Vite UI
  • radial_sugiyama/ Rust hierarchy layout and SVG export
  • python_services/owl_imports_combiner/ import-flattening helper
  • data/ local shared data mounted into containers
  • docker-compose.yml service wiring
Description
No description provided
Readme 7.9 MiB
Languages
Rust 38.2%
TypeScript 30.8%
Go 29.3%
Python 1.1%
Dockerfile 0.4%
Other 0.1%