sparksee.Graph Class Reference

Graph class. More...

List of all members.

Public Member Functions

def set_attribute_text
 Sets the writable TextStream for the given text attribute and OID.
def dump_data
 Dumps logical data to a file.
def find_types
 Gets all existing Sparksee node and edge type identifiers.
def rename_attribute
 Renames an attribute.
def select
 Selects all OIDs satisfying the given condition for the given attribute.
def get_attribute_interval_count
 Gets how many objects have a value into the given range for the given attribute.
def tails_and_heads
 Gets all the tails and heads from the given edges collection.
def degree
 Gets the number of edges from or to the given node OID and for the given edge type.
def rename_type
 Renames a type.
def dump_storage
 Dumps internal storage data to a file.
def neighbors
 Selects all neighbor nodes from or to each of the node OID in the given collection and for the given edge type.
def get_attributes
 Gets all Sparksee attribute identifiers with a non-NULL value for the given Sparksee OID.
def get_attribute_statistics
 Gets statistics from the given attribute.
def new_node
 Creates a new node instance.
def get_attribute_text
 Gets the read-only TextStream for the given text attribute and OID.
def count_edges
 Gets the number of edges.
def find_edge_types
 Gets all existing Sparksee edge type identifiers.
def select
 Selects all OIDs satisfying the given condition for the given attribute.
def index_attribute
 Updates the index of the given attribute.
def get_type
 Gets information about the given type.
def find_attribute
 Gets the Sparksee attribute identifier for the given type identifier and attribute name.
def new_attribute
 Creates a new attribute.
def edges
 Gets all the edges of the given type between two given nodes (tail and head).
def select
 Selects all OIDs belonging to the given type.
def select
 Selects all OIDs satisfying the given condition for the given attribute.
def find_or_create_object
 Finds one object having the given Value for the attribute or it creates one does not exist any.
def find_node_types
 Gets all existing Sparksee node type identifiers.
def get_attribute
 Gets the Value for the given attribute and OID.
def remove_attribute
 Removes the given attribute.
def set_attribute_default_value
 Sets a default value for an attribute.
def backup
 Dumps all the data to a backup file.
def new_session_attribute
 Creates a new Session attribute with a default value.
def find_attributes
 Gets all existing Sparksee attribute identifiers for the given type identifier.
def get_attribute
 Gets the Value for the given attribute and OID.
def count_nodes
 Gets the number of nodes.
def set_attribute
 Sets the Value for the given attribute and OID.
def get_edge_data
 Gets information about an edge.
def neighbors
 Selects all neighbor nodes from or to the given node OID and for the given edge type.
def rename_type
 Renames a type.
def explode
 Selects all edges from or to each of the node OID in the given collection and for the given edge type.
def new_node_type
 Creates a new node type.
def new_session_attribute
 Creates a new Session attribute.
def tails
 Gets all the tails from the given edges collection.
def find_or_create_edge
 Gets any of the edges of the specified type between two given nodes (tail and head).
def drop
 Drops the given OID.
def new_edge_type
 Creates a new edge type.
def heads
 Gets all the heads from the given edges collection.
def find_edge
 Gets any of the edges of the given type between two given nodes (tail and head).
def explode
 Selects all edges from or to the given node OID and for the given edge type.
def find_object
 Finds one object having the given Value for the given attribute.
def drop
 Drops all the OIDs from the given collection.
def new_attribute
 Creates a new attribute with a default value.
def get_object_type
 Gets the Sparksee node or edge type identifier for the given OID.
def get_attribute
 Gets information about the given attribute.
def export
 Exports the Graph.
def new_edge
 Creates a new edge instance.
def get_values
 Gets the Value collection for the given attribute.
def get_edge_peer
 Gets the other end for the given edge.
def new_edge
 Creates a new edge instance.
def select
 Selects all OIDs satisfying the given condition for the given attribute.
def find_type
 Gets the Sparksee type identifier for the given type name.
def remove_type
 Removes the given type.
def new_restricted_edge_type
 Creates a new restricted edge 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

