Edge#

class raphtory.Edge#

Bases: object

PyEdge is a Python class that represents an edge in the graph. An edge is a directed connection between two nodes.

Methods:

after(start)

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

at(time)

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

before(end)

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

default_layer()

Return a view of Edge containing only the default edge layer :returns: The layered view :rtype: Edge

deletions()

Returns a list of timestamps of when an edge is deleted

deletions_data_time()

Returns a list of timestamps of when an edge is deleted

exclude_layer(name)

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

exclude_layers(names)

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

exclude_valid_layer(name)

Return a view of Edge containing all layers except the excluded name :param name: layer name that is excluded for the new view :type name: str

exclude_valid_layers(names)

Return a view of Edge containing all layers except the excluded names :param names: list of layer names that are excluded for the new view :type names: list[str]

expanding(step)

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

explode()

Explodes an edge and returns all instances it had been updated as seperate edges

explode_layers()

has_layer(name)

Check if Edge has the layer "name"

history()

Returns a list of timestamps of when an edge is added or change to an edge is made.

history_date_time()

Returns a list of timestamps of when an edge is added or change to an edge is made.

is_active()

Check if the edge is currently active (i.e., has at least one update within this period) :returns: bool

is_deleted()

Check if the edge is currently deleted :returns: bool

is_self_loop()

Check if the edge is on the same node :returns: bool

is_valid()

Check if the edge is currently valid (i.e., not deleted) :returns: bool

latest()

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

layer(name)

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

layers(names)

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

rolling(window[, step])

Creates a WindowSet with the given window size and optional step using a rolling window.

shrink_end(end)

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

shrink_start(start)

Set the start of the window to the larger of start and self.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)

valid_layers(names)

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

window(start, end)

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

Attributes:

date_time

Gets the datetime of an exploded edge.

dst

Returns the destination node of the edge.

earliest_date_time

Gets of earliest datetime of an edge.

earliest_time

Gets the earliest time of an edge.

end

Gets the latest time that this Edge is valid.

end_date_time

Gets the latest datetime that this Edge is valid

id

The id of the edge.

latest_date_time

Gets of latest datetime of an edge.

latest_time

Gets the latest time of an edge.

layer_name

Gets the name of the layer this edge belongs to - assuming it only belongs to one layer

layer_names

Gets the names of the layers this edge belongs to

nbr

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

properties

Returns a view of the properties of the edge.

src

Returns the source node of the edge.

start

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

start_date_time

Gets the earliest datetime that this Edge is valid

time

Gets the time of an exploded edge.

window_size

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

after(start)#

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

Parameters:

start (int | DateTime | str) – The start time of the window.

Returns:

A Edge object.

at(time)#

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

Parameters:

time (int | DateTime | str) – The time of the window.

Returns:

A Edge object.

before(end)#

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

Parameters:

end (int | DateTime | str) – The end time of the window.

Returns:

A Edge object.

date_time#

Gets the datetime of an exploded edge.

Returns:

the datetime of an exploded edge

Return type:

Datetime

default_layer()#

Return a view of Edge containing only the default edge layer :returns: The layered view :rtype: Edge

deletions()#

Returns a list of timestamps of when an edge is deleted

Returns:

A list of unix timestamps

Return type:

List[int]

deletions_data_time()#

Returns a list of timestamps of when an edge is deleted

Returns:

List[Datetime]

dst#

Returns the destination node of the edge.

earliest_date_time#

Gets of earliest datetime of an edge.

Returns:

the earliest datetime of an edge

Return type:

Datetime

earliest_time#

Gets the earliest time of an edge.

Returns:

The earliest time of an edge

Return type:

int

end#

Gets the latest time that this Edge is valid.

Returns:

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

end_date_time#

Gets the latest datetime that this Edge is valid

Returns:

The latest datetime that this Edge is valid or None if the Edge is valid for all times.

exclude_layer(name)#

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

Parameters:

name (str) – layer name that is excluded for the new view

Returns:

The layered view

Return type:

Edge

exclude_layers(names)#

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

Parameters:

names (list[str]) – list of layer names that are excluded for the new view

Returns:

The layered view

Return type:

Edge

exclude_valid_layer(name)#

Return a view of Edge containing all layers except the excluded name :param name: layer name that is excluded for the new view :type name: str

Returns:

The layered view

Return type:

Edge

exclude_valid_layers(names)#

Return a view of Edge containing all layers except the excluded names :param names: list of layer names that are excluded for the new view :type names: list[str]

Returns:

The layered view

Return type:

Edge

expanding(step)#

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:

step (int | str) – The step size of the window.

Returns:

