Skip to content

File formats

TL;DR

The canonical network file is a sparse directed edge table with integer occupations. Zero occupations are dropped and negative or fractional values are rejected.

Edge table schema

Column Type Rule
source integer non-negative node id
target integer non-negative node id
weight integer non-negative occupation; zero rows are ignored

Example CSV:

source,target,weight
0,1,12
0,2,3
2,1,7

Supported edge formats

Extension Format Read Write
.csv CSV yes yes
.tsv, .tab TSV yes yes
.parquet, .pq Apache Parquet yes yes
.arrow, .ipc, .feather Arrow IPC yes yes
.graphml GraphML yes no
.mtx, .mm Matrix Market yes no
.net, .paj Pajek yes no

Probability/rate table schema

Custom sparse probabilities use:

Column Meaning
source source node id
target target node id
probability value in [0, 1]

Some custom Poisson filter paths use the same sparse pair idea with a rate column at the CLI boundary.

Python I/O

from menobis.data.io import read_edges, write_edges

edges = read_edges("network.csv")
write_edges(edges, "network.parquet")

CLI scope

The installed CLI currently exposes fit, generate, and filter. Use the Python I/O functions for format conversion.