Skip to content

Schema Types#

Query (QueryRoot)#

Field Argument Type Description
hello String! Hello world demo
graph Graph! Returns a graph
path String!
updateGraph MutableGraph! Update graph query, has side effects to update graph state Returns:: GqlMutableGraph
path String!
vectoriseGraph Boolean! Update graph query, has side effects to update graph state Returns:: GqlMutableGraph
path String!
model EmbeddingModel
nodes Template
edges Template
vectorisedGraph VectorisedGraph Create vectorised graph in the format used for queries Returns:: GqlVectorisedGraph
path String!
namespaces CollectionOfNamespace! Returns all namespaces using recursive search Returns:: List of namespaces on root
namespace Namespace! Returns a specific namespace at a given path Returns:: Namespace or error if no namespace found
path String!
root Namespace! Returns root namespace Returns:: Root namespace
plugins QueryPlugin! Returns a plugin.
receiveGraph String! Encodes graph and returns as string Returns:: Base64 url safe encoded string
path String!
version String!

Mutation (MutRoot)#

Field Argument Type Description
plugins MutationPlugin! Returns a collection of mutation plugins.
deleteGraph Boolean! Delete graph from a path on the server.
path String!
newGraph Boolean! Creates a new graph.
path String!
graphType GraphType!
moveGraph Boolean! Move graph from a path path on the server to a new_path on the server. If namespace is not provided, it will be set to the current working directory. This applies to both the graph namespace and new graph namespace.
path String!
newPath String!
copyGraph Boolean! Copy graph from a path path on the server to a new_path on the server. If namespace is not provided, it will be set to the current working directory. This applies to both the graph namespace and new graph namespace.
path String!
newPath String!
uploadGraph String! Upload a graph file from a path on the client using GQL multipart uploading. Returns:: name of the new graph
path String!
graph Upload!
overwrite Boolean!
sendGraph String! Send graph bincode as base64 encoded string. Returns:: path of the new graph
path String!
graph String!
overwrite Boolean!
createSubgraph String! Returns a subgraph given a set of nodes from an existing graph in the server. Returns:: name of the new graph
parentPath String!
nodes [String!]!
newPath String!
overwrite Boolean!
createIndex Boolean! (Experimental) Creates search index.
path String!
indexSpec IndexSpecInput
inRam Boolean!

Objects#

CollectionOfMetaGraph#

Collection of items

Field Argument Type Description
list [MetaGraph!]! Returns a list of collection objects.
page [MetaGraph!]! Fetch one page with a number of items up to a specified limit, optionally offset by a specified amount. The page_index sets the number of pages to skip (defaults to 0). For example, if page(5, 2, 1) is called, a page with 5 items, offset by 11 items (2 pages of 5 + 1), will be returned.
limit Int!
offset Int
pageIndex Int
count Int! Returns a count of collection objects.

CollectionOfNamespace#

Collection of items

Field Argument Type Description
list [Namespace!]! Returns a list of collection objects.
page [Namespace!]! Fetch one page with a number of items up to a specified limit, optionally offset by a specified amount. The page_index sets the number of pages to skip (defaults to 0). For example, if page(5, 2, 1) is called, a page with 5 items, offset by 11 items (2 pages of 5 + 1), will be returned.
limit Int!
offset Int
pageIndex Int
count Int! Returns a count of collection objects.

CollectionOfNamespacedItem#

Collection of items

Field Argument Type Description
list [NamespacedItem!]! Returns a list of collection objects.
page [NamespacedItem!]! Fetch one page with a number of items up to a specified limit, optionally offset by a specified amount. The page_index sets the number of pages to skip (defaults to 0). For example, if page(5, 2, 1) is called, a page with 5 items, offset by 11 items (2 pages of 5 + 1), will be returned.
limit Int!
offset Int
pageIndex Int
count Int! Returns a count of collection objects.

Document#

Document in a vector graph

Field Argument Type Description
entity DocumentEntity! Entity associated with document.
content String! Content of the document.
embedding [Float!]! Similarity score with a specified query
score Float!

Edge#

Raphtory graph edge.

Field Argument Type Description
defaultLayer Edge! Return a view of Edge containing only the default edge layer.
layers Edge! Returns a view of Edge containing all layers in the list of names. Errors if any of the layers do not exist.
names [String!]!
excludeLayers Edge! Returns a view of Edge containing all layers except the excluded list of names. Errors if any of the layers do not exist.
names [String!]!
layer Edge! Returns a view of Edge containing the specified layer. Errors if any of the layers do not exist.
name String!
excludeLayer Edge! Returns a view of Edge containing all layers except the excluded layer specified. Errors if any of the layers do not exist.
name String!
rolling EdgeWindowSet! Creates a WindowSet with the given window duration and optional step using a rolling window. A rolling window is a window that moves forward by step size at each iteration. alignment_unit optionally aligns the windows to the specified unit. "Unaligned" can be passed for no alignment. If unspecified (i.e. by default), alignment is done on the smallest unit of time in the step (or window if no step is passed). e.g. "1 month and 1 day" will align at the start of the day. Note that passing a step larger than window while alignment_unit is not "Unaligned" may lead to some entries appearing before the start of the first window and/or after the end of the last window (i.e. not included in any window).
window WindowDuration!
step WindowDuration
alignmentUnit AlignmentUnit
expanding EdgeWindowSet! 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. alignment_unit optionally aligns the windows to the specified unit. "Unaligned" can be passed for no alignment. If unspecified (i.e. by default), alignment is done on the smallest unit of time in the step. e.g. "1 month and 1 day" will align at the start of the day.
step WindowDuration!
alignmentUnit AlignmentUnit
window Edge! Creates a view of the Edge including all events between the specified start (inclusive) and end (exclusive). For persistent graphs, any edge which exists at any point during the window will be included. You may want to restrict this to only edges that are present at the end of the window using the is_valid function.
start TimeInput!
end TimeInput!
at Edge! Creates a view of the Edge including all events at a specified time.
time TimeInput!
latest Edge! Returns a view of the edge at the latest time of the graph.
snapshotAt Edge! Creates a view of the Edge including all events that are valid at time. This is equivalent to before(time + 1) for Graph and at(time) for PersistentGraph.
time TimeInput!
snapshotLatest Edge! Creates a view of the Edge including all events that are valid at the latest time. This is equivalent to a no-op for Graph and latest() for PersistentGraph.
before Edge! Creates a view of the Edge including all events before a specified end (exclusive).
time TimeInput!
after Edge! Creates a view of the Edge including all events after a specified start (exclusive).
time TimeInput!
shrinkWindow Edge! Shrinks both the start and end of the window.
start TimeInput!
end TimeInput!
shrinkStart Edge! Set the start of the window.
start TimeInput!
shrinkEnd Edge! Set the end of the window.
end TimeInput!
applyViews Edge! Takes a specified selection of views and applies them in given order.
views [EdgeViewCollection!]!
earliestTime EventTime! Returns the earliest time of an edge.
firstUpdate EventTime!
latestTime EventTime! Returns the latest time of an edge.
lastUpdate EventTime!
time EventTime! Returns the time of an exploded edge. Errors on an unexploded edge.
start EventTime! Returns the start time for rolling and expanding windows for this edge. Returns none if no window is applied.
end EventTime! Returns the end time of the window. Returns none if no window is applied.
src Node! Returns the source node of the edge. Returns: Node:
dst Node! Returns the destination node of the edge. Returns: Node:
nbr Node! Returns the node at the other end of the edge (same as dst() for out-edges and src() for in-edges). Returns: Node:
id [String!]! Returns the id of the edge. Returns: list[str]:
properties Properties! Returns a view of the properties of the edge.
metadata Metadata! Returns the metadata of an edge.
layerNames [String!]! Returns the names of the layers that have this edge as a member.
layerName String! Returns the layer name of an exploded edge, errors on an edge.
explode Edges! Returns an edge object for each update within the original edge.
explodeLayers Edges! Returns an edge object for each layer within the original edge. Each new edge object contains only updates from the respective layers.
history History! Returns a History object with time entries for when an edge is added or change to an edge is made. Returns: History:
deletions History! Returns a history object with time entries for an edge's deletion times. Returns: History:
isValid Boolean! Checks if the edge is currently valid and exists at the current time. Returns: boolean
isActive Boolean! Checks if the edge is currently active and has at least one update within the current period. Returns: boolean
isDeleted Boolean! Checks if the edge is deleted at the current time. Returns: boolean
isSelfLoop Boolean! Returns true if the edge source and destination nodes are the same. Returns: boolean
filter Edge!
expr EdgeFilter!

EdgeSchema#

