Skip to content

Instantly share code, notes, and snippets.

@sim51
Created April 22, 2018 08:03
Show Gist options
  • Select an option

  • Save sim51/e1321ce53b9575619b0322da78ef5053 to your computer and use it in GitHub Desktop.

Select an option

Save sim51/e1321ce53b9575619b0322da78ef5053 to your computer and use it in GitHub Desktop.
Reset and Load Neo4j script
###############################################################################
### SCRIPT VARIABLES : change them !!!
###############################################################################
$NEO4J_PATH="c:\neo4j-enterprise-3.3.4"
$NEO4J_LOGIN="neo4j"
$NEO4J_PASSWORD="letmein"
$CYPHER_PATH="c:\cypher"
$CSV_PATH="c:\data"
###############################################################################
# CONSTANTS & ENV
###############################################################################
$DATE=Get-Date -format "yyyyMMdd-HH:mm"
# Setting some env variables
$env:NEO4J_USERNAME=$NEO4J_LOGIN
$env:NEO4J_PASSWORD=$NEO4J_PASSWORD
$env:Path+=";$NEO4J_PATH\bin\"
###############################################################################
# MAIN
###############################################################################
Write-Host "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
Write-Host "Running Neo4j import script : $DATE"
Write-Host "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
Write-Host ""
Write-Host "*********************************************************************************************************"
Write-Host "Shutdown Neo4j"
Write-Host "*********************************************************************************************************"
neo4j.bat stop
Write-Host ""
Write-Host "*********************************************************************************************************"
Write-Host "Delete graph.db"
Write-Host "*********************************************************************************************************"
$DB_FOLDER="$NEO4J_PATH\data\databases\graph.db"
Remove-Item -Recursive -Force $DB_FOLDER
Write-Host ""
Write-Host "*********************************************************************************************************"
Write-Host "Copy CSV file to import folder"
Write-Host "*********************************************************************************************************"
$DB_IMPORT_FOLDER="$NEO4J_PATH\import"
Get-Childitem $CSV_PATH -Filter *.csv | Copy-Item -destination $DB_IMPORT_FOLDER
Write-Host ""
Write-Host "*********************************************************************************************************"
Write-Host "Startup Neo4j"
Write-Host "*********************************************************************************************************"
neo4j.bat start
Write-Host -NoNewLine "Waiting while Neo4j is available"
# Waiting until Neo4j is not available
$isAvailable = $false
while (!$isAvailable) {
Start-Sleep -s 1
try {
Invoke-RestMethod http://localhost:7474
$isAvailable = $true
}
catch {
Write-Host -NoNewLine "."
}
}
Write-Host ""
Write-Host "*********************************************************************************************************"
Write-Host "Process Cypher scripts"
Write-Host "*********************************************************************************************************"
Write-Host ""
Get-ChildItem $CYPHER_PATH -Filter *.cyp | Foreach-Object {
Write-Host " - $_"
Get-COntent $_.Fullname | cypher-shell.bat --fail-fast --non-interactive --format plain
}
#!/bin/bash
###############################################################################
### SCRIPT VARIABLES : change them !!!
###############################################################################
NEO4J_PATH="/home/bsimard/Applications/neo4j/current"
NEO4J_LOGIN="neo4j"
NEO4J_PASSWORD="letmein"
CYPHER_PATH="./cypher"
CSV_PATH="./data"
###############################################################################
# CONSTANTS
###############################################################################
DATE=`date +%Y%m%d-%H%M`
###############################################################################
# MAIN
###############################################################################
echo "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
echo "Running Neo4j import script : $DATE"
echo "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
echo
echo "*********************************************************************************************************"
echo "Shutdown Neo4j"
echo "*********************************************************************************************************"
bash $NEO4J_PATH/bin/neo4j stop
echo
echo "*********************************************************************************************************"
echo "Delete Neo4j graph.db folder"
echo "*********************************************************************************************************"
rm -rf $NEO4J_PATH/data/databases/graph.db
echo
echo "*********************************************************************************************************"
echo "Copy CSV file to import folder"
echo "*********************************************************************************************************"
cp -rf $CSV_PATH/* $NEO4J_PATH/import
echo
echo "*********************************************************************************************************"
echo "Startup Neo4j"
echo "*********************************************************************************************************"
bash $NEO4J_PATH/bin/neo4j start
# Waiting until Neo4j is not available
until $(curl --output /dev/null --silent --head --fail http://localhost:7474); do
printf '.'
sleep 1
done
echo
echo "*********************************************************************************************************"
echo "Execute Cypher scripts"
echo "*********************************************************************************************************"
echo
for file in $CYPHER_PATH/*.cyp
do
echo " - $file"
bash $NEO4J_PATH/bin/cypher-shell -u $NEO4J_LOGIN -p $NEO4J_PASSWORD --fail-fast --format verbose < $file
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment