Area: Product Issues
Sub-Area: Structured Properties — Visibility and Configuration
Issue
When a structured property is deleted and recreated in the DataHub UI, it may not appear in the right-side properties pane of a dataset. This can occur even when the property was previously visible and correctly associated with datasets. The disappearance is typically caused by a combination of two factors: the Hide When Empty setting being enabled on the new property (so it is invisible until a value is assigned), and the loss of any previously set values because deleting a structured property also removes all its associations from datasets. Additionally, if the original property was created with a custom URN via Advanced Options, the recreated property will receive a different, auto-generated URN, making it a completely distinct entity in the system.
You Might Be Asking
- Why does my recreated structured property not show up in the dataset properties pane?
- Does deleting a structured property remove its values from all datasets?
- Why does my new structured property have a different URN than the original?
- How do I make a structured property visible on a dataset after recreating it?
Solution
Follow these steps to restore visibility of a recreated structured property on your datasets:
- Understand what happened on deletion. When a structured property is deleted in the DataHub UI, all values associated with that property across every dataset and column are also deleted. The recreated property is treated as a brand-new entity, even if it shares the same display name.
- Check the Hide When Empty setting. Navigate to your newly created structured property in the DataHub UI. If Hide When Empty is enabled, the property will not appear in the dataset pane until at least one value has been assigned to it. Disable this option if you want the property to be visible even before a value is set, or proceed to assign a value as described below.
-
Verify or set a custom URN (if needed). If the original property had a meaningful custom URN (e.g.,
urn:li:structuredProperty:my-property-name), ensure the recreated property uses the same URN by expanding Advanced Options during property creation and entering the URN manually. If you did not do this, the new property will have a randomly generated URN and will not inherit any prior associations. -
Re-associate the property with your datasets. Because all previous associations are lost on deletion, you must re-add the property to each relevant dataset. You can do this in several ways:
- Via the UI: Open the dataset, navigate to the Properties tab, click Edit, find your structured property, and assign a value.
-
Via the CLI (bulk): Create a YAML file specifying the dataset URN and the structured property assignment, then run the ingestion command:
Then run:# Example structured_properties.yaml - entityType: dataset entityUrn: "urn:li:dataset:(urn:li:dataPlatform:<platform>,<dataset-name>,<env>)" structuredProperties: - propertyUrn: "urn:li:structuredProperty:<your-property-id>" values: - "<your-property-value>"datahub ingest -c structured_properties.yaml
- Confirm visibility. After assigning a value to the property on the dataset, navigate back to the dataset in the DataHub UI and verify that the property now appears in the right-side properties pane.
Additional Notes
Deletion is permanent and cascading: Deleting a structured property removes it and all its assigned values from every asset in DataHub. There is no soft-delete or recovery mechanism for structured property values once deleted. Always confirm before deleting a property that is actively used across many assets.
Custom URNs: When creating a structured property, you can specify a custom URN under Advanced Options. If you do not set a custom URN, DataHub assigns a random identifier. Using a predictable, meaningful URN (e.g., urn:li:structuredProperty:compute-footprint) makes it easier to recreate and reference the property programmatically and ensures consistent identification across environments.
Hide When Empty behavior: The Hide When Empty toggle controls whether a property field is rendered in the UI when no value is present. This is useful for reducing visual clutter, but it can cause confusion after recreation when no values have yet been assigned. Consider temporarily disabling this setting while re-populating values across datasets.
Related Documentation
Tags: structured-properties, hide-when-empty, property-recreation, dataset-properties, urn, property-visibility, delete-property, re-associate, datahub-ui, bulk-ingestion