Skip to content

Edges #

Bases: object

A list of edges that can be iterated over.

deletions property #

Returns a history object for each edge containing their deletion times.

Returns:

Type Description
HistoryIterable

An iterable of history objects, one for each edge.

dst property #

Returns the destination node of the edge.

Returns:

Type Description
Node

earliest_time property #

Returns the earliest time of the edges.

Returns:

Type Description
OptionEventTimeIterable

Iterable of EventTimes.

end property #

Gets the latest time that this Edges is valid.

Returns:

Type Description
OptionalEventTime

The latest time that this Edges is valid or None if the Edges is valid for all times.

history property #

Returns a history object for each edge containing time entries for when the edge is added or change to the edge is made.

Returns:

Type Description
HistoryIterable

An iterable of history objects, one for each edge.

id property #

Returns all ids of the edges.

Returns:

Type Description
GIDGIDIterable

latest_time property #

Returns the latest times of the edges.

Returns:

Type Description
OptionEventTimeIterable

Iterable of EventTimes.

layer_name property #

Get the layer name that all edges belong to - assuming they only belong to one layer

Returns:

Type Description
ArcStringIterable

layer_names property #

Get the layer names that all edges belong to - assuming they only belong to one layer.

Returns:

Type Description
ArcStringVecIterable

metadata property #

Returns all the metadata of the edges

Returns:

Type Description
MetadataView

nbr property #

Returns the node at the other end of the edge (same as dst() for out-edges and src() for in-edges)

Returns:

Type Description
Nodes

properties property #

Returns all properties of the edges

Returns:

Type Description
PropertiesView

src property #

Returns the source node of the edge.

Returns:

Type Description
Nodes

start property #

Gets the start time for rolling and expanding windows for this Edges

Returns:

Type Description
OptionalEventTime

The earliest time that this Edges is valid or None if the Edges is valid for all times.

time property #

Returns the times of exploded edges

Returns:

Type Description
EventTimeIterable

Iterable of EventTimes.

window_size property #

Get the window size (difference between start and end) for this Edges.

Returns:

Type Description
Optional[int]

__bool__() #

True if self else False

__getitem__(key) #

Return self[key].

__iter__() #

Implement iter(self).

__len__() #

Return len(self).

__repr__() #

Return repr(self).

after(start) #

Create a view of the Edges including all events after start (exclusive).

Parameters:

Name Type Description Default
start TimeInput

The start time of the window.

required

Returns:

Type Description
Edges

at(time) #

Create a view of the Edges including all events at time.

Parameters:

Name Type Description Default
time TimeInput

The time of the window.

required

Returns:

Type Description
Edges

before(end) #

Create a view of the Edges including all events before end (exclusive).

Parameters:

Name Type Description Default
end TimeInput

The end time of the window.

required

Returns:

Type Description
Edges

collect() #

Collect all edges into a list

Returns:

Type Description
list[Edge]

the list of edges

count() #

Returns the number of edges.

Returns:

Type Description
int

default_layer() #

Return a view of Edges containing only the default edge layer Returns: Edges: The layered view

exclude_layer(name) #

Return a view of Edges containing all layers except the excluded name Errors if any of the layers do not exist.

Parameters:

Name Type Description Default
name str

layer name that is excluded for the new view

required

Returns:

Type Description
Edges

The layered view

exclude_layers(names) #

Return a view of Edges containing all layers except the excluded names Errors if any of the layers do not exist.

Parameters:

Name Type Description Default
names list[str]

list of layer names that are excluded for the new view

required

Returns:

Type Description
Edges

The layered view

exclude_valid_layer(name) #

Return a view of Edges containing all layers except the excluded name Arguments: name (str): layer name that is excluded for the new view

Returns:

Type Description
Edges

The layered view

exclude_valid_layers(names) #

Return a view of Edges containing all layers except the excluded names Arguments: names (list[str]): list of layer names that are excluded for the new view

Returns:

Type Description
Edges

The layered view

expanding(step, alignment_unit=None) #

Creates a WindowSet with the given step size using an expanding window.

An expanding window is a window that grows by step size at each iteration.

Parameters:

Name Type Description Default
step int | str

The step size of the window.

required
alignment_unit str | None

If no alignment_unit is passed, aligns the start of the first window to the smallest unit of time passed to step. For example, if the step is "1 month and 1 day", the windows will be aligned on days (00:00:00 to 23:59:59). If set to "unaligned", the first window will begin at the first time event. If any other alignment unit is passed, the windows will be aligned to that unit. alignment_unit defaults to None.

None

Returns:

Type Description
WindowSet

A WindowSet object.

explode() #

Explodes returns an edge object for each update within the original edge.