Field Argument Type Description
srcType String! Returns the type of source for these edges
dstType String! Returns the type of destination for these edges
properties [PropertySchema!]! Returns the list of property schemas for edges connecting these types of nodes
metadata [PropertySchema!]! Returns the list of metadata schemas for edges connecting these types of nodes

EdgeWindowSet#

Field Argument Type Description
count Int!
page [Edge!]! Fetch one page with a number of items up to a specified limit, optionally offset by a specified amount. The page_index sets the number of pages to skip (defaults to 0). For example, if page(5, 2, 1) is called, a page with 5 items, offset by 11 items (2 pages of 5 + 1), will be returned.
limit Int!
offset Int
pageIndex Int
list [Edge!]!

Edges#

Field Argument Type Description
defaultLayer Edges! Returns a collection containing only edges in the default edge layer.
layers Edges! Returns a collection containing only edges belonging to the listed layers.
names [String!]!
excludeLayers Edges! Returns a collection containing edges belonging to all layers except the excluded list of layers.
names [String!]!
layer Edges! Returns a collection containing edges belonging to the specified layer.
name String!
excludeLayer Edges! Returns a collection containing edges belonging to all layers except the excluded layer specified.
name String!
rolling EdgesWindowSet! Creates a WindowSet with the given window duration and optional step using a rolling window. A rolling window is a window that moves forward by step size at each iteration. Returns a collection of collections. This means that item in the window set is a collection of edges. alignment_unit optionally aligns the windows to the specified unit. "Unaligned" can be passed for no alignment. If unspecified (i.e. by default), alignment is done on the smallest unit of time in the step (or window if no step is passed). e.g. "1 month and 1 day" will align at the start of the day. Note that passing a step larger than window while alignment_unit is not "Unaligned" may lead to some entries appearing before the start of the first window and/or after the end of the last window (i.e. not included in any window).
window WindowDuration!
step WindowDuration
alignmentUnit AlignmentUnit
expanding EdgesWindowSet! 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. Returns a collection of collections. This means that item in the window set is a collection of edges. alignment_unit optionally aligns the windows to the specified unit. "Unaligned" can be passed for no alignment. If unspecified (i.e. by default), alignment is done on the smallest unit of time in the step. e.g. "1 month and 1 day" will align at the start of the day.
step WindowDuration!
alignmentUnit AlignmentUnit
window Edges! Creates a view of the Edge including all events between the specified start (inclusive) and end (exclusive).
start TimeInput!
end TimeInput!
at Edges! Creates a view of the Edge including all events at a specified time.
time TimeInput!
latest Edges!
snapshotAt Edges! Creates a view of the Edge including all events that are valid at time. This is equivalent to before(time + 1) for Graph and at(time) for PersistentGraph.
time TimeInput!
snapshotLatest Edges! Creates a view of the Edge including all events that are valid at the latest time. This is equivalent to a no-op for Graph and latest() for PersistentGraph.
before Edges! Creates a view of the Edge including all events before a specified end (exclusive).
time TimeInput!
after Edges! Creates a view of the Edge including all events after a specified start (exclusive).
time TimeInput!
shrinkWindow Edges! Shrinks both the start and end of the window.
start TimeInput!
end TimeInput!
shrinkStart Edges! Set the start of the window.
start TimeInput!
shrinkEnd Edges! Set the end of the window.
end TimeInput!
applyViews Edges! Takes a specified selection of views and applies them in order given.
views [EdgesViewCollection!]!
explode Edges! Returns an edge object for each update within the original edge.
explodeLayers Edges! Returns an edge object for each layer within the original edge. Each new edge object contains only updates from the respective layers.
sorted Edges! Specify a sort order from: source, destination, property, time. You can also reverse the ordering.
sortBys [EdgeSortBy!]!
start EventTime! Returns the start time of the window or none if there is no window.
end EventTime! Returns the end time of the window or none if there is no window.
count Int! Returns the number of edges. Returns: int:
page [Edge!]! Fetch one page with a number of items up to a specified limit, optionally offset by a specified amount. The page_index sets the number of pages to skip (defaults to 0). For example, if page(5, 2, 1) is called, a page with 5 items, offset by 11 items (2 pages of 5 + 1), will be returned.
limit Int!
offset Int
pageIndex Int
list [Edge!]! Returns a list of all objects in the current selection of the collection. You should filter the collection first then call list.
filter Edges! Returns a filtered view that applies to list down the chain
expr EdgeFilter!
select Edges! Returns filtered list of edges
expr EdgeFilter!

EdgesWindowSet#

Field Argument Type Description
count Int!
page [Edges!]! Fetch one page with a number of items up to a specified limit, optionally offset by a specified amount. The page_index sets the number of pages to skip (defaults to 0). For example, if page(5, 2, 1) is called, a page with 5 items, offset by 11 items (2 pages of 5 + 1), will be returned.
limit Int!
offset Int
pageIndex Int
list [Edges!]!

EventTime#

Raphtory’s EventTime. Represents a unique timepoint in the graph’s history as (timestamp, event_id).

  • timestamp: Number of milliseconds since the Unix epoch.
  • event_id: ID used for ordering between equal timestamps.

Instances of EventTime may or may not contain time information. This is relevant for functions that may not return data (such as earliest_time and latest_time) because the data is unavailable. When empty, time operations (such as timestamp, datetime, and event_id) will return None.

Field Argument Type Description
timestamp Int Get the timestamp in milliseconds since the Unix epoch.
eventId Int Get the event id for the EventTime. Used for ordering within the same timestamp.
datetime String Access a datetime representation of the EventTime as a String. Useful for converting millisecond timestamps into easily readable datetime strings. Optionally, a format string can be passed to format the output. Defaults to RFC 3339 if not provided (e.g., "2023-12-25T10:30:45.123Z"). Refer to chrono::format::strftime for formatting specifiers and escape sequences. Raises an error if a time conversion fails.
formatString String

Graph#

Field Argument Type Description
uniqueLayers [String!]! Returns the names of all layers in the graphview.
defaultLayer Graph! Returns a view containing only the default layer.
layers Graph! Returns a view containing all the specified layers.
names [String!]!
excludeLayers Graph! Returns a view containing all layers except the specified excluded layers.
names [String!]!
layer Graph! Returns a view containing the layer specified.
name String!
excludeLayer Graph! Returns a view containing all layers except the specified excluded layer.
name String!
subgraph Graph! Returns a subgraph of a specified set of nodes which contains only the edges that connect nodes of the subgraph to each other.
nodes [String!]!
valid Graph! Returns a view of the graph that only includes valid edges.
subgraphNodeTypes Graph! Returns a subgraph filtered by the specified node types.
nodeTypes [String!]!
excludeNodes Graph! Returns a subgraph containing all nodes except the specified excluded nodes.
nodes [String!]!
rolling GraphWindowSet! Creates a rolling window with the specified window size and an optional step. A rolling window is a window that moves forward by step size at each iteration. alignment_unit optionally aligns the windows to the specified unit. "Unaligned" can be passed for no alignment. If unspecified (i.e. by default), alignment is done on the smallest unit of time in the step (or window if no step is passed). e.g. "1 month and 1 day" will align at the start of the day. Note that passing a step larger than window while alignment_unit is not "Unaligned" may lead to some entries appearing before the start of the first window and/or after the end of the last window (i.e. not included in any window).
window WindowDuration!
step WindowDuration
alignmentUnit AlignmentUnit
expanding GraphWindowSet! Creates an expanding window with the specified step size. An expanding window is a window that grows by step size at each iteration. alignment_unit optionally aligns the windows to the specified unit. "Unaligned" can be passed for no alignment. If unspecified (i.e. by default), alignment is done on the smallest unit of time in the step. e.g. "1 month and 1 day" will align at the start of the day.
step WindowDuration!
alignmentUnit AlignmentUnit
window Graph! Return a graph containing only the activity between start and end, by default raphtory stores times in milliseconds from the unix epoch.
start TimeInput!
end TimeInput!
at Graph! Creates a view including all events at a specified time.
time TimeInput!
latest Graph! Creates a view including all events at the latest time.
snapshotAt Graph! Create a view including all events that are valid at the specified time.
time TimeInput!
snapshotLatest Graph! Create a view including all events that are valid at the latest time.
before Graph! Create a view including all events before a specified end (exclusive).
time TimeInput!
after Graph! Create a view including all events after a specified start (exclusive).
time TimeInput!
shrinkWindow Graph! Shrink both the start and end of the window.
start TimeInput!
end TimeInput!
shrinkStart Graph! Set the start of the window to the larger of the specified value or current start.
start TimeInput!
shrinkEnd Graph! Set the end of the window to the smaller of the specified value or current end.
end TimeInput!
created Int! Returns the timestamp for the creation of the graph.
lastOpened Int! Returns the graph's last opened timestamp according to system time.
lastUpdated Int! Returns the graph's last updated timestamp.
earliestTime EventTime! Returns the time entry of the earliest activity in the graph.
latestTime EventTime! Returns the time entry of the latest activity in the graph.
start EventTime! Returns the start time of the window. Errors if there is no window.
end EventTime! Returns the end time of the window. Errors if there is no window.
earliestEdgeTime EventTime! Returns the earliest time that any edge in this graph is valid.
includeNegative Boolean
latestEdgeTime EventTime! Returns the latest time that any edge in this graph is valid.
includeNegative Boolean
countEdges Int! Returns the number of edges in the graph. Returns: int:
countTemporalEdges Int! Returns the number of temporal edges in the graph.
countNodes Int! Returns the number of nodes in the graph. Optionally takes a list of node ids to return a subset.
hasNode Boolean! Returns true if the graph contains the specified node.
name String!
hasEdge Boolean! Returns true if the graph contains the specified edge. Edges are specified by providing a source and destination node id. You can restrict the search to a specified layer.
src String!
dst String!
layer String
node Node Gets the node with the specified id.
name String!
nodes Nodes! Gets (optionally a subset of) the nodes in the graph.
select NodeFilter
edge Edge Gets the edge with the specified source and destination nodes.
src String!
dst String!
edges Edges! Gets the edges in the graph.
select EdgeFilter
properties Properties! Returns the properties of the graph.
metadata Metadata! Returns the metadata of the graph.
name String! Returns the graph name.
path String! Returns path of graph.
namespace String! Returns namespace of graph.
schema GraphSchema! Returns the graph schema.
algorithms GraphAlgorithmPlugin!
sharedNeighbours [Node!]!
selectedNodes [String!]!
exportTo Boolean! Export all nodes and edges from this graph view to another existing graph
path String!
filter Graph!
expr GraphFilter
filterNodes Graph!
expr NodeFilter!
filterEdges Graph!
expr EdgeFilter!
getIndexSpec IndexSpec! (Experimental) Get index specification.
searchNodes [Node!]! (Experimental) Searches for nodes which match the given filter expression. Uses Tantivy's exact search.
filter NodeFilter!
limit Int!
offset Int!
searchEdges [Edge!]! (Experimental) Searches the index for edges which match the given filter expression. Uses Tantivy's exact search.
filter EdgeFilter!
limit Int!
offset Int!
applyViews Graph! Returns the specified graph view or if none is specified returns the default view. This allows you to specify multiple operations together.
views [GraphViewCollection!]!

