SparkseePython3 6.1.0
sparksee.Graph Class Reference

Graph class. More...

Public Member Functions

 find_or_create_edge (self, etype, tail, head)
 Gets any of the edges of the specified type between two given nodes (tail and head).
 find_edge_types (self)
 Gets all existing Sparksee edge type identifiers.
 get_attribute_interval_count (self, attr, lower, include_lower, higher, include_higher)
 Gets how many objects have a value into the given range for the given attribute.
 neighbors (self, objs, etype, dir)
 Selects all neighbor nodes from or to each of the node OID in the given collection and for the given edge type.
 backup (self, file)
 Dumps all the data to a backup file.
 remove_attribute (self, attr)
 Removes the given attribute.
 remove_type (self, type)
 Removes the given type.
 degree (self, oid, etype, dir)
 Gets the number of edges from or to the given node OID and for the given edge type.
 find_types (self)
 Gets all existing Sparksee node and edge type identifiers.
 new_array_attribute (self, type, name, dt, size)
 Creates a new array attribute.
 find_type (self, name)
 Gets the Sparksee type identifier for the given type name.
 top_k (self, attribute, operation, lower, order, k)
 Gets a KeyValues iterator as a result of the TopK operation.
 get_edge_peer (self, edge, node)
 Gets the other end for the given edge.
 set_attribute_text (self, oid, attr, tstream)
 Sets the writable TextStream for the given text attribute and OID.
 set_attribute (self, attr, value)
 Sets the value of the given attribute for all the objects of the types the attribute applies to.
 index_neighbors (self, edge_type, neighbors)
 Creates or destroys the neighbors index of an edge type.
 get_object_type (self, oid)
 Gets the Sparksee node or edge type identifier for the given OID.
 index_attribute (self, attr, kind)
 Updates the index of the given attribute.
 set_array_attribute (self, attr, value)
 Sets all the values of the array of the given array attribute for all the objects of the types the attribute applies to.
 top_k (self, attribute, order, k)
 Gets a KeyValues iterator as a result of the TopK operation.
 get_attribute (self, oid, attr, value)
 Gets the Value for the given attribute and OID.
 get_attribute_statistics (self, attr, basic)
 Gets statistics from the given attribute.
 select (self, attr, cond, lower, higher, restriction)
 Selects all OIDs satisfying the given condition for the given attribute.
 count_nodes (self)
 Gets the number of nodes.
 top_k (self, attribute, operation, lower, order, k, restriction)
 Gets a KeyValues iterator as a result of the TopK operation.
 set_attribute_default_value (self, attr, value)
 Sets a default value for an attribute.
 find_object (self, attr, value)
 Finds one object having the given Value for the given attribute.
 neighbors (self, oid, etype, dir)
 Selects all neighbor nodes from or to the given node OID and for the given edge type.
 new_session_attribute (self, type, dt, kind)
 Creates a new Session attribute.
 encrypted_backup (self, file, key_in_hex, iv_in_hex)
 Dumps all the data to a backup file.
 drop (self, oid)
 Drops the given OID.
 set_array_attribute_void (self, oid, attr, value)
 Sets all the elements of the ValueArray for the given array attribute and OID.
 edges (self, etype, tail, head)
 Gets all the edges of the given type between two given nodes (tail and head).
 set_attribute (self, oid, attr, value)
 Sets the Value for the given attribute and OID.
 find_edge (self, etype, tail, head)
 Gets any of the edges of the given type between two given nodes (tail and head).
 tails (self, edges)
 Gets all the tails from the given edges collection.
 select (self, attr, cond, lower, higher)
 Selects all OIDs satisfying the given condition for the given attribute.
 get_values (self, attr)
 Gets the Value collection for the given attribute.
 export (self, file, type, em)
 Exports the Graph.
 new_restricted_edge_type (self, name, tail, head, neighbors)
 Creates a new restricted edge type.
 get_attribute_text (self, oid, attr)
 Gets the read-only TextStream for the given text attribute and OID.
 explode (self, objs, etype, dir)
 Selects all edges from or to each of the node OID in the given collection and for the given edge type.
 new_edge_type (self, name, directed, neighbors)
 Creates a new edge type.
 top_k (self, attribute, operation, lower, higher, order, k)
 Gets a KeyValues iterator as a result of the TopK operation.
 top_k (self, attribute, order, k, restriction)
 Gets a KeyValues iterator as a result of the TopK operation.
 dump_data (self, file)
 Dumps logical data to a file.
 set_array_attribute (self, oid, attr, value)
 Sets all the elements of the ValueArray for the given array attribute and OID and returns it.
 top_k (self, attribute, operation, lower, higher, order, k, restriction)
 Gets a KeyValues iterator as a result of the TopK operation.
 find_attribute (self, type, name)
 Gets the Sparksee attribute identifier for the given type identifier and attribute name.
 new_node (self, type)
 Creates a new node instance.
 find_node_types (self)
 Gets all existing Sparksee node type identifiers.
 new_attribute (self, type, name, dt, kind)
 Creates a new attribute.
 new_session_array_attribute (self, type, dt, size)
 Creates a new Session array attribute.
 get_attributes (self, oid, with_values, with_names)
 Gets all Sparksee attribute identifiers with a non-NULL value for the given Sparksee OID.
 new_edge (self, type, tail_attr, tail_v, head_attr, head_v)
 Creates a new edge instance.
 get_attribute (self, attr)
 Gets information about the given attribute.
 get_session (self)
 Gets the Session this Graph belongs to.
 new_node_type (self, name)
 Creates a new node type.
 dump_storage (self, file)
 Dumps internal storage data to a file.
 select (self, type)
 Selects all OIDs belonging to the given type.
 select (self, attr, cond, value, restriction)
 Selects all OIDs satisfying the given condition for the given attribute.
 select (self, attr, cond, value)
 Selects all OIDs satisfying the given condition for the given attribute.
 rename_attribute (self, attr, new_name)
 Renames an attribute.
 count_edges (self)
 Gets the number of edges.
 rename_type (self, type, new_name)
 Renames a type.
 tails_and_heads (self, edges, tails, heads)
 Gets all the tails and heads from the given edges collection.
 new_session_attribute (self, type, dt, kind, default_value)
 Creates a new Session attribute with a default value.
 heads (self, edges)
 Gets all the heads from the given edges collection.
 new_attribute (self, type, name, dt, kind, default_value)
 Creates a new attribute with a default value.
 rename_type (self, old_name, new_name)
 Renames a type.
 explode (self, oid, etype, dir)
 Selects all edges from or to the given node OID and for the given edge type.
 get_attributes (self, oid)
 Gets all Sparksee attribute identifiers with a non-NULL value for the given Sparksee OID.
 find_attributes (self, type)
 Gets all existing Sparksee attribute identifiers for the given type identifier.
 get_array_attribute (self, oid, attr)
 Gets the ValueArray for the given array attribute and OID or NULL if it does not exist.
 get_attribute (self, oid, attr)
 Gets the Value for the given attribute and OID.
 find_or_create_object (self, attr, value)
 Finds one object having the given Value for the attribute or it creates one does not exist any.
 get_edge_data (self, edge)
 Gets information about an edge.
 drop (self, objs)
 Drops all the OIDs from the given collection.
 new_edge (self, type, tail, head)
 Creates a new edge instance.
 get_type (self, type)
 Gets information about the given type.

