gpt4 book ai didi

Neo4j - 为什么所有节点的 uuid 都为空,但数据库不断索引它们并尝试在搜索期间使用它们?

转载 作者:行者123 更新时间:2023-12-03 02:37:55 27 4
gpt4 key购买 nike

以下是问题的简要描述:

irb(main):001:0> b = Bisac.first
CYPHER 268ms MATCH (n:`Bisac`) RETURN n ORDER BY n.uuid LIMIT {limit_1} | {:limit_1=>1}
=> #<Bisac uuid: nil, bisac_code: "MUS037050", bisac_value: "MUSIC / Printed Music / Mixed Collections">

以下是索引:

  ON :Author(uuid)              ONLINE (for uniqueness constraint) 
ON :Author(author_name) ONLINE (for uniqueness constraint)
ON :Bisac(uuid) ONLINE (for uniqueness constraint)
ON :Bisac(bisac_code) ONLINE (for uniqueness constraint)
ON :Country(country_name) ONLINE (for uniqueness constraint)
ON :Country(uuid) ONLINE (for uniqueness constraint)
ON :Description(uuid) ONLINE (for uniqueness constraint)
ON :Language(iso_639_2_code) ONLINE (for uniqueness constraint)
ON :Language(uuid) ONLINE (for uniqueness constraint)
ON :Publisher(uuid) ONLINE (for uniqueness constraint)
ON :Publisher(publisher_name) ONLINE (for uniqueness constraint)
ON :Region(region_name) ONLINE (for uniqueness constraint)
ON :Region(uuid) ONLINE (for uniqueness constraint)
ON :Woka(woka_title) ONLINE
ON :Woka(uuid) ONLINE (for uniqueness constraint)
ON :Woka(woka_id) ONLINE (for uniqueness constraint)

这些 uuid 是否可以更改为非空值,因为这些值似乎很有用?所有数据均从 CSV 文件加载。uuid 上的所有索引都是在第一次从 Ruby on Rails 控制台访问数据时创建的,其中的语句如下:b = Bisac.first 或 a = Auhtor.first 等。

最佳答案

由于 Neo4j ID 可以回收,ActiveNode 要求每个模型都有一个唯一的属性。默认情况下为 uuid,但您可以使用 id_property 方法自行选择。

如果您想填充该字段,可以使用此处提到的用于设置 uuid 的迁移工具:

https://github.com/neo4jrb/neo4j/wiki/Neo4j-v3-Migrations

但基本上这些字段是使用 Ruby 的 SecureRandom.uuid 设置的。您还可以使用自己的查询在数据库中自行执行此操作,或者如果您能够使用 LOAD CSV 重建数据库,您可以将其作为列添加到您的 CSV 文件中

关于Neo4j - 为什么所有节点的 uuid 都为空,但数据库不断索引它们并尝试在搜索期间使用它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31860165/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com