2016-08-17 6 views
0

Ich habe folgende csv-Dateien:Dse Graph loader doppelte Kanten

man mit der Person ist und das andere ist mit den Adressen und eine mit Person Adressanschluss (eine Zeile für jede Datei und Header). Für Testzwecke auf den ersten Lauf habe ich:

Config CREATE_SCHEMA: true, load_new: true, load_threads: 3

Der Import ist ein Erfolg mit den Ecken und Kanten. (Zwei Scheitelpunkte und eine Kante zwischen ihnen)

Wenn ich jetzt laufe die gleiche Skript (dieselben Daten, gleicher Eingang Skript), aber mit unterschiedlichen Config

Config CREATE_SCHEMA: false, load_new: false, load_threads: 3

Es scheint, dass die Knoten nicht geändert haben, aber ich habe eine doppelte Kante für die Knoten. (Zwei Ecken und zwei Kanten zwischen denselben Knoten)

Dies ist der Code, den ich laufen:

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" 
    } 
} 

Gibt es eine Möglichkeit, dies zu vermeiden?

Dank

Antwort

1

Dies ist aufgrund Kanten keine ID aufweist, die Graph Loader führt keinen Weg, um zu bestimmen, ob eine Kante in der Tat ist ein Duplikat ist. Dies führt dazu, dass nachfolgende Ladevorgänge die Kanten duplizieren, nicht jedoch die Scheitelpunkte.

Verwandte Themen