GraphAlgorithmPlugin#

Field Argument Type Description
pagerank [PagerankOutput!]!
iterCount Int!
threads Int
tol Float
shortest_path [ShortestPathOutput!]!
source String!
targets [String!]!
direction String

GraphSchema#

Field Argument Type Description
nodes [NodeSchema!]!
layers [LayerSchema!]!

GraphWindowSet#

Field Argument Type Description
count Int! Returns the number of items.
page [Graph!]! Fetch one page with a number of items up to a specified limit, optionally offset by a specified amount. The page_index sets the number of pages to skip (defaults to 0). For example, if page(5, 2, 1) is called, a page with 5 items, offset by 11 items (2 pages of 5 + 1), will be returned.
limit Int!
offset Int
pageIndex Int
list [Graph!]!

History#

History of updates for an object in Raphtory. Provides access to temporal properties.

Field Argument Type Description
earliestTime EventTime! Get the earliest time entry associated with this history or None if the history is empty.
latestTime EventTime! Get the latest time entry associated with this history or None if the history is empty.
list [EventTime!]! List all time entries present in this history.
listRev [EventTime!]! List all time entries present in this history in reverse order.
page [EventTime!]! Fetch one page of EventTime entries with a number of items up to a specified limit, optionally offset by a specified amount. The page_index sets the number of pages to skip (defaults to 0). For example, if page(5, 2, 1) is called, a page with 5 items, offset by 11 items (2 pages of 5 + 1), will be returned.
limit Int!
offset Int
pageIndex Int
pageRev [EventTime!]! Fetch one page of EventTime entries with a number of items up to a specified limit, optionally offset by a specified amount. The page_index sets the number of pages to skip (defaults to 0). For example, if page_rev(5, 2, 1) is called, a page with 5 items, offset by 11 items (2 pages of 5 + 1), will be returned.
limit Int!
offset Int
pageIndex Int
isEmpty Boolean! Returns True if the history is empty.
count Int! Get the number of entries contained in the history.
timestamps HistoryTimestamp! Returns a HistoryTimestamp object which accesses timestamps (milliseconds since the Unix epoch) instead of EventTime entries.
datetimes HistoryDateTime! Returns a HistoryDateTime object which accesses datetimes instead of EventTime entries. Useful for converting millisecond timestamps into easily readable datetime strings. Optionally, a format string can be passed to format the output. Defaults to RFC 3339 if not provided (e.g., "2023-12-25T10:30:45.123Z"). Refer to chrono::format::strftime for formatting specifiers and escape sequences.
formatString String
eventId HistoryEventId! Returns a HistoryEventId object which accesses event ids of EventTime entries. They are used for ordering within the same timestamp.
intervals Intervals! Returns an Intervals object which calculates the intervals between consecutive EventTime timestamps.

HistoryDateTime#

History object that provides access to datetimes instead of EventTime entries.

Field Argument Type Description
list [String!]! List all datetimes formatted as strings. If filter_broken is set to True, time conversion errors will be ignored. If set to False, a TimeError will be raised on time conversion error. Defaults to False.
filterBroken Boolean
listRev [String!]! List all datetimes formatted as strings in reverse chronological order. If filter_broken is set to True, time conversion errors will be ignored. If set to False, a TimeError will be raised on time conversion error. Defaults to False.
filterBroken Boolean
page [String!]! Fetch one page of datetimes formatted as string with a number of items up to a specified limit, optionally offset by a specified amount. The page_index sets the number of pages to skip (defaults to 0). If filter_broken is set to True, time conversion errors will be ignored. If set to False, a TimeError will be raised on time conversion error. Defaults to False. For example, if page(5, 2, 1) is called, a page with 5 items, offset by 11 items (2 pages of 5 + 1), will be returned.
limit Int!
offset Int
pageIndex Int
filterBroken Boolean
pageRev [String!]! Fetch one page of datetimes formatted as string in reverse chronological order with a number of items up to a specified limit, optionally offset by a specified amount. The page_index sets the number of pages to skip (defaults to 0). If filter_broken is set to True, time conversion errors will be ignored. If set to False, a TimeError will be raised on time conversion error. Defaults to False. For example, if page_rev(5, 2, 1) is called, a page with 5 items, offset by 11 items (2 pages of 5 + 1), will be returned.
limit Int!
offset Int
pageIndex Int
filterBroken Boolean

HistoryEventId#

History object that provides access to event ids instead of EventTime entries.

Field Argument Type Description
list [Int!]! List event ids.
listRev [Int!]! List event ids in reverse order.
page [Int!]! Fetch one page of event ids with a number of items up to a specified limit, optionally offset by a specified amount. The page_index sets the number of pages to skip (defaults to 0). For example, if page(5, 2, 1) is called, a page with 5 items, offset by 11 items (2 pages of 5 + 1), will be returned.
limit Int!
offset Int
pageIndex Int
pageRev [Int!]! Fetch one page of event ids in reverse chronological order with a number of items up to a specified limit, optionally offset by a specified amount. The page_index sets the number of pages to skip (defaults to 0). For example, if page_rev(5, 2, 1) is called, a page with 5 items, offset by 11 items (2 pages of 5 + 1), will be returned.
limit Int!
offset Int
pageIndex Int

HistoryTimestamp#

History object that provides access to timestamps (milliseconds since the Unix epoch) instead of EventTime entries.

Field Argument Type Description
list [Int!]! List all timestamps.
listRev [Int!]! List all timestamps in reverse order.
page [Int!]! Fetch one page of timestamps with a number of items up to a specified limit, optionally offset by a specified amount. The page_index sets the number of pages to skip (defaults to 0). For example, if page(5, 2, 1) is called, a page with 5 items, offset by 11 items (2 pages of 5 + 1), will be returned.
limit Int!
offset Int
pageIndex Int
pageRev [Int!]! Fetch one page of timestamps in reverse order with a number of items up to a specified limit, optionally offset by a specified amount. The page_index sets the number of pages to skip (defaults to 0). For example, if page_rev(5, 2, 1) is called, a page with 5 items, offset by 11 items (2 pages of 5 + 1), will be returned.
limit Int!
offset Int
pageIndex Int

