Support Multi-Tenancy

sleto-it commented :

Hi @dvaldivia,

Thanks for your question. Correct, it has not been included in v1.2, but it is in our roadmap and we are currently working on it

sinnergarden commented :

Another upvote for this feature :smiley:

iluminae commented :

To further the discussion on this issue, I would like to bring up that using the RFC for RDF-NQUADs we see the field that was added to the original RDF triple was the graphLabel.

This RDF triple is added to the graph labeled by the production graphLabel, if no graphLabel is present the triple is added to the RDF datasets default graph.

This graph label seems like a very idiomatic way to ingest data for “different graphs”, thus providing a functional separation layer here.

In fact, dgraph uses the NQUAD format during ingestion and even allows setting the graph Label on the NQUAD used for mutations in the public gRPC API.

I can see a backwards-compatible API change where a new parameter is added to the public API to specify graphLabel at query time, falling back to the default graph.

Obviously true multi-tenancy would require more strict ACL coordination with this graphLabel, as well as the Types belonging to individual ‘graphs’ - but as a first step, the application layer on top of dgraph could provide that validation before a query is sent to dgraph.

Since the Q1 label on the roadmap is obviously not happening for this feature, can we get it updated to reflect the actual expected feature scheduling?

Thanks!