将Neo4j中的节点与rails

时间:2017-05-19 08:28:48

标签: ruby-on-rails neo4j graph-databases

我在Neo4j数据库中导入了CSV文件。部分代码如下所示:

LOAD CSV WITH HEADERS from "file:///AccountTry.csv" as row
WITH row, split(row.birth_date, '-') as date
CREATE (a:AccountTest {id: toInteger(row.id), account_type: row.account_type, first_name: row.first_name, last_name: row.last_name })

并且工作正常。我可以在neo4j浏览器中看到我的所有节点及其属性。 然后,我在rails应用程序中创建了模型:

class AccountTest
  include Neo4j::ActiveNode
  property :first_name, type: String
  property :id, type: Integer
  property :last_name, type: String
  property :account_type, type: String
end

我做了迁移,工作正常。当我打开rails控制台并尝试“AccountTest.first”时,我得到所有属性,只有属性“AccountTest.id:nil”。

为什么“id”为零?我有6个节点,rails应用程序中的所有节点都有id = nil,但在Neo4j浏览器中,所有节点都有正确的ID。

1 个答案:

答案 0 :(得分:0)

我认为您不需要在AccountTest类中声明id属性。此属性是主键,默认情况下存在。

由于这是一个额外的属性(与Neo4j生成的ID不同),我建议您在AccountTest上重命名该属性(例如account_id)并更改CSV导入以将值加载到account_id字段中。