我正在导入一个 .我从关系数据库导出的 CSV 文件。导入进展顺利,但是当我尝试使用其分配的标签在创建的节点之间创建关系时,它正在为关系创建新节点,而不是使用现有标签。我已经为此敲打了 3 天 - 有什么想法吗?
法典:
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file:///seshatdata/sellable_unit_features.csv" AS line
WITH line, SPLIT(line.ship_dt, '-') AS date
CREATE (sellableunit:SellableUnit {sellable_unit_id: line.sellable_unit_id, sellable_unit_nm: line.sellable_unit_nm, sellable_unit_version_id: line.sellable_unit_version_id})
MERGE (feature:Feature {Feature_id:line.feature_id, feature_nm: line.feature_nm})
CREATE (SellableUnit)-[r:CONTAINS]->(Feature)
SET r.start_year = TOINT(date[0]);
显然,这条线CREATE (SellableUnit)-[r:CONTAINS]->(Feature)
才是这里的罪魁祸首——我只是不知道为什么。
您的密码查询有拼写错误。Cypher 对于变量声明区分大小写。
变量名称区分大小写,可以包含下划线和 字母数字字符(A-Z,0-9(,但必须始终以 信。如果需要其他字符,可以引用变量 使用反引号 ('( 符号
试试吧:
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file:///seshatdata/sellable_unit_features.csv" AS line
WITH line, SPLIT(line.ship_dt, '-') AS date
CREATE (sellableunit:SellableUnit {sellable_unit_id: line.sellable_unit_id, sellable_unit_nm: line.sellable_unit_nm, sellable_unit_version_id: line.sellable_unit_version_id})
MERGE (feature:Feature {Feature_id:line.feature_id, feature_nm: line.feature_nm})
CREATE (sellableUnit)-[r:CONTAINS]->(feature)
SET r.start_year = TOINT(date[0]);
您将节点存储到名为sellableUnit
(小写 s(的变量中,但在CREATE
语句中使用名为SellableUnit
(大写 S(的变量。feature
也是如此.