Explanations
This section explains how annnet represents a graph, how its state changes, and how graph data moves between annnet and other tools. Follow the sections in order for the main path, or jump directly to a topic.
1. Understand the model
Principles and architecture
- Design principles: the choices that shape the package.
- Package architecture: the main modules and how they fit together.
- Internal representation: canonical storage, indices, and attribute tables.
Identity and representation
- Edge tables, ids, and formats: what an edge identity means and what each format can preserve.
- Incidence representation: how graph structure appears in incidence matrices.
2. Work with graph state
Inspect and change
- Reading the graph: choose the right frame and namespace for a query.
- Adding edges: accepted edge inputs and how they are dispatched.
- Mutation and derived state: what writes maintain and what reads derive.
Layers and context
- Aspects, order, and windows: organize layers and select them as a query.
- Multilayer and multi-aspect graphs: model structure across layer coordinates.
- Slices and views: work with contexts without duplicating the graph.
Values
- Node-layer values: attach, read, and interpret values on node-layer pairs.
3. Connect and persist
Interoperate
- Interoperability: convert graphs while making projections explicit.
- Storage and IO: persist native state and exchange it with other formats.
Track changes
- Tracking changes: use mutation history, snapshots, and diffs.
When you need exact signatures, parameters, attributes, or methods, use the API reference. For runnable examples, use the Notebook Gallery.