Functional
Breadcrumbs

Lineage

By clicking on the Lineage icon, the user accesses the full lineage functionality, which gives them the ability to graphically explore the relationships between the different assets to understand the data lifecycle from its sources to its final destinations.

https://lh7-rt.googleusercontent.com/docsz/AD_4nXedA-jUvpPe581az1gVehhwgdCNWnldY_hRkJSQfp43gHl-Ypkm_MB_TzjUuNo5cxdbDSEqN8Bql2piKPagZYErB_mOEGHA5-08AYa_CdqI-849rtMuNoYTP0nVjbyGPEOU50Y3MQ?key=eE4OxRa9KEXEmq0Gh5OpzA

Lineage exploration starts from a pivot element from which, interactively, relationships can be expanded.

The pivot element can be an entity, a relationship, a user, or an organizational unit:

  • Entity: navigation allows discovering the assets related to the entity, the organizational unit it belongs to, its owners and the users with access to its data (adherence) if it is a governed structure.

  • Relationship: navigation allows discovering the assets related to each other and the other relationships they have.

  • User: navigation allows discovering the assets to which the user has access (adherence) or those they own.

  • Organizational unit: navigation allows discovering the objects and owners of its domain.

The information displayed for each graph node is:

  • object subtype icon

  • name

  • status icon and node border in the same color (if it is an entity)

https://lh7-rt.googleusercontent.com/docsz/AD_4nXcOC_0cyYINjHyRq8FLsHFfCimrbzlTI49dbKgFt03czIESdwJhr50DOZW2bXgd-tNN9zNZgVTZbbUgR9Nj-vLYBMd_tah2ERmQyJu7qNTbRRLLRvK1d2o9a8xbPEQgKOzGahpXUA?key=eE4OxRa9KEXEmq0Gh5OpzA

Additionally, each node can have buttons at the top, bottom, right, or left in order to expand or collapse its relationships with other nodes.

https://lh7-rt.googleusercontent.com/docsz/AD_4nXecMMH8oN1ZP3J2Nu8u3NV4YuNUDYhyTSc1YjoVrpJUFs-EjNFdfzouQ_Xodx9MX1U3YnZn7ZpgkQTfK1oFWXmFwQOCMsE2qqW4D8CnOzntLiWyfb-A09ppAQiY4Pj2101l09hO?key=eE4OxRa9KEXEmq0Gh5OpzA

And the relationships that can exist between them are represented as follows:

  • parenthood: upward or downward, or as aggregation.

An aggregation relationship is represented by a node that contains its child nodes. In the following figure, the DSA Sales Analytics contains the Monthly Sales dataset, and in turn the Monthly Sales dataset contains its dataset_fields (e.g. product_ID).

https://lh7-rt.googleusercontent.com/docsz/AD_4nXeMa3Uk01HTHwreTkACPeFe9fDnBgdqkC6OlHwlaEKJ_9QPtcFss0o-02qXKcpij7pwu2vle8S1AnBx5EOqsDB8OJhYykrz6T6rgPBLv5Nr1E7iD-WAt-01PTB7G57B_OFpR5fV?key=eE4OxRa9KEXEmq0Gh5OpzA

However, the same entities and relationships are represented below without being aggregation relationships.

https://lh7-rt.googleusercontent.com/docsz/AD_4nXfj5Mp71_75cQ9R3gz11vIPpbVfrI1I8uc4-8zOe9r242WCDDEaz15hMVYhEMYpcrdzi98GeCx0mn5ruDjwKUxrqAUtp8PG3A0WP3xsMdy4olSZ4sio2rjdOQroBD8XcmbxAXntbw?key=eE4OxRa9KEXEmq0Gh5OpzA
  • input and/or output: to the left or right. In the following figure, the dataset is an output of the ETL instance Sales Results and an input of Data cleaning.

https://lh7-rt.googleusercontent.com/docsz/AD_4nXdPcmLbSha5p_xNMAvDyP_HufDMnxrUYL3xbmWx5m-TAHIURKmwIRXkcPfPDtSSAtMvqO3r6u1Jwr-G83_wylaFhRgPGJ6QNXJQm1CXBQbemuCxCXEcI1Ce5ap6PpjPpl8GHDYM?key=eE4OxRa9KEXEmq0Gh5OpzA

When accessing the lineage screen, the user must determine the pivot element from the form.

https://lh7-rt.googleusercontent.com/docsz/AD_4nXeMPV07renWLXxVZGCwcAESwAFN-Z8k6N3zixws090hbrFJFM_RyF8phveg3NZGUifBXg2qzyO-q0wuwx0wpJeZ9gdZ_zRzfzql5xCT3_WkWCOtmb77VGQAcj3FR5dinrPtnhjKYQ?key=eE4OxRa9KEXEmq0Gh5OpzA