IndexSpec#

Field Argument Type Description
nodeMetadata [String!]! Returns node metadata.
nodeProperties [String!]! Returns node properties.
edgeMetadata [String!]! Returns edge metadata.
edgeProperties [String!]! Returns edge properties.

Intervals#

Provides access to the intervals between temporal entries of an object.

Field Argument Type Description
list [Int!]! List time intervals between consecutive timestamps in milliseconds.
listRev [Int!]! List millisecond time intervals between consecutive timestamps in reverse order.
page [Int!]! Fetch one page of intervals between consecutive timestamps with a number of items up to a specified limit, optionally offset by a specified amount. The page_index sets the number of pages to skip (defaults to 0). For example, if page(5, 2, 1) is called, a page with 5 items, offset by 11 items (2 pages of 5 + 1), will be returned.
limit Int!
offset Int
pageIndex Int
pageRev [Int!]! Fetch one page of intervals between consecutive timestamps in reverse order with a number of items up to a specified limit, optionally offset by a specified amount. The page_index sets the number of pages to skip (defaults to 0). For example, if page(5, 2, 1) is called, a page with 5 items, offset by 11 items (2 pages of 5 + 1), will be returned.
limit Int!
offset Int
pageIndex Int
mean Float Compute the mean interval between consecutive timestamps. Returns None if fewer than 1 timestamp.
median Int Compute the median interval between consecutive timestamps. Returns None if fewer than 1 timestamp.
max Int Compute the maximum interval between consecutive timestamps. Returns None if fewer than 1 timestamp.
min Int Compute the minimum interval between consecutive timestamps. Returns None if fewer than 1 timestamp.

LayerSchema#

Field Argument Type Description
name String! Returns the name of the layer with this schema
edges [EdgeSchema!]! Returns the list of edge schemas for this edge layer

MetaGraph#

Field Argument Type Description
name String Returns the graph name.
path String! Returns path of graph.
created Int! Returns the timestamp for the creation of the graph.
lastOpened Int! Returns the graph's last opened timestamp according to system time.
lastUpdated Int! Returns the graph's last updated timestamp.
nodeCount Int! Returns the number of nodes in the graph.
edgeCount Int! Returns the number of edges in the graph. Returns: int:
metadata [Property!]! Returns the metadata of the graph.

Metadata#

Field Argument Type Description
get Property Get metadata value matching the specified key.
key String!
contains Boolean! /// Check if the key is in the metadata.
key String!
keys [String!]! Return all metadata keys.
values [Property!]! /// Return all metadata values.
keys [String!]

MutableEdge#

Field Argument Type Description
success Boolean! Use to check if adding the edge was successful.
edge Edge! Get the non-mutable edge for querying.
src MutableNode! Get the mutable source node of the edge.
dst MutableNode! Get the mutable destination node of the edge.
delete Boolean! Mark the edge as deleted at time time.
time Int!
layer String
addMetadata Boolean! Add metadata to the edge (errors if the value already exists). If this is called after add_edge, the layer is inherited from the add_edge and does not need to be specified again.
properties [PropertyInput!]!
layer String
updateMetadata Boolean! Update metadata of the edge (existing values are overwritten). If this is called after add_edge, the layer is inherited from the add_edge and does not need to be specified again.
properties [PropertyInput!]!
layer String
addUpdates Boolean! Add temporal property updates to the edge. If this is called after add_edge, the layer is inherited from the add_edge and does not need to be specified again.
time Int!
properties [PropertyInput!]
layer String

MutableGraph#

Field Argument Type Description
graph Graph! Get the non-mutable graph.
node MutableNode Get mutable existing node.
name String!
addNode MutableNode! Add a new node or add updates to an existing node.
time Int!
name String!
properties [PropertyInput!]
nodeType String
createNode MutableNode! Create a new node or fail if it already exists.
time Int!
name String!
properties [PropertyInput!]
nodeType String
addNodes Boolean! Add a batch of nodes.
nodes [NodeAddition!]!
edge MutableEdge Get a mutable existing edge.
src String!
dst String!
addEdge MutableEdge! Add a new edge or add updates to an existing edge.
time Int!
src String!
dst String!
properties [PropertyInput!]
layer String
addEdges Boolean! Add a batch of edges.
edges [EdgeAddition!]!
deleteEdge MutableEdge! Mark an edge as deleted (creates the edge if it did not exist).
time Int!
src String!
dst String!
layer String
addProperties Boolean! Add temporal properties to graph.
t Int!
properties [PropertyInput!]!
addMetadata Boolean! Add metadata to graph (errors if the property already exists).
properties [PropertyInput!]!
updateMetadata Boolean! Update metadata of the graph (overwrites existing values).
properties [PropertyInput!]!

MutableNode#

Field Argument Type Description
success Boolean! Use to check if adding the node was successful.
node Node! Get the non-mutable Node.
addMetadata Boolean! Add metadata to the node (errors if the property already exists).
properties [PropertyInput!]!
setNodeType Boolean! Set the node type (errors if the node already has a non-default type).
newType String!
updateMetadata Boolean! Update metadata of the node (overwrites existing property values).
properties [PropertyInput!]!
addUpdates Boolean! Add temporal property updates to the node.
time Int!
properties [PropertyInput!]

MutationPlugin#

Field Argument Type Description
NoOps String!

Namespace#

Field Argument Type Description
graphs CollectionOfMetaGraph!
path String!
parent Namespace
children CollectionOfNamespace!
items CollectionOfNamespacedItem!

Node#

Raphtory graph node.

Field Argument Type Description
id String! Returns the unique id of the node.
name String! Returns the name of the node.
defaultLayer Node! Return a view of the node containing only the default layer.
layers Node! Return a view of node containing all layers specified.
names [String!]!
excludeLayers Node! Returns a collection containing nodes belonging to all layers except the excluded list of layers.
names [String!]!
layer Node! Returns a collection containing nodes belonging to the specified layer.
name String!
excludeLayer Node! Returns a collection containing nodes belonging to all layers except the excluded layer.
name String!
rolling NodeWindowSet! Creates a WindowSet with the specified window size and optional step using a rolling window. A rolling window is a window that moves forward by step size at each iteration. alignment_unit optionally aligns the windows to the specified unit. "Unaligned" can be passed for no alignment. If unspecified (i.e. by default), alignment is done on the smallest unit of time in the step (or window if no step is passed). e.g. "1 month and 1 day" will align at the start of the day. Note that passing a step larger than window while alignment_unit is not "Unaligned" may lead to some entries appearing before the start of the first window and/or after the end of the last window (i.e. not included in any window).
window WindowDuration!
step WindowDuration
alignmentUnit AlignmentUnit
expanding NodeWindowSet! Creates a WindowSet with the specified step size using an expanding window. An expanding window is a window that grows by step size at each iteration. alignment_unit optionally aligns the windows to the specified unit. "Unaligned" can be passed for no alignment. If unspecified (i.e. by default), alignment is done on the smallest unit of time in the step. e.g. "1 month and 1 day" will align at the start of the day.
step WindowDuration!
alignmentUnit AlignmentUnit
window Node! Create a view of the node including all events between the specified start (inclusive) and end (exclusive).
start TimeInput!
end TimeInput!
at Node! Create a view of the node including all events at a specified time.
time TimeInput!
latest Node! Create a view of the node including all events at the latest time.
snapshotAt Node! Create a view of the node including all events that are valid at the specified time.
time TimeInput!
snapshotLatest Node! Create a view of the node including all events that are valid at the latest time.
before Node! Create a view of the node including all events before specified end time (exclusive).
time TimeInput!
after Node! Create a view of the node including all events after the specified start time (exclusive).
time TimeInput!
shrinkWindow Node! Shrink a Window to a specified start and end time, if these are earlier and later than the current start and end respectively.
start TimeInput!
end TimeInput!
shrinkStart Node! Set the start of the window to the larger of a specified start time and self.start().
start TimeInput!
shrinkEnd Node! Set the end of the window to the smaller of a specified end and self.end().
end TimeInput!
applyViews Node!
views [NodeViewCollection!]!
earliestTime EventTime! Returns the earliest time that the node exists.
firstUpdate EventTime! Returns the time of the first update made to the node.
latestTime EventTime! Returns the latest time that the node exists.
lastUpdate EventTime! Returns the time of the last update made to the node.
start EventTime! Gets the start time for the window. Errors if there is no window.
end EventTime! Gets the end time for the window. Errors if there is no window.
history History! Returns a history object for the node, with time entries for node additions and changes made to node.
edgeHistoryCount Int! Get the number of edge events for this node.
isActive Boolean! Check if the node is active and it's history is not empty.
nodeType String Returns the type of node.
properties Properties! Returns the properties of the node.
metadata Metadata! Returns the metadata of the node.
degree Int! Returns the number of unique counter parties for this node.
outDegree Int! Returns the number edges with this node as the source.
inDegree Int! Returns the number edges with this node as the destination.
inComponent Nodes!
outComponent Nodes!
edges Edges! Returns all connected edges.
select EdgeFilter
outEdges Edges! Returns outgoing edges.
select EdgeFilter
inEdges Edges! Returns incoming edges.
select EdgeFilter
neighbours PathFromNode! Returns neighbouring nodes.
select NodeFilter
inNeighbours PathFromNode! Returns the number of neighbours that have at least one in-going edge to this node.
select NodeFilter
outNeighbours PathFromNode! Returns the number of neighbours that have at least one out-going edge from this node.
select NodeFilter
filter Node!
expr NodeFilter!

