datahub/docs/how/metadata-modelling.md

9 lines
986 B
Markdown
Raw Normal View History

# How to model metadata ?
2020-02-04 06:14:36 -08:00
[GMA](../what/gma.md) uses [rest.li](https://rest.li), which is LinkedIn's open source REST framework. All metadata in GMA needs to be modelled using [Pegasus schema (PDSC)](https://linkedin.github.io/rest.li/DATA-Data-Schema-and-Templates) which is the data schema for [rest.li](https://rest.li).
2019-12-18 18:57:18 -08:00
2020-02-04 06:14:36 -08:00
Conceptually were modelling metadata as a hybrid graph of nodes ([entities](../what/entity.md)) and edges ([relationships](../what/relationship.md)), with additional documents ([metadata aspects](../what/aspect.md)) attached to each node. You can also think of it as a modified [Entity-Relationship Model](https://en.wikipedia.org/wiki/Entity%E2%80%93relationship_model).
2019-12-18 18:57:18 -08:00
2020-02-04 06:15:50 -08:00
Here is an an example graph consisting of 3 types of entities (`User`, `Group`, `Dataset`), 3 types of relationships (`OwnedBy`, `HasAdmin`, `HasMember`), and 3 types of metadata aspects (`Ownership`, `Profile`, and `Membership`).
2020-02-04 06:14:36 -08:00
![metadata-modeling](../imgs/metadata-modeling.png)