Detailed Description

Graph class.

Each Database has a Graph associated, which is the persistent graph which contains all data stored into the graph database and is retrieved from a Session.

Check out the 'API' and the 'SPARKSEE graph database' sections in the SPARKSEE User Manual for more details on the use of this class.

Author
Sparsity Technologies http://www.sparsity-technologies.com

Member Function Documentation

◆ backup()

sparksee.Graph.backup ( self,
file )

Dumps all the data to a backup file.

See the Sparksee class Restore methods. Errorfor other issues.

Parameters
file[in] Output backup file path.
Exceptions
RuntimeErrornull
IOErrorIf the given file cannot be created.

◆ count_edges()

sparksee.Graph.count_edges ( self)

Gets the number of edges.

Returns
The number of edges.

◆ count_nodes()

sparksee.Graph.count_nodes ( self)

Gets the number of nodes.

Returns
The number of nodes.

◆ degree()

sparksee.Graph.degree ( self,
oid,
etype,
dir )

Gets the number of edges from or to the given node OID and for the given edge type.

Parameters
oid[in] Sparksee node OID.
etype[in] Sparksee edge type identifier.
dir[in] Direction.
Returns
The number of edges.

◆ drop() [1/2]

sparksee.Graph.drop ( self,
objs )

Drops all the OIDs from the given collection.

See Drop method with the single OID parameter. This performs the same operation for each object in the given set.

