从源代码自动创建图形数据库架构和索引
goblinoid的Python项目详细描述
将Goblinogm转换为janusgraph架构。
这个工具提供了一种自动的方法来保持图形数据库模式与Goblinogm(对象图映射器)同步。一旦使用Goblin的顶点和边类定义了模式,就可以简单地将源传递给Goblinoid,Goblinoid将自动创建一个groovy脚本,您可以运行该脚本来创建图形数据库模式
用法-架构创建
goblinoid允许您基于源代码中定义的模型自动创建模式。要自动生成架构定义,需要将Goblinoid指向应用程序的正确模块,该模块保存应用程序的所有已定义模型:
$ goblinoid-cli --module-import 'myapp.graph.models' --models-iterable 'ALL_MODELS' --schema-file schema.groovy
小费
通过使用一个iterable(例如tuple),您可以直接为Goblin’s register方法重用这个iterable,以使您的模型在应用程序中始终保持同步:
app=awaitGoblin.open(loop,hosts=['localhost'],port=port,))app.register(*tuple(ALL_MODELS))
必须声明您的包/模块对于cli是可导入的(在某些情况下,您可能需要调整PYTHONPATH来实现这一点)。goblinoid自动创建一个groovy脚本,您可以运行它来创建模式。
建议也提供--schema-vertex-identifier选项在这种情况下,goblinoid会自动创建一个标签为goblinoid_schema_meta的顶点,该顶点在执行模式创建时保存提供的identifier和datetime。这允许您保留图形元数据以供以后调试或确保与图形实例通信的服务使用所需的架构版本。
默认情况下,goblinoid禁用janusgraph的模式生成器。建议禁用模式生成器,以便添加到图形数据库的所有顶点和边都符合提供的模式,并且不会创建其他模式项。您可以通过指定--keep-schema-maker标志来避免这种行为有关详细信息,请参见official documentation