NodeSchema#

Field Argument Type Description
typeName String!
properties [PropertySchema!]! Returns the list of property schemas for this node
metadata [PropertySchema!]!

NodeWindowSet#

Field Argument Type Description
count Int!
page [Node!]! Fetch one page with a number of items up to a specified limit, optionally offset by a specified amount. The page_index sets the number of pages to skip (defaults to 0). For example, if page(5, 2, 1) is called, a page with 5 items, offset by 11 items (2 pages of 5 + 1), will be returned.
limit Int!
offset Int
pageIndex Int
list [Node!]!

Nodes#

Field Argument Type Description
defaultLayer Nodes! Return a view of the nodes containing only the default edge layer.
layers Nodes! Return a view of the nodes containing all layers specified.
names [String!]!
excludeLayers Nodes! Return a view of the nodes containing all layers except those specified.
names [String!]!
layer Nodes! Return a view of the nodes containing the specified layer.
name String!
excludeLayer Nodes! Return a view of the nodes containing all layers except those specified.
name String!
rolling NodesWindowSet! Creates a WindowSet with the specified window size and optional step using a rolling window. A rolling window is a window that moves forward by step size at each iteration. alignment_unit optionally aligns the windows to the specified unit. "Unaligned" can be passed for no alignment. If unspecified (i.e. by default), alignment is done on the smallest unit of time in the step (or window if no step is passed). e.g. "1 month and 1 day" will align at the start of the day. Note that passing a step larger than window while alignment_unit is not "Unaligned" may lead to some entries appearing before the start of the first window and/or after the end of the last window (i.e. not included in any window).
window WindowDuration!
step WindowDuration
alignmentUnit AlignmentUnit
expanding NodesWindowSet! Creates a WindowSet with the specified step size using an expanding window. An expanding window is a window that grows by step size at each iteration. alignment_unit optionally aligns the windows to the specified unit. "Unaligned" can be passed for no alignment. If unspecified (i.e. by default), alignment is done on the smallest unit of time in the step. e.g. "1 month and 1 day" will align at the start of the day.
step WindowDuration!
alignmentUnit AlignmentUnit
window Nodes! Create a view of the node including all events between the specified start (inclusive) and end (exclusive).
start TimeInput!
end TimeInput!
at Nodes! Create a view of the nodes including all events at a specified time.
time TimeInput!
latest Nodes! Create a view of the nodes including all events at the latest time.
snapshotAt Nodes! Create a view of the nodes including all events that are valid at the specified time.
time TimeInput!
snapshotLatest Nodes! Create a view of the nodes including all events that are valid at the latest time.
before Nodes! Create a view of the nodes including all events before specified end time (exclusive).
time TimeInput!
after Nodes! Create a view of the nodes including all events after the specified start time (exclusive).
time TimeInput!
shrinkWindow Nodes! Shrink both the start and end of the window.
start TimeInput!
end TimeInput!
shrinkStart Nodes! Set the start of the window to the larger of a specified start time and self.start().
start TimeInput!
shrinkEnd Nodes! Set the end of the window to the smaller of a specified end and self.end().
end TimeInput!
typeFilter Nodes! Filter nodes by node type.
nodeTypes [String!]!
applyViews Nodes!
views [NodesViewCollection!]!
sorted Nodes!
sortBys [NodeSortBy!]!
start EventTime! Returns the start time of the window. Errors if there is no window.
end EventTime! Returns the end time of the window. Errors if there is no window.
count Int!
page [Node!]! Fetch one page with a number of items up to a specified limit, optionally offset by a specified amount. The page_index sets the number of pages to skip (defaults to 0). For example, if page(5, 2, 1) is called, a page with 5 items, offset by 11 items (2 pages of 5 + 1), will be returned.
limit Int!
offset Int
pageIndex Int
list [Node!]!
ids [String!]! Returns a view of the node ids.
filter Nodes! Returns a filtered view that applies to list down the chain
expr NodeFilter!
select Nodes! Returns filtered list of nodes
expr NodeFilter!

NodesWindowSet#

Field Argument Type Description
count Int!
page [Nodes!]! Fetch one page with a number of items up to a specified limit, optionally offset by a specified amount. The page_index sets the number of pages to skip (defaults to 0). For example, if page(5, 2, 1) is called, a page with 5 items, offset by 11 items (2 pages of 5 + 1), will be returned.
limit Int!
offset Int
pageIndex Int
list [Nodes!]!

PagerankOutput#

PageRank score.

Field Argument Type Description
name String!
rank Float!

PathFromNode#

Field Argument Type Description
layers PathFromNode! Returns a view of PathFromNode containing the specified layer, errors if the layer does not exist.
names [String!]!
excludeLayers PathFromNode! Return a view of PathFromNode containing all layers except the specified excluded layers, errors if any of the layers do not exist.
names [String!]!
layer PathFromNode! Return a view of PathFromNode containing the layer specified layer, errors if the layer does not exist.
name String!
excludeLayer PathFromNode! Return a view of PathFromNode containing all layers except the specified excluded layers, errors if any of the layers do not exist.
name String!
rolling PathFromNodeWindowSet! 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. alignment_unit optionally aligns the windows to the specified unit. "Unaligned" can be passed for no alignment. If unspecified (i.e. by default), alignment is done on the smallest unit of time in the step (or window if no step is passed). e.g. "1 month and 1 day" will align at the start of the day. Note that passing a step larger than window while alignment_unit is not "Unaligned" may lead to some entries appearing before the start of the first window and/or after the end of the last window (i.e. not included in any window).
window WindowDuration!
step WindowDuration
alignmentUnit AlignmentUnit
expanding PathFromNodeWindowSet! 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. alignment_unit optionally aligns the windows to the specified unit. "Unaligned" can be passed for no alignment. If unspecified (i.e. by default), alignment is done on the smallest unit of time in the step. e.g. "1 month and 1 day" will align at the start of the day.
step WindowDuration!
alignmentUnit AlignmentUnit
window PathFromNode! Create a view of the PathFromNode including all events between a specified start (inclusive) and end (exclusive).
start TimeInput!
end TimeInput!
at PathFromNode! Create a view of the PathFromNode including all events at time.
time TimeInput!
snapshotLatest PathFromNode! Create a view of the PathFromNode including all events that are valid at the latest time.
snapshotAt PathFromNode! Create a view of the PathFromNode including all events that are valid at the specified time.
time TimeInput!
latest PathFromNode! Create a view of the PathFromNode including all events at the latest time.
before PathFromNode! Create a view of the PathFromNode including all events before the specified end (exclusive).
time TimeInput!
after PathFromNode! Create a view of the PathFromNode including all events after the specified start (exclusive).
time TimeInput!
shrinkWindow PathFromNode! Shrink both the start and end of the window.
start TimeInput!
end TimeInput!
shrinkStart PathFromNode! Set the start of the window to the larger of the specified start and self.start().
start TimeInput!
shrinkEnd PathFromNode! Set the end of the window to the smaller of the specified end and self.end().
end TimeInput!
typeFilter PathFromNode! Filter nodes by type.
nodeTypes [String!]!
start EventTime! Returns the earliest time that this PathFromNode is valid or None if the PathFromNode is valid for all times.
end EventTime! Returns the latest time that this PathFromNode is valid or None if the PathFromNode is valid for all times.
count Int!
page [Node!]! Fetch one page with a number of items up to a specified limit, optionally offset by a specified amount. The page_index sets the number of pages to skip (defaults to 0). For example, if page(5, 2, 1) is called, a page with 5 items, offset by 11 items (2 pages of 5 + 1), will be returned.
limit Int!
offset Int
pageIndex Int
list [Node!]!
ids [String!]! Returns the node ids.
applyViews PathFromNode! Takes a specified selection of views and applies them in given order.
views [PathFromNodeViewCollection!]!
filter PathFromNode! Returns a filtered view that applies to list down the chain
expr NodeFilter!
select PathFromNode! Returns filtered list of neighbour nodes
expr NodeFilter!

