Sto lavorando su Windows. Ho creato un file di testo della query Cypher usando il blocco note. Come posso eseguire la query nel file utilizzando la console di interfaccia web Neo4jShell o Neo4j.Come eseguire Cypher in un file?
risposta
Basta aggiungere -file come parametro all'avvio della console.
Su Windows, sarebbe simile a questa:
Neo4jShell.bat -file path/to/cql/file
Oppure si potrebbe anche stampare il risultato in un nuovo file
Neo4jShell.bat -file path/to/cql/file > path/to/output/file
Sono anche sicuro che c'è un modo per farlo dall'interno del guscio e non all'avvio, come mi aveva dimostrato una volta Stefan Armbruster ma per amore di Dio, non ricordo come l'ha fatto. Ma questo approccio funziona pure.
Con l'interfaccia web Neo4j, eseguo solo la copia & incolla.
Sulla console a volte uso curl per parlare con l'interfaccia REST di Neo4j. Ciò mi consente di utilizzare le stesse query (con riferimenti a parametri separati) che ho nella mia applicazione. Devi racchiudere la query nel tuo file in un oggetto json per quello.
data.json:
{
"query":"match (u:User) where u.username={username} return u",
"params":{"username":"trenkerbe"}
}
comando:
curl -i -X POST -H "Content-Type: application/json" -d @data.json http://localhost:7474/db/data/cypher
Su Debian/Ubuntu o qualsiasi * nix installazioni, utilizzare la seguente dal terminale:
$ neo4j-shell -c < path-to-cypher-query-file.cql
Si noti che ogni cifra q il file nel file deve terminare con un punto e virgola e deve essere separato da una riga vuota dall'altra query. Inoltre, il finale .cql
(formato file) non è obbligatorio.
Il file neo4jShell.bat è stato rimosso poiché è stata posta questa domanda. Il nuovo approccio per eseguire i file cifrati consiste nell'utilizzare l'applicazione Web denominata LazyWebCypher.
'neo4j-shell.bat' esiste ancora, [devi solo scaricare il file zip per scaricarlo] (https://neo4j.com/developer/kb/using-neo4j- shell-Neo4j-ce-3x /). È tuttavia deprecato, ma la sostituzione ufficiale è 'cypher-shell'. –
./bin/neo4j-shell -path ../data/databases/ -c < commands.cql
su Neo4j 3.2.1
Non hai più bisogno di '-c' sulle ultime versioni. – Bill
$ neo4j-shell -file query.cql
o utilizzando cypher-shell
$ cat query.cql | cypher-shell
al momento dell'esecuzione, tenta anche di eseguire il codice commentato. c'è un modo migliore per evitarlo. non importa troppo, solo curioso – NumenorForLife