Slices
Slices represent subgraphs with their own membership and attributes. This
page covers both the manager API and the mixin used by AnnNet.
Slice Manager
annnet.core._Slices.SliceManager
Manager for graph slice operations.
Provides organized namespace for slice operations by delegating to AnnNet methods. All heavy lifting is done by the AnnNet class; this is just a clean API surface.
Attributes
_G = graph
instance-attribute
active
property
writable
Get active slice ID.
Returns:
| Type | Description |
|---|---|
str
|
|
Notes
Delegates to AnnNet.get_active_slice().
Functions
__init__(graph)
add(slice_id, **attributes)
Create new slice.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_id
|
str
|
Slice identifier. |
required |
**attributes
|
Slice attributes to store. |
{}
|
Returns:
| Type | Description |
|---|---|
str
|
Created slice ID. |
Notes
Delegates to AnnNet.add_slice().
remove(slice_id)
Remove slice.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_id
|
str
|
Slice identifier. |
required |
Notes
Delegates to AnnNet.remove_slice().
list(include_default=False)
List slice IDs.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
include_default
|
bool
|
Include the internal default slice if True. |
False
|
Returns:
| Type | Description |
|---|---|
list[str]
|
|
Notes
Delegates to AnnNet.list_slices().
exists(slice_id)
Check if slice exists.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_id
|
str
|
Slice identifier. |
required |
Returns:
| Type | Description |
|---|---|
bool
|
|
Notes
Delegates to AnnNet.has_slice().
info(slice_id)
Get slice metadata.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_id
|
str
|
Slice identifier. |
required |
Returns:
| Type | Description |
|---|---|
dict
|
|
Notes
Delegates to AnnNet.get_slice_info().
count()
Get number of slices.
Returns:
| Type | Description |
|---|---|
int
|
|
Notes
Delegates to AnnNet.slice_count().
vertices(slice_id)
Get vertices in slice.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_id
|
str
|
Slice identifier. |
required |
Returns:
| Type | Description |
|---|---|
set[str]
|
|
Notes
Delegates to AnnNet.get_slice_vertices().
edges(slice_id)
Get edges in slice.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_id
|
str
|
Slice identifier. |
required |
Returns:
| Type | Description |
|---|---|
set[str]
|
|
Notes
Delegates to AnnNet.get_slice_edges().
union(slice_ids)
Compute union of slices (returns dict, doesn't create slice).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_ids
|
list[str]
|
Slices to union. |
required |
Returns:
| Type | Description |
|---|---|
dict
|
|
Notes
Delegates to AnnNet.slice_union().
intersect(slice_ids)
Compute intersection of slices (returns dict, doesn't create slice).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_ids
|
list[str]
|
Slices to intersect. |
required |
Returns:
| Type | Description |
|---|---|
dict
|
|
Notes
Delegates to AnnNet.slice_intersection().
difference(slice_a, slice_b)
Compute set difference (returns dict, doesn't create slice).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_a
|
str
|
First slice. |
required |
slice_b
|
str
|
Second slice. |
required |
Returns:
| Type | Description |
|---|---|
dict
|
Elements in |
Notes
Delegates to AnnNet.slice_difference().
union_create(slice_ids, name, **attributes)
Create new slice as union of existing slices.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_ids
|
list[str]
|
Slices to union. |
required |
name
|
str
|
New slice name. |
required |
**attributes
|
Slice attributes. |
{}
|
Returns:
| Type | Description |
|---|---|
str
|
Created slice ID. |
Notes
Combines AnnNet.slice_union() with AnnNet.create_slice_from_operation().
intersect_create(slice_ids, name, **attributes)
Create new slice as intersection of existing slices.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_ids
|
list[str]
|
Slices to intersect. |
required |
name
|
str
|
New slice name. |
required |
**attributes
|
Slice attributes. |
{}
|
Returns:
| Type | Description |
|---|---|
str
|
Created slice ID. |
Notes
Combines AnnNet.slice_intersection() with AnnNet.create_slice_from_operation().
difference_create(slice_a, slice_b, name, **attributes)
Create new slice as difference of two slices.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_a
|
str
|
First slice. |
required |
slice_b
|
str
|
Second slice. |
required |
name
|
str
|
New slice name. |
required |
**attributes
|
Slice attributes. |
{}
|
Returns:
| Type | Description |
|---|---|
str
|
Created slice ID. |
Notes
Combines AnnNet.slice_difference() with AnnNet.create_slice_from_operation().
aggregate(source_slice_ids, target_slice_id, method='union', weight_func=None, **attributes)
Create aggregated slice from multiple sources.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
source_slice_ids
|
list[str]
|
Source slices. |
required |
target_slice_id
|
str
|
Target slice name. |
required |
method
|
(union, intersection)
|
Aggregation method. |
'union'
|
weight_func
|
callable
|
Weight merging function (reserved). |
None
|
**attributes
|
Slice attributes. |
{}
|
Returns:
| Type | Description |
|---|---|
str
|
Created slice ID. |
Notes
Delegates to AnnNet.create_aggregated_slice().
stats(include_default=False)
Get statistics for all slices.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
include_default
|
bool
|
Include the internal default slice. |
False
|
Returns:
| Type | Description |
|---|---|
dict[str, dict]
|
Mapping of slice ID to stats. |
Notes
Delegates to AnnNet.slice_statistics().
vertex_presence(vertex_id, include_default=False)
Find slices containing a vertex.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
vertex_id
|
str
|
Vertex to search for. |
required |
include_default
|
bool
|
Include the internal default slice. |
False
|
Returns:
| Type | Description |
|---|---|
list[str]
|
|
Notes
Delegates to AnnNet.vertex_presence_across_slices().
edge_presence(edge_id=None, source=None, target=None, include_default=False, undirected_match=None)
Find slices containing an edge.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
edge_id
|
str
|
Edge ID to search for. |
None
|
source
|
str
|
Source vertex (with target). |
None
|
target
|
str
|
Target vertex (with source). |
None
|
include_default
|
bool
|
Include the internal default slice. |
False
|
undirected_match
|
bool
|
Allow symmetric matches. |
None
|
Returns:
| Type | Description |
|---|---|
list[str] | dict[str, list[str]]
|
If |
Notes
Delegates to AnnNet.edge_presence_across_slices().
hyperedge_presence(members=None, head=None, tail=None, include_default=False)
Find slices containing a hyperedge.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
members
|
Iterable[str]
|
Undirected hyperedge members. |
None
|
head
|
Iterable[str]
|
Directed hyperedge head. |
None
|
tail
|
Iterable[str]
|
Directed hyperedge tail. |
None
|
include_default
|
bool
|
Include the internal default slice. |
False
|
Returns:
| Type | Description |
|---|---|
dict[str, list[str]]
|
Mapping of slice ID to edge IDs. |
Notes
Delegates to AnnNet.hyperedge_presence_across_slices().
conserved_edges(min_slices=2, include_default=False)
Find edges present in multiple slices.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
min_slices
|
int
|
Minimum number of slices. |
2
|
include_default
|
bool
|
Include the internal default slice. |
False
|
Returns:
| Type | Description |
|---|---|
dict[str, int]
|
Mapping of edge ID to slice count. |
Notes
Delegates to AnnNet.conserved_edges().
specific_edges(slice_id)
Find edges unique to a slice.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_id
|
str
|
Slice identifier. |
required |
Returns:
| Type | Description |
|---|---|
set[str]
|
Edge IDs unique to this slice. |
Notes
Delegates to AnnNet.slice_specific_edges().
temporal_dynamics(ordered_slices, metric='edge_change')
Analyze temporal changes across slices.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
ordered_slices
|
list[str]
|
Slice IDs in chronological order. |
required |
metric
|
(edge_change, vertex_change)
|
What to track. |
'edge_change'
|
Returns:
| Type | Description |
|---|---|
list[dict]
|
Per-step changes with keys |
Notes
Delegates to AnnNet.temporal_dynamics().
summary()
Get human-readable summary of all slices.
Returns:
| Type | Description |
|---|---|
str
|
Formatted summary. |
__repr__()
Slice Mixin
annnet.core._Slices.SliceClass
Functions
add_slice(slice_id, **attributes)
Create a new empty slice.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_id
|
str
|
New slice identifier. |
required |
**attributes
|
Slice attributes to store. |
{}
|
Returns:
| Type | Description |
|---|---|
str
|
The created slice ID. |
Raises:
| Type | Description |
|---|---|
ValueError
|
If the slice already exists. |
set_active_slice(slice_id)
Set the active slice for subsequent operations.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_id
|
str
|
Existing slice ID. |
required |
Raises:
| Type | Description |
|---|---|
KeyError
|
If the slice does not exist. |
get_active_slice()
Get the currently active slice ID.
Returns:
| Type | Description |
|---|---|
str
|
Active slice ID. |
get_slices_dict(include_default=False)
Get a mapping of slice IDs to their metadata.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
include_default
|
bool
|
Include the internal |
False
|
Returns:
| Type | Description |
|---|---|
dict[str, dict]
|
Mapping of slice IDs to metadata dicts. |
list_slices(include_default=False)
List slice IDs.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
include_default
|
bool
|
Include the internal |
False
|
Returns:
| Type | Description |
|---|---|
list[str]
|
Slice IDs. |
has_slice(slice_id)
Check whether a slice exists.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_id
|
str
|
Slice identifier. |
required |
Returns:
| Type | Description |
|---|---|
bool
|
|
slice_count()
Get the number of slices (including the internal default).
Returns:
| Type | Description |
|---|---|
int
|
|
get_slice_info(slice_id)
Get a slice's metadata snapshot.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_id
|
str
|
Slice identifier. |
required |
Returns:
| Type | Description |
|---|---|
dict
|
Copy of |
Raises:
| Type | Description |
|---|---|
KeyError
|
If the slice does not exist. |
get_slice_vertices(slice_id)
Vertices in a slice.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_id
|
str
|
Slice identifier. |
required |
Returns:
| Type | Description |
|---|---|
set[str]
|
|
get_slice_edges(slice_id)
Edges in a slice.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_id
|
str
|
Slice identifier. |
required |
Returns:
| Type | Description |
|---|---|
set[str]
|
|
slice_union(slice_ids)
Union of multiple slices.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_ids
|
Iterable[str]
|
|
required |
Returns:
| Type | Description |
|---|---|
dict
|
|
slice_intersection(slice_ids)
Intersection of multiple slices.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_ids
|
Iterable[str]
|
|
required |
Returns:
| Type | Description |
|---|---|
dict
|
|
slice_difference(slice1_id, slice2_id)
Set difference: elements in slice1_id not in slice2_id.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice1_id
|
str
|
|
required |
slice2_id
|
str
|
|
required |
Returns:
| Type | Description |
|---|---|
dict
|
|
Raises:
| Type | Description |
|---|---|
KeyError
|
If either slice is missing. |
create_slice_from_operation(result_slice_id, operation_result, **attributes)
Create a new slice from the result of a set operation.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
result_slice_id
|
str
|
New slice identifier. |
required |
operation_result
|
dict
|
Output of |
required |
**attributes
|
Slice attributes. |
{}
|
Returns:
| Type | Description |
|---|---|
str
|
The created slice ID. |
Raises:
| Type | Description |
|---|---|
ValueError
|
If the target slice already exists. |
add_vertex_to_slice(lid, vid)
Attach an existing vertex to a slice.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
lid
|
str
|
Slice identifier. |
required |
vid
|
str
|
Vertex identifier. |
required |
Raises:
| Type | Description |
|---|---|
KeyError
|
If the slice does not exist. |
edge_presence_across_slices(edge_id=None, source=None, target=None, *, include_default=False, undirected_match=None)
Locate where an edge exists across slices.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
edge_id
|
str
|
If provided, match by ID (any kind: binary/vertex-edge/hyper). |
None
|
source
|
str
|
When used with |
None
|
target
|
str
|
|
None
|
include_default
|
bool
|
Include the internal default slice in the search. |
False
|
undirected_match
|
bool
|
When endpoint matching, allow undirected symmetric matches. |
None
|
Returns:
| Type | Description |
|---|---|
list[str] | dict[str, list[str]]
|
If |
Raises:
| Type | Description |
|---|---|
ValueError
|
If both modes (ID and endpoints) are provided or neither is valid. |
hyperedge_presence_across_slices(*, members=None, head=None, tail=None, include_default=False)
Locate slices containing a hyperedge with exactly these sets.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
members
|
Iterable[str]
|
Undirected member set (exact match). |
None
|
head
|
Iterable[str]
|
Directed head set (exact match). |
None
|
tail
|
Iterable[str]
|
Directed tail set (exact match). |
None
|
include_default
|
bool
|
|
False
|
Returns:
| Type | Description |
|---|---|
dict[str, list[str]]
|
Mapping of slice IDs to matching edge IDs. |
Raises:
| Type | Description |
|---|---|
ValueError
|
For invalid combinations or empty sets. |
vertex_presence_across_slices(vertex_id, include_default=False)
List slices containing a specific vertex.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
vertex_id
|
str
|
|
required |
include_default
|
bool
|
|
False
|
Returns:
| Type | Description |
|---|---|
list[str]
|
|
conserved_edges(min_slices=2, include_default=False)
Edges present in at least min_slices slices.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
min_slices
|
int
|
|
2
|
include_default
|
bool
|
|
False
|
Returns:
| Type | Description |
|---|---|
dict[str, int]
|
Mapping of edge ID to slice count. |
slice_specific_edges(slice_id)
Edges that appear only in the specified slice.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_id
|
str
|
|
required |
Returns:
| Type | Description |
|---|---|
set[str]
|
|
Raises:
| Type | Description |
|---|---|
KeyError
|
If the slice does not exist. |
temporal_dynamics(ordered_slices, metric='edge_change')
Compute changes between consecutive slices in a temporal sequence.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
ordered_slices
|
list[str]
|
Slice IDs in chronological order. |
required |
metric
|
(edge_change, vertex_change)
|
|
'edge_change'
|
Returns:
| Type | Description |
|---|---|
list[dict[str, int]]
|
Per-step dictionaries with keys |
Raises:
| Type | Description |
|---|---|
ValueError
|
If fewer than two slices are provided. |
KeyError
|
If a referenced slice does not exist. |
create_aggregated_slice(source_slice_ids, target_slice_id, method='union', weight_func=None, **attributes)
Create a new slice by aggregating multiple source slices.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
source_slice_ids
|
list[str]
|
|
required |
target_slice_id
|
str
|
|
required |
method
|
(union, intersection)
|
|
'union'
|
weight_func
|
callable
|
Reserved for future weight merging logic (currently unused). |
None
|
**attributes
|
Slice attributes. |
{}
|
Returns:
| Type | Description |
|---|---|
str
|
The created slice ID. |
Raises:
| Type | Description |
|---|---|
ValueError
|
For unknown methods or missing source slices, or if target exists. |
slice_statistics(include_default=False)
Basic per-slice statistics.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
include_default
|
bool
|
|
False
|
Returns:
| Type | Description |
|---|---|
dict[str, dict]
|
Mapping of slice ID to stats. |
Internal helpers
Manager for graph slice operations.
Provides organized namespace for slice operations by delegating to AnnNet methods. All heavy lifting is done by the AnnNet class; this is just a clean API surface.
Attributes
_G = graph
instance-attribute
active
property
writable
Get active slice ID.
Returns:
| Type | Description |
|---|---|
str
|
|
Notes
Delegates to AnnNet.get_active_slice().
Functions
__init__(graph)
add(slice_id, **attributes)
Create new slice.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_id
|
str
|
Slice identifier. |
required |
**attributes
|
Slice attributes to store. |
{}
|
Returns:
| Type | Description |
|---|---|
str
|
Created slice ID. |
Notes
Delegates to AnnNet.add_slice().
remove(slice_id)
Remove slice.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_id
|
str
|
Slice identifier. |
required |
Notes
Delegates to AnnNet.remove_slice().
list(include_default=False)
List slice IDs.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
include_default
|
bool
|
Include the internal default slice if True. |
False
|
Returns:
| Type | Description |
|---|---|
list[str]
|
|
Notes
Delegates to AnnNet.list_slices().
exists(slice_id)
Check if slice exists.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_id
|
str
|
Slice identifier. |
required |
Returns:
| Type | Description |
|---|---|
bool
|
|
Notes
Delegates to AnnNet.has_slice().
info(slice_id)
Get slice metadata.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_id
|
str
|
Slice identifier. |
required |
Returns:
| Type | Description |
|---|---|
dict
|
|
Notes
Delegates to AnnNet.get_slice_info().
count()
Get number of slices.
Returns:
| Type | Description |
|---|---|
int
|
|
Notes
Delegates to AnnNet.slice_count().
vertices(slice_id)
Get vertices in slice.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_id
|
str
|
Slice identifier. |
required |
Returns:
| Type | Description |
|---|---|
set[str]
|
|
Notes
Delegates to AnnNet.get_slice_vertices().
edges(slice_id)
Get edges in slice.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_id
|
str
|
Slice identifier. |
required |
Returns:
| Type | Description |
|---|---|
set[str]
|
|
Notes
Delegates to AnnNet.get_slice_edges().
union(slice_ids)
Compute union of slices (returns dict, doesn't create slice).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_ids
|
list[str]
|
Slices to union. |
required |
Returns:
| Type | Description |
|---|---|
dict
|
|
Notes
Delegates to AnnNet.slice_union().
intersect(slice_ids)
Compute intersection of slices (returns dict, doesn't create slice).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_ids
|
list[str]
|
Slices to intersect. |
required |
Returns:
| Type | Description |
|---|---|
dict
|
|
Notes
Delegates to AnnNet.slice_intersection().
difference(slice_a, slice_b)
Compute set difference (returns dict, doesn't create slice).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_a
|
str
|
First slice. |
required |
slice_b
|
str
|
Second slice. |
required |
Returns:
| Type | Description |
|---|---|
dict
|
Elements in |
Notes
Delegates to AnnNet.slice_difference().
union_create(slice_ids, name, **attributes)
Create new slice as union of existing slices.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_ids
|
list[str]
|
Slices to union. |
required |
name
|
str
|
New slice name. |
required |
**attributes
|
Slice attributes. |
{}
|
Returns:
| Type | Description |
|---|---|
str
|
Created slice ID. |
Notes
Combines AnnNet.slice_union() with AnnNet.create_slice_from_operation().
intersect_create(slice_ids, name, **attributes)
Create new slice as intersection of existing slices.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_ids
|
list[str]
|
Slices to intersect. |
required |
name
|
str
|
New slice name. |
required |
**attributes
|
Slice attributes. |
{}
|
Returns:
| Type | Description |
|---|---|
str
|
Created slice ID. |
Notes
Combines AnnNet.slice_intersection() with AnnNet.create_slice_from_operation().
difference_create(slice_a, slice_b, name, **attributes)
Create new slice as difference of two slices.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_a
|
str
|
First slice. |
required |
slice_b
|
str
|
Second slice. |
required |
name
|
str
|
New slice name. |
required |
**attributes
|
Slice attributes. |
{}
|
Returns:
| Type | Description |
|---|---|
str
|
Created slice ID. |
Notes
Combines AnnNet.slice_difference() with AnnNet.create_slice_from_operation().
aggregate(source_slice_ids, target_slice_id, method='union', weight_func=None, **attributes)
Create aggregated slice from multiple sources.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
source_slice_ids
|
list[str]
|
Source slices. |
required |
target_slice_id
|
str
|
Target slice name. |
required |
method
|
(union, intersection)
|
Aggregation method. |
'union'
|
weight_func
|
callable
|
Weight merging function (reserved). |
None
|
**attributes
|
Slice attributes. |
{}
|
Returns:
| Type | Description |
|---|---|
str
|
Created slice ID. |
Notes
Delegates to AnnNet.create_aggregated_slice().
stats(include_default=False)
Get statistics for all slices.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
include_default
|
bool
|
Include the internal default slice. |
False
|
Returns:
| Type | Description |
|---|---|
dict[str, dict]
|
Mapping of slice ID to stats. |
Notes
Delegates to AnnNet.slice_statistics().
vertex_presence(vertex_id, include_default=False)
Find slices containing a vertex.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
vertex_id
|
str
|
Vertex to search for. |
required |
include_default
|
bool
|
Include the internal default slice. |
False
|
Returns:
| Type | Description |
|---|---|
list[str]
|
|
Notes
Delegates to AnnNet.vertex_presence_across_slices().
edge_presence(edge_id=None, source=None, target=None, include_default=False, undirected_match=None)
Find slices containing an edge.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
edge_id
|
str
|
Edge ID to search for. |
None
|
source
|
str
|
Source vertex (with target). |
None
|
target
|
str
|
Target vertex (with source). |
None
|
include_default
|
bool
|
Include the internal default slice. |
False
|
undirected_match
|
bool
|
Allow symmetric matches. |
None
|
Returns:
| Type | Description |
|---|---|
list[str] | dict[str, list[str]]
|
If |
Notes
Delegates to AnnNet.edge_presence_across_slices().
hyperedge_presence(members=None, head=None, tail=None, include_default=False)
Find slices containing a hyperedge.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
members
|
Iterable[str]
|
Undirected hyperedge members. |
None
|
head
|
Iterable[str]
|
Directed hyperedge head. |
None
|
tail
|
Iterable[str]
|
Directed hyperedge tail. |
None
|
include_default
|
bool
|
Include the internal default slice. |
False
|
Returns:
| Type | Description |
|---|---|
dict[str, list[str]]
|
Mapping of slice ID to edge IDs. |
Notes
Delegates to AnnNet.hyperedge_presence_across_slices().
conserved_edges(min_slices=2, include_default=False)
Find edges present in multiple slices.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
min_slices
|
int
|
Minimum number of slices. |
2
|
include_default
|
bool
|
Include the internal default slice. |
False
|
Returns:
| Type | Description |
|---|---|
dict[str, int]
|
Mapping of edge ID to slice count. |
Notes
Delegates to AnnNet.conserved_edges().
specific_edges(slice_id)
Find edges unique to a slice.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_id
|
str
|
Slice identifier. |
required |
Returns:
| Type | Description |
|---|---|
set[str]
|
Edge IDs unique to this slice. |
Notes
Delegates to AnnNet.slice_specific_edges().
temporal_dynamics(ordered_slices, metric='edge_change')
Analyze temporal changes across slices.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
ordered_slices
|
list[str]
|
Slice IDs in chronological order. |
required |
metric
|
(edge_change, vertex_change)
|
What to track. |
'edge_change'
|
Returns:
| Type | Description |
|---|---|
list[dict]
|
Per-step changes with keys |
Notes
Delegates to AnnNet.temporal_dynamics().
summary()
Get human-readable summary of all slices.
Returns:
| Type | Description |
|---|---|
str
|
Formatted summary. |
__repr__()
Functions
add_slice(slice_id, **attributes)
Create a new empty slice.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_id
|
str
|
New slice identifier. |
required |
**attributes
|
Slice attributes to store. |
{}
|
Returns:
| Type | Description |
|---|---|
str
|
The created slice ID. |
Raises:
| Type | Description |
|---|---|
ValueError
|
If the slice already exists. |
set_active_slice(slice_id)
Set the active slice for subsequent operations.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_id
|
str
|
Existing slice ID. |
required |
Raises:
| Type | Description |
|---|---|
KeyError
|
If the slice does not exist. |
get_active_slice()
Get the currently active slice ID.
Returns:
| Type | Description |
|---|---|
str
|
Active slice ID. |
get_slices_dict(include_default=False)
Get a mapping of slice IDs to their metadata.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
include_default
|
bool
|
Include the internal |
False
|
Returns:
| Type | Description |
|---|---|
dict[str, dict]
|
Mapping of slice IDs to metadata dicts. |
list_slices(include_default=False)
List slice IDs.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
include_default
|
bool
|
Include the internal |
False
|
Returns:
| Type | Description |
|---|---|
list[str]
|
Slice IDs. |
has_slice(slice_id)
Check whether a slice exists.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_id
|
str
|
Slice identifier. |
required |
Returns:
| Type | Description |
|---|---|
bool
|
|
slice_count()
Get the number of slices (including the internal default).
Returns:
| Type | Description |
|---|---|
int
|
|
get_slice_info(slice_id)
Get a slice's metadata snapshot.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_id
|
str
|
Slice identifier. |
required |
Returns:
| Type | Description |
|---|---|
dict
|
Copy of |
Raises:
| Type | Description |
|---|---|
KeyError
|
If the slice does not exist. |
get_slice_vertices(slice_id)
Vertices in a slice.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_id
|
str
|
Slice identifier. |
required |
Returns:
| Type | Description |
|---|---|
set[str]
|
|
get_slice_edges(slice_id)
Edges in a slice.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_id
|
str
|
Slice identifier. |
required |
Returns:
| Type | Description |
|---|---|
set[str]
|
|
slice_union(slice_ids)
Union of multiple slices.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_ids
|
Iterable[str]
|
|
required |
Returns:
| Type | Description |
|---|---|
dict
|
|
slice_intersection(slice_ids)
Intersection of multiple slices.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_ids
|
Iterable[str]
|
|
required |
Returns:
| Type | Description |
|---|---|
dict
|
|
slice_difference(slice1_id, slice2_id)
Set difference: elements in slice1_id not in slice2_id.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice1_id
|
str
|
|
required |
slice2_id
|
str
|
|
required |
Returns:
| Type | Description |
|---|---|
dict
|
|
Raises:
| Type | Description |
|---|---|
KeyError
|
If either slice is missing. |
create_slice_from_operation(result_slice_id, operation_result, **attributes)
Create a new slice from the result of a set operation.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
result_slice_id
|
str
|
New slice identifier. |
required |
operation_result
|
dict
|
Output of |
required |
**attributes
|
Slice attributes. |
{}
|
Returns:
| Type | Description |
|---|---|
str
|
The created slice ID. |
Raises:
| Type | Description |
|---|---|
ValueError
|
If the target slice already exists. |
add_vertex_to_slice(lid, vid)
Attach an existing vertex to a slice.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
lid
|
str
|
Slice identifier. |
required |
vid
|
str
|
Vertex identifier. |
required |
Raises:
| Type | Description |
|---|---|
KeyError
|
If the slice does not exist. |
edge_presence_across_slices(edge_id=None, source=None, target=None, *, include_default=False, undirected_match=None)
Locate where an edge exists across slices.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
edge_id
|
str
|
If provided, match by ID (any kind: binary/vertex-edge/hyper). |
None
|
source
|
str
|
When used with |
None
|
target
|
str
|
|
None
|
include_default
|
bool
|
Include the internal default slice in the search. |
False
|
undirected_match
|
bool
|
When endpoint matching, allow undirected symmetric matches. |
None
|
Returns:
| Type | Description |
|---|---|
list[str] | dict[str, list[str]]
|
If |
Raises:
| Type | Description |
|---|---|
ValueError
|
If both modes (ID and endpoints) are provided or neither is valid. |
hyperedge_presence_across_slices(*, members=None, head=None, tail=None, include_default=False)
Locate slices containing a hyperedge with exactly these sets.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
members
|
Iterable[str]
|
Undirected member set (exact match). |
None
|
head
|
Iterable[str]
|
Directed head set (exact match). |
None
|
tail
|
Iterable[str]
|
Directed tail set (exact match). |
None
|
include_default
|
bool
|
|
False
|
Returns:
| Type | Description |
|---|---|
dict[str, list[str]]
|
Mapping of slice IDs to matching edge IDs. |
Raises:
| Type | Description |
|---|---|
ValueError
|
For invalid combinations or empty sets. |
vertex_presence_across_slices(vertex_id, include_default=False)
List slices containing a specific vertex.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
vertex_id
|
str
|
|
required |
include_default
|
bool
|
|
False
|
Returns:
| Type | Description |
|---|---|
list[str]
|
|
conserved_edges(min_slices=2, include_default=False)
Edges present in at least min_slices slices.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
min_slices
|
int
|
|
2
|
include_default
|
bool
|
|
False
|
Returns:
| Type | Description |
|---|---|
dict[str, int]
|
Mapping of edge ID to slice count. |
slice_specific_edges(slice_id)
Edges that appear only in the specified slice.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_id
|
str
|
|
required |
Returns:
| Type | Description |
|---|---|
set[str]
|
|
Raises:
| Type | Description |
|---|---|
KeyError
|
If the slice does not exist. |
temporal_dynamics(ordered_slices, metric='edge_change')
Compute changes between consecutive slices in a temporal sequence.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
ordered_slices
|
list[str]
|
Slice IDs in chronological order. |
required |
metric
|
(edge_change, vertex_change)
|
|
'edge_change'
|
Returns:
| Type | Description |
|---|---|
list[dict[str, int]]
|
Per-step dictionaries with keys |
Raises:
| Type | Description |
|---|---|
ValueError
|
If fewer than two slices are provided. |
KeyError
|
If a referenced slice does not exist. |
create_aggregated_slice(source_slice_ids, target_slice_id, method='union', weight_func=None, **attributes)
Create a new slice by aggregating multiple source slices.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
source_slice_ids
|
list[str]
|
|
required |
target_slice_id
|
str
|
|
required |
method
|
(union, intersection)
|
|
'union'
|
weight_func
|
callable
|
Reserved for future weight merging logic (currently unused). |
None
|
**attributes
|
Slice attributes. |
{}
|
Returns:
| Type | Description |
|---|---|
str
|
The created slice ID. |
Raises:
| Type | Description |
|---|---|
ValueError
|
For unknown methods or missing source slices, or if target exists. |
slice_statistics(include_default=False)
Basic per-slice statistics.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
include_default
|
bool
|
|
False
|
Returns:
| Type | Description |
|---|---|
dict[str, dict]
|
Mapping of slice ID to stats. |