To do so, the user must select one of the object types that can act as pivot element as explained above (entity, relationship, organizational unit, or user) and then choose the element. The element search component offers autocomplete functionality and allows using filters to locate entities and relationships.

https://lh7-rt.googleusercontent.com/docsz/AD_4nXfoXpTO3qLUVKjXcTZl9aAvJW4SDG6MwZSIYZUsVc6wuXGEw4q9NOX8VsB3QjLce5E_scNwPU1eV0hXaqklU5pxj7VhlEgIqb5VeeY9l_LFJZx-PSNAInrjwBITT5H1IFyVPBEVYA?key=eE4OxRa9KEXEmq0Gh5OpzA

Once the pivot element is selected, the layer configured as the default in the layer selector is automatically loaded.

Layers allow lineage exploration from different perspectives, facilitating understanding and increasing the usability of the graph for the various stakeholders, since each layer's configuration includes the set of entities and relationships it will contain, as well as which relationships are considered aggregation relationships within it.

Anjana provides a Base Layer by default, which contains all entity and relationship types.

https://lh7-rt.googleusercontent.com/docsz/AD_4nXfQRl_Qc7FrmigzY13nFWqyJQl4fjeSRdlbN8sjwYKL5CCTu_-n_NKsgkg6ZjniuZiqnXHeG-dGTyYZcTg8Z099nq9QRV0oakyTqoi3wC_qyf_dJ1t3dLrGqPYGhMogVadGTXqIPQ?key=eE4OxRa9KEXEmq0Gh5OpzA

Thus, when choosing a configured layer, the entity and relationship filters with the subtypes defined for that layer are automatically loaded into the lineage.

image-20251029-174825.png


These filters are used to narrow down the set of entities or relationships to display in the graph based on the entity subtype, relationship subtype, or object status.

https://lh7-rt.googleusercontent.com/docsz/AD_4nXfvb2dZdq5DeaQ-SU0GSdNskMvYWxPGkhmeut59IKoS867_z2ojwCX9LoUMo6FO9WXaqYKOxUgtVhQhOmNL0Jpoc005AkVJRxzaWwJzJ2u3ecXGt212ITpD5uZiF7gvWO7sQ7gcGQ?key=eE4OxRa9KEXEmq0Gh5OpzA

The lineage form also includes a checkbox that filters by active object statuses, hiding expired and disabled ones.

The Autofocus option makes it easier for the user to visualize the graph by automatically centering the nodes within it.

Enable movement allows the user to organize the graph nodes by placing them in the desired position.

https://lh7-rt.googleusercontent.com/docsz/AD_4nXcLXR1uoiwQAPcTmBMcKmLudPGj5RMgzXA_r6_9RbfIi5r8TmM91cZyDK7isns9-oirStDIGSuxXN1tzXvEcsT3bQdyscYjICPRi0aivwkoBLNJ32B8xTiNJacSc6umSVbNAexYzA?key=eE4OxRa9KEXEmq0Gh5OpzA

All changes made in this panel (layer change, entity filters, relationship filters, status filters, autofocus and movement) will be applied to the lineage when the user clicks the Apply button, except for changes to the pivot element, which will always update the graph automatically.

image-20251029-175444.png

It is important to note that any change to the pivot element, filters, lineage layers, etc. will reset the graph, keeping only the pivot element. For this reason, Anjana asks the user to confirm the change.

https://lh7-rt.googleusercontent.com/docsz/AD_4nXfXCzE_ELFEzrmSqoyD3iEWwh2V58xqWEpZVWrsUSLx7D4SqSXXjPEBtwndqsLNwl_PXCPy7O6PX1It0-JVGBcQskTQxdE3SEAraB2ljmsV0vXJ3m6jRqMD5lx7UUg285bZLOoLKQ?key=eE4OxRa9KEXEmq0Gh5OpzA

Finally, in the lineage form the “Export lineage as image” button allows downloading the graph currently visible on screen in .png format. This feature is especially useful for sharing, documenting the represented information without relying on direct access to the application, or for saving a snapshot of the current state before making changes.

image-20251029-175849.png

To check what elements the layer contains, the user can click the legend button and the entities and relationships corresponding to the layer selected in the layer selector will automatically be displayed.

https://lh7-rt.googleusercontent.com/docsz/AD_4nXebfMLCxrB2B-fzXqTRf_cILHl8tqUqB0K93elnsNWOGd9Ot_BzEECwezZM-YJnXOye6OI824vYtXwN3B5BQpjjyFH4nN-w8xeN7VZYgklpbI4FMRtMSGqSTfeuLFpaYsPu5IQ9?key=eE4OxRa9KEXEmq0Gh5OpzA