Returns:

Type Description
Edges

explode_layers() #

Explode layers returns an edge object for each layer within the original edge. These new edge object contains only updates from respective layers.

Returns:

Type Description
Edges

has_layer(name) #

Check if Edges has the layer "name"

Parameters:

Name Type Description Default
name str

the name of the layer to check

required

Returns:

Type Description
bool

is_active() #

Check if the edges are active (there is at least one update during this time).

Returns:

Type Description
BoolIterable

is_deleted() #

Check if the edges are deleted.

Returns:

Type Description
BoolIterable

is_self_loop() #

Check if the edges are on the same node.

Returns:

Type Description
BoolIterable

is_valid() #

Check if the edges are valid (i.e. not deleted).

Returns:

Type Description
BoolIterable

latest() #

Create a view of the Edges including all events at the latest time.

Returns:

Type Description
Edges

layer(name) #

Return a view of Edges containing the layer "name" Errors if the layer does not exist

Parameters:

Name Type Description Default
name str

then name of the layer.

required

Returns:

Type Description
Edges

The layered view

layers(names) #

Return a view of Edges containing all layers names Errors if any of the layers do not exist.

Parameters:

Name Type Description Default
names list[str]

list of layer names for the new view

required

Returns:

Type Description
Edges

The layered view

rolling(window, step=None, alignment_unit=None) #

Creates a WindowSet with the given window size and optional step using a rolling window. If alignment_unit is not "unaligned" and a step larger than window is provided, some time entries may appear before the start of the first window and/or after the end of the last window (i.e. not included in any window).

A rolling window is a window that moves forward by step size at each iteration.

Parameters:

Name Type Description Default
window int | str

The size of the window.

required
step int | str | None

The step size of the window. step defaults to window.

None
alignment_unit str | None

If no alignment_unit is passed, aligns the start of the first window to the smallest unit of time passed to step (or window if no step is passed). For example, if the step is "1 month and 1 day", the first window will begin at the start of the day of the first time event. If set to "unaligned", the first window will begin at the first time event. If any other alignment unit is passed, the windows will be aligned to that unit. alignment_unit defaults to None.

None

Returns:

Type Description
WindowSet

A WindowSet object.

shrink_end(end) #

Set the end of the window to the smaller of end and self.end()

Parameters:

Name Type Description Default
end TimeInput

the new end time of the window

required

Returns: Edges:

shrink_start(start) #

Set the start of the window to the larger of start and self.start()

Parameters:

Name Type Description Default
start TimeInput

the new start time of the window

required

Returns:

Type Description
Edges

shrink_window(start, end) #

Shrink both the start and end of the window (same as calling shrink_start followed by shrink_end but more efficient)

Parameters:

Name Type Description Default
start TimeInput

the new start time for the window

required
end TimeInput

the new end time for the window

required

Returns:

Type Description
Edges

snapshot_at(time) #

Create a view of the Edges including all events that have not been explicitly deleted at time.

This is equivalent to before(time + 1) for Graph and at(time) for PersistentGraph

Parameters:

Name Type Description Default
time TimeInput

The time of the window.

required

Returns:

Type Description
Edges

snapshot_latest() #

Create a view of the Edges including all events that have not been explicitly deleted at the latest time.

This is equivalent to a no-op for Graph and latest() for PersistentGraph

Returns:

Type Description
Edges

to_df(include_property_history=True, convert_datetime=False, explode=False) #

Converts the graph's edges into a Pandas DataFrame.

This method will create a DataFrame with the following columns: - "src": The source node of the edge. - "dst": The destination node of the edge. - "layer": The layer of the edge. - "properties": The properties of the edge. - "update_history": The update history of the edge. This column will be included if include_update_history is set to true.

Parameters:

Name Type Description Default
include_property_history bool

A boolean, if set to True, the history of each property is included, if False, only the latest value is shown. Ignored if exploded. Defaults to True.

True
convert_datetime bool

A boolean, if set to True will convert the timestamp to python datetimes. Defaults to False.

False
explode bool

A boolean, if set to True, will explode each edge update into its own row. Defaults to False.

False

Returns:

Type Description
DataFrame

If successful, this PyObject will be a Pandas DataFrame.

valid_layers(names) #

Return a view of Edges containing all layers names Any layers that do not exist are ignored

Parameters:

Name Type Description Default
names list[str]

list of layer names for the new view

required

Returns:

Type Description
Edges

The layered view

window(start, end) #

Create a view of the Edges including all events between start (inclusive) and end (exclusive)

Parameters:

Name Type Description Default
start TimeInput

The start time of the window.

required
end TimeInput

The end time of the window.

required

Returns:

Type Description
Edges