Skip to main content

Visual Discovery Graph overview

The Visual Discovery Graph is a powerful feature in the Witboost Marketplace that allows users to explore relationships between systems in a visual and interactive way.
It provides an intuitive representation of key metadata dimensions, helping users to discover connections across the catalog.

Built-in heatmap layers

By default, the Visual Discovery Graph includes several predefined heatmap layers that provide insights into the structure and governance of systems. These layers are available without additional configuration:

LabelKindKeyDescription
ConnectionsnumberCONNECTIONSSum of input and output systems connected to the system.
ViolationsnumberRED_FLAGSNumber of governance violations detected on the system.
Output PortsnumberCOMPONENTSNumber of consumable components exposed by the system.
ReviewsnumberREVIEWSNumber of reviews associated with the system.
Publication DatedatePUBLISHED_ATDate the system was published.

These built-in layers are computed dynamically based on internal system metadata and can be used alongside custom layers defined via configuration.

Configure custom heatmap layers

In addition to the built-in layers, organizations can configure custom heatmaps to reflect business-specific dimensions of the data catalog.

Custom layers are defined under the mesh.marketplace.ui.visualDiscoveryGraph.layers property as an array of objects, where each object describes a single layer.

Here’s an example of how to configure them:

mesh:
marketplace:
ui:
visualDiscoveryGraph:
layers:
- label: 'Kind'
description: 'Reference to the system type this system is instance of.'
kind: list
key: 'KIND'
path: 'kind'
- label: 'Maturity'
description: 'Indicates the system’s level of maturity within its lifecycle or strategic importance.'
kind: list
key: 'MATURITY'
path: 'maturity'
- label: 'Status'
description: 'Reflects the current lifecycle status of the system.'
kind: list
key: 'STATUS'
path: 'status'

Layer properties

Each custom layer supports the following properties:

  • label: The name shown in the UI for this layer.
  • description: A description suggesting what heatmap represents.
  • kind: The type of visualization. Allowed values are:
    • list: for categorical values (e.g., kind, status, maturity)
    • number: for numeric values (e.g., count, size)
    • date: for temporal values (e.g., publication date)
  • key: A unique identifier for the layer. Should be written in uppercase.
  • path: The field extracted from the system descriptor. For nested fields, you can use dot notation to access them, but arrays are not supported.

How to add a new custom layer

To add a new layer:

  1. Identify the field in the system descriptor you want to use as the data source.
  2. Choose the appropriate kind for how the value should be visualized:
    • Use list for distinct string values.
    • Use number for numeric data.
    • Use date for timestamps.
  3. Define a unique key for the layer (uppercase recommended).
  4. Set the path to the correct metadata field using dot notation.