0

Hallo, ich bin durchlaufen ein Diagramm mit Gremlin und meine Abfrage folgendeDatastax Graph Traversal dauert mehr Zeit als erwartet?

g.V().match(
    __.as("BaseVehicle").outE("year").as("year"), 
    __.as("BaseVehicle").outE("make").as("make"), 
    __.as("BaseVehicle").outE("model").as("model"), 
    __.as("year").has("Year","1982"), 
    __.as("make").has("MakeName","BMW"), 
    __.as("model").has("ModelName","R65") 
).select("BaseVehicle").by("BaseVehicleID") 

Seine ca. nehmen. 20 Sekunden zum Ausführen. warum nimmt es so viel Zeit in Anspruch?

Schema folgt

schema.propertyKey("BaseVehicle").Int().single().create() 
    schema.propertyKey("ModelName").Text().single().create() 
    schema.propertyKey("YearID").Int().single().create() 
    schema.propertyKey("MakeID").Int().single().create() 
    schema.propertyKey("BaseVehicleID").Int().single().create() 
    schema.propertyKey("Year").Int().single().create() 
    schema.propertyKey("MakeName").Text().single().create() 
    schema.propertyKey("ModelID").Int().single().create() 
    schema.edgeLabel("year").multiple().properties("BaseVehicle", "Year").create() 
    schema.edgeLabel("model").multiple().properties("ModelName", "BaseVehicle").create() 
    schema.edgeLabel("make").multiple().properties("MakeName", "BaseVehicle").create() 
    schema.vertexLabel("BaseVehicle").properties("BaseVehicleID").create() 
    schema.vertexLabel("BaseVehicle").index("byBaseVehicleID").materialized().by("BaseVehicleID").add() 
    schema.vertexLabel("Year").properties("YearID").create() 
    schema.vertexLabel("Year").index("byYearID").materialized().by("YearID").add() 
    schema.vertexLabel("Year").index("YearByBaseVehicle").inE("year").by("Year").add() 
    schema.vertexLabel("Model").properties("ModelName", "ModelID").create() 
schema.vertexLabel("Model").index("byModelID").materialized().by("ModelID").add() 
    schema.vertexLabel("Model").index("ModelByBaseVehicle").inE("model").by("ModelName").add() 
    schema.vertexLabel("Make").properties("MakeName", "MakeID").create() 
    schema.vertexLabel("Make").index("byMakeID").materialized().by("MakeID").add() 
    schema.vertexLabel("Make").index("MakeByBaseVehicle").inE("make").by("MakeName").add() 
    schema.edgeLabel("year").connection("BaseVehicle", "Year").add() 
    schema.edgeLabel("model").connection("BaseVehicle", "Model").add() 
    schema.edgeLabel("make").connection("BaseVehicle", "Make").add() 

Antwort

0

Wollen Sie bitte diese Abfrage mit der .profile() Artikel zu verstehen, um den Engpass laufen? Wie sieht Ihre Hardware aus? Und wie viele Vertices und Kanten hast du?

+0

Ich habe ungefähr 3 Lac-Ecken und 22 Lac-Kanten. von .profile() kann ich den ersten Abfrageoptimierer sehen und der erste MatchStartStep dauert fast 95% der Abfragezeit. –

+0

Rajni, war das für dich gelöst? Können Sie sich sonst mit Diego, dem Startup Account Manager, in Verbindung setzen, damit wir diese über Email fortsetzen können? – peytoncas

Verwandte Themen