Antwort

1

Ich konnte keine Beispiele finden, uniforme Dateien aus mehreren Unterverzeichnissen zu laden, also dachte ich, dass es hilfreich wäre, dies hier zu veröffentlichen, um jemand anderen in der Zukunft zu helfen. Hat jemand einen groovigeren Weg?

//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" 
     } 
    } 
Verwandte Themen