public static BatchImporterDataMap toDataMap()

in gremlin/neptune-social-media-utils/src/main/java/com/aws/neptune/utils/generator/GSONUtil.java [62:98]


    public static BatchImporterDataMap toDataMap(String csvConfigFile){
        BatchImporterDataMap bmDataMap = new BatchImporterDataMap();
        CSVConfig csvConf = CSVGenerator.loadConfig(csvConfigFile);
        for(VertexTypeBean type: csvConf.VertexTypes){
            String vertexFileName = type.name + ".csv";
            VertexMapBean vertex = new VertexMapBean(type.name);
            for (String key: type.columns.keySet()){
                vertex.maps.put(key, key);
            }
            bmDataMap.vertexMap.put(vertexFileName,vertex.maps);
        }

        for(EdgeTypeBean type: csvConf.EdgeTypes){
            for (RelationBean relation: type.relations) {
                /*Ex: <left-label>_<edgeType>_<right-label>_edges.csv    */
                String edgeFileName = String.join("_",
                                                  relation.left,
                                                  type.name,
                                                  relation.right,
                                                  "edges.csv");
                EdgeMapBean vertex = new EdgeMapBean(type.name);
                Map<String, String> subMap = new HashMap<>();
                Map<String, String> subMap2 = new HashMap<>();
                subMap.put("Left", relation.left + ".node_id");
                vertex.maps.put("[edge_left]", subMap);
                subMap2.put("Right", relation.right + ".node_id");
                vertex.maps.put("[edge_right]", subMap2);
                if (type.columns != null) {
                    for (String key : type.columns.keySet()) {
                        vertex.maps.put(key, key);
                    }
                }
            bmDataMap.edgeMap.put(edgeFileName,vertex.maps);
            }
        }
        return bmDataMap;
    }