Parameters
objs[in] Objects collection with the OIDs to be removed.

◆ drop() [2/2]

sparksee.Graph.drop ( self,
oid )

Drops the given OID.

It also removes its egdges as well as its attribute values.

Parameters
oid[in] Sparksee OID to be removed.

◆ dump_data()

sparksee.Graph.dump_data ( self,
file )

Dumps logical data to a file.

Errorfor other issues.

Parameters
file[in] Output file path.
Exceptions
RuntimeErrornull
IOErrorIf the given file cannot be created.

◆ dump_storage()

sparksee.Graph.dump_storage ( self,
file )

Dumps internal storage data to a file.

Errorfor other issues.

Parameters
file[in] Output file path.
Exceptions
RuntimeErrornull
IOErrorIf the given file cannot be created.

◆ edges()

sparksee.Graph.edges ( self,
etype,
tail,
head )

Gets all the edges of the given type between two given nodes (tail and head).

Parameters
etype[in] Sparksee edge type identifier.
tail[in] Tail node identifier.
head[in] Head node identifier.
Returns
Objects instance.

◆ encrypted_backup()

sparksee.Graph.encrypted_backup ( self,
file,
key_in_hex,
iv_in_hex )

Dumps all the data to a backup file.

See the Sparksee class RestoreEncryptedBackup methods. Errorfor other issues.

Parameters
file[in] Output backup file path.
key_in_hex[In] The AES encryption Key as an hexadecimal string (8, 16 or 32 bytes).
iv_in_hex[In] The AES Initialization Vector as an hexadecimal string (16 bytes).
Exceptions
RuntimeErrornull
IOErrorIf the given file cannot be created.

◆ explode() [1/2]

sparksee.Graph.explode ( self,
objs,
etype,
dir )

Selects all edges from or to each of the node OID in the given collection and for the given edge type.

Parameters
objs[in] Sparksee node OID collection.
etype[in] Sparksee edge type identifier.
dir[in] Direction.
Returns
Objects instance.

◆ explode() [2/2]

sparksee.Graph.explode ( self,
oid,
etype,
dir )

Selects all edges from or to the given node OID and for the given edge type.

Parameters
oid[in] Sparksee node OID.
etype[in] Sparksee edge type identifier.
dir[in] Direction.
Returns
Objects instance.

◆ export()

sparksee.Graph.export ( self,
file,
type,
em )

Exports the Graph.

Parameters
file[in] Output file.
type[in] Export type.
em[in] Defines how to do the export for each graph object.
Exceptions
IOErrorfor errors writing to the file.

◆ find_attribute()

sparksee.Graph.find_attribute ( self,
type,
name )

Gets the Sparksee attribute identifier for the given type identifier and attribute name.

Parameters
type[in] Sparksee type identifier.
name[in] Unique attribute name.
Returns
The Sparksee attribute identifier for the given type and attribute name or InvalidAttribute if there is no attribute with the given name for the given type.

◆ find_attributes()

sparksee.Graph.find_attributes ( self,
type )

Gets all existing Sparksee attribute identifiers for the given type identifier.

Parameters
type[in] Sparksee type identifier.
Returns
Sparksee attribute identifier list.

◆ find_edge()

sparksee.Graph.find_edge ( self,
etype,
tail,
head )

Gets any of the edges of the given type between two given nodes (tail and head).

If there are more than one, then any of them will be returned. And in case there are no edge between the given tail and head, the Objects InvalidOID will be returned.

Parameters
etype[in] Sparksee edge type identifier.
tail[in] Tail node identifier.
head[in] Head node identifier.
Returns
Any of the edges or the Objects InvalidOID.

◆ find_edge_types()

sparksee.Graph.find_edge_types ( self)

Gets all existing Sparksee edge type identifiers.

Returns
Sparksee edge type identifier list.

◆ find_node_types()

sparksee.Graph.find_node_types ( self)

Gets all existing Sparksee node type identifiers.

Returns
Sparksee node type identifier list.

◆ find_object()

sparksee.Graph.find_object ( self,
attr,
value )

Finds one object having the given Value for the given attribute.

If there are more than one, then any of them will be returned. And in case there are no object having this Value, the Objects InvalidOID will be returned.

Parameters
attr[in] Sparksee attribute identifier.
value[in] Value.
Returns
Sparksee OID or the Objects InvalidOID.

◆ find_or_create_edge()