A WindowSet object.

explode()#

Explodes an edge and returns all instances it had been updated as seperate edges

explode_layers()#
has_layer(name)#

Check if Edge has the layer “name”

history()#

Returns a list of timestamps of when an edge is added or change to an edge is made.

Returns:

A list of unix timestamps.

Return type:

List[int]

history_date_time()#

Returns a list of timestamps of when an edge is added or change to an edge is made.

Returns:

List[Datetime]

id#

The id of the edge.

is_active()#

Check if the edge is currently active (i.e., has at least one update within this period) :returns: bool

is_deleted()#

Check if the edge is currently deleted :returns: bool

is_self_loop()#

Check if the edge is on the same node :returns: bool

is_valid()#

Check if the edge is currently valid (i.e., not deleted) :returns: bool

latest()#

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

Returns:

A Edge object.

latest_date_time#

Gets of latest datetime of an edge.

Returns:

the latest datetime of an edge

Return type:

Datetime

latest_time#

Gets the latest time of an edge.

Returns:

The latest time of an edge

Return type:

int

layer(name)#

Return a view of Edge containing the layer “name” Errors if the layer does not exist

Returns:

The layered view

Return type:

Edge

layer_name#

Gets the name of the layer this edge belongs to - assuming it only belongs to one layer

Returns:

The name of the layer

Return type:

str

layer_names#

Gets the names of the layers this edge belongs to

Returns:

List[str]- The name of the layer

layers(names)#

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

Parameters:

names (list[str]) – list of layer names for the new view

Returns:

The layered view

Return type:

Edge

nbr#

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

properties#

Returns a view of the properties of the edge.

Returns:

Properties on the Edge.

rolling(window, step=None)#

Creates a WindowSet with the given window size and optional step using a rolling window.

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

Parameters:
  • window (int | str) – The size of the window.

  • step (int | str | None) – The step size of the window. Defaults to window.

Returns:

A WindowSet object.

shrink_end(end)#

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

Parameters:

end (int | DateTime | str) – the new end time of the window

Returns:

A Edge object.

shrink_start(start)#

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

Parameters:

start (int | DateTime | str) – the new start time of the window

Returns:

A Edge object.

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)

Arguments:

src#

Returns the source node of the edge.

start#

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

Returns:

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

start_date_time#

Gets the earliest datetime that this Edge is valid

Returns:

The earliest datetime that this Edge is valid or None if the Edge is valid for all times.

time#

Gets the time of an exploded edge.

Returns:

The time of an exploded edge

Return type:

int

valid_layers(names)#

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

Parameters:

names (list[str]) – list of layer names for the new view

Returns:

The layered view

Return type:

Edge

window(start, end)#

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

Parameters:
  • start (int | DateTime | str | None) – The start time of the window (unbounded if None).

  • end (int | DateTime | str | None) – The end time of the window (unbounded if None).

Returns: r A Edge object.

window_size#

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

class raphtory.Edges#

Bases: object

A list of edges that can be iterated over.

Methods:

after(start)

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

at(time)

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

before(end)

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

collect()

Collect all edges into a list

count()

Returns the number of edges

default_layer()

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

deletions()

Returns all timestamps of edges where an edge is deleted

deletions_date_time()

Returns all timestamps of edges where an edge is deleted

exclude_layer(name)

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

exclude_layers(names)

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

exclude_valid_layer(name)

Return a view of Edges containing all layers except the excluded name :param name: layer name that is excluded for the new view :type name: str

exclude_valid_layers(names)

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

expanding(step)

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

explode()

Explodes an edge and returns all instances it had been updated as seperate edges

explode_layers()

has_layer(name)

Check if Edges has the layer "name"

history()

Returns all timestamps of edges, when an edge is added or change to an edge is made.

history_date_time()

Returns all timestamps of edges, when an edge is added or change to an edge is made.

is_active()

is_deleted()

Check if the edges are deleted

is_self_loop()

Check if the edges are on the same node

is_valid()

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

latest()

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

layer(name)

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

layers(names)

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

rolling(window[, step])

Creates a WindowSet with the given window size and optional step using a rolling window.

shrink_end(end)

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

shrink_start(start)

Set the start of the window to the larger of start and self.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)

to_df([include_property_history, ...])

Converts the graph's edges into a Pandas DataFrame.

valid_layers(names)

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

window(start, end)

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

Attributes:

date_time

Returns the date times of exploded edges

dst

Returns the destination node of the edge.

earliest_date_time

Returns the earliest date time of the edges.

earliest_time

Returns the earliest time of the edges.

end

Gets the latest time that this Edges is valid.