def 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.

def sparksee.Graph.dump_data (   self,
  file 
)

Dumps logical data to a file.

Parameters:
file [in] Output file path.
Exceptions:
IOError If the given file cannot be created.
RuntimeError null

def sparksee.Graph.find_types (   self  ) 

Gets all existing Sparksee node and edge type identifiers.

Returns:
Sparksee node and edge type identifier list.

def sparksee.Graph.rename_attribute (   self,
  attr,
  newName 
)

Renames an attribute.

The new name must be available.

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

def 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.

def sparksee.Graph.get_attribute_interval_count (   self,
  attr,
  lower,
  includeLower,
  higher,
  includeHigher 
)

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.
includeLower [in] If TRUE, include lower bound Value of the range.
higher [in] Higher bound Value of the range.
includeHigher [in] If TRUE, include higher bound Value of the range.
Returns:
Number of objects having a value into the given range.

def 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.

def 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.

def sparksee.Graph.rename_type (   self,
  oldName,
  newName 
)

Renames a type.

The new name must be available.

Parameters:
oldName [in] The current name of the type to be renamed.
newName [in] The new name for the type.

def sparksee.Graph.dump_storage (   self,
  file 
)

Dumps internal storage data to a file.

Parameters:
file [in] Output file path.
Exceptions:
IOError If the given file cannot be created.
RuntimeError null

def 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.

def 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.

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

Gets statistics from the given attribute.

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.

def 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.

def 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.

def sparksee.Graph.count_edges (   self  ) 

Gets the number of edges.

Returns:
The number of edges.

def sparksee.Graph.find_edge_types (   self  ) 

Gets all existing Sparksee edge type identifiers.

Returns:
Sparksee edge type identifier list.

def 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.

def 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.

def 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.

def 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.

def 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.

def 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.

def sparksee.Graph.select (   self,
  type 
)

Selects all OIDs belonging to the given type.

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

def 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.

def 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.

def sparksee.Graph.find_node_types (   self  ) 

Gets all existing Sparksee node type identifiers.

Returns:
Sparksee node type identifier list.

def 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.

def sparksee.Graph.remove_attribute (   self,
  attr 
)

Removes the given attribute.

Parameters:
attr [in] Sparksee attribute identifier.

def 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.

def sparksee.Graph.backup (   self,
  file 
)

Dumps all the data to a backup file.

See the Sparksee class Restore method.

Parameters:
file [in] Output backup file path.
Exceptions:
IOError If the given file cannot be created.
RuntimeError null

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

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.
defaultValue [in] The default value to use in each new node/edge.
Returns:
Unique Sparksee attribute identifier.

def 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.

def 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.

def sparksee.Graph.count_nodes (   self  ) 

Gets the number of nodes.

Returns:
The number of nodes.

def 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.

def sparksee.Graph.get_edge_data (   self,
  edge 
)

Gets information about an edge.

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

def 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.

def sparksee.Graph.rename_type (   self,
  type,
  newName 
)

Renames a type.

The new name must be available.

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

def 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.

def 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.

def 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.

def 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.

def 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.

def 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.

def 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.

def 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.

def 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.

def 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.

def 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.

def sparksee.Graph.drop (   self,
  objs 
)

Drops all the OIDs from the given collection.

See Drop method with the single OID parameter. This performs that call for all the elements into the collection.

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

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

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.
defaultValue [in] The default value to use in each new node/edge.
Returns:
Unique Sparksee attribute identifier.

def 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.

def 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.

def 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:
IOError null

def sparksee.Graph.new_edge (   self,
  type,
  tailAttr,
  tailV,
  headAttr,
  headV 
)

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.
tailAttr [in] Sparksee attribute identifier.
tailV [in] Value.
headAttr [in] Sparksee attribute identifier.
headV [in] Value.
Returns:
Unique OID of the new edge instance.

def 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.

def 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.

def 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.

def 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.

def 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.

def 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.

def 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.


Generated on Fri Sep 12 13:39:42 2014 for SparkseePython by  doxygen 1.5.6