Node#

class Node#

Bases: object

A node (or node) in the graph.

Methods:

after(start)

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

at(time)

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

before(end)

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

default_layer()

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

degree()

Get the degree of this node (i.e., the number of edges that are incident to it).

exclude_layer(name)

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

exclude_layers(names)

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

exclude_valid_layer(name)

Return a view of Node 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 Node 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 Node has the layer "name"

history()

Returns the history of a node, including node additions and changes made to node.

history_date_time()

Returns the history of a node, including node additions and changes made to node.

in_degree()

Get the in-degree of this node (i.e., the number of edges that are incident to it from other nodes).

is_active()

Check if the node is active, i.e., it's history is not empty

latest()

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

layer(name)

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

layers(names)

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

out_degree()

Get the out-degree of this node (i.e., the number of edges that are incident to it from this node).

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 Node including all events that have not been explicitly deleted at time.

snapshot_latest()

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

valid_layers(names)

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

window(start, end)

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

Attributes:

earliest_date_time

Returns the earliest datetime that the node exists.

earliest_time

Returns the earliest time that the node exists.

edges

Get the edges that are incident to this node.

end

Gets the latest time that this Node is valid.

end_date_time

Gets the latest datetime that this Node is valid

id

Returns the id of the node.

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

Returns the latest datetime that the node exists.

latest_time

Returns the latest time that the node exists.

name

Returns the name of the node.

neighbours

Get the neighbours of this node.

node_type

Returns the type of node

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 Node

start_date_time

Gets the earliest datetime that this Node is valid

window_size

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

after(start)#

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

Parameters:

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

Return type:

Node

at(time)#

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

Parameters:

time (TimeInput) – The time of the window.

Return type:

Node

before(end)#

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

Parameters:

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

Return type:

Node

default_layer()#

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

degree()#

Get the degree of this node (i.e., the number of edges that are incident to it).

Returns:

The degree of this node.

Return type:

int

earliest_date_time#

Returns the earliest datetime that the node exists.

Returns:

The earliest datetime that the node exists as a Datetime.

Return type:

datetime

earliest_time#

Returns the earliest time that the node exists.

Returns:

The earliest time that the node exists as an integer.

Return type:

int

edges#

Get the edges that are incident to this node.

Returns:

The incident edges.

Return type:

Edges

end#

Gets the latest time that this Node is valid.

Returns:

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

Return type:

Optional[int]

end_date_time#

Gets the latest datetime that this Node is valid

Returns:

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

Return type:

Optional[datetime]

exclude_layer(name)#

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

Node

exclude_layers(names)#

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

Node

exclude_valid_layer(name)#

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

Node

exclude_valid_layers(names)#

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

Node

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:

Node

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:

Node

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:

Node

has_layer(name)#

Check if Node has the layer “name”

Parameters:

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

Return type:

bool

history()#

Returns the history of a node, including node additions and changes made to node.

Returns:

A list of unix timestamps of the event history of node.

Return type:

List[int]

history_date_time()#

Returns the history of a node, including node additions and changes made to node.

Returns:

A list of timestamps of the event history of node.

Return type:

List[datetime]

id#

Returns the id of the node. This is a unique identifier for the node.

Returns:

The id of the node.

Return type:

(str|int)

in_degree()#

Get the in-degree of this node (i.e., the number of edges that are incident to it from other nodes).

Returns:

The in-degree of this node.

Return type:

int

in_edges#

Get the edges that point into this node.

Returns:

The inbound edges.

Return type:

Edges

in_neighbours#

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

Returns:

The in-neighbours.

Return type:

PathFromNode

is_active()#

Check if the node is active, i.e., it’s history is not empty

Return type:

bool

latest()#

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

Return type:

Node

latest_date_time#

Returns the latest datetime that the node exists.

Returns:

The latest datetime that the node exists as a Datetime.

Return type:

datetime

latest_time#

Returns the latest time that the node exists.

Returns:

The latest time that the node exists as an integer.

Return type:

int

layer(name)#

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

Node

layers(names)#

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

Node

name#

Returns the name of the node.

Returns:

The id of the node as a string.

Return type:

str

neighbours#

Get the neighbours of this node.

Returns:

The neighbours (both inbound and outbound).

Return type:

PathFromNode

node_type#

Returns the type of node

Returns:

The node type if it is set or None otherwise.

Return type:

Optional[str]

out_degree()#

Get the out-degree of this node (i.e., the number of edges that are incident to it from this node).

Returns:

The out-degree of this node.

Return type:

int

out_edges#

Get the edges that point out of this node.

Returns:

The outbound edges.

Return type:

Edges

out_neighbours#

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

Returns:

The out-neighbours.

Return type:

PathFromNode

properties#

The properties of the node

Returns:

A list of properties.

Return type:

Properties

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:

Node

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:

Node

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:

Node

snapshot_at(time)#

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

Node

snapshot_latest()#

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

Node

start#

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

Returns:

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

Return type:

Optional[int]

start_date_time#

Gets the earliest datetime that this Node is valid

Returns:

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

Return type:

Optional[datetime]

valid_layers(names)#

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

Node

window(start, end)#

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

Node

window_size#

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

Return type:

Optional[int]