Graph loader can load files from an explicitly defined directory, but currently has no built in way to automatically recursively load uniform files from multiple subdirectories.
Asked
Active
Viewed 52 times
1 Answers
1
I couldn't find any examples for loading uniform files from multiple subdirectories so after figuring it out I thought it would be helpful to post this here to help someone else in the future. Does anyone have a groovier way?
//configure graphloader
config dryrun: false, load_vertex_threads: 2, load_edge_threads: 3,
read_threads: 1, preparation: true, create_schema: false,
abort_on_prep_errors: true
import java.io.File as javaFile; //this must be aliased so as to not conflict with graphloader's File.directory()
inputBaseDir = /path/to/base/dir
//base directory has many subdirectories that have many uniform files to load
//create a list of the subdirectory paths
def list = []
new javaFile(inputBaseDir).eachDir() { dir ->
list << dir.getAbsolutePath()
}
//loop through the list of subdirectory paths
for (item in list){
def fileBuilder = File.directory(item)
def theData = fileBuilder.map{
it["specificDataLabel"] = it["data"]["specificData"][0];
it["otherSpecificDataLabel"] = it["data"]["otherSpecificData"][0];
it.remove("data")
it
}
load(theData).asVertices {
label "theLabel"
key "specificDataLabel"
vertexProperty "otherSpecificDataLabel",{
value "metaPropertyLabel"
value "otherMetaPropertyLabel"
}
}

RodogInfinite
- 71
- 1
- 4