0

Я работаю над загрузкой csv-файла из dataloader в графе datastax.создать Edges и Vertex из того же файла csv в графе datastax

Моя структура CSV-файлы, следящие

первого файла (Year_2015.txt)

YearID

второй файл (BaseVehicle_2005.txt)

BaseVehicleID | YearID | MakeID | ModelID

для первого файла Я создал уровень вершины как год и ключ как YearID для второго Я создаю вершинный уровень как BaseVehicle, в то время как ke y как BaseVehicleID и игнорировать YearID, MakeID, ModelID. Теперь я хочу создать грань между вторым (BaseVehicle) и первым (Годом) с годом граничного уровня и Property YearID, но для меня ничего не работает. Пожалуйста, дайте мне знать, что мне нужно изменить?

ответ

0

В документации есть примеры: https://docs.datastax.com/en/latest-dse/datastax_enterprise/graph/dgl/dglCSV.html

Ниже грузчик пример сценарий, который работает на данных JSON, но он показывает, как загрузить оба Вершину и ребро из той же записи, используя картограф, чтобы определить, какие элементы использовать.


config load_threads: 8 
config batch_size: 1000 
config load_new: true 
config driver_retry_attempts: 10 
config driver_retry_delay: 1000 

/** SAMPLE INPUT 
    {"actor_name":"'Bear'Boyd, Steven","title_name":"The Replacements","year":"2000","role":"Defensive Tackle - Washington Sentinels","episode":"The Replacements"} 
*/ 
input = File.json(filename) 

//Defines the mapping from input record to graph elements 
actorMapper = { 
    key "actor_name"   // the unique id for an actor 
    label "actor" 
    ignore "title_name" 
    ignore "role" 
    ignore "year" 
    ignore "episode" 
} 

titleMapper = { 
    key "title_name"   // the unique id for a title 
    label "title" 
    ignore "sex" 
    ignore "actor_name" 
    ignore "role" 
    ignore "episode" 
} 

castMapper = { 
    label "cast" 
    outV "actor_name", { 
     label "actor" 
     key "actor_name" 
    } 
    inV "title_name", { 
     label "title" 
     key "title_name" 
    } 
    ignore "year" 
    ignore "sex" 
    // remaining should be edge properties 
    // pickup role as property 
    // pickup episode as property 
} 

//Load vertex records from the input according to the mapping 
load(input).asVertices(actorMapper) 
load(input).asVertices(titleMapper) 
load(input).asEdges(castMapper)