是什么决定了节点名称在 Neo4j 中的显示方式?

What determines how node names are displayed in Neo4j?

我正在尝试创建一个结构如下的图表:

区域 - hasDivision -> 部门 - hasSalesRep -> 销售代表 - hasCustomer -> 客户

直到最后这一切都很好。问题是所有客户节点的名称都与它们关联的销售代表的名称相同。

每个灰色 'Christian ----' 节点都附加了一个实际的客户名称作为 属性,这是应该显示的内容,但事实并非如此。

令我感到神秘的是,我使用的是相同的代码、相同的标签方案,以及我用于区域、部门和销售代表的相同 属性 方案,所有这些工作正常。

我已经尝试了各种实验,但事情变得更奇怪了。如果我只将 'customer_name' 作为 属性 加载,节点是没有标签的灰色斑点(但它们确实附加了 customer_names)。如果我在加载 customer_dim.csv 时切换 'customer_name' 和 'rep_name',所有节点都附加了正确的客户名称。如果我将 rep_name 更改为 rep_nam(删除 'e'),一切都会变回没有标签的灰色斑点。

怎么回事?

这里正在加载区域

LOAD CSV WITH HEADERS FROM 'file:///location_dim.csv' AS region
WITH 
    region.REGION_NM AS REGION_NM
MERGE (n:region {reg: REGION_NM})
RETURN n

这里正在加载分区。

LOAD CSV WITH HEADERS FROM 'file:///location_dim.csv' AS division
WITH 
    division.REGION_NM AS REGION_NM,
    division.DIVISION_NM AS DIVISION_NM,
    division.STATE_PROVINCE_CD AS STATE_PROVINCE_CD
MERGE (n:division {div: DIVISION_NM, reg: REGION_NM, state: STATE_PROVINCE_CD})
RETURN n

正在加载销售代表。

LOAD CSV WITH HEADERS FROM 'file:///sales_rep_dim.csv' AS row
WITH 
    row.SALES_REP_KEY AS SALES_REP_KEY,
    row.SALES_REP_NM AS SALES_REP_NM,
    row.JOB_DESC AS JOB_DESC,
    row.WORK_STATE_PROVINCE_CD AS WORK_STATE_PROVINCE_CD
MERGE (n:Sales_rep {sales_rep_key:SALES_REP_KEY, rep_name: SALES_REP_NM, job:JOB_DESC, state:WORK_STATE_PROVINCE_CD})
RETURN n

这里有客户

LOAD CSV WITH HEADERS FROM 'file:///customer_dim.csv' AS customer
WITH
    customer.CUSTOMER_NM AS CUSTOMER_NM,
    customer.SALES_REP_NM AS SALES_REP_NM
MERGE (n:customer {customer_name:CUSTOMER_NM, rep_name:SALES_REP_NM})
RETURN n

这是我创建的所有关系

MATCH (a:region), (b:division), (c:Sales_rep), (d:customer)
WHERE a.reg = b.reg AND b.state = c.state AND c.rep_name = d.rep_name
MERGE (a)-[:hasDiv]->(b)
MERGE (b)-[:hasRep]->(c)
MERGE (c)-[:hasCustomer]->(d)
RETURN a,b,c,d

我已经尝试删除属性并重新排序,但我仍然 运行 遇到同样的问题。

如果要显示特定的 属性 值,则必须在浏览器上进行配置。 :