Graphs can be created in a variety of ways, whether it’s through importing large amounts of data [Neo4j, Memgraph, Amazon Neptune] or incrementally through manual creation based on expert knowledge. Regardless of the creation method, being able to edit individual nodes and relationships, in addition to visualizing and querying the network, is essential.
However, graph databases can present challenges due to their schema-less nature, meaning there are no restrictions on what can be added or changed in terms of node types, relationship types, properties, and property values.
Graphileon provides a default installation that allows you to visualize and edit your graph data without a schema. This is great for prototyping graphs but can become challenging in multi-user environments where consistency of information storage is essential and certain restrictions are necessary to control who can edit what.
Schema-based editor app
With Graphileon’s schema-based editor app, you can address these issues and have more control over your graph data editing and exploration.
Our schema-based editor app generates forms that control the types of nodes and relationships, as well as the properties, that users have access to when editing the graph. Plus, our app supports users during network exploration without needing to know or have access to Cypher.
The schema
The schema definition is crucial to our app and describes node and relationship types in JSON format. The schema defines the properties, property types, and allowed values for both nodes and relationships while restricting which relationship types are allowed between different node types.
An initial draft version of the JSON schema can be automatically derived from an existing graph database and further adjusted by the user.
Creating and editing nodes and relationships
Our app displays a list of node types defined by the schema on the right side of the application. When a node type is selected, the list shows all the entities for that type in a searchable list from which a selection of nodes can be sent to the network visualization.
New nodes can be created from this list or edited using an input form generated dynamically from the schema. New relationships can also be created directly by selecting nodes from a list, with the schema restricting the allowed relationship types between nodes.
Visualization and exploration
Nodes and relationships in the visualization can be arranged manually or according to a predefined layout style, with context menus allowing users to edit, hide, or delete selected items. Selected nodes can be expanded by double-clicking, or a more intelligent and controlled way of network expansion is available using the “Questions” functionality.
Questions provide access to predefined Cypher queries that represent typical ways of exploring the graph, without requiring knowledge of Cypher code. The list of available questions is context-sensitive and depends on the node types selected in the network view.
A question, for a given node selection, will either display its output directly into the network – as with a shortest path between two nodes – or will list the answers in a list from which a selection can be sent to the visualization.
Users with moderate Cypher skills can edit the list of questions and determine when each question should be displayed.
Endless possibilities …
Our Schema-editor app is not limited to simple graphs but can be used for highly complicated ones with many node and relationship types. The demo version of our app can be tweaked and expanded upon – it is in itself a Graphileon app too- as needed with functionality added, removed, or hidden. User rights can also be implemented by controlling access to different parts of the app or by implementing permissions.
Is this the app for you to control your graph?
Interested in controlling your graph with our schema-based editor app? Request a demo to see how it can work for you!