sparksee.Graph.find_or_create_edge ( self,
etype,
tail,
head )

Gets any of the edges of the specified type between two given nodes (tail and head).

If it can not find any edge of this type between them it tries to create a new one.

Parameters
etype[in] Sparksee edge type identifier.
tail[in] Tail node identifier.
head[in] Head node identifier.
Returns
Any of the edges or the Objects InvalidOID.

◆ find_or_create_object()

sparksee.Graph.find_or_create_object ( self,
attr,
value )

Finds one object having the given Value for the attribute or it creates one does not exist any.

If the attribute is a node or edge attribute and at least one node/edge with that value is found, it returns one of them. But if it does not exist, then: If it's a node attribute it will create it and set the attribute. If it's an edge attribute it will return the InvalidOID.

Using this method with a global attribute will return the InvalidOID.

Parameters
attr[in] Sparksee attribute identifier.
value[in] Value.
Returns
Sparksee OID or the Objects InvalidOID.

◆ find_type()

sparksee.Graph.find_type ( self,
name )

Gets the Sparksee type identifier for the given type name.

Parameters
name[in] Unique type name.
Returns
The Sparksee type identifier for the given type name or the Type InvalidType if there is no type with the given name.

◆ find_types()

sparksee.Graph.find_types ( self)

Gets all existing Sparksee node and edge type identifiers.

Returns
Sparksee node and edge type identifier list.

◆ get_array_attribute()

sparksee.Graph.get_array_attribute ( self,
oid,
attr )

Gets the ValueArray for the given array attribute and OID or NULL if it does not exist.

Parameters
oid[in] Sparksee OID.
attr[in] Sparksee array attribute identifier.
Returns
A ValueArray. This returns a ValueArray, a NULL or throws an exception.

◆ get_attribute() [1/3]

sparksee.Graph.get_attribute ( self,
attr )

Gets information about the given attribute.

Parameters
attr[in] Sparksee attribute identifier.
Returns
The Attribute for the given Sparksee attribute identifier.

◆ get_attribute() [2/3]

sparksee.Graph.get_attribute ( self,
oid,
attr )

Gets the Value for the given attribute and OID.

The other version of this call, where the Value is an output parameter instead of the return, is better because it allows the user to reuse an existing Value instance, whereas this call always creates a new Value instance to be returned.

It never returns NULL. Thus, in case the OID has a NULL value for the attribute it returns a NULL Value instance.

Parameters
oid[in] Sparksee OID.
attr[in] Sparksee attribute identifier.
Returns
A new Value instance having the attribute value for the given OID.

◆ get_attribute() [3/3]

sparksee.Graph.get_attribute ( self,
oid,
attr,
value )

Gets the Value for the given attribute and OID.

Parameters
oid[in] Sparksee OID.
attr[in] Sparksee attribute identifier.
value[in|out] Value for the given attribute and for the given OID.

◆ get_attribute_interval_count()

sparksee.Graph.get_attribute_interval_count ( self,
attr,
lower,
include_lower,
higher,
include_higher )

Gets how many objects have a value into the given range for the given attribute.

This only works for the attributes with the AttributeKind Indexed or Unique.

Given values must belong to the same DataType than the attribute.

Parameters
attr[in] Sparksee attribute identifier.
lower[in] Lower bound Value of the range.
include_lower[in] If TRUE, include lower bound Value of the range.
higher[in] Higher bound Value of the range.
include_higher[in] If TRUE, include higher bound Value of the range.
Returns
Number of objects having a value into the given range.

◆ get_attribute_statistics()

sparksee.Graph.get_attribute_statistics ( self,
attr,
basic )

Gets statistics from the given attribute.

The statistics can only be obtained from Indexed or Unique attributes.

Parameters
attr[in] Sparksee attribute identifier.
basic[in] If FALSE all statistics are computed, if TRUE just those statistics marked as basic will be computed (see description of the AttributeStatistics class). Of course, computing just basic statistics will be faster than computing all of them.
Returns
An AttributeStatistics instace.

◆ get_attribute_text()

sparksee.Graph.get_attribute_text ( self,
oid,
attr )

Gets the read-only TextStream for the given text attribute and OID.

Parameters
oid[in] Sparksee OID.
attr[in] Sparksee attribute identifier.
Returns
A TextStream. This returns a TextStream to read.

◆ get_attributes() [1/2]

sparksee.Graph.get_attributes ( self,
oid )

