Skip to content

ArgosML-tech/link_analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Link Analysis Platform

English

Overview

Link Analysis Platform is a compact full-stack application for relational investigation, due diligence, compliance analysis, and fraud review.

It lets analysts:

  • ingest graph data from tabular CSV and Excel files through a two-path upload model
  • explore entities and relationships in an interactive graph
  • compute shortest paths and connected communities
  • run configurable risk scoring
  • export HTML reports
  • manage ontology, snapshots, and outbound webhooks
  • ask graph-aware questions through a chat assistant

Current Product Scope

The current implementation includes:

  • React 19 frontend with a graph-first investigation workspace
  • Express API mounted from server.ts
  • SQLite persistence in data/graph.db
  • runtime-editable ontology stored in ontology_config.json
  • guided ingestion via /api/ingest/wizard/*
  • session-based analysis-builder workflows via /api/analysis/*
  • JWT authentication with viewer, analyst, and admin roles
  • audit logging for key actions
  • Anthropic-backed chat assistance for graph Q&A

Main User Capabilities

  • Graph exploration with search, type filters, node inspection, edge inspection, and multiple views
  • Shortest-path tracing between two entities
  • Community detection
  • Risk analysis with graph overlay and downloadable HTML report
  • Snapshot save, load, delete, and restore workflows
  • Ontology editing for entity types, relationship types, and risk rules
  • Webhook configuration and delivery testing
  • Analysis Builder for profiling, normalization, entity suggestion, relationship proposal, risk proposal, and final publish/import flows

Current File Ingestion Model

The repository currently has two active tabular ingestion paths.

  • Guided Ingestion Wizard under /api/ingest/wizard/*
  • Analysis Builder under /api/analysis/*

The wizard is the shorter mapping flow.

  • POST /api/ingest/wizard/preview accepts a multipart file
  • supported inputs are csv, xlsx, and xls
  • the response returns file_id, file_type, columns, preview, and total_rows
  • POST /api/ingest/wizard/confirm consumes file_id, file_type, node_definitions, edge_definitions, and optional dry_run

The Analysis Builder is the richer session-based flow.

  • POST /api/analysis/session creates a session_id from an uploaded file and returns a file_key
  • POST /api/analysis/session/:id/file adds another file to the same session
  • POST /api/analysis/session/:id/normalize stores normalization rules per file_key
  • POST /api/analysis/session/:id/entities, relationships, and risk-proposals progressively accept the model
  • POST /api/analysis/session/:id/confirm finalizes with mode: model_only | model_and_data and optional dry_run

There is no longer a live smart ingest route. Older planning documents that mention it should be read as historical context only.

Tech Stack

Layer Technology
Frontend React 19, TypeScript, Vite, Tailwind CSS
Visualization react-force-graph-2d
Backend Node.js, Express 4, tsx
Database SQLite with better-sqlite3
Auth JWT + bcryptjs
AI Anthropic HTTP API

Local Development

Requirements

  • Node.js 18+
  • npm 9+

Install

npm install

Configure environment

Create .env from .env.example and set at least:

ANTHROPIC_API_KEY=your_anthropic_api_key_here
JWT_SECRET=replace_this_with_a_long_random_secret

Run

npm run dev

The application listens on http://localhost:3000.

Build and production-style run

npm run build
npm run start

Default Bootstrap

If the users table is empty on startup, the backend creates:

  • username: admin
  • password: admin123

Change or remove that credential outside disposable local environments.

Important Files

  • server.ts: API bootstrap and frontend serving
  • src/App.tsx: main application shell
  • server/routes/: HTTP routes grouped by domain
  • server/db.ts: SQLite schema bootstrap
  • ontology_config.json: active ontology and risk rules
  • docs/: implementation-aligned technical and business documentation

Documentation Map

  • docs/README.md: documentation index
  • docs/architecture.md: system architecture and runtime model
  • docs/api.md: endpoint inventory and contracts
  • docs/data-model.md: persistence, ontology, graph, and audit model
  • docs/operations.md: runtime and deployment notes
  • docs/templates/: reusable use-case templates and mapping references

Notes

  • The active AI integration in the backend is Anthropic-based.
  • package.json still includes @google/genai, but the current documented backend flows use Anthropic endpoints.
  • The application currently hardcodes port 3000 in server.ts.

Español

Visión general

Link Analysis Platform es una aplicación full-stack compacta para investigación relacional, due diligence, análisis de compliance y revisión de fraude.

Permite a los analistas:

  • ingerir datos de grafo desde ficheros tabulares CSV y Excel mediante un modelo de carga con dos rutas activas
  • explorar entidades y relaciones en un grafo interactivo
  • calcular caminos más cortos y comunidades conectadas
  • ejecutar scoring de riesgo configurable
  • exportar informes HTML
  • gestionar ontología, snapshots y webhooks salientes
  • hacer preguntas sobre el grafo mediante un asistente conversacional

Alcance actual del producto

La implementación actual incluye:

  • frontend en React 19 con un workspace de investigación centrado en grafo
  • API Express montada desde server.ts
  • persistencia SQLite en data/graph.db
  • ontología editable en runtime guardada en ontology_config.json
  • ingesta guiada mediante /api/ingest/wizard/*
  • flujos basados en sesión de Analysis Builder mediante /api/analysis/*
  • autenticación JWT con roles viewer, analyst y admin
  • auditoría de acciones clave
  • asistencia conversacional basada en Anthropic para preguntas sobre el grafo

Capacidades principales para usuario

  • Exploración de grafo con búsqueda, filtros por tipo, inspección de nodos, inspección de relaciones y varias vistas
  • Trazado de camino más corto entre dos entidades
  • Detección de comunidades
  • Análisis de riesgo con overlay en el grafo e informe HTML descargable
  • Flujos de guardar, cargar, borrar y restaurar snapshots
  • Edición de ontología para tipos de entidad, tipos de relación y reglas de riesgo
  • Configuración y prueba de entrega de webhooks
  • Analysis Builder para perfilado, normalización, sugerencia de entidades, propuesta de relaciones, propuesta de riesgos y publicación/importación final

Modelo actual de carga de ficheros

El repositorio tiene hoy dos rutas activas de ingesta tabular.

  • Guided Ingestion Wizard bajo /api/ingest/wizard/*
  • Analysis Builder bajo /api/analysis/*

El wizard es el flujo corto de mapeo.

  • POST /api/ingest/wizard/preview acepta un file multipart
  • los formatos soportados son csv, xlsx y xls
  • la respuesta devuelve file_id, file_type, columns, preview y total_rows
  • POST /api/ingest/wizard/confirm consume file_id, file_type, node_definitions, edge_definitions y dry_run opcional

El Analysis Builder es el flujo rico basado en sesión.

  • POST /api/analysis/session crea un session_id desde un fichero subido y devuelve un file_key
  • POST /api/analysis/session/:id/file añade otro fichero a la misma sesión
  • POST /api/analysis/session/:id/normalize guarda reglas de normalización por file_key
  • POST /api/analysis/session/:id/entities, relationships y risk-proposals aceptan progresivamente el modelo
  • POST /api/analysis/session/:id/confirm finaliza con mode: model_only | model_and_data y dry_run opcional

Ya no existe una ruta viva de smart ingest. Los documentos antiguos que la mencionen deben leerse solo como contexto histórico.

Stack técnico

Capa Tecnología
Frontend React 19, TypeScript, Vite, Tailwind CSS
Visualización react-force-graph-2d
Backend Node.js, Express 4, tsx
Base de datos SQLite con better-sqlite3
Autenticación JWT + bcryptjs
IA API HTTP de Anthropic

Desarrollo local

Requisitos

  • Node.js 18 o superior
  • npm 9 o superior

Instalación

npm install

Configuración de entorno

Crea .env a partir de .env.example y define al menos:

ANTHROPIC_API_KEY=your_anthropic_api_key_here
JWT_SECRET=replace_this_with_a_long_random_secret

Ejecución

npm run dev

La aplicación escucha en http://localhost:3000.

Build y arranque tipo producción

npm run build
npm run start

Bootstrap inicial

Si la tabla users está vacía al arrancar, el backend crea:

  • usuario: admin
  • contraseña: admin123

Conviene cambiar o eliminar esa credencial fuera de entornos locales desechables.

Archivos importantes

  • server.ts: arranque de API y servido del frontend
  • src/App.tsx: shell principal de la aplicación
  • server/routes/: rutas HTTP agrupadas por dominio
  • server/db.ts: bootstrap del esquema SQLite
  • ontology_config.json: ontología activa y reglas de riesgo
  • docs/: documentación técnica y de negocio alineada con la implementación

Mapa de documentación

  • docs/README.md: índice de documentación
  • docs/architecture.md: arquitectura del sistema y modelo de ejecución
  • docs/api.md: inventario de endpoints y contratos
  • docs/data-model.md: persistencia, ontología, grafo y modelo de auditoría
  • docs/operations.md: notas de ejecución y despliegue
  • docs/templates/: plantillas reutilizables por caso de uso y referencias de mapeo

Notas

  • La integración de IA activa en backend está basada en Anthropic.
  • package.json todavía incluye @google/genai, pero los flujos backend documentados hoy usan endpoints de Anthropic.
  • La aplicación actualmente fija el puerto 3000 directamente en server.ts.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages