[DISCUSS] Rethink JanusGrpah Schema Management



As a follow up to my talk last week, I would like to start a discussion on this topic about redesign the Schema Management.

General idea is to deprecated direct access to JanusGraph server using other things than a gremlin client/driver, such as the ManagementSystem or StandardJanusGraph.

Main advantage, we can change internally core components without having breaking changes in our front facing api.

I started to work on the first precondition to reduce the requirements to access a janusgraph instance using a java/groovy gremlin client/driver. PR: https://github.com/JanusGraph/janusgraph/pull/1521

Idea of an implementation order:

  1. Extract gremlin driver from JanusGraph core, so User only depend on small dependency to use JanusGraph with a gremlin client, like dot net or python GLVs.
  2. Make JanusGraph read only by using a tinkerpop strategy 
  3. Use a tinkerpop strategy to enforce the Schema
  4. Make the Schema accessible via gremlin

Any thoughts?



—— “We strongly encourage all users of JanusGraph to use the Gremlin query language for any queries executed on JanusGraph and to not use JanusGraph’s APIs outside of the management system.

Join janusgraph-dev@lists.lfaidata.foundation to automatically receive all group messages.