1

我有一个数据库,当前表示为一组 YAML 文件(每个文件一条记录)。我想将它移植到 Neo4j 中。每条记录都有一个属性“type”,它存储一个类型数组。我想ActiveNode为每种类型都有一个模块(包括 )。然后每个节点对象将扩展与其类型对应的模块。我能想到用 neo4j.rb 实现这一点的唯一方法是为每个现有的类型组合生成一个类,并在类中包含相应的类型模块。有没有更好的方法来实现这一点?

4

1 回答 1

2

更具体的例子可能会有所帮助。类型是否有自然的层次结构?

支持多个标签的类层次结构已经有一段时间了,但我只是在过去几天对 master 分支进行了一些更改,以使其工作更顺利。你应该能够做这样的事情:

class Person
  include Neo4j::ActiveNode
end

class Author < Person
end

class Collaborator < Person
end

class Software
  include Neo4j::ActiveNode
end

class Application < Software
end

class Library < Software
end

如果你这样做ChildType.create了,它将创建一个带有ParentTypeChildType标签的节点。如果查询加载具有两个标签的节点,ChildType则将使用模型类。

我们还讨论了加载模块以执行多个标签的能力,尽管我们想不出一个好的例子,所以我很欢迎。

于 2015-03-04T12:44:41.043 回答