2013-07-04 4 views
8

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

5

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.

2

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 
13

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.

+0

al momento dell'esecuzione, tenta anche di eseguire il codice commentato. c'è un modo migliore per evitarlo. non importa troppo, solo curioso – NumenorForLife

3

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.

+1

'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'. –

0

./bin/neo4j-shell -path ../data/databases/ -c < commands.cql

su Neo4j 3.2.1

+0

Non hai più bisogno di '-c' sulle ultime versioni. – Bill

0
$ neo4j-shell -file query.cql 

o utilizzando cypher-shell

$ cat query.cql | cypher-shell