Nodes#

class Nodes#

Bases: object

A list of nodes that can be iterated over.

Methods:

after(start)

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

at(time)

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

before(end)

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

collect()

Collect all nodes into a list

default_layer()

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

degree()

Returns the number of edges of the nodes

exclude_layer(name)

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

exclude_layers(names)

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

exclude_valid_layer(name)

Return a view of Nodes 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 Nodes 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.

filter_edges(filter)

Return a filtered view that only includes edges that satisfy the filter

filter_exploded_edges(filter)

Return a filtered view that only includes exploded edges that satisfy the filter

filter_nodes(filter)

Return a filtered view that only includes nodes that satisfy the filter

has_layer(name)

Check if Nodes has the layer "name"

history()

Returns all timestamps of nodes, when a node is added or change to a node is made.

history_date_time()

Returns all timestamps of nodes, when a node is added or change to a node is made.

in_degree()

Returns the number of in edges of the nodes

latest()

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

layer(name)

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

layers(names)

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

out_degree()

Returns the number of out edges of the nodes

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)

snapshot_at(time)

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

snapshot_latest()

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

to_df([include_property_history, ...])

Converts the graph's nodes into a Pandas DataFrame.

type_filter(node_types)

Filter nodes by node type

valid_layers(names)

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

window(start, end)

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

Attributes:

earliest_date_time

The earliest time nodes are active as datetime objects

earliest_time

The earliest times nodes are active

edges

Get the edges that are incident to this node.

end

Gets the latest time that this Nodes is valid.

end_date_time

Gets the latest datetime that this Nodes is valid

id

The node ids

in_edges

Get the edges that point into this node.

in_neighbours

Get the neighbours of this node that point into this node.

latest_date_time

The latest time nodes are active as datetime objects

latest_time

The latest time nodes are active

name

The node names

neighbours

Get the neighbours of this node.

node_type

The node types

out_edges

Get the edges that point out of this node.

out_neighbours

Get the neighbours of this node that point out of this node.

properties

The properties of the node

start

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

start_date_time

Gets the earliest datetime that this Nodes is valid

window_size

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

after(start)#

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

Parameters:

start (TimeInput) – The start time of the window.

Return type:

Nodes

at(time)#

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

Parameters:

time (TimeInput) – The time of the window.

Return type:

Nodes

before(end)#

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

Parameters:

end (TimeInput) – The end time of the window.

Return type:

Nodes

collect()#

Collect all nodes into a list

Returns:

the list of nodes

Return type:

list[Node]

default_layer()#

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

degree()#

Returns the number of edges of the nodes

Returns:

a view of the undirected node degrees

Return type:

DegreeView

earliest_date_time#

The earliest time nodes are active as datetime objects

Returns:

a view of the earliest active times.

Return type:

EarliestDateTimeView

earliest_time#

The earliest times nodes are active

Returns:

a view of the earliest active times

Return type:

EarliestTimeView

edges#

Get the edges that are incident to this node.

Returns:

The incident edges.

Return type:

NestedEdges

end#

Gets the latest time that this Nodes is valid.

Returns:

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

Return type:

Optional[int]

end_date_time#

Gets the latest datetime that this Nodes is valid

Returns:

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

Return type:

Optional[datetime]

exclude_layer(name)#

Return a view of Nodes 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:

Nodes

exclude_layers(names)#

Return a view of Nodes 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:

Nodes

exclude_valid_layer(name)#

Return a view of Nodes 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:

Nodes

exclude_valid_layers(names)#

Return a view of Nodes 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:

Nodes

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.

Return type:

WindowSet

filter_edges(filter)#

Return a filtered view that only includes edges that satisfy the filter

Parameters:

filter (PropertyFilter) – The filter to apply to the edge properties. Construct a filter using Prop.

Returns:

The filtered view

Return type:

Nodes

filter_exploded_edges(filter)#

Return a filtered view that only includes exploded edges that satisfy the filter

Parameters:

filter (PropertyFilter) – The filter to apply to the exploded edge properties. Construct a filter using Prop.

Returns:

The filtered view

Return type:

Nodes

