# How to to model this?

**URL:** <https://discuss.dgraph.io/t/how-to-to-model-this/12084>\
**Category:** Dgraph\
**Created:** [December 26, 2020, 10:51pm UTC](https://discuss.dgraph.io/t/how-to-to-model-this/12084 "2020-12-26T22:51:12Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![davidLeonardi](https://yyz1.discourse-cdn.com/flex007/user_avatar/discuss.dgraph.io/davidleonardi/32/3683_2.png) [@davidLeonardi](https://discuss.dgraph.io/u/davidLeonardi)\
**Post date:** [December 26, 2020, 10:51pm UTC](https://discuss.dgraph.io/t/how-to-to-model-this/12084/1 "2020-12-26T22:51:12Z")

</div>

I am trying to implement “versioned” data, so that i can reconstruct, and revert, if necessary, any kind of operation. Essentially detatching the identify of a node from the state of a node.

This to solve data lineage issues, and to allow reverting of data.

Please consider the following screenshot, showing how it’s done in neo4j:

 ![image](https://canada1.discourse-cdn.com/flex007/uploads/dgraph/original/2X/f/fe6a1ccee5241807286635116754b0e91e136b30.jpeg)

Can i add multiple facets for an edge?  
What if i would like to add userid information to the facets as well?

What would be a good approach to model this in dgraph?  
As facets are not supprted in graphql, am i then restricted to use dql for everything that i want “versioned” in this way?