end_date_time

Gets the latest datetime that this Edges is valid

id

Returns all ids of the edges.

latest_date_time

Returns the latest date time of the edges.

latest_time

Returns the latest time of the edges.

layer_name

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

layer_names

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

nbr

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

properties

Returns all properties of the edges

src

Returns the source node of the edge.

start

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

start_date_time

Gets the earliest datetime that this Edges is valid

time

Returns the times of exploded edges

window_size

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

after(start)#

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

Parameters:

start (int | DateTime | str) – The start time of the window.

Returns:

A Edges object.

at(time)#

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

Parameters:

time (int | DateTime | str) – The time of the window.

Returns:

A Edges object.

before(end)#

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

Parameters:

end (int | DateTime | str) – The end time of the window.

Returns:

A Edges object.

collect()#

Collect all edges into a list

Returns:

the list of edges

Return type:

list[Edge]

count()#

Returns the number of edges

date_time#

Returns the date times of exploded edges

Returns:

A list of date times.

default_layer()#

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

deletions()#

Returns all timestamps of edges where an edge is deleted

Returns:

A list of lists of unix timestamps

deletions_date_time()#

Returns all timestamps of edges where an edge is deleted

Returns:

A list of lists of DateTime objects

dst#

Returns the destination node of the edge.

earliest_date_time#

Returns the earliest date time of the edges.

Returns:

Earliest date time of the edges.

earliest_time#

Returns the earliest time of the edges.

Returns: Earliest time of the edges.

end#

Gets the latest time that this Edges is valid.

Returns:

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

end_date_time#

Gets the latest datetime that this Edges is valid

Returns:

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

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 (str) – layer name that is excluded for the new view

Returns:

The layered view

Return type:

Edges

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:

names (list[str]) – list of layer names that are excluded for the new view

Returns:

The layered view

Return type:

Edges

exclude_valid_layer(name)#

Return a view of Edges containing all layers except the excluded name :param name: layer name that is excluded for the new view :type name: str

Returns:

The layered view

Return type:

Edges

exclude_valid_layers(names)#

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

Returns:

The layered view

Return type:

Edges

expanding(step)#

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:

step (int | str) – The step size of the window.

Returns:

A WindowSet object.

explode()#

Explodes an edge and returns all instances it had been updated as seperate edges

explode_layers()#
has_layer(name)#

Check if Edges has the layer “name”

history()#

Returns all timestamps of edges, when an edge is added or change to an edge is made.

Returns:

A list of lists unix timestamps.

history_date_time()#

Returns all timestamps of edges, when an edge is added or change to an edge is made.

Returns:

A list of lists of timestamps.

id#

Returns all ids of the edges.

is_active()#
is_deleted()#

Check if the edges are deleted

is_self_loop()#

Check if the edges are on the same node

is_valid()#

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

latest()#

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

Returns:

A Edges object.

latest_date_time#

Returns the latest date time of the edges.

Returns:

Latest date time of the edges.

latest_time#

Returns the latest time of the edges.

Returns:

Latest time of the edges.

layer(name)#

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

Returns:

The layered view

Return type:

Edges

layer_name#

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

Returns:

The name of the layer

layer_names#

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

Returns:

A list of layer names

layers(names)#

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

Parameters:

names (list[str]) – list of layer names for the new view

Returns:

The layered view

Return type:

Edges

nbr#

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

properties#

Returns all properties of the edges

rolling(window, step=None)#

Creates a WindowSet with the given window size and optional step using a rolling window.

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

Parameters:
  • window (int | str) – The size of the window.

  • step (int | str | None) – The step size of the window. Defaults to window.

Returns:

A WindowSet object.

shrink_end(end)#

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

Parameters:

end (int | DateTime | str) – the new end time of the window

Returns:

A Edges object.

shrink_start(start)#

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

Parameters:

start (int | DateTime | str) – the new start time of the window

Returns:

A Edges object.

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)

Arguments:

src#

Returns the source node of the edge.

start#

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

Returns:

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

start_date_time#

Gets the earliest datetime that this Edges is valid

Returns:

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

time#

Returns the times of exploded edges

Returns:

Time of edge

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:
  • 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 false.

  • convert_datetime (bool) – A boolean, if set to true will convert the timestamp to python datetimes, defaults to false

  • explode (bool) – A boolean, if set to true, will explode each edge update into its own row. Defaults to false

Returns:

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:

names (list[str]) – list of layer names for the new view

Returns:

The layered view

Return type:

Edges

window(start, end)#

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

Parameters:
  • start (int | DateTime | str | None) – The start time of the window (unbounded if None).

  • end (int | DateTime | str | None) – The end time of the window (unbounded if None).

