2016-01-04 4 views
1

Je suis nouveau sur neo4j. Quelqu'un peut-il m'aider avec le chargement du script pour le format de fichier de bord suivant?Chargement du fichier de bord à neo4j

Format de fichier avec les en-têtes (toutes les chaînes) Product1, PRODUCT_PROPERTY1, produit2 PRODUCT_PROPERTY2

Après ma tentative d'écriture de script de chargement

LOAD CSV WITH HEADERS FROM "products.csv" AS row 
CREATE (p1:Product1) 
SET p1 = row, 
    p1.event = row.product_property1 
CREATE (p2:Product2) 
SET p2 = row, 
    p2.event = row.product_property2 
CREATE (p1)-[:depends]-(p2) 

Répondre

2

Essayez cette requête:

LOAD CSV WITH HEADERS FROM "file:///path/to/products.csv" AS row 
MERGE (p1:Product {name: row.PRODUCT1}) 
SET p1.event = row.PRODUCT_PROPERTY1 
MERGE (p2:Product {name: row.PRODUCT2}) 
SET p2.event = row.PRODUCT_PROPERTY2 
CREATE (p1)-[:DEPENDS_ON]->(p2) 
  • Assurez-vous de spécifier le chemin complet ou l'URL du fichier
  • En supposant que les valeurs des lignes PRODUCT1 et PRODUCT2 constituent une sorte de nom ou d'identifiant unique, vous devez utiliser le MERGE Cypher command pour éviter les doublons éventuels. En outre, vous devez créer un uniqueness constraint sur Product(name) de faire respecter cette unicité: CREATE CONSTRAINT ON (p:Person) ASSERT p.name IS UNIQUE
  • Assurez-vous d'indiquer une direction dans la relation que vous créez
+0

Merci. Ça a marché. – Nick