2013-07-04 15 views
8

Pracuję nad oknami. Stworzyłem plik tekstowy zapytania Cypher za pomocą notatnika. Jak mogę uruchomić zapytanie w pliku za pomocą interfejsu sieciowego Neo4jShell lub Neo4j.Jak wykonać Cypher w pliku?

Odpowiedz

5

Po prostu dodaj plik jako parametr podczas uruchamiania konsoli.

Na oknach, to będzie wyglądać następująco:

Neo4jShell.bat -file path/to/cql/file 

Albo można też wydrukować wynik do nowego pliku

Neo4jShell.bat -file path/to/cql/file > path/to/output/file 

Jestem też pewien, że jest to sposób, aby to zrobić z wnętrza powłoki, a nie przy starcie, jak to mi kiedyś zademonstrował Stefan Armbruster, ale z miłości do Boga, nie pamiętam, jak to zrobił. Ale to podejście działa również.

2

Z interfejsem sieciowym Neo4j Po prostu kopiuję wklej &.

Na konsoli czasami używam curl, aby rozmawiać z interfejsem REST Neo4j. To pozwala mi używać tych samych zapytań (z odniesieniami do oddzielnych parametrów), które mam w mojej aplikacji. Musisz zawijać zapytanie w swoim pliku do obiektu json.

data.json:

{ 
    "query":"match (u:User) where u.username={username} return u", 
    "params":{"username":"trenkerbe"} 
} 

polecenie:

curl -i -X POST -H "Content-Type: application/json" -d @data.json http://localhost:7474/db/data/cypher 
13

Na Debian/Ubuntu lub dowolne * nix instalacji, należy użyć następujących opcji z terminala:

$ neo4j-shell -c < path-to-cypher-query-file.cql

Pamiętaj, że każdy kod q w pliku musi kończyć się średnikiem i musi być oddzielone pustą linią od drugiego zapytania. Ponadto zakończenie .cql (format pliku) nie jest obowiązkowe.

+0

obecnie, gdy ktoś to uruchomi, próbuje również uruchomić skomentowany kod. czy istnieje lepszy sposób na uniknięcie tego. nie ma znaczenia zbyt wiele, po prostu ciekawy – NumenorForLife

3

Plik neo4jShell.bat został usunięty, ponieważ zadano to pytanie. Nowe podejście do wykonywania plików cypher polega na użyciu aplikacji internetowej o nazwie LazyWebCypher.

+1

'neo4j-shell.bat' nadal istnieje, [wystarczy pobrać plik zip, aby go uzyskać] (https://neo4j.com/developer/kb/using-neo4j- shell-neo4j-ce-3x /). Jest on jednak przestarzały, ale oficjalnym zamiennikiem jest 'cypher-shell'. –

0

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

na Neo4j 3.2.1

+0

Nie potrzebujesz już '-c' w najnowszych wersjach. – Bill

0
$ neo4j-shell -file query.cql 

lub używając cypher-shell

$ cat query.cql | cypher-shell 
Powiązane problemy