PathFromNodeWindowSet#

Field Argument Type Description
count Int!
page [PathFromNode!]! Fetch one page with a number of items up to a specified limit, optionally offset by a specified amount. The page_index sets the number of pages to skip (defaults to 0). For example, if page(5, 2, 1) is called, a page with 5 items, offset by 11 items (2 pages of 5 + 1), will be returned.
limit Int!
offset Int
pageIndex Int
list [PathFromNode!]!

Properties#

Field Argument Type Description
get Property Get property value matching the specified key.
key String!
contains Boolean! Check if the key is in the properties.
key String!
keys [String!]! Return all property keys.
values [Property!]! Return all property values.
keys [String!]
temporal TemporalProperties!

Property#

Field Argument Type Description
key String!
asString String!
value PropertyOutput!

PropertySchema#

Field Argument Type Description
key String!
propertyType String!
variants [String!]!

PropertyTuple#

Field Argument Type Description
time EventTime!
asString String!
value PropertyOutput!

QueryPlugin#

Field Argument Type Description
NoOps String!

ShortestPathOutput#

Field Argument Type Description
target String!
nodes [String!]!

TemporalProperties#

Field Argument Type Description
get TemporalProperty Get property value matching the specified key.
key String!
contains Boolean! Check if the key is in the properties.
key String!
keys [String!]! Return all property keys.
values [TemporalProperty!]! Return all property values.
keys [String!]

TemporalProperty#

Field Argument Type Description
key String! Key of a property.
history History!
values [String!]! Return the values of the properties.
at String
t TimeInput!
latest String
unique [String!]!
orderedDedupe [PropertyTuple!]!
latestTime Boolean!

VectorSelection#

Field Argument Type Description
nodes [Node!]! Returns a list of nodes in the current selection.
edges [Edge!]! Returns a list of edges in the current selection.
getDocuments [Document!]! Returns a list of documents in the current selection.
addNodes VectorSelection! Adds all the documents associated with the specified nodes to the current selection. Documents added by this call are assumed to have a score of 0.
nodes [String!]!
addEdges VectorSelection! Adds all the documents associated with the specified edges to the current selection. Documents added by this call are assumed to have a score of 0.
edges [InputEdge!]!
expand VectorSelection! Add all the documents a specified number of hops away to the selection. Two documents A and B are considered to be 1 hop away of each other if they are on the same entity or if they are on the same node and edge pair.
hops Int!
window VectorisedGraphWindow
expandEntitiesBySimilarity VectorSelection! Adds documents, from the set of one hop neighbours to the current selection, to the selection based on their similarity score with the specified query. This function loops so that the set of one hop neighbours expands on each loop and number of documents added is determined by the specified limit.
query String!
limit Int!
window VectorisedGraphWindow
expandNodesBySimilarity VectorSelection! Add the adjacent nodes with higher score for query to the selection up to a specified limit. This function loops like expand_entities_by_similarity but is restricted to nodes.
query String!
limit Int!
window VectorisedGraphWindow
expandEdgesBySimilarity VectorSelection! Add the adjacent edges with higher score for query to the selection up to a specified limit. This function loops like expand_entities_by_similarity but is restricted to edges.
query String!
limit Int!
window VectorisedGraphWindow

VectorisedGraph#

Field Argument Type Description
optimizeIndex Boolean! Optmize the vector index
emptySelection VectorSelection! Returns an empty selection of documents.
entitiesBySimilarity VectorSelection! Search the top scoring entities according to a specified query returning no more than a specified limit of entities.
query String!
limit Int!
window VectorisedGraphWindow
nodesBySimilarity VectorSelection! Search the top scoring nodes according to a specified query returning no more than a specified limit of nodes.
query String!
limit Int!
window VectorisedGraphWindow
edgesBySimilarity VectorSelection! Search the top scoring edges according to a specified query returning no more than a specified limit of edges.
query String!
limit Int!
window VectorisedGraphWindow

Inputs#

EdgeAddition#

Field Type Description
src String! Source node.
dst String! Destination node.
layer String Layer.
metadata [PropertyInput!] Metadata.
updates [TemporalPropertyInput!]

EdgeFilter#

GraphQL input type for filtering edges.

EdgeFilter represents a composable boolean expression evaluated against edges in a graph. Filters can target:

  • edge endpoints (source / destination nodes),
  • edge properties and metadata,
  • temporal scope (windows, snapshots, latest),
  • layer membership,
  • and structural edge state (active, valid, deleted, self-loop).

Filters can be combined recursively using logical operators (And, Or, Not).

Examples (GraphQL):

{
edges(filter: {
And: [
{ IsActive: true },
{ Property: { name: "weight", gt: 0.5 } }
]
}) {
src
dst
}
}

Field Type Description
src NodeFilter Applies a filter to the **source node** of the edge. The nested `NodeFilter` is evaluated against the source endpoint. Example: `{ Src: { Name: { contains: "alice" } } }`
dst NodeFilter Applies a filter to the **destination node** of the edge. The nested `NodeFilter` is evaluated against the destination endpoint. Example: `{ Dst: { Id: { eq: 42 } } }`
property PropertyFilterNew Filters an edge **property** by name and value. Applies to static or temporal properties depending on context. Example: `{ Property: { name: "weight", gt: 0.5 } }`
metadata PropertyFilterNew Filters an edge **metadata field**. Metadata is shared across all temporal versions of an edge. Example: `{ Metadata: { name: "source", eq: "imported" } }`
temporalProperty PropertyFilterNew Filters a **temporal edge property**. Used when the property value varies over time and must be evaluated within a temporal context. Example: `{ TemporalProperty: { name: "status", eq: "active" } }`
and [EdgeFilter!] Logical **AND** over multiple edge filters. All nested filters must evaluate to `true`. Example: `{ And: [ { IsActive: true }, { IsValid: true } ] }`
or [EdgeFilter!] Logical **OR** over multiple edge filters. At least one nested filter must evaluate to `true`. Example: `{ Or: [ { IsDeleted: true }, { IsSelfLoop: true } ] }`
not EdgeFilter Logical **NOT** over a nested edge filter. Negates the result of the wrapped filter. Example: `{ Not: { IsDeleted: true } }`
window EdgeWindowExpr Restricts edge evaluation to a **time window**. The window is inclusive of `start` and exclusive of `end`.
at EdgeTimeExpr Restricts edge evaluation to a **single point in time**.
before EdgeTimeExpr Restricts edge evaluation to times **strictly before** a given time.
after EdgeTimeExpr Restricts edge evaluation to times **strictly after** a given time.
latest EdgeUnaryExpr Evaluates edge predicates against the **latest available state**.
snapshotAt EdgeTimeExpr Evaluates edge predicates against a **snapshot** of the graph at a specific time.
snapshotLatest EdgeUnaryExpr Evaluates edge predicates against the **most recent snapshot** of the graph.
layers EdgeLayersExpr Restricts evaluation to edges belonging to one or more **layers**. Example: `{ Layers: { values: ["fire_nation", "air_nomads"] } }`
isActive Boolean Matches edges that have at least one event in the current view/window. When `true`, only active edges are matched.
isValid Boolean Matches edges that are structurally valid (i.e. not deleted) in the current view/window.
isDeleted Boolean Matches edges that have been deleted in the current view/window.
isSelfLoop Boolean Matches edges that are **self-loops** (source node == destination node).

EdgeLayersExpr#

Restricts edge evaluation to one or more layers and applies a nested EdgeFilter.

Used by GqlEdgeFilter::Layers.

Field Type Description
names [String!]! Layer names to include.
expr EdgeFilter! Filter evaluated within the layer-restricted view.

EdgeSortBy#

Field Type Description
reverse Boolean Reverse order
src Boolean Source node
dst Boolean Destination
time SortByTime Time
property String Property

EdgeTimeExpr#

Restricts edge evaluation to a single time bound and applies a nested EdgeFilter.

Used by At, Before, and After edge filters.

Field Type Description
time TimeInput! Reference time for the operation.
expr EdgeFilter! Filter evaluated within the restricted time scope.

EdgeUnaryExpr#

Applies a unary edge-view operation and then evaluates a nested EdgeFilter.

Used by Latest and SnapshotLatest edge filters.

Field Type Description
expr EdgeFilter! Filter evaluated after applying the unary operation.

EdgeViewCollection#

