以下是该问题的简要说明:
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等。
答案 0 :(得分:4)
由于Neo4j ID可以回收,ActiveNode
要求每个模型上的属性可以是唯一的。默认情况下为uuid
,但您可以使用id_property
方法自行选择。
如果你想填充这个字段,可以使用一个迁移工具来设置这里提到的uuids:
https://github.com/neo4jrb/neo4j/wiki/Neo4j-v3-Migrations
但基本上这些字段是使用Ruby的SecureRandom.uuid
设置的。您也可以使用自己的查询在数据库中自己执行此操作,或者如果您能够使用LOAD CSV
重建数据库,则可以将其作为列添加到CSV文件中