# `cassandra.datastax.graph` - Graph Statements, Options, and Row Factories

cassandra.datastax.graph.single_object_row_factory(column_names, rows)

  returns the JSON string value of graph results

cassandra.datastax.graph.graph_result_row_factory(column_names, rows)

  Returns a `Result` object that can load graph results and produce specific types. The Result JSON is deserialized and unpacked from the top-level ‘result’ dict.

cassandra.datastax.graph.graph_object_row_factory(column_names, rows)

  Like `graph_result_row_factory()`, except known element types (`Vertex`, `Edge`) are converted to their simplified objects. Some low-level metadata is shed in this conversion. Unknown result types are still returned as `Result`.

cassandra.datastax.graph.graph_graphson2_row_factory(cluster)

  Row factory to deserialize GraphSON2 results.

cassandra.datastax.graph.graph_graphson3_row_factory(cluster)

  Row factory to deserialize GraphSON3 results.

cassandra.datastax.graph.to_int(value)

  Wraps a value to be explicitly serialized as a graphson Int.

cassandra.datastax.graph.to_bigint(value)

  Wraps a value to be explicitly serialized as a graphson Bigint.

cassandra.datastax.graph.to_smallint(value)

  Wraps a value to be explicitly serialized as a graphson Smallint.

cassandra.datastax.graph.to_float(value)

  Wraps a value to be explicitly serialized as a graphson Float.

cassandra.datastax.graph.to_double(value)

  Wraps a value to be explicitly serialized as a graphson Double.

class cassandra.datastax.graph.GraphProtocol
  GRAPHSON_1_0 = b'graphson-1.0'

    GraphSON1

  GRAPHSON_2_0 = b'graphson-2.0'

    GraphSON2

  GRAPHSON_3_0 = b'graphson-3.0'

    GraphSON3

class cassandra.datastax.graph.GraphOptions(**kwargs)

  Options for DSE Graph Query handler.

  graph_name

    name of the targeted graph.

  graph_source

    choose the graph traversal source, configured on the server side.

  graph_language

    the language used in the queries (default “gremlin-groovy”)

  graph_read_consistency_level

    read cassandra.ConsistencyLevel for graph queries (if distinct from session default). Setting this overrides the native Statement.consistency_level for read operations from Cassandra persistence

  graph_write_consistency_level

    write cassandra.ConsistencyLevel for graph queries (if distinct from session default). Setting this overrides the native Statement.consistency_level for write operations to Cassandra persistence.

  is_default_source
  is_analytics_source

    True if `graph_source` is set to the server-defined analytics traversal source (‘a’)

  is_graph_source

    True if `graph_source` is set to the server-defined graph traversal source (‘g’)

  set_source_default()

    Sets `graph_source` to the server-defined default traversal source (‘default’)

  set_source_analytics()

    Sets `graph_source` to the server-defined analytic traversal source (‘a’)

  set_source_graph()

    Sets `graph_source` to the server-defined graph traversal source (‘g’)

class cassandra.datastax.graph.SimpleGraphStatement(query_string, retry_policy=None, consistency_level=None, routing_key=None, serial_consistency_level=None, fetch_size=<object object>, keyspace=None, custom_payload=None, is_idempotent=False)

  Simple graph statement for `Session.execute_graph()`. Takes the same parameters as `SimpleStatement`.

  query_string should be a literal CQL statement with the exception of parameter placeholders that will be filled through the parameters argument of `Session.execute()`.

  See `Statement` attributes for a description of the other parameters.

class cassandra.datastax.graph.Result(value)

  Represents deserialized graph results. Property and item getters are provided for convenience.

  value = None

    Deserialized value from the result

  as_vertex()

    Return a `Vertex` parsed from this result

    Raises TypeError if parsing fails (i.e. the result structure is not valid).

  as_edge()

    Return a `Edge` parsed from this result

    Raises TypeError if parsing fails (i.e. the result structure is not valid).

  as_path()

    Return a `Path` parsed from this result

    Raises TypeError if parsing fails (i.e. the result structure is not valid).

class cassandra.datastax.graph.Vertex(id, label, type, properties)

  Represents a Vertex element from a graph query.

  Vertex `properties` are extracted into a `dict` of property names to list of `VertexProperty` (list because they are always encoded that way, and sometimes have multiple cardinality; VertexProperty because sometimes the properties themselves have property maps).

class cassandra.datastax.graph.VertexProperty(label, value, properties=None)

  Vertex properties have a top-level value and an optional `dict` of properties.

  label = None

    label of the property

  value = None

    Value of the property

  properties = None

    dict of properties attached to the property

class cassandra.datastax.graph.Edge(id, label, type, properties, inV, inVLabel, outV, outVLabel)

  Represents an Edge element from a graph query.

  Attributes match initializer parameters.

class cassandra.datastax.graph.Path(labels, objects)

  Represents a graph path.

  Labels list is taken verbatim from the results.

  Objects are either `Result` or `Vertex`/`Edge` for recognized types

  labels = None

    List of labels in the path

  objects = None

    List of objects in the path

class cassandra.datastax.graph.T(name, val)

  Represents a collection of tokens for more concise Traversal definitions.

  id = T.id
  key = T.key
  label = T.label
  value = T.value

class cassandra.datastax.graph.GraphSON1Serializer

  Serialize python objects to graphson types.

class cassandra.datastax.graph.GraphSON1Deserializer

  Deserialize graphson1 types to python objects.

  classmethod deserialize_date(value)
  classmethod deserialize_timestamp(value)
  classmethod deserialize_time(value)
  classmethod deserialize_duration(value)
  classmethod deserialize_int(value)
  classmethod deserialize_bigint(value)
  classmethod deserialize_double(value)
  classmethod deserialize_float(value)
  classmethod deserialize_uuid(value)
  classmethod deserialize_blob(value)
  classmethod deserialize_decimal(value)
  classmethod deserialize_point(value)
  classmethod deserialize_linestring(value)
  classmethod deserialize_polygon(value)

class cassandra.datastax.graph.GraphSON2Reader(context, extra_deserializer_map=None)

  GraphSON2 Reader that parse json and deserialize to python objects.

  Parameters:

    extra_deserializer_map – map from GraphSON type tag to deserializer instance implementing deserialize

  read(json_data)

    Read and deserialize `json_data`.

  deserialize(obj)

    Deserialize GraphSON type-tagged dict values into objects mapped in self.deserializers