Skip to main content

Create a graph database schema and indexes from source code automatically

Project description

Convert Goblin OGM to JanusGraph schema.

This tool provides an automated way to keep your graph database schema in sync with Goblin OGM (Object Graph Mapper). Once you define your schema using Goblin’s Vertex and Edge classes you can simply pass sources to Goblinoid that will automatically create a groovy script you can run to create your graph database schema.

Installation

You can simply install Goblinoid from PyPI:

$ pip3 install goblinoid

Once your Goblinoid is installed you can access its CLI using:

$ goblinoid --help

Usage - Schema creation

Goblinoid allows you to automatically create schema based on models defined in your source code. To automatically generate schema definition, you need to point Goblinoid to the correct module of your application that holds all defined models for your application:

$ goblinoid-cli --module-import 'myapp.graph.models' --models-iterable 'ALL_MODELS' --schema-file schema.groovy

It’s important to state that your package/module is importable for the CLI (you might want to adjust PYTHONPATH to accomplish that in some cases). Goblinoid automatically creates a Groovy script that you can run to create schema.

It is recommended to also provide the --schema-vertex-identifier option. In that case Goblinoid automatically creates a vertex with label goblinoid_schema_meta that holds provided identifier and datetime when the schema creation was performed. This allows you to keep graph metadata for later debugging or ensuring your services that communicate with the graph instance use required schema version.

By default, Goblinoid disables JanusGraph’s schema maker. It is recommended having the schema maker disabled so all vertexes and edges that are added to the graph database respect the provided schema and there are not created additional schema entries. You can avoid this behaviour by specifying the --keep-schema-maker flag. See the official documentation for more info.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

goblinoid-0.0.1.tar.gz (6.7 kB view details)

Uploaded Source

File details

Details for the file goblinoid-0.0.1.tar.gz.

File metadata

  • Download URL: goblinoid-0.0.1.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.2

File hashes

Hashes for goblinoid-0.0.1.tar.gz
Algorithm Hash digest
SHA256 cba63d00a9b9f10d3044b8520b5d5ea7ed080d485989265d904b70b3c099edcd
MD5 2eead170898fa46b1720d58888fc203f
BLAKE2b-256 f07bd38648cae100747efc2b57653ddc168b9becfc035b5c38c84c0b14856b25

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page