Dropping data, schema, and graphs

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

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


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:
    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()
    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()
  • 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()
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()
  • Drop the desired graph.Best practice is to truncate a graph before removing it, for better performance.
    gremlin> system.graph('food').truncate()
    gremlin> system.graph('food').drop()
    Note: Graphs use many tables in the storage system. If a graph is no longer in use, drop it to ensure that you stay within the acceptable limit of the number of tables.