filter_nodes(filter)#

Return a filtered view that only includes nodes that satisfy the filter

Parameters:

filter (PropertyFilter) – The filter to apply to the node properties. Construct a filter using Prop.

Returns:

The filtered view

Return type:

Nodes

has_layer(name)#

Check if Nodes has the layer “name”

Parameters:

name (str) – the name of the layer to check

Return type:

bool

history()#

Returns all timestamps of nodes, when a node is added or change to a node is made.

Returns:

a view of the node histories

Return type:

HistoryView

history_date_time()#

Returns all timestamps of nodes, when a node is added or change to a node is made.

Returns:

a view of the node histories as datetime objects.

Return type:

HistoryDateTimeView

id#

The node ids

Returns:

a view of the node ids

Return type:

IdView

in_degree()#

Returns the number of in edges of the nodes

Returns:

a view of the in-degrees of the nodes

Return type:

DegreeView

in_edges#

Get the edges that point into this node.

Returns:

The inbound edges.

Return type:

NestedEdges

in_neighbours#

Get the neighbours of this node that point into this node.

Returns:

The in-neighbours.

Return type:

PathFromGraph

latest()#

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

Return type:

Nodes

latest_date_time#

The latest time nodes are active as datetime objects

Returns:

a view of the latest active times

Return type:

LatestDateTimeView

latest_time#

The latest time nodes are active

Returns:

a view of the latest active times

Return type:

LatestTimeView

layer(name)#

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

Parameters:

name (str) – then name of the layer.

Returns:

The layered view

Return type:

Nodes

layers(names)#

Return a view of Nodes 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:

Nodes

name#

The node names

Returns:

a view of the node names

Return type:

NameView

neighbours#

Get the neighbours of this node.

Returns:

The neighbours (both inbound and outbound).

Return type:

PathFromGraph

node_type#

The node types

Returns:

a view of the node types

Return type:

NodeTypeView

out_degree()#

Returns the number of out edges of the nodes

Returns:

a view of the out-degrees of the nodes

Return type:

DegreeView

out_edges#

Get the edges that point out of this node.

Returns:

The outbound edges.

Return type:

NestedEdges

out_neighbours#

Get the neighbours of this node that point out of this node.

Returns:

The out-neighbours.

Return type:

PathFromGraph

properties#

The properties of the node

Returns:

A view of the node properties

Return type:

PropertiesView

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. step defaults to window.

Returns:

A WindowSet object.

Return type:

WindowSet

shrink_end(end)#

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

Parameters:

end (TimeInput) – the new end time of the window

Return type:

Nodes

shrink_start(start)#

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

Parameters:

start (TimeInput) – the new start time of the window

Return type:

Nodes

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:
  • start (TimeInput) – the new start time for the window

  • end (TimeInput) – the new end time for the window

Return type:

Nodes

snapshot_at(time)#

Create a view of the Nodes 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:

time (TimeInput) – The time of the window.

Return type:

Nodes

snapshot_latest()#

Create a view of the Nodes 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

Return type:

Nodes

start#

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

Returns:

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

Return type:

Optional[int]

start_date_time#

Gets the earliest datetime that this Nodes is valid

Returns:

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

Return type:

Optional[datetime]

to_df(include_property_history=False, convert_datetime=False)#

Converts the graph’s nodes into a Pandas DataFrame.

This method will create a DataFrame with the following columns: - “name”: The name of the node. - “properties”: The properties of the node. - “update_history”: The update history of the node.

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. Defaults to False.

  • convert_datetime (bool) – A boolean, if set to True will convert the timestamp to python datetimes. Defaults to False.

Returns:

the view of the node data as a pandas Dataframe

Return type:

DataFrame

type_filter(node_types)#

Filter nodes by node type

Parameters:

node_types (list[str]) – the list of node types to keep

Returns:

the filtered view of the nodes

Return type:

Nodes

valid_layers(names)#

Return a view of Nodes 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:

Nodes

window(start, end)#

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

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

  • end (TimeInput | None) – The end time of the window (unbounded if None).

Return type:

Nodes

window_size#

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

Return type:

Optional[int]