Gets all Sparksee attribute identifiers with a non-NULL value for the given Sparksee OID.

Parameters
oid[in] Sparksee OID.
Returns
Sparksee attribute identifier list.

◆ get_attributes() [2/2]

sparksee.Graph.get_attributes ( self,
oid,
with_values,
with_names )

Gets all Sparksee attribute identifiers with a non-NULL value for the given Sparksee OID.

Additional options can be set to also get it's Values and the names of the attributes. The Text and Array attributes will have the Value set to Null because they can't be represented as a simple Value object.

Parameters
oid[in] Sparksee OID.
with_values[in] True to also get the Values of each attribute.
with_names[in] True to also get the Names of each attribute.
Returns
Sparksee attribute identifier list.

◆ get_edge_data()

sparksee.Graph.get_edge_data ( self,
edge )

Gets information about an edge.

Parameters
edge[in] Sparksee edge identifier.
Returns
An EdgeData instance.

◆ get_edge_peer()

sparksee.Graph.get_edge_peer ( self,
edge,
node )

Gets the other end for the given edge.

Parameters
edge[in] Sparksee edge identifier.
node[in] Sparksee node identifier. It must be one of the ends of the edge.
Returns
The other end of the edge.

◆ get_object_type()

sparksee.Graph.get_object_type ( self,
oid )

Gets the Sparksee node or edge type identifier for the given OID.

Parameters
oid[in] Sparksee OID.
Returns
Sparksee node or edge type identifier.

◆ get_session()

sparksee.Graph.get_session ( self)

Gets the Session this Graph belongs to.

Returns
The owning Session instance.

◆ get_type()

sparksee.Graph.get_type ( self,
type )

Gets information about the given type.

Parameters
type[in] Sparksee type identifier.
Returns
The Type for the given Sparksee type identifier.

◆ get_values()

sparksee.Graph.get_values ( self,
attr )

Gets the Value collection for the given attribute.

Parameters
attr[in] Sparksee attribute identifier.
Returns
Returns a Values object.

◆ heads()

sparksee.Graph.heads ( self,
edges )

Gets all the heads from the given edges collection.

Parameters
edges[in] Sparksee edge identifier collection.
Returns
The heads collection.

◆ index_attribute()

sparksee.Graph.index_attribute ( self,
attr,
kind )

Updates the index of the given attribute.

This just works if the current index of the attribute corresponds to the AttributeKind Basic and the new one is Indexed or Unique.

Parameters
attr[in] Sparksee attribute identifier.
kind[in] Attribute kind.

◆ index_neighbors()

sparksee.Graph.index_neighbors ( self,
edge_type,
neighbors )

Creates or destroys the neighbors index of an edge type.

Parameters
edge_type[in] Sparksee Edge type identifier.
neighbors[in] If TRUE, it indexes the neighbor nodes, otherwise it removes the index.

◆ neighbors() [1/2]

sparksee.Graph.neighbors ( self,
objs,
etype,
dir )

Selects all neighbor nodes from or to each of the node OID in the given collection and for the given edge type.

Parameters
objs[in] Sparksee node OID collection.
etype[in] Sparksee edge type identifier.
dir[in] Direction.
Returns
Objects instance.

◆ neighbors() [2/2]

sparksee.Graph.neighbors ( self,
oid,
etype,
dir )

Selects all neighbor nodes from or to the given node OID and for the given edge type.

Parameters
oid[in] Sparksee node OID.
etype[in] Sparksee edge type identifier.
dir[in] Direction.
Returns
Objects instance.

◆ new_array_attribute()

sparksee.Graph.new_array_attribute ( self,
type,
name,
dt,
size )

Creates a new array attribute.

Parameters
type[in] Sparksee node or edge type identifier.
name[in] Unique name for the new attribute.
dt[in] Base Data type for the new array attribute elements.
size[in] The array size.
Returns
Unique Sparksee attribute identifier.

◆ new_attribute() [1/2]

sparksee.Graph.new_attribute ( self,
type,
name,
dt,
kind )

Creates a new attribute.

Parameters
type[in] Sparksee node or edge type identifier.
name[in] Unique name for the new attribute.
dt[in] Data type for the new attribute.
kind[in] Attribute kind.
Returns
Unique Sparksee attribute identifier.

◆ new_attribute() [2/2]

sparksee.Graph.new_attribute ( self,
type,
name,
dt,
kind,
default_value )

