Neo4j 和 Rails 不给我模型

Neo4j and Rails don't give me a model

我将 neo4j 与 neo4jrb 一起使用。在 irb 我使用这个查询:

p = Tag.as(:t).where("t.value = 'Andre'").names(:n).pluck(:n)

我希望得到 p.first 类型为 Person 的模型。但结果我只得到一个 CypherNode 3 (53012760)。 3 是来自 personmodel 的 ID。但是我无法获取模型,我做错了什么?

这是我的模型和关系:

class Tag
    include Neo4j::ActiveNode
    property :value, index: :exact, constraint: :unique
    ... more outs ....
    has_many :out, :names, rel_class: Names
end

class Names
   include Neo4j::ActiveRel

   from_class Tag
   to_class Person

   type 'name'
end

class Person 
    include Neo4j::ActiveNode

    has_many :in, :named, rel_class: Names
end

当我在本地尝试时(neo4j gem 版本 6.0.1),它可以工作,但进行了一些更改,以便在我将其粘贴到 irb 时不会失败。具体来说,我将符号而不是 类 传递给 rel_classfrom_classto_class,这样就不存在加载顺序问题:

class Tag
    include Neo4j::ActiveNode
    property :value, index: :exact, constraint: :unique

    has_many :out, :names, rel_class: :Names
end

class Names
   include Neo4j::ActiveRel

   from_class :Tag
   to_class :Person

   type 'name'
end

class Person 
    include Neo4j::ActiveNode

    has_many :in, :named, rel_class: :Names
end

如果这没有帮助,您可以尝试从您的模型中删除其他代码,看看是否有任何其他原因导致了问题。

另外,你们的模型都在app/models下并且命名正确吗?