Returns: r A Edges object.

window_size#

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

class raphtory.MutableEdge#

Bases: Edge

Methods:

add_constant_properties(properties[, layer])

Add constant properties to an edge in the graph.

add_updates(t[, properties, layer])

Add updates to an edge in the graph at a specified time.

after(start)

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

at(time)

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

before(end)

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

default_layer()

Return a view of Edge containing only the default edge layer :returns: The layered view :rtype: Edge

delete(t[, layer])

Mark the edge as deleted at the specified time.

deletions()

Returns a list of timestamps of when an edge is deleted

deletions_data_time()

Returns a list of timestamps of when an edge is deleted

exclude_layer(name)

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

exclude_layers(names)

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

exclude_valid_layer(name)

Return a view of Edge containing all layers except the excluded name :param name: layer name that is excluded for the new view :type name: str

exclude_valid_layers(names)

Return a view of Edge containing all layers except the excluded names :param names: list of layer names that are excluded for the new view :type names: list[str]

expanding(step)

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

explode()

Explodes an edge and returns all instances it had been updated as seperate edges

explode_layers()

has_layer(name)

Check if Edge has the layer "name"

history()

Returns a list of timestamps of when an edge is added or change to an edge is made.

history_date_time()

Returns a list of timestamps of when an edge is added or change to an edge is made.

is_active()

Check if the edge is currently active (i.e., has at least one update within this period) :returns: bool

is_deleted()

Check if the edge is currently deleted :returns: bool

is_self_loop()

Check if the edge is on the same node :returns: bool

is_valid()

Check if the edge is currently valid (i.e., not deleted) :returns: bool

latest()

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

layer(name)

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

layers(names)

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

rolling(window[, step])

Creates a WindowSet with the given window size and optional step using a rolling window.

shrink_end(end)

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

shrink_start(start)

Set the start of the window to the larger of start and self.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)

update_constant_properties(properties[, layer])

Update constant properties of an edge in the graph overwriting existing values.

valid_layers(names)

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

window(start, end)

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

Attributes:

date_time

Gets the datetime of an exploded edge.

dst

Returns the destination node of the edge.

earliest_date_time

Gets of earliest datetime of an edge.

earliest_time

Gets the earliest time of an edge.

end

Gets the latest time that this Edge is valid.

end_date_time

Gets the latest datetime that this Edge is valid

id

The id of the edge.

latest_date_time

Gets of latest datetime of an edge.

latest_time

Gets the latest time of an edge.

layer_name

Gets the name of the layer this edge belongs to - assuming it only belongs to one layer

layer_names

Gets the names of the layers this edge belongs to

nbr

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

properties

Returns a view of the properties of the edge.

src

Returns the source node of the edge.

start

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

start_date_time

Gets the earliest datetime that this Edge is valid

time

Gets the time of an exploded edge.

window_size

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

add_constant_properties(properties, layer=None)#

Add constant properties to an edge in the graph. This function is used to add properties to an edge that remain constant and do not change over time. These properties are fundamental attributes of the edge.

Parameters:
  • properties (Dict[str, Property]) – A dictionary of properties to be added to the edge.

  • layer (str) – The layer you want these properties to be added on to.

add_updates(t, properties=None, layer=None)#

Add updates to an edge in the graph at a specified time. This function allows for the addition of property updates to an edge within the graph. The updates are time-stamped, meaning they are applied at the specified time.

Parameters:
  • t (int | str | DateTime) – The timestamp at which the updates should be applied.

  • properties ([Dict[str, Prop]]) – A dictionary of properties to update.

  • layer (str) – The layer you want these properties to be added on to.

after(start)#

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

Parameters:

start (int | DateTime | str) – The start time of the window.

Returns:

A Edge object.

at(time)#

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

Parameters:

time (int | DateTime | str) – The time of the window.

Returns:

A Edge object.

before(end)#

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

Parameters:

end (int | DateTime | str) – The end time of the window.

Returns:

A Edge object.

date_time#

Gets the datetime of an exploded edge.

Returns:

the datetime of an exploded edge

Return type:

Datetime

default_layer()#

Return a view of Edge containing only the default edge layer :returns: The layered view :rtype: Edge

delete(t, layer=None)#

Mark the edge as deleted at the specified time.

Parameters:
  • t (int | str | DateTime) – The timestamp at which the deletion should be applied.

  • layer (str) – The layer you want the deletion applied to .

deletions()#

Returns a list of timestamps of when an edge is deleted

Returns:

A list of unix timestamps

Return type:

List[int]

deletions_data_time()#

