JanusGraph/janusgraph

Index with label constraint does not work for partitioned labels

Open

#1.842 geöffnet am 10. Okt. 2019

Auf GitHub ansehen
 (1 Kommentar) (0 Reaktionen) (0 zugewiesene Personen)Java (1.137 Forks)batch import
area/indexhelp wantedkind/bug/confirmed

Repository-Metriken

Stars
 (4.985 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 3T 18h) (12 gemergte PRs in 30 T)

Beschreibung

Code to reproduce:

graph = JanusGraphFactory.open("inmemory")
mgmt = graph.openManagement()
l = mgmt.makeVertexLabel('V').partition().make()
p1 = mgmt.makePropertyKey('p').cardinality(Cardinality.SINGLE).dataType(String.class).make()
mgmt.buildIndex("i1", Vertex.class).addKey(p1).indexOnly(l).buildCompositeIndex()
mgmt.commit()
g = graph.traversal()

v1=g.addV("V").property('p','a').next()
g.tx().commit()
g.V().hasLabel('V').has('p', 'a')
gremlin> mgmt = graph.openManagement()
==>org.janusgraph.graphdb.database.management.ManagementSystem@277bc3a5
gremlin> l = mgmt.makeVertexLabel('V').partition().make()
==>V
gremlin> p1 = mgmt.makePropertyKey('p').cardinality(Cardinality.SINGLE).dataType(String.class).make()
==>p
gremlin> mgmt.buildIndex("i1", Vertex.class).addKey(p1).indexOnly(l).buildCompositeIndex()
==>i1
gremlin> mgmt.commit()
==>null
gremlin> g = graph.traversal()
==>graphtraversalsource[standardjanusgraph[inmemory:[127.0.0.1]], standard]
gremlin> 
gremlin> v1=g.addV("V").property('p','a').next()
==>v[4226]
gremlin> g.tx().commit()
==>null
gremlin> g.V().hasLabel('V').has('p', 'a')
gremlin> 

Related issue #206

Contributor Guide