Type: | Package |
Title: | Querying and Managing 'Neo4J' Databases in 'R' |
Version: | 0.1.2 |
Description: | Sends queries to a specified 'Neo4J' graph database, capturing results in a dataframe where appropriate. Other useful functions for the importing and management of data on the 'Neo4J' server and basic local server admin. |
License: | MIT + file LICENSE |
Encoding: | UTF-8 |
Imports: | magrittr, ssh, sys, fs, R.utils |
RoxygenNote: | 7.1.1 |
Suggests: | knitr, rmarkdown |
SystemRequirements: | neo4j - http://www.neo4j.com, cypher-shell - https://github.com/neo4j/cypher-shell/releases |
VignetteBuilder: | knitr |
NeedsCompilation: | no |
Packaged: | 2022-04-11 09:43:18 UTC; rstudio |
Author: | Keith McNulty |
Maintainer: | Keith McNulty <keith.mcnulty@gmail.com> |
Repository: | CRAN |
Date/Publication: | 2022-04-11 09:50:02 UTC |
Imports a csv or a compressed file to Neo4J import folder.
Description
Imports a csv or a compressed file to Neo4J import folder.
Usage
neo4j_import(
local = FALSE,
con = list(address = NULL, uid = NULL, pwd = NULL),
source = NULL,
import_dir = "import",
unzip_path = "unzip",
gunzip_path = "gunzip",
tar_path = "tar"
)
Arguments
local |
Logical indicating whether import is to a locally hosted or a remotely hosted server. |
con |
If remotely hosted server, list containing three objects: address, uid, pwd as character strings providing connection to the Neo4J server. uid and pwd must be for an account on the server with appropriate permissions. |
source |
Character string of local path to the csv, zip or tar.gz compressed csv file to be imported |
import_dir |
Character string of full path to the Neo4J import directory |
unzip_path |
Path to unzip on the local or remote server to be passed to the system command if necessary. |
gunzip_path |
Path to gunzip on the local or remote server to be passed to the system command following import if necessary. |
tar_path |
Path to tar on the local or remote server to be passed to the system command following import if necessary. |
Value
System messages confirming success or error. zip or tar files will be removed after import and decompression.
Examples
# import zip to local import directory, with zip in the local system PATH variable
write.csv(mtcars, "mtcars.csv")
zip("mtcars.zip", "mtcars.csv")
fs::dir_create("import")
neo4j_import(local = TRUE, source = "mtcars.zip")
fs::file_delete("mtcars.zip")
fs::file_delete("mtcars.csv")
fs::dir_delete("import")
Execute a query string in Neo4J using cypher-shell and capture output
Description
Execute a query string in Neo4J using cypher-shell and capture output
Usage
neo4j_query(
con = list(address = NULL, uid = NULL, pwd = NULL),
qry = NULL,
shell_path = "cypher-shell",
database = NULL,
encryption = c("default", "true", "false")
)
Arguments
con |
List containing three objects: bolt address, uid, pwd as character strings providing connection to the Neo4J server |
qry |
Character string of the query or queries to be sent to Neo4J. Read queries should be single queries. |
shell_path |
If cypher-shell is not in the PATH system variable, the full local path to cypher-shell executable. |
database |
The name of the database if other than the default database. (For multi-tenancy installations). |
encryption |
Passes encryption argument to cypher-shell if necessary. Older versions of cypher-shell may require 'true' or 'false' to be passed. |
Value
A dataframe of results if the read query is successful. A text string if an error is encountered. Write queries will return a zero length response if successful. If multiple read queries were submitted, only the results of the final query will be returned.
Examples
# if neo4j exists, start the local server, give it a moment to fire up, and run a query
if (nzchar(Sys.which("neo4j"))) {
neo4j_start()
Sys.sleep(2)
graph <- list(address = "bolt://localhost:7687", uid = "neo4j", pwd = "password")
neo4j_query(con = graph, qry = "MATCH (n) RETURN (n)")
}
Restart a local Neo4J database
Description
Restart a local Neo4J database
Usage
neo4j_restart(neo4j_path = "neo4j")
Arguments
neo4j_path |
Path to the Neo4J executable (usually in the bin directory of the Neo4J installation) |
Value
System messages
Examples
# if neo4j exists, restart local graph with neo4j executable in the system PATH variable
if (nzchar(Sys.which("neo4j"))) {
neo4j_restart()
}
Remove subdirectory and all its contents from the Neo4J import directory
Description
Remove subdirectory and all its contents from the Neo4J import directory
Usage
neo4j_rmdir(
local = FALSE,
con = list(address = NULL, uid = NULL, pwd = NULL),
dir = NULL,
import_dir = "import"
)
Arguments
local |
Logical indicating whether import is to a locally hosted or remotely hosted server. |
con |
If remotely hosted server, list containing three objects: address, uid, pwd as character strings providing connection to the Neo4J server. uid and pwd must be for an account on the server with appropriate permissions. |
dir |
Character string of the Neo4J import subdirectory name to be deleted. |
import_dir |
Character string of path to the Neo4J import directory. |
Value
A success message if successful. A error message otherwise.
Examples
# remove a subdirectory and all its contents from the local import directory
fs::dir_create("import/data")
fs::file_create("import/data/data.csv")
neo4j_rmdir(local = TRUE, dir = "data", import_dir = "import")
fs::dir_delete("import")
Remove files from the Neo4J import directory
Description
Remove files from the Neo4J import directory
Usage
neo4j_rmfiles(
local = FALSE,
con = list(address = NULL, uid = NULL, pwd = NULL),
files = NULL,
import_dir = "import"
)
Arguments
local |
Logical indicating whether import is to a locally hosted or remotely hosted server. |
con |
If remotely hosted server, list containing three objects: address, uid, pwd as character strings providing connection to the Neo4J server. uid and pwd must be for an account on the server with appropriate permissions. |
files |
Character vector of file names to be removed. |
import_dir |
Character string of path to the Neo4J import directory. |
Value
A success message if successful. An error message otherwise.
Examples
# remove file from local import directory
fs::dir_create("import")
fs::file_create("import/data.csv")
neo4j_rmfiles(local = TRUE, files = "data.csv", import_dir = "import")
fs::dir_delete("import")
Start a local Neo4J database
Description
Start a local Neo4J database
Usage
neo4j_start(neo4j_path = "neo4j")
Arguments
neo4j_path |
Path to the Neo4J executable (usually in the bin directory of the Neo4J installation) |
Value
System messages
Examples
# if neo4j exists, start local graph on with neo4j executable in the system PATH variable
if (nzchar(Sys.which("neo4j"))) {
neo4j_start()
}
Check status of a local Neo4J database
Description
Check status of a local Neo4J database
Usage
neo4j_status(neo4j_path = "neo4j")
Arguments
neo4j_path |
Path to the Neo4J executable (usually in the bin directory of the Neo4J installation) |
Value
System messages
Examples
# if neo4j exists, check status local graph with neo4j executable in the system PATH variable
if (nzchar(Sys.which("neo4j"))) {
neo4j_status()
}
Stop a local Neo4J database
Description
Stop a local Neo4J database
Usage
neo4j_stop(neo4j_path = "neo4j")
Arguments
neo4j_path |
Path to the Neo4J executable (usually in the bin directory of the Neo4J installation) |
Value
System messages
Examples
# if neo4j exists, stop local graph with neo4j executable in the system PATH variable
if (nzchar(Sys.which("neo4j"))) {
neo4j_stop()
}
Wipe a complete local graph database in Neo4J
Description
Wipe a complete local graph database in Neo4J
Usage
neo4j_wipe(database = NULL, data_path = NULL)
Arguments
database |
Name of local graph database directory to wipe. |
data_path |
Path to the local Neo4J data directory |
Value
Success or error message
Examples
# wipe database directory
fs::dir_create("data/databases/foo")
neo4j_wipe(database = "foo", data_path = "data")
fs::dir_delete("data")