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. |
earliest_time
property
#
Returns the earliest time of the edges.
Returns:
| Type | Description |
|---|---|
OptionEventTimeIterable
|
Iterable of |
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
#
latest_time
property
#
Returns the latest times of the edges.
Returns:
| Type | Description |
|---|---|
OptionEventTimeIterable
|
Iterable of |
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
#
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
#
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 |
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)
#
at(time)
#
before(end)
#
default_layer()
#
Return a view of Edges containing only the default edge layer Returns: Edges: The layered view
exclude_layer(name)
#
exclude_layers(names)
#
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 |
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)
#
is_active()
#
Check if the edges are active (there is at least one update during this time).
Returns:
| Type | Description |
|---|---|
BoolIterable
|
|
is_deleted()
#
is_self_loop()
#
is_valid()
#
latest()
#
layer(name)
#
layers(names)
#
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.
|
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 |
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)
#
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)
#
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
|
convert_datetime
|
bool
|
A boolean, if set to |
False
|
explode
|
bool
|
A boolean, if set to |
False
|
Returns:
| Type | Description |
|---|---|
DataFrame
|
If successful, this PyObject will be a Pandas DataFrame. |