Re: Janusgraph not able to find suitable index for a index enabled property key
Harshit Sharma
Hi Marc, 1. Creation of property keys and indices in the schema + commit graph = (Janusgraph) GraphDBConfigurator.getGraph() mgmt = graph.openManagement() For Vertex -> propertyKey = mgmt.makePropertyKey(propertyKeyName).dataType (String.class).cardinality(Cardinality.SET).make() if(existingIndex) janusgraphIndex = mgmt.getGraphIndex(VERTEX_INDEX_NAME) mgmt.addIndex(janusgraphIndex, propertyKey) else indexBuilder = mgmt.buildIndex(VERTEX_INDEX_NAME, Vertex.class) if(cardinality is SET) indexBuilder.addKey(propertyKey, String.class.equals(propertyKey.dataType) ? Mapping.TEXT.asParameter() : Mapping.DEFAULT.asParameter()) else indexBuilder.addKey(propertyKey, String.class.equals(propertyKey.dataType) ? Mapping.TEXTSTRING.asParameter() : Mapping.DEFAULT.asParameter()) For Edge -> propertyKey = mgmt.makePropertyKey(propertyKeyName).dataType (String.class).cardinality(Cardinality.SINGLE).make() propertyKey = mgmt.makePropertyKey(propertyKeyName).dataType (String.class).cardinality(Cardinality.SINGLE).make() if(existingIndex) janusgraphIndex = mgmt.getGraphIndex(EDGE_INDEX_NAME) mgmt.addIndex(janusgraphIndex, propertyKey) else indexBuilder = mgmt.buildIndex(EDGE_INDEX_NAME, Vertex.class) if(cardinality is SET) indexBuilder.addKey(propertyKey, String.class.equals(propertyKey.dataType) ? Mapping.TEXT.asParameter() : Mapping.DEFAULT.asParameter()) else indexBuilder.addKey(propertyKey, String.class.equals(propertyKey.dataType) ? Mapping.TEXTSTRING.asParameter() : Mapping.DEFAULT.asParameter()) mgmt.commit(); 3. Query of a vertex based on a property value in another transaction Let say i created a property key "domain_vertex_key1_s" for vertex Query = g.V().has("domain_vertex_key1_s", "val1); Let say I created a property key "domain_edge_key1_s" for edge Query = g.V().has("domain_vertex_key1_s","val2"); On Mon, 10 Jan, 2022, 12:46 am , <hadoopmarc@...> wrote: Hi Harshit, |
|