Dropping data, schema, and graphs 

In Gremlin console, how to drop (delete) data, schema, and graphs.

Data, schema, and graphs can be dropped in the Gremlin console as follows:

Procedure

Drop data

  • To drop all data without dropping a graph and schema, drop all vertices.
    gremlin> g.V().drop().iterate()
  • To drop specific data, such as all author vertices, identify the vertices along with a drop traversal step.
    gremlin> g.V().hasLabel('author').drop()
    Note: If a very large number of vertices will be dropped with the command shown above, DSE Graph may complain. In that case, modify the drop() command in the following manner:
    g.V().hasLabel('author').limit(100).drop()
    and repeat until all vertices are dropped.
  • To drop a property key from an edge, such as rated edges, identify the edges, the property key stars along with a drop traversal step.
    gremlin> g.E().hasLabel('rated').properties('stars').drop()

    This query will drop the property key starsfor all edges that have a rated edge label.

    gremlin> g.E().hasLabel('rated').properties('stars').valueMap()
    returns no values.
    Warning: For data created earlier than DSE 5.0.5, conditions exist that will drop all edges as well as the edge property during a property key drop. See Dropping edge property drops edges.

Drop schema

  • To drop the schema and all data without dropping the graph, use a clear() step. Running describe() after will verify that the schema is dropped. After the schema is dropped, new schema and data can be loaded to the graph.
    gremlin> schema.clear()
    ==>null
    Important: Currently, certain schema elements such as a vertex label cannot be individually modified or removed. If a change to the schema is necessary, drop the whole schema as detailed above and recreate.

Drop index

  • To drop an index from the schema, such as the byMeal index, identify the index by name. Use describe() to examine all indexes for the desired vertex label.
    gremlin> schema.vertexLabel('meal').describe()
    ==>schema.vertexLabel('meal').properties("name").create()
    schema.vertexLabel('meal').index('byMeal').materialized().by('name').add()
  • Using the vertex label and index name, remove the index. Running describe() again will verify that the index is removed.
    gremlin> schema.vertexLabel('meal').index('byMeal').remove()
    ==>null

Dropping a graph

  • Dropping a graph will clear all schema and data as well as deleting the graph. A system command is required to drop a graph. In order to use system commands, the graph traversal alias must be cleared. A configuration reset clears the alias.
    gremlin> :remote config alias reset
    Note: System commands are not accessible when a graph is aliased.
    ==>Aliases cleared
  • Optional: If unsure of the graph name, examine what graphs exist.
    gremlin> system.graphs()
    ==>food
  • Drop the desired graph.
    gremlin> system.graph('food').drop()
    ==>null