Qualcuno potrebbe spiegare o fornire collegamenti in cui è possibile conoscere il comando del profilo e comprendere i piani di esecuzione della query di Cypher per le esigenze di ottimizzazione e capire come funziona Cypher.Comprensione della parola chiave e del piano di esecuzione di Neo4j Cypher Profile
Ad esempio, ho creato il seguente database di esempio Neo4j (versione 2.0).
create (ayan:Person{name:"Ayan",age:25}),
(dixi:Person{name:"Dixi",age:26}),
(thaggu:Person{name:"Thaggu",age:27}),
(santosh:Person{name:"Santosh",age:28}),
(ayan)-[:FRIEND]-(santosh),
(ayan)-[:FRIEND]-(dixi),
(thaggu)-[:FRIEND]-(dixi);
Ora, quando ho eseguito la semplice domanda sotto,
profile match n:Person, n-[:FRIEND]-m where n.name="Ayan" return m;
ottengo il seguente risultato, ma io sono non sono in grado di capire la spiegazione al di sotto del risultato. Per favore aiuto.
+--------------------------------+
| m |
+--------------------------------+
| Node[4]{age:28,name:"Santosh"} |
| Node[2]{age:26,name:"Dixi"} |
+--------------------------------+
2 rows
==> ColumnFilter(symKeys=["n", "m", " UNNAMED17"], returnItemNames=["m"], _rows=2, _db_hits=0)
==> PatternMatch(g="(m)-[' UNNAMED17']-(n)", _rows=2, _db_hits=0)
==> Filter(pred="(Property == Literal(Ayan) AND hasLabel(n: Person))", _rows=1, _db_hits=4)
==> NodeByLabel(label="Person", identifier="n", _rows=4, _db_hits=0)