Files
fn_registry/python/functions/datascience/ops_to_sigma_json.md
T
egutierrez f851988d6f feat: funciones datascience — ops_to_rdf_triples, ops_to_sigma_json, render_sigma_html
Conversión de operations.db a triples RDF y formato sigma.js, más
renderizado HTML standalone con dark theme y ForceAtlas2 layout.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 22:03:51 +02:00

1.5 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, tested, tests, test_file_path, file_path
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports tested tests test_file_path file_path
ops_to_sigma_json function py datascience 1.0.0 pure def ops_to_sigma_json(db_path: str) -> dict Convierte operations.db al formato JSON de sigma.js/graphology. Lee entities y relations, asigna colores por tipo y calcula tamanio de nodo combinando degree y risk_score.
graph
sigma
osint
visualization
operations
network
false
json
sqlite3
false
python/functions/datascience/ops_to_sigma_json.py

Ejemplo

from datascience.ops_to_sigma_json import ops_to_sigma_json

graph = ops_to_sigma_json("apps/my_analysis/operations.db")
print(len(graph["nodes"]))  # numero de entidades
print(len(graph["edges"]))  # numero de relaciones

Notas

Funcion pura en el sentido de que no escribe ningun archivo ni tiene efectos secundarios observables mas alla de abrir y cerrar la conexion SQLite en modo lectura.

COLOR_MAP cubre los tipos de entidad OSINT mas comunes. Tipos desconocidos reciben #95a5a6 (gris).

El tamanio del nodo (size) se calcula en el rango [5, 20]:

  • Si la entidad tiene risk_score en metadata: (degree_norm + risk_norm) / 2
  • Si no: degree_norm puro
  • degree_norm = min(degree / 50, 1.0)

La metadata se aplana como atributos adicionales del nodo, sin sobrescribir campos reservados (label, type, color, size, domain, status).