As can be seen in the legend, the example layer aggregates the STRUCTURE-type relationship between a DATASET and its DATASET_FIELDS, and the INSTANCE_PROCESS-type relationship between a process and its instances. Therefore, the lineage is represented as follows:

https://lh7-rt.googleusercontent.com/docsz/AD_4nXeURKfm1kjeHTEIOHA07MLv4XxrFL7BDIynCjQue9deQYxqP_AJJpFxCYT0ateP_mWbwtTE8H2qRLLI-h3-N4zEtmKcAp9iZEr-BiG392P5dwhZwRV5CO5S0Zgw_asxRinRGbGliQ?key=eE4OxRa9KEXEmq0Gh5OpzA

Whereas, in a different layer with a different configuration, the same nodes are displayed like this:

https://lh7-rt.googleusercontent.com/docsz/AD_4nXd0x_fdupeuu1NiSzrTu7sXB3qyZGOuCmmArAyDTndm2VnTRJai5od108pTqNuP4S7RDVJp_tkqB9L_95XNRYN2R0CpmYQnOn9IMXeC0yK_NcRnv-O1xlSnQnBUaasxerjO0F5IpA?key=eE4OxRa9KEXEmq0Gh5OpzA

If the user wants to search for a specific object within the deployed lineage, they can open the search tool and perform the search within the graph.

https://lh7-rt.googleusercontent.com/docsz/AD_4nXeR6OPKjF7aVil2nTvUNFjE8ImNQkwuFtXVudt-A1mVtZGvuR_HPMgnHJTj0_tIsqRBe9FdyqCgFbTERD9-UC0Wtuu8LdxN4P360rl2MHsHKfhfXEwnD5bb-rrFn8z1BWCa4OGM?key=eE4OxRa9KEXEmq0Gh5OpzA

If, as in the case of the image, there are two objects whose name matches the search, clicking on one of them will center the graph on that object and highlight it in blue.

https://lh7-rt.googleusercontent.com/docsz/AD_4nXfcLjn1DKuGb9D5aAFGkbt_mB3lJv7sYvSyQj_7TaGAC8-8kZBuWp2226Gy3zLBvB59P5z1fMVetY8qAWccz00wN2CQrL3JTgmmAda3UaDLt1yevXl3PB5fuPGq8GwkzFP_nG2FXA?key=eE4OxRa9KEXEmq0Gh5OpzA

Within the graph, the user can click on any of the objects (entity or relationship) to view its related information in the Selected Node panel and progressively display the information flow.

https://lh7-rt.googleusercontent.com/docsz/AD_4nXfLT8RvoR-bjN9_s0CUss-fgLznStRjQj0Hf4fCTZW1Uc3SFMnBU55rtzVdTmUvg7FmqwggbReJZGWYzzKLUgJVG6yugoxmbsGhWH-BUKKoxUt43_xjxl4t82K6kEzaNb4NF9RryA?key=eE4OxRa9KEXEmq0Gh5OpzA

If at any point the user wants to change the pivot element to continue exploring from that new object, they can do so from here, where they can also navigate to the specific lineage of the selected object.

https://lh7-rt.googleusercontent.com/docsz/AD_4nXeqVvSTBcJUW8jFZiaCsje8J5KuZTBpwGk0emSYmuB4t_dN6cQ0Sq0_zTmMnI9cJ2mq9GZHGg5erj8DFD6D-4YnKr3ghEnuYxwXa6wLExEkY5CatfcMv_JissP63PH6TF_eQKCRvw?key=eE4OxRa9KEXEmq0Gh5OpzA

Repeated nodes in the lineage

When accessing the lineage of an entity (pivot element) that is the target of a relationship configured as an aggregation relationship in the layer being displayed, the entity will be shown contained within the source entity. If this entity is part of a set of aggregations, the entire family will be shown expanded.

https://lh7-rt.googleusercontent.com/docsz/AD_4nXdLWsFlMd987014fMO4KALq2Us4lTlBydsp4yKclgiLqCi8C6GbT4v5Z9r2FijIckJ8SCa_IKaQANUr3f7XwUVbzqwGgXmstyEWsMXdSJY6uVssmPHG_vM7bsi6kGZUZN1rd3-2Kw?key=eE4OxRa9KEXEmq0Gh5OpzA

If the pivot element is the target of more than one aggregation relationship, meaning it has multiple parents with an aggregation relationship, the element will appear repeated as many times as it has parents.

In the following figure, one can observe how the “Monthly Sales Report” (pivot element) is included in 4 DSAs and, therefore, appears repeated in the graph once alongside each of its parents.

https://lh7-rt.googleusercontent.com/docsz/AD_4nXcOe4y3sw8M0fkiIOHFuzH_B1Nfnx_NgQCTxwaEwALelkRW2Crp4N4ZAbWP9mIWSf9VyKtv5jrB6B9F3eBeyUmCpjeq-NhgHyB1t5TeNz6JvYdLfBpWv1HxRdevoRJYX73O3xbLbg?key=eE4OxRa9KEXEmq0Gh5OpzA

