Ich arbeite an Windows. Ich habe eine Textdatei der Cypher-Abfrage mit Notepad erstellt. Wie kann ich die Abfrage in der Datei mit Neo4jShell oder Neo4j Web-Interface-Konsole ausführen.Wie führe ich Cypher in einer Datei aus?
Antwort
Fügen Sie einfach -file als Parameter beim Starten der Konsole hinzu.
auf Fenster, würde es so aussehen:
Neo4jShell.bat -file path/to/cql/file
Oder man könnte auch das Ergebnis in eine neue Datei drucken
Neo4jShell.bat -file path/to/cql/file > path/to/output/file
Ich bin auch sicher, dass es eine Möglichkeit, es zu tun ist, aus der Schale heraus und nicht beim Start, wie es mir Stefan Armbruster einmal vorgeführt hat, aber aus Liebe zu Gott kann ich mich nicht erinnern, wie er es gemacht hat. Aber dieser Ansatz funktioniert auch.
Mit Neo4j Web-Schnittstelle kopiere ich einfach & Paste.
Auf der Konsole verwende ich manchmal curl, um mit Neo4js REST-Schnittstelle zu sprechen. Dadurch kann ich dieselben Abfragen (mit Verweisen auf separate Parameter) verwenden, die ich in meiner Anwendung habe. Sie müssen die Abfrage in Ihre Datei in ein JSON-Objekt für das Wrapping umbrechen.
data.json:
{
"query":"match (u:User) where u.username={username} return u",
"params":{"username":"trenkerbe"}
}
Befehl:
curl -i -X POST -H "Content-Type: application/json" -d @data.json http://localhost:7474/db/data/cypher
auf Debian/Ubuntu oder irgendwelche * nix Installationen, verwenden Sie die folgende von der Klemme:
$ neo4j-shell -c < path-to-cypher-query-file.cql
Beachten Sie, dass jede Chiffre q Die Datei muss in einem Semikolon enden und muss durch eine Leerzeile von der anderen Abfrage getrennt sein. Auch die .cql
Endung (Dateiformat) ist nicht zwingend erforderlich.
Die Datei neo4jShell.bat wurde entfernt, seit diese Frage gestellt wurde. Der neue Ansatz zum Ausführen von Chiffre-Dateien besteht darin, die Web-Anwendung LazyWebCypher zu verwenden.
'neo4j-shell.bat' existiert noch, [Sie müssen nur die Zip-Datei herunterladen, um es zu bekommen] (https://neo4j.com/developer/kb/using-neo4j- shell-neo4j-ce-3x /). Es ist zwar veraltet, aber der offizielle Ersatz ist "Chiffre-Shell". –
./bin/neo4j-shell -path ../data/databases/ -c < commands.cql
auf Neo4j 3.2.1
Sie benötigen das '-c' nicht mehr in den neuesten Versionen. – Bill
$ neo4j-shell -file query.cql
oder mit cypher-shell
$ cat query.cql | cypher-shell
Derzeit, wenn man das ausführt, versucht es auch, auskommentierten Code auszuführen. Gibt es einen besseren Weg, dies zu vermeiden? ist nicht so wichtig, nur neugierig – NumenorForLife