Dropping 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 adrop
traversal step.gremlin> g.V().hasLabel('author').drop()
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 keystars
along with adrop
traversal step.gremlin> g.E().hasLabel('rated').properties('stars').drop()
This query will drop the property key
stars
for all edges that have arated
edge label.gremlin> g.E().hasLabel('rated').properties('stars').valueMap()
returns no values.
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. Runningdescribe()
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
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. Usedescribe()
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
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.Best practice is to truncate a graph before removing it, for better performance.
gremlin> system.graph('food').truncate() gremlin> system.graph('food').drop()
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.
==>null