Field Type Description
defaultLayer Boolean Contains only the default layer.
latest Boolean Latest time.
snapshotLatest Boolean Snapshot at latest time.
snapshotAt TimeInput Snapshot at specified time.
layers [String!] List of included layers.
excludeLayers [String!] List of excluded layers.
excludeLayer String Single excluded layer.
window Window Window between a start and end time.
at TimeInput View at a specified time.
before TimeInput View before a specified time (end exclusive).
after TimeInput View after a specified time (start exclusive).
shrinkWindow Window Shrink a Window to a specified start and end time.
shrinkStart TimeInput Set the window start to a specified time.
shrinkEnd TimeInput Set the window end to a specified time.
edgeFilter EdgeFilter Edge filter

EdgeWindowExpr#

Restricts edge evaluation to a time window and applies a nested EdgeFilter.

Used by GqlEdgeFilter::Window.

The window is inclusive of start and exclusive of end.

Field Type Description
start TimeInput! Window start time (inclusive).
end TimeInput! Window end time (exclusive).
expr EdgeFilter! Filter evaluated within the restricted window.

EdgesViewCollection#

Field Type Description
defaultLayer Boolean Contains only the default layer.
latest Boolean Latest time.
snapshotLatest Boolean Snapshot at latest time.
snapshotAt TimeInput Snapshot at specified time.
layers [String!] List of included layers.
excludeLayers [String!] List of excluded layers.
excludeLayer String Single excluded layer.
window Window Window between a start and end time.
at TimeInput View at a specified time.
before TimeInput View before a specified time (end exclusive).
after TimeInput View after a specified time (start exclusive).
shrinkWindow Window Shrink a Window to a specified start and end time.
shrinkStart TimeInput Set the window start to a specified time.
shrinkEnd TimeInput Set the window end to a specified time.
edgeFilter EdgeFilter Edge filter

EmbeddingModel#

Field Type Description
openAI OpenAIConfig OpenAI embedding models or compatible providers

GraphFilter#

GraphQL input type for restricting a graph view.

GraphFilter controls the evaluation scope for subsequent node/edge filters: - time windows (Window) - time points (At) - open-ended ranges (Before, After) - latest evaluation (Latest) - snapshots (SnapshotAt, SnapshotLatest) - layer membership (Layers)

These filters can be nested via the expr field on the corresponding *Expr input objects to form pipelines.

Field Type Description
window GraphWindowExpr Restrict evaluation to a time window (inclusive start, exclusive end).
at GraphTimeExpr Restrict evaluation to a single point in time.
before GraphTimeExpr Restrict evaluation to times strictly before the given time.
after GraphTimeExpr Restrict evaluation to times strictly after the given time.
latest GraphUnaryExpr Evaluate against the latest available state.
snapshotAt GraphTimeExpr Evaluate against a snapshot of the graph at a given time.
snapshotLatest GraphUnaryExpr Evaluate against the most recent snapshot of the graph.
layers GraphLayersExpr Restrict evaluation to one or more layers.

GraphLayersExpr#

Graph view restriction by layer membership, optionally chaining another GraphFilter.

Used by GqlGraphFilter::Layers.

Field Type Description
names [String!]! Layer names to include.
expr GraphFilter Optional nested filter applied after the layer restriction.

GraphTimeExpr#

Graph view restriction to a single time bound, optionally chaining another GraphFilter.

Used by At, Before, and After graph filters.

Example: { At: { time: 5, expr: { Layers: { names: ["L1"] } } } }

Field Type Description
time TimeInput! Reference time for the operation.
expr GraphFilter Optional nested filter applied after the time restriction.

GraphUnaryExpr#

Graph view restriction that takes only a nested expression.

Used for unary view operations like Latest and SnapshotLatest.

Field Type Description
expr GraphFilter Optional nested filter applied after the unary operation.

GraphViewCollection#

Field Type Description
defaultLayer Boolean Contains only the default layer.
layers [String!] List of included layers.
excludeLayers [String!] List of excluded layers.
excludeLayer String Single excluded layer.
subgraph [String!] Subgraph nodes.
subgraphNodeTypes [String!] Subgraph node types.
excludeNodes [String!] List of excluded nodes.
valid Boolean Valid state.
window Window Window between a start and end time.
at TimeInput View at a specified time.
latest Boolean View at the latest time.
snapshotAt TimeInput Snapshot at specified time.
snapshotLatest Boolean Snapshot at latest time.
before TimeInput View before a specified time (end exclusive).
after TimeInput View after a specified time (start exclusive).
shrinkWindow Window Shrink a Window to a specified start and end time.
shrinkStart TimeInput Set the window start to a specified time.
shrinkEnd TimeInput Set the window end to a specified time.
nodeFilter NodeFilter Node filter.
edgeFilter EdgeFilter Edge filter.

GraphWindowExpr#

Graph view restriction to a time window, optionally chaining another GraphFilter.

Used by GqlGraphFilter::Window.

  • start and end define the window (inclusive start, exclusive end).
  • expr optionally nests another graph filter to apply within this window.

Example (GraphQL):

{ Window: { start: 0, end: 10, expr: { Layers: { names: ["A"] } } } }

Field Type Description
start TimeInput! Window start time (inclusive).
end TimeInput! Window end time (exclusive).
expr GraphFilter Optional nested filter applied after the window restriction.

IndexSpecInput#

Field Type Description
nodeProps PropsInput! Node properties.
edgeProps PropsInput! Edge properties.

InputEdge#

Field Type Description
src String! Source node.
dst String! Destination node.

NodeAddition#

Field Type Description
name String! Name.
nodeType String Node type.
metadata [PropertyInput!] Metadata.
updates [TemporalPropertyInput!] Updates.

NodeFieldCondition#

Boolean expression over a built-in node field (ID, name, or type).

This is used by NodeFieldFilterNew.where_ when filtering a specific NodeField.

Supports comparisons, string predicates, and set membership. (Presence checks and aggregations are handled via property filters instead.)

Field Type Description
eq Value Equality.
ne Value Inequality.
gt Value Greater-than.
ge Value Greater-than-or-equal.
lt Value Less-than.
le Value Less-than-or-equal.
startsWith Value String prefix match.
endsWith Value String suffix match.
contains Value Substring match.
notContains Value Negated substring match.
isIn Value Set membership.
isNotIn Value Negated set membership.

NodeFieldFilterNew#

Filters a built-in node field (id, name, type) using a NodeFieldCondition.

Example (GraphQL):

{ Node: { field: NodeName, where: { Contains: "ali" } } }

Field Type Description
field NodeField! Which built-in field to filter.
where NodeFieldCondition! Condition applied to the selected field. Exposed as `where` in GraphQL.

NodeFilter#

GraphQL input type for filtering nodes.

NodeFilter represents a composable boolean expression evaluated against nodes in a graph. Filters can target:

  • built-in node fields (Node / NodeFieldFilterNew),
  • node properties and metadata,
  • temporal properties,
  • temporal scope (windows, snapshots, latest),
  • and layer membership,
  • plus node state predicates (e.g. IsActive).

Filters can be combined recursively using logical operators (And, Or, Not).

Field Type Description
node NodeFieldFilterNew Filters a built-in node field (ID, name, or type).
property PropertyFilterNew Filters a node property by name and condition.
metadata PropertyFilterNew Filters a node metadata field by name and condition. Metadata is shared across all temporal versions of a node.
temporalProperty PropertyFilterNew Filters a temporal node property by name and condition. Used when the property value varies over time and must be evaluated within a temporal context.
and [NodeFilter!] Logical AND over multiple node filters.
or [NodeFilter!] Logical OR over multiple node filters.
not NodeFilter Logical NOT over a nested node filter.
window NodeWindowExpr Restricts evaluation to a time window (inclusive start, exclusive end).
at NodeTimeExpr Restricts evaluation to a single point in time.
before NodeTimeExpr Restricts evaluation to times strictly before the given time.
after NodeTimeExpr Restricts evaluation to times strictly after the given time.
latest NodeUnaryExpr Evaluates predicates against the latest available node state.
snapshotAt NodeTimeExpr Evaluates predicates against a snapshot of the graph at a given time.
snapshotLatest NodeUnaryExpr Evaluates predicates against the most recent snapshot of the graph.
layers NodeLayersExpr Restricts evaluation to nodes belonging to one or more layers.
isActive Boolean Matches nodes that have at least one event in the current view/window. When `true`, only active nodes are matched.

NodeLayersExpr#

Restricts node evaluation to one or more layers and applies a nested NodeFilter.

Used by GqlNodeFilter::Layers.

Field Type Description
names [String!]! Layer names to include.
expr NodeFilter! Filter evaluated within the layer-restricted view.

NodeSortBy#

Field Type Description
reverse Boolean Reverse order
id Boolean Unique Id
time SortByTime Time
property String Property

NodeTimeExpr#

Restricts node evaluation to a single time bound and applies a nested NodeFilter.