Returns a list of timestamps of when an edge is deleted

Returns:

List[Datetime]

dst#

Returns the destination node of the edge.

earliest_date_time#

Gets of earliest datetime of an edge.

Returns:

the earliest datetime of an edge

Return type:

Datetime

earliest_time#

Gets the earliest time of an edge.

Returns:

The earliest time of an edge

Return type:

int

end#

Gets the latest time that this Edge is valid.

Returns:

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

end_date_time#

Gets the latest datetime that this Edge is valid

Returns:

The latest datetime that this Edge is valid or None if the Edge is valid for all times.

exclude_layer(name)#

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

Parameters:

name (str) – layer name that is excluded for the new view

Returns:

The layered view

Return type:

Edge

exclude_layers(names)#

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

Parameters:

names (list[str]) – list of layer names that are excluded for the new view

Returns:

The layered view

Return type:

Edge

exclude_valid_layer(name)#

Return a view of Edge containing all layers except the excluded name :param name: layer name that is excluded for the new view :type name: str

Returns:

The layered view

Return type:

Edge

exclude_valid_layers(names)#

Return a view of Edge containing all layers except the excluded names :param names: list of layer names that are excluded for the new view :type names: list[str]

Returns:

The layered view

Return type:

Edge

expanding(step)#

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:

step (int | str) – The step size of the window.

Returns:

A WindowSet object.

explode()#

Explodes an edge and returns all instances it had been updated as seperate edges

explode_layers()#
has_layer(name)#

Check if Edge has the layer “name”

history()#

Returns a list of timestamps of when an edge is added or change to an edge is made.

Returns:

A list of unix timestamps.

Return type:

List[int]

history_date_time()#

Returns a list of timestamps of when an edge is added or change to an edge is made.

Returns:

List[Datetime]

id#

The id of the edge.

is_active()#

Check if the edge is currently active (i.e., has at least one update within this period) :returns: bool

is_deleted()#

Check if the edge is currently deleted :returns: bool

is_self_loop()#

Check if the edge is on the same node :returns: bool

is_valid()#

Check if the edge is currently valid (i.e., not deleted) :returns: bool

latest()#

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

Returns:

A Edge object.

latest_date_time#

Gets of latest datetime of an edge.

Returns:

the latest datetime of an edge

Return type:

Datetime

latest_time#

Gets the latest time of an edge.

Returns:

The latest time of an edge

Return type:

int

layer(name)#

Return a view of Edge containing the layer “name” Errors if the layer does not exist

Returns:

The layered view

Return type:

Edge

layer_name#

Gets the name of the layer this edge belongs to - assuming it only belongs to one layer

Returns:

The name of the layer

Return type:

str

layer_names#

Gets the names of the layers this edge belongs to

Returns:

List[str]- The name of the layer

layers(names)#

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

Parameters:

names (list[str]) – list of layer names for the new view

Returns:

The layered view

Return type:

Edge

nbr#

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

properties#

Returns a view of the properties of the edge.

Returns:

Properties on the Edge.

rolling(window, step=None)#

Creates a WindowSet with the given window size and optional step using a rolling window.

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

Parameters:
  • window (int | str) – The size of the window.

  • step (int | str | None) – The step size of the window. Defaults to window.

Returns:

A WindowSet object.

shrink_end(end)#

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

Parameters:

end (int | DateTime | str) – the new end time of the window

Returns:

A Edge object.

shrink_start(start)#

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

Parameters:

start (int | DateTime | str) – the new start time of the window

Returns:

A Edge object.

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)

Arguments:

src#

Returns the source node of the edge.

start#

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

Returns:

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

start_date_time#

Gets the earliest datetime that this Edge is valid

Returns:

The earliest datetime that this Edge is valid or None if the Edge is valid for all times.

time#

Gets the time of an exploded edge.

Returns:

The time of an exploded edge

Return type:

int

update_constant_properties(properties, layer=None)#

Update constant properties of an edge in the graph overwriting existing values. This function is used to add properties to an edge that remains constant and does not change over time. These properties are fundamental attributes of the edge.

Parameters:
  • properties (Dict[str, Property]) – A dictionary of properties to be added to the edge.

  • layer (str) – The layer you want these properties to be added on to.

valid_layers(names)#

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

Parameters:

names (list[str]) – list of layer names for the new view

Returns:

The layered view

Return type:

Edge

window(start, end)#

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

Parameters:
  • start (int | DateTime | str | None) – The start time of the window (unbounded if None).

  • end (int | DateTime | str | None) – The end time of the window (unbounded if None).

Returns: r A Edge object.

window_size#

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