Provide an environment where users can manage data and relations according to a predefined schema.
One of the advantages of property graphs like Neo4j, in which both nodes and relationships can have properties, is their versatility and freedom with regard to create and update models. However, this freedom comes with responsibility. Sometimes you may want to control the categories of users that are allowed to add new attributes to nodes and relationships, while you want to provide other users access to forms to enter data. This can be achieved by adding a Schemabuilder and a Databuilder applications to Graphileon’s default installation.
In the Schemabuilder, nodetypes and relationtypes are created, then linked to attributes with different datatypes (string, integer etc). Graphileon takes care of storing the schema, if needed in a separate graph store. Both nodetypes and relationtypes can inherit attributes.
For a :Person
nodetype, with attributes of different types, the schema could look a follows:
Once the schema has been defined, the data is managed using the Databuilder application. When a Person node is created or edited, Graphileon uses the schema to generate a form.
The schema is also used to display the relations that are allowed when selecting two nodes.
Graphileon can handle multiple datastores and manages schemata independently from the datastores. Together with its multi-layered team and user structure, this allows for the configuration of both simple and more advanced authorization layers.