【问题标题】:Should I remove labels for which no node is in the database?我应该删除数据库中没有节点的标签吗?
【发布时间】:2021-03-24 10:46:11
【问题描述】:

在 neo4j 数据库中,如果我列出所有带有 CALL db.labels() 的标签,它会返回 216 条记录。主要是因为这个数据库有很多演变。但如果我列出所有节点并按标签计数,我只有 35 条记录。

  1. 即使某些标签没有节点,是否会影响与标签数量相关的性能?
  2. 如果是这样,我们如何删除它们?

【问题讨论】:

    标签: neo4j


    【解决方案1】:

    我认为您不能创建带有空节点的标签。标签是用于将节点分组到集合中的名称。例如下面,创建了一个节点和 2 个标签。

    CREATE (n:Book:Fiction {name: 'Harry Potter', fiction: True})
    
    Result: Added 2 labels, created 1 node, set 2 properties, completed after 26 ms.
    

    【讨论】:

    • 我同意我不认为你可以,但我相信发生的事情是一些节点可能已经存在这个标签,但后来被删除了。我们还根据数据模型自动创建索引。所以也许我们实际上可以通过创建索引来创建没有节点的标签?...我会检查一下。
    • 刚查了一下,其实不用创建节点就可以创建标签,通过创建索引CREATE INDEX partid FOR (n:part) ON (n._id) 然后CALL db.labels() 返回“部分”标签
    猜你喜欢
    • 1970-01-01
    • 2021-03-22
    • 1970-01-01
    • 1970-01-01
    • 2019-09-22
    • 2019-10-30
    • 1970-01-01
    • 2010-10-30
    • 2018-11-12
    相关资源
    最近更新 更多