从源代码自动创建图形数据库架构和索引

goblinoid的Python项目详细描述


Goblinogm转换为janusgraph架构。

这个工具提供了一种自动的方法来保持图形数据库模式与Goblinogm(对象图映射器)同步。一旦使用Goblin的顶点和边类定义了模式,就可以简单地将源传递给Goblinoid,Goblinoid将自动创建一个groovy脚本,您可以运行该脚本来创建图形数据库模式

安装

您只需从PyPI

安装goblinoid即可。
$ pip3 install goblinoid

安装Goblinoid后,可以使用以下命令访问其CLI:

$ goblinoid --help

用法-架构创建

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的顶点,该顶点在执行模式创建时保存提供的identifierdatetime。这允许您保留图形元数据以供以后调试或确保与图形实例通信的服务使用所需的架构版本。

默认情况下,goblinoid禁用janusgraph的模式生成器。建议禁用模式生成器,以便添加到图形数据库的所有顶点和边都符合提供的模式,并且不会创建其他模式项。您可以通过指定--keep-schema-maker标志来避免这种行为有关详细信息,请参见official documentation

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java需要一种简单的方法来创建用于排序的comparator类   java getReadableDatabase和getWriteableDatabase无法解析   查找列表<Long>中与某个元素对应的所有索引的java方法   安卓将视图添加到ViewFlipper会导致java。StackOverflowerr语言   java根据它所包含的长“curTime”类字段将N的列表拆分为24(小时)   Android N中的Java8流API   自动生成Java策略文件的安全性   垃圾收集鼓励Java中的主要GC(但不是STW GC)   java如何检查UDP服务器上侦听的客户端数量   在前一台主机被Datastax Java驱动程序关闭后,Cassandra尝试重新连接到下一台主机   java如何使用Spring Boot创建部分代理   java是否有一个网站或资源可以完全比较EJB版本   java无需使用第三方库从gradle生成输出   继承由于这个多态性的基本示例中的语法有什么不同吗?(爪哇)   java字符串数组中的空字符串   java为什么CMS中的初始标记阶段是串行的   为什么Lucene有时与InChIKeys不匹配?   安卓通知Java应用程序数据库中的更改   java如何将单个json对象值解析为按钮   java打印堆栈将运行时错误跟踪到文件