Hi, I am Anthony from Oklahoma, USA. I am the developer of a new startup focused on assisting religous organizations. We launched a version of our SAAS Feb 2018, but are in the process of rebranding, refocusing, and rebuilding from the ground up.
We have been using GraphQL for a few months now backed by RDS and are getting tired of working around the limitation of a relational database driving a graph presentation of that data. Trying to decide which graph storage engine best fits our needs between dgraph and neo4j (4.0).
I am at a cross roads with ACL though as we want more granular control over properties and relationships like exists in neo4j but we see great things in the dgraph realm offering a quicker API build.
I have thought about putting a public GraphQL layer in front of a private GraphQL layer served by Dgraph. Has anyone done this for more refined ACL at a user level?
Here are some use cases we want to accomplish:
- restrict access to object properties depending on user role.
- restrict access to relationships between objects while allowing a user to still see both objects individually.
- restrict objects based upon user role (Dgraph can do this)
- specifically grant read access to only certain object properties based upon user role
- grant write access to only specific object properties based upon user role. (Neo4j still is lacking this too)
- grant read/write access to an object while restricting delete.
Also, there is also a typo on Hello World | Basic | Dgraph Tour
A UID is not an edge, but can it be returned in a query with
uid
.
It should be “but it can be”