However, if the same Report is reached by expanding the lineage from another entity (in the case of the following image, from the dataset “Gross Margin”), the Report's parents are not shown by default.

https://lh7-rt.googleusercontent.com/docsz/AD_4nXcetlzzpIo2y_96SuTEFrLX1tf_hKlesLY2gUe7S9j7jzt_CLnkwD-KjKcJVY3qUVebVWwrks91_IFH-JohO1y6gkJgb6mZ2pUzqFYpKqLDdHcWkugtbl25_H4HlSc8i0t8fApV1w?key=eE4OxRa9KEXEmq0Gh5OpzA

In this last case, it will be necessary to expand the Report's parents to show them in the lineage and, again, the node will appear repeated since it is the target of multiple aggregation relationships within the selected layer.

https://lh7-rt.googleusercontent.com/docsz/AD_4nXcX-UUkQ-lGZBpM9mMNddmz-Dr1Hi2VQa1K5lk9uI7i370k_TAkJZXWpL-dWn7ZJL329FJHa6yKcg4SbC5vwWR-HsI4d_BvitzrTY4WaLcxcFwEidPjMHap48BeVlC7sHA2nRZU?key=eE4OxRa9KEXEmq0Gh5OpzA

On the other hand, when a node appears repeated in the lineage and also contains its own children, each of those nodes can be expanded independently.

In the following figure, one can observe that the dataset “Gross Margin” is contained in two DSAs and also has several dataset fields. The user can expand the fields separately in each repetition of the dataset.

https://lh7-rt.googleusercontent.com/docsz/AD_4nXdT5-iHNwuiSx0Reh_lV4Q1az8-GR21zGvAs8hBW9WxEswZzhTcamtUqqqIi7fvtRfp_dwiMMBe8uSK_OXbzMUrAx7FpeK1ZJKek-Hkmhgy5hj4Yw6fsDwu4wEd6aj1qnmiODC2Mg?key=eE4OxRa9KEXEmq0Gh5OpzA
https://lh7-rt.googleusercontent.com/docsz/AD_4nXfGdU9YxXEKdtMJ41DzNFuepEnqfef-SxzqS4hJ9XNy8nGgsmIZOWT7Ym-jfv7NPS_pVhmcffHwhJh9BjWp3g6k5K4mHqYxUGGVAvmmmo0_EF6kB3IG_tv_z7euF1oJpu-KVGfhcw?key=eE4OxRa9KEXEmq0Gh5OpzA

Just as they can be expanded individually, they can also be collapsed individually.

image-20251112-175139.png
https://lh7-rt.googleusercontent.com/docsz/AD_4nXeI_kis_uIjUPnaP3QV6HblPKFLvRf5FH65RPHP4Q2V_o28qVCAlbkuFIPKpyX-oZLaVqSrQODFZ0QQ8VnDsTHZMoeEcrxetQg-K83nKjGR858htgXFwE-ewgbAE6oUIMPt6z5Xkg?key=eE4OxRa9KEXEmq0Gh5OpzA

Different nodes in the same layer

It is possible that different nodes are displayed in the lineage depending on the selected pivot element. This is because, by default, if the pivot element is a relationship, the source and target entities are shown even without passing the entity filter of the chosen layer; however, when choosing the source or target as the pivot, the other entity may not pass the entity subtype filter and, therefore, may not appear in the lineage graph. An example is presented below.

In this figure, the pivot element of the lineage is the relationship between the Report Behaviour Analysis and the Term Active Customer. This is why both entities appear in the graph.

https://lh7-rt.googleusercontent.com/docsz/AD_4nXfVH6nAvv9_5hjObtejfub5X6m9n_PtT3kkNp93Hj5biU5zab8TDj2GB5uhBw3z059zB0LbvpwjyFO1m2tJR7NculP3oTe9yByu-fFFf89kfKtb-y4V3KdqJXCQLLvCBocNM8MVGg?key=eE4OxRa9KEXEmq0Gh5OpzA

However, if the Behaviour Analysis Report is chosen as the pivot element, the Term Active Customer is not shown because the entity filter of this layer does not include Terms.

https://lh7-rt.googleusercontent.com/docsz/AD_4nXd1cQuEP8-ltashQzUTr89Nip1eFKWnjqq084hi8BFdes8bBTTbm_XMlRA-HCX2IgLlwKtX5096ELjvY21GJElFYfFroFv_9WYJTNkMm707sYEDJ-vrWSGPt8-yvPnfuBzkjt-Lmg?key=eE4OxRa9KEXEmq0Gh5OpzA

The same can happen with relationships or node statuses that do not pass the corresponding filter.