Re: How can i keep the vertex which i want to add is unique?


Jason Plurad <plu...@...>
 

Check out the documentation for creating a unique composite index.

Here's an example Gremlin Console session which creates a unique composite index on name. When you attempt to set a non-unique name, it will throw a SchemaViolationException.

gremlin> graph = JanusGraphFactory.open('inmemory')
==>standardjanusgraph[inmemory:[127.0.0.1]]
gremlin
> mgmt = graph.openManagement()
==>org.janusgraph.graphdb.database.management.ManagementSystem@2eadc9f6
gremlin
> name = mgmt.makePropertyKey('name').dataType(String.class).cardinality(Cardinality.SINGLE).make()
==>name
gremlin
> nameIndex = mgmt.buildIndex('nameIndex', Vertex.class).addKey(name).unique().buildCompositeIndex()
==>nameIndex
gremlin
> mgmt.commit()
==>null
gremlin
> graph.addVertex('name', 'huupon')
==>v[4184]
gremlin
> graph.addVertex('name', 'huupon')
Adding this property for key [name] and value [huupon] violates a uniqueness constraint [nameIndex]


-- Jason


On Wednesday, June 21, 2017 at 4:34:22 AM UTC-4, huupon wrote:
Hi, all:

       How can i keep the vertex which i want to add is unique?  get and add?  whether have any other methods to add unique vertex ?

Join janusgraph-users@lists.lfaidata.foundation to automatically receive all group messages.