我有一个数据库,当前表示为一组YAML文件(每个文件一个记录)。我想把它移植到Neo4j。每条记录都有一个属性“type”,它存储了一系列类型。我希望每种类型都有一个模块(包括ActiveNode
)。然后,每个节点对象将扩展与其类型对应的模块。我能想到用neo4j.rb实现它的唯一方法是为每个现有的类型组合生成一个类,并在类中包含相应的类型模块。有没有更好的方法来实现这一目标?
答案 0 :(得分:2)
更具体的例子可能有所帮助。这些类型是否有自然的层次结构?
多个标签的类层次结构已经支持了一段时间,但我在最近几天对主分支进行了一些更改,以使其更顺畅地工作。你应该可以这样做:
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
,则会创建包含ParentType
和ChildType
标签的节点。如果查询加载具有两个标签的节点,则将使用ChildType
模型类。
我们还谈到了加载模块来制作多个标签的能力,虽然我们无法想到一个很好的例子,所以我欢迎一个。