Koza is a Python library and CLI tool for transforming biomedical data and performing graph operations on Knowledge Graph Exchange (KGX) files. It provides two main capabilities:
Powerful DuckDB-based operations for KGX knowledge graphs:
- Join multiple KGX files with schema harmonization
- Split files by field values with format conversion
- Prune dangling edges and handle singleton nodes
- Append new data to existing databases with schema evolution
- Multi-format support for TSV, JSONL, and Parquet files
Transform biomedical data sources into KGX format:
- Transform csv, json, yaml, jsonl, and xml to target formats
- Output in KGX format
- Write data transforms in semi-declarative Python
- Configure source files, columns/properties, and metadata in YAML
- Create mapping files and translation tables between vocabularies
Koza is available on PyPi and can be installed via pip/pipx:
[pip|pipx] install koza
See the Koza documentation for complete usage information.
- Native support for TSV, JSONL, and Parquet KGX files
- Automatic format detection and conversion
- Mixed-format operations in single commands
- Automatic schema harmonization across heterogeneous files
- Schema evolution with backward compatibility
- Comprehensive schema reporting and validation
- DuckDB-powered operations for fast bulk processing
- Memory-efficient handling of large knowledge graphs
- Parallel processing and streaming where possible
- Progress indicators for long-running operations
- Detailed statistics and operation summaries
- Dry-run modes for safe operation preview
- Dangling edge detection and preservation
- Duplicate detection and removal strategies
- Non-destructive operations with data archiving
