diff --git a/metadata-models/src/main/pegasus/com/linkedin/common/ContainerPathEntry.pdl b/metadata-models/src/main/pegasus/com/linkedin/common/BrowsePathEntry.pdl similarity index 55% rename from metadata-models/src/main/pegasus/com/linkedin/common/ContainerPathEntry.pdl rename to metadata-models/src/main/pegasus/com/linkedin/common/BrowsePathEntry.pdl index d854ea2b46..2da0286b9c 100644 --- a/metadata-models/src/main/pegasus/com/linkedin/common/ContainerPathEntry.pdl +++ b/metadata-models/src/main/pegasus/com/linkedin/common/BrowsePathEntry.pdl @@ -1,11 +1,11 @@ namespace com.linkedin.common /** - * Represents a single level in an entity's container path + * Represents a single level in an entity's browsePathV2 */ -record ContainerPathEntry { +record BrowsePathEntry { /** - * The ID of the container path entry. This is what gets stored in the index after URL encoding. + * The ID of the browse path entry. This is what gets stored in the index. * If there's an urn associated with this entry, id and urn will be the same */ id: string diff --git a/metadata-models/src/main/pegasus/com/linkedin/common/BrowsePathsV2.pdl b/metadata-models/src/main/pegasus/com/linkedin/common/BrowsePathsV2.pdl new file mode 100644 index 0000000000..0aee36b01e --- /dev/null +++ b/metadata-models/src/main/pegasus/com/linkedin/common/BrowsePathsV2.pdl @@ -0,0 +1,19 @@ +namespace com.linkedin.common + +/** + * Shared aspect containing a Browse Path to be indexed for an entity. + */ +@Aspect = { + "name": "browsePathsV2" +} +record BrowsePathsV2 { + /** + * A valid browse path for the entity. This field is provided by DataHub by default. + * This aspect is a newer version of browsePaths where we can encode more information in the path. + * This path is also based on containers for a given entity if it has containers. + * + * This is stored in elasticsearch as unit-separator delimited strings and only includes platform specific folders or containers. + * These paths should not include high level info captured elsewhere ie. Platform and Environment. + */ + path: array[BrowsePathEntry] +} diff --git a/metadata-models/src/main/pegasus/com/linkedin/common/ContainerPath.pdl b/metadata-models/src/main/pegasus/com/linkedin/common/ContainerPath.pdl deleted file mode 100644 index c9280d5dc3..0000000000 --- a/metadata-models/src/main/pegasus/com/linkedin/common/ContainerPath.pdl +++ /dev/null @@ -1,17 +0,0 @@ -namespace com.linkedin.common - -/** - * Shared aspect containing Container Paths to be indexed for an entity. - */ -@Aspect = { - "name": "containerPath" -} -record ContainerPath { - /** - * A valid container path for the entity. This field is provided by DataHub by default. - * - * Container paths are stored in elasticsearch as slash-separated strings and only include platform specific folders or containers. - * These paths should not include high level info captured elsewhere ie. Platform and Environment. - */ - path: array[ContainerPathEntry] -} diff --git a/metadata-models/src/main/resources/entity-registry.yml b/metadata-models/src/main/resources/entity-registry.yml index 041b79cb6c..d9c85a3bd6 100644 --- a/metadata-models/src/main/resources/entity-registry.yml +++ b/metadata-models/src/main/resources/entity-registry.yml @@ -34,7 +34,7 @@ entities: - glossaryTerms - browsePaths - dataPlatformInstance - - containerPath + - browsePathsV2 - name: dataHubPolicy doc: DataHub Policies represent access policies granted to users or groups on metadata operations like edit, view etc. category: internal @@ -59,7 +59,7 @@ entities: - glossaryTerms - institutionalMemory - dataPlatformInstance - - containerPath + - browsePathsV2 - name: dataFlow category: core keyAspect: dataFlowKey @@ -76,7 +76,7 @@ entities: - glossaryTerms - institutionalMemory - dataPlatformInstance - - containerPath + - browsePathsV2 - name: dataProcess keyAspect: dataProcessKey aspects: @@ -111,7 +111,7 @@ entities: - dataPlatformInstance - globalTags - glossaryTerms - - containerPath + - browsePathsV2 - name: dashboard keyAspect: dashboardKey aspects: @@ -131,7 +131,7 @@ entities: - glossaryTerms - institutionalMemory - dataPlatformInstance - - containerPath + - browsePathsV2 - name: notebook doc: Notebook represents a combination of query, text, chart and etc. This is in BETA version keyAspect: notebookKey @@ -148,7 +148,7 @@ entities: - domains - subTypes - dataPlatformInstance - - containerPath + - browsePathsV2 - name: corpuser doc: CorpUser represents an identity of a person (or an account) in the enterprise. keyAspect: corpUserKey @@ -197,7 +197,7 @@ entities: - browsePaths # unclear if this will be used - status - domains - - containerPath + - browsePathsV2 - name: tag keyAspect: tagKey aspects: @@ -290,7 +290,7 @@ entities: - browsePaths - globalTags - dataPlatformInstance - - containerPath + - browsePathsV2 - name: mlModelGroup category: core keyAspect: mlModelGroupKey @@ -305,7 +305,7 @@ entities: - browsePaths - globalTags - dataPlatformInstance - - containerPath + - browsePathsV2 - name: mlModelDeployment category: core keyAspect: mlModelDeploymentKey @@ -331,7 +331,7 @@ entities: - browsePaths - globalTags - dataPlatformInstance - - containerPath + - browsePathsV2 - name: mlFeature category: core keyAspect: mlFeatureKey @@ -347,7 +347,7 @@ entities: - browsePaths - globalTags - dataPlatformInstance - - containerPath + - browsePathsV2 - name: mlPrimaryKey category: core keyAspect: mlPrimaryKeyKey