Used by At, Before, and After node filters.

Field Type Description
time TimeInput! Reference time for the operation.
expr NodeFilter! Filter evaluated within the restricted time scope.

NodeUnaryExpr#

Applies a unary node-view operation and then evaluates a nested NodeFilter.

Used by Latest and SnapshotLatest node filters.

Field Type Description
expr NodeFilter! Filter evaluated after applying the unary operation.

NodeViewCollection#

Field Type Description
defaultLayer Boolean Contains only the default layer.
latest Boolean View at the latest time.
snapshotLatest Boolean Snapshot at latest time.
snapshotAt TimeInput Snapshot at specified time.
layers [String!] List of included layers.
excludeLayers [String!] List of excluded layers.
excludeLayer String Single excluded layer.
window Window Window between a start and end time.
at TimeInput View at a specified time.
before TimeInput View before a specified time (end exclusive).
after TimeInput View after a specified time (start exclusive).
shrinkWindow Window Shrink a Window to a specified start and end time.
shrinkStart TimeInput Set the window start to a specified time.
shrinkEnd TimeInput Set the window end to a specified time.
nodeFilter NodeFilter Node filter.

NodeWindowExpr#

Restricts node evaluation to a time window and applies a nested NodeFilter.

Used by GqlNodeFilter::Window.

The window is inclusive of start and exclusive of end.

Field Type Description
start TimeInput! Window start time (inclusive).
end TimeInput! Window end time (exclusive).
expr NodeFilter! Filter evaluated within the restricted window.

NodesViewCollection#

Field Type Description
defaultLayer Boolean Contains only the default layer.
latest Boolean View at the latest time.
snapshotLatest Boolean Snapshot at latest time.
layers [String!] List of included layers.
excludeLayers [String!] List of excluded layers.
excludeLayer String Single excluded layer.
window Window Window between a start and end time.
at TimeInput View at a specified time.
snapshotAt TimeInput Snapshot at specified time.
before TimeInput View before a specified time (end exclusive).
after TimeInput View after a specified time (start exclusive).
shrinkWindow Window Shrink a Window to a specified start and end time.
shrinkStart TimeInput Set the window start to a specified time.
shrinkEnd TimeInput Set the window end to a specified time.
nodeFilter NodeFilter Node filter.
typeFilter [String!] List of types.

ObjectEntry#

Field Type Description
key String! Key.
value Value! Value.

OpenAIConfig#

Field Type Description
model String!
apiBase String
apiKeyEnv String
orgId String
projectId String

PathFromNodeViewCollection#

Field Type Description
latest Boolean Latest time.
snapshotLatest Boolean Latest snapshot.
snapshotAt TimeInput Time.
layers [String!] List of layers.
excludeLayers [String!] List of excluded layers.
excludeLayer String Single layer to exclude.
window Window Window between a start and end time.
at TimeInput View at a specified time.
before TimeInput View before a specified time (end exclusive).
after TimeInput View after a specified time (start exclusive).
shrinkWindow Window Shrink a Window to a specified start and end time.
shrinkStart TimeInput Set the window start to a specified time.
shrinkEnd TimeInput Set the window end to a specified time.

PropCondition#

Boolean expression over a property value.

PropCondition is used inside PropertyFilterNew.where to describe how a property’s value should be matched.

It supports: - comparisons (Eq, Gt, Le, …), - string predicates (Contains, StartsWith, …), - set membership (IsIn, IsNotIn), - presence checks (IsSome, IsNone), - boolean composition (And, Or, Not), - and list/aggregate qualifiers (First, Sum, Len, …).

Notes: - Value is interpreted according to the property’s type. - Aggregators/qualifiers like Sum and Len apply when the underlying property is list-like or aggregatable (depending on your engine rules).

Field Type Description
eq Value Equality: property value equals the given value.
ne Value Inequality: property value does not equal the given value.
gt Value Greater-than: property value is greater than the given value.
ge Value Greater-than-or-equal: property value is >= the given value.
lt Value Less-than: property value is less than the given value.
le Value Less-than-or-equal: property value is <= the given value.
startsWith Value String prefix match against the property's string representation.
endsWith Value String suffix match against the property's string representation.
contains Value Substring match against the property's string representation.
notContains Value Negated substring match against the property's string representation.
isIn Value Set membership: property value is contained in the given list of values.
isNotIn Value Negated set membership: property value is not contained in the given list of values.
isSome Boolean Presence check: property value is present (not null/missing). When set to `true`, requires the property to exist.
isNone Boolean Absence check: property value is missing / null. When set to `true`, requires the property to be missing.
and [PropCondition!] Logical AND over nested conditions.
or [PropCondition!] Logical OR over nested conditions.
not PropCondition Logical NOT over a nested condition.
first PropCondition Applies the nested condition to the **first** element of a list-like property.
last PropCondition Applies the nested condition to the **last** element of a list-like property.
any PropCondition Requires that **any** element of a list-like property matches the nested condition.
all PropCondition Requires that **all** elements of a list-like property match the nested condition.
sum PropCondition Applies the nested condition to the **sum** of a numeric list-like property.
avg PropCondition Applies the nested condition to the **average** of a numeric list-like property.
min PropCondition Applies the nested condition to the **minimum** element of a list-like property.
max PropCondition Applies the nested condition to the **maximum** element of a list-like property.
len PropCondition Applies the nested condition to the **length** of a list-like property.

PropertyFilterNew#

Filters an entity property or metadata field by name and condition.

This input is used by both node and edge filters when targeting a specific property key (or metadata key) and applying a PropCondition.

Fields: - name: The property key to query. - where_: The condition to apply to that property’s value.

Example (GraphQL):

{ Property: { name: "weight", where: { Gt: 0.5 } } }

Field Type Description
name String! Property (or metadata) key.
where PropCondition! Condition applied to the property value. Exposed as `where` in GraphQL.

PropertyInput#

Field Type Description
key String! Key.
value Value! Value.

PropsInput#

Field Type Description
all AllPropertySpec All properties and metadata.
some SomePropertySpec Some properties and metadata.

SomePropertySpec#

SomePropertySpec object containing lists of metadata and property names.

Field Type Description
metadata [String!]! List of metadata.
properties [String!]! List of properties.

Template#

Field Type Description
enabled Boolean The default template.
custom String A custom template.

TemporalPropertyInput#

Field Type Description
time Int! Time.
properties [PropertyInput!] Properties.

Value#

Field Type Description
u8 Int 8 bit unsigned integer.
u16 Int 16 bit unsigned integer.
u32 Int 32 bit unsigned integer.
u64 Int 64 bit unsigned integer.
i32 Int 32 bit signed integer.
i64 Int 64 bit signed integer.
f32 Float 32 bit float.
f64 Float 64 bit float.
str String String.
bool Boolean Boolean.
list [Value!] List.
object [ObjectEntry!] Object.

VectorisedGraphWindow#

Field Type Description
start Int! Start time.
end Int! End time.

Window#

Field Type Description
start TimeInput! Window start time.
end TimeInput! Window end time.

WindowDuration#

Field Type Description
duration String Duration of window period. Choose from:
epoch Int Time.

Enums#

AlignmentUnit#

Alignment unit used to align window boundaries.

Value Description
UNALIGNED
MILLISECOND
SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
YEAR

AllPropertySpec#

Value Description
ALL All properties and metadata.
ALL_METADATA All metadata.
ALL_PROPERTIES All properties.

GraphType#

Value Description
PERSISTENT Persistent.
EVENT Event.

NodeField#

Value Description
NODE_ID Node ID field. Represents the graph’s node identifier (numeric or string-backed in the API).
NODE_NAME Node name field. Represents the human-readable node name (string).
NODE_TYPE Node type field. Represents the optional node type assigned at node creation (string).

SortByTime#

Value Description
LATEST Latest time
EARLIEST Earliest time

Scalars#

Boolean#

The Boolean scalar type represents true or false.

Float#

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

Int#

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

PropertyOutput#

String#

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

TimeInput#

Input for primary time component. Expects Int, DateTime formatted String, or Object { timestamp, eventId } where the timestamp is either an Int or a DateTime formatted String, and eventId is a non-negative Int. Valid string formats are RFC3339, RFC2822, %Y-%m-%d, %Y-%m-%dT%H:%M:%S%.3f, %Y-%m-%dT%H:%M:%S%, %Y-%m-%d %H:%M:%S%.3f and %Y-%m-%d %H:%M:%S%.

Upload#

A multipart file upload

Unions#

DocumentEntity#

Entity associated with document.

Type Description
Node Raphtory graph node.
Edge Raphtory graph edge.

NamespacedItem#

Type Description
Namespace
MetaGraph