Дублирование ребер загрузчика Dse Graph

У меня есть следующие файлы csv:

один с человеком, а другой с адресами и один с адресом человека (одна строка в каждом файле плюс заголовок). Для целей тестирования при первом запуске у меня есть:

config create_schema: true, load_new: true, load_threads: 3

Импорт выполнен успешно с вершинами и ребрами. (две вершины и одно ребро между ними)

Теперь, когда я запускаю тот же скрипт (те же данные, тот же входной скрипт), но с другой конфигурацией

config create_schema: false, load_new: false, load_threads: 3

Кажется, что узлы не изменились, но у меня есть повторяющееся ребро для узлов. (две вершины и два ребра между одинаковыми узлами)

это код, который я запускаю:

inputfiledir = 'data/'
personInput = File.csv(inputfiledir + 'sna_person_test.csv').delimiter(',')
addressInput = File.csv(inputfiledir + 'sna_address_test.csv').delimiter(',')
personAddressInput = File.csv(inputfiledir + 'san_person_address_test.csv').delimiter(',')

load(personInput).asVertices {
    label "person"
    key "id"
}

load(addressInput).asVertices {
    label "address"
    key "id"
}

load(personAddressInput).asEdges {
    label "has_address"
    outV "person_id", {
        label "person"
        key "id"
    }
    inV "address_id", {
        label "address"
        key "id"
    }
}

Есть ли способ избежать этого?

Спасибо


person CristiC    schedule 17.08.2016    source источник


Ответы (1)


Это связано с тем, что ребра не имеют идентификатора, что приводит к тому, что Graph Loader не может определить, действительно ли ребро является дубликатом. Это приведет к тому, что последующие нагрузки будут дублировать ребра, но не вершины.

person peytoncas    schedule 17.08.2016