Creates a new attribute with a default value.

Parameters
type[in] Sparksee node or edge type identifier.
name[in] Unique name for the new attribute.
dt[in] Data type for the new attribute.
kind[in] Attribute kind.
default_value[in] The default value to use in each new node/edge.
Returns
Unique Sparksee attribute identifier.

◆ new_edge() [1/2]

sparksee.Graph.new_edge ( self,
type,
tail,
head )

Creates a new edge instance.

Parameters
type[in] Sparksee type identifier.
tail[in] Source Sparksee OID.
head[in] Target Sparksee OID.
Returns
Unique OID of the new edge instance.

◆ new_edge() [2/2]

sparksee.Graph.new_edge ( self,
type,
tail_attr,
tail_v,
head_attr,
head_v )

Creates a new edge instance.

The tail of the edge will be any node having the given tailV Value for the given tailAttr attribute identifier, and the head of the edge will be any node having the given headV Value for the given headAttr attribute identifier.

Parameters
type[in] Sparksee type identifier.
tail_attr[in] Sparksee attribute identifier.
tail_v[in] Value.
head_attr[in] Sparksee attribute identifier.
head_v[in] Value.
Returns
Unique OID of the new edge instance.

◆ new_edge_type()

sparksee.Graph.new_edge_type ( self,
name,
directed,
neighbors )

Creates a new edge type.

Parameters
name[in] Unique name for the new edge type.
directed[in] If TRUE, this creates a directed edge type, otherwise this creates a undirected edge type.
neighbors[in] If TRUE, this indexes neighbor nodes, otherwise not.
Returns
Unique Sparksee type identifier.

◆ new_node()

sparksee.Graph.new_node ( self,
type )

Creates a new node instance.

Parameters
type[in] Sparksee type identifier.
Returns
Unique OID of the new node instance.

◆ new_node_type()

sparksee.Graph.new_node_type ( self,
name )

Creates a new node type.

Parameters
name[in] Unique name for the new node type.
Returns
Unique Sparksee type identifier.

◆ new_restricted_edge_type()

sparksee.Graph.new_restricted_edge_type ( self,
name,
tail,
head,
neighbors )

Creates a new restricted edge type.

Parameters
name[in] Unique name for the new edge type.
tail[in] Tail Sparksee node type identifier.
head[in] Head Sparksee node type identifier.
neighbors[in] If TRUE, this indexes neighbor nodes, otherwise not.
Returns
Unique Sparksee type identifier.

◆ new_session_array_attribute()

sparksee.Graph.new_session_array_attribute ( self,
type,
dt,
size )

Creates a new Session array attribute.

Session attributes are exclusive for the Session (just its Session can use the attribute) and are automatically removed when the Session is closed (thus, attribute data is not persistent into the database).

Since they are not persistent, they cannot be retrieved from the database, so they do not have an identifier name.

Parameters
type[in] Sparksee node or edge type identifier.
dt[in] Base Data type for the new array attribute elements.
size[in] The array size.
Returns
Unique Sparksee attribute identifier.

◆ new_session_attribute() [1/2]

sparksee.Graph.new_session_attribute ( self,
type,
dt,
kind )

Creates a new Session attribute.

Session attributes are exclusive for the Session (just its Session can use the attribute) and are automatically removed when the Session is closed (thus, attribute data is not persistent into the database).

Since they are not persistent, they cannot be retrieved from the database, so they do not have an identifier name.

Parameters
type[in] Sparksee node or edge type identifier.
dt[in] Data type for the new attribute.
kind[in] Attribute kind.
Returns
Unique Sparksee attribute identifier.

◆ new_session_attribute() [2/2]

sparksee.Graph.new_session_attribute ( self,
type,
dt,
kind,
default_value )

Creates a new Session attribute with a default value.

Session attributes are exclusive for the Session (just its Session can use the attribute) and are automatically removed when the Session is closed (thus, attribute data is not persistent into the database).

Since they are not persistent, they cannot be retrieved from the database, so they do not have an identifier name.

Parameters
type[in] Sparksee node or edge type identifier.
dt[in] Data type for the new attribute.
kind[in] Attribute kind.
default_value[in] The default value to use in each new node/edge.
Returns
Unique Sparksee attribute identifier.

◆ remove_attribute()

sparksee.Graph.remove_attribute ( self,
attr )

Removes the given attribute.

Parameters
attr[in] Sparksee attribute identifier.

◆ remove_type()

sparksee.Graph.remove_type ( self,
type )

Removes the given type.

This fails if there exist attributes defined for the type or if there exist restricted edges referencing this type.

Parameters
type[in] Sparksee type identifier.

◆ rename_attribute()

sparksee.Graph.rename_attribute ( self,
attr,
new_name )

Renames an attribute.

The new name must be available.

Parameters
attr[in] Sparksee attribute identifier.
new_name[in] The new name for the attribute.

◆ rename_type() [1/2]

sparksee.Graph.rename_type ( self,
old_name,
new_name )

Renames a type.

The new name must be available.

Parameters
old_name[in] The current name of the type to be renamed.
new_name[in] The new name for the type.

◆ rename_type() [2/2]

sparksee.Graph.rename_type ( self,
type,
new_name )

Renames a type.

The new name must be available.

Parameters
type[in] The type to be renamed.
new_name[in] The new name for the type.

◆ select() [1/5]

sparksee.Graph.select ( self,
attr,
cond,
lower,
higher )

Selects all OIDs satisfying the given condition for the given attribute.

This allows to perform the Between operation, thus it has two Value arguments.

Parameters
attr[in] Sparksee attribute identifier.
cond[in] Condition to be satisfied. It must be the Between Condition.
lower[in] Lower-bound Value to be satisfied.
higher[in] Higher-bound Value to be satisfied.
Returns
Objects instance.

◆ select() [2/5]

sparksee.Graph.select ( self,
attr,
cond,
lower,
higher,
restriction )

Selects all OIDs satisfying the given condition for the given attribute.

This allows to perform the Between operation, thus it has two Value arguments.

Parameters
attr[in] Sparksee attribute identifier.
cond[in] Condition to be satisfied. It must be the Between Condition.
lower[in] Lower-bound Value to be satisfied.
higher[in] Higher-bound Value to be satisfied.
restriction[in] Objects to limit the select in this set of objects.
Returns
Objects instance.

◆ select() [3/5]

sparksee.Graph.select ( self,
attr,
cond,
value )

Selects all OIDs satisfying the given condition for the given attribute.

Parameters
attr[in] Sparksee attribute identifier.
cond[in] Condition to be satisfied.
value[in] Value to be satisfied.
Returns
Objects instance.

◆ select() [4/5]

sparksee.Graph.select ( self,
attr,
cond,
value,
restriction )

Selects all OIDs satisfying the given condition for the given attribute.

Parameters
attr[in] Sparksee attribute identifier.
cond[in] Condition to be satisfied.
value[in] Value to be satisfied.
restriction[in] Objects to limit the select in this set of objects.
Returns
Objects instance.

◆ select() [5/5]

sparksee.Graph.select ( self,
type )

Selects all OIDs belonging to the given type.

Parameters
type[in] Sparksee type identifier.
Returns
Objects instance.

◆ set_array_attribute() [1/2]

sparksee.Graph.set_array_attribute ( self,
attr,
value )

Sets all the values of the array of the given array attribute for all the objects of the types the attribute applies to.

Parameters
attr[in] Sparksee array attribute identifier.
value[in] Value for all the array elements of the arrays.

◆ set_array_attribute() [2/2]

sparksee.Graph.set_array_attribute ( self,
oid,
attr,
value )

Sets all the elements of the ValueArray for the given array attribute and OID and returns it.

Initializing the array with one of these SetArrayAttribute methods is the only way to create the array. But once created it can be updated using the ValueArray. And you can get it again with the GetArrayAttribute operation.

Parameters
oid[in] Sparksee OID.
attr[in] Sparksee array attribute identifier.
value[in] Value for all the array elements of the given attribute and OID.
Returns
A ValueArray. This returns a ValueArray, a NULL or throws an exception.

◆ set_array_attribute_void()

sparksee.Graph.set_array_attribute_void ( self,
oid,
attr,
value )

Sets all the elements of the ValueArray for the given array attribute and OID.

Initializing the array with one of these SetArrayAttribute methods is the only way to create the array. But once created it can be updated using the ValueArray which can be obtained using the GetArrayAttribute operation.

Parameters
oid[in] Sparksee OID.
attr[in] Sparksee array attribute identifier.
value[in] Value for all the array elements of the given attribute and OID.

◆ set_attribute() [1/2]

sparksee.Graph.set_attribute ( self,
attr,
value )

Sets the value of the given attribute for all the objects of the types the attribute applies to.

Does not work for TEXT attribute types

txThe Transaction this operation belongs to attributeThe attribute to initialize

Parameters
attrnull
valueThe value to initialize the attribute to

◆ set_attribute() [2/2]

sparksee.Graph.set_attribute ( self,
oid,
attr,
value )

Sets the Value for the given attribute and OID.

Parameters
oid[in] Sparksee OID.
attr[in] Sparksee attribute identifier.
value[in] Value for the given attribute and for the given OID.

◆ set_attribute_default_value()

sparksee.Graph.set_attribute_default_value ( self,
attr,
value )

Sets a default value for an attribute.

The default value will be applied to all the new nodes or edges.

The given value must have the same DataType as the attribute or be a NULL value to remove the current default value.

Parameters
attr[in] The attribute.
value[in] The default value to use for this attribute.

◆ set_attribute_text()

sparksee.Graph.set_attribute_text ( self,
oid,
attr,
tstream )

Sets the writable TextStream for the given text attribute and OID.

Parameters
oid[in] Sparksee OID.
attr[in] Sparksee attribute identifier.
tstream[in] New Text value. This corresponds to a TextStream to write.

◆ tails()

sparksee.Graph.tails ( self,
edges )

Gets all the tails from the given edges collection.

Parameters
edges[in] Sparksee edge identifier collection.
Returns
The tails collection.

◆ tails_and_heads()

sparksee.Graph.tails_and_heads ( self,
edges,
tails,
heads )

Gets all the tails and heads from the given edges collection.

Parameters
edges[in] Sparksee edge identifier collection.
tails[in|out] If not NULL, all the tails will be stored here.
heads[in|out] If not NULL, all the heads will be stored here.

◆ top_k() [1/6]

sparksee.Graph.top_k ( self,
attribute,
operation,
lower,
higher,
order,
k )

Gets a KeyValues iterator as a result of the TopK operation.

Parameters
attributeThe attribute to perform the TopK on
operationThe operation to perform in the top k
lowerThe lower bound Value to be satisfied
higherThe upper bound Value to be satisfied
orderThe ordering semantincs of the top-k
kThe size of the TopK
Returns
A KeyValues instance

◆ top_k() [2/6]

sparksee.Graph.top_k ( self,
attribute,
operation,
lower,
higher,
order,
k,
restriction )

Gets a KeyValues iterator as a result of the TopK operation.

restrictonObjects to limit the topk to this set of objects

Parameters
attributeThe attribute to perform the TopK on
operationThe operation to perform in the top k
lowerThe lower bound Value to be satisfied
higherThe upper bound Value to be satisfied
orderThe ordering semantincs of the top-k
kThe size of the TopK
restrictionnull
Returns
A KeyValues instance

◆ top_k() [3/6]

sparksee.Graph.top_k ( self,
attribute,
operation,
lower,
order,
k )

Gets a KeyValues iterator as a result of the TopK operation.

Parameters
attributeThe attribute to perform the TopK on
operationThe operation to perform in the top k
lowerThe lower bound Value to be satisfied
orderThe ordering semantincs of the top-k
kThe size of the TopK
Returns
A KeyValues instance

◆ top_k() [4/6]

sparksee.Graph.top_k ( self,
attribute,
operation,
lower,
order,
k,
restriction )

Gets a KeyValues iterator as a result of the TopK operation.

restrictonObjects to limit the topk to this set of objects

Parameters
attributeThe attribute to perform the TopK on
operationThe operation to perform in the top k
lowerThe lower bound Value to be satisfied
orderThe ordering semantincs of the top-k
kThe size of the TopK
restrictionnull
Returns
A KeyValues instance

◆ top_k() [5/6]

sparksee.Graph.top_k ( self,
attribute,
order,
k )

Gets a KeyValues iterator as a result of the TopK operation.

Parameters
attributeThe attribute to perform the TopK on
orderThe ordering semantincs of the top-k
kThe size of the TopK
Returns
A KeyValues instance

◆ top_k() [6/6]

sparksee.Graph.top_k ( self,
attribute,
order,
k,
restriction )

Gets a KeyValues iterator as a result of the TopK operation.

restrictonObjects to limit the topk to this set of objects

Parameters
attributeThe attribute to perform the TopK on
orderThe ordering semantincs of the top-k
kThe size of the TopK
restrictionnull
Returns
A KeyValues instance