## ----eval=FALSE--------------------------------------------------------------- # # Install the remotes package if not already installed # install.packages("remotes") # # # # Install bolt4jr # remotes::install_github("Broccolito/bolt4jr") # # library(bolt4jr) ## ----eval=FALSE--------------------------------------------------------------- # install.packages("bolt4jr") # library(bolt4jr) ## ----eval=FALSE--------------------------------------------------------------- # usethis::edit_r_environ() ## ----eval=FALSE--------------------------------------------------------------- # setup_bolt4jr() ## ----eval=FALSE--------------------------------------------------------------- # library(bolt4jr) # # # Load credentials from .Renviron # uri = Sys.getenv("NEO4J_URI") # user = Sys.getenv("NEO4J_USER") # password = Sys.getenv("NEO4J_PASSWORD") # # # Query nodes # nodes = run_query( # uri = uri, # user = user, # password = password, # query = " # MATCH (n)-[r]-(m) # WHERE type(r) IN ['ISA_AiA', 'PARTOF_ApA'] # RETURN DISTINCT elementId(n) AS node_id, n" # ) # # # Convert the result to a data frame # nodes_df = convert_df(nodes, field_names = c("node_id", "n.identifier", "n.name", "n.source")) # head(nodes_df) ## ----eval=FALSE--------------------------------------------------------------- # # Query edges # edges = run_query( # uri = uri, # user = username, # password = password, # query = " # MATCH (n)-[r]-(m) # WHERE type(r) IN ['ISA_AiA', 'PARTOF_ApA'] # RETURN DISTINCT # elementId(r) AS edge_id, # elementId(startNode(r)) AS start_node_id, # elementId(endNode(r)) AS end_node_id, # r # LIMIT 1000" # ) # # # Examine the structure of the result # unlist(edges[[1]]) # # # Extract specific fields and convert to a data frame # edges = convert_df( # edges, # field_names = c("edge_id", "start_node_id", "end_node_id") # ) # # # View the resulting data frame # head(edges) ## ----eval=FALSE--------------------------------------------------------------- # run_batch_query( # uri = uri, # user = user, # password = password, # query = " # MATCH (n)-[r]-(m) # WHERE type(r) IN ['ISA_AiA', 'PARTOF_ApA'] # RETURN DISTINCT # elementId(r) AS edge_id, # elementId(startNode(r)) AS start_node_id, # elementId(endNode(r)) AS end_node_id", # field_names = c("edge_id", "start_node_id", "end_node_id"), # filename = "edges.tsv", # batch_size = 1000 # ) ## ----eval=FALSE--------------------------------------------------------------- # run_batch_query( # uri = uri, # user = username, # password = password, # query = " # MATCH (n)-[r]-(m) # WHERE type(r) IN ['ISA_AiA', 'PARTOF_ApA'] # RETURN DISTINCT elementId(n) AS node_id, n", # field_names = c("node_id", "n.identifier", "n.name", "n.source"), # filename = "nodes.tsv", # batch_size = 1000 # )