As of April 10, 2026, Dataplex Universal Catalog is now called Knowledge Catalog. The API, client library, CLI, and IAM names remain unchanged. For more information, seeIntroducing the Google Cloud Knowledge Catalog.
Manage a business glossaryStay organized with collectionsSave and categorize content based on your preferences.
This document describes how to create and manage business glossaries in
Knowledge Catalog (formerly Dataplex Universal Catalog). Use a business
glossary to establish a standardized vocabulary for your data assets, which
reduces ambiguity and improves data discovery and governance across your
organization.
Knowledge Catalog business glossary use cases
By creating a common language for data using Knowledge Catalog business glossary,
you can achieve the following:
Define a clear hierarchy of business categories and terms.
Link concepts using synonyms and show relationships between terms.
Search for data resources based on business concepts, not just technical names.
Knowledge Catalog business glossary helps streamline data discovery and reduce
ambiguity, resulting in better governance, more accurate analysis, and faster
insights.
Elements of a business glossary
This section describes the key elements that you can use to structure a business
glossary.
Glossary
Aglossaryhas the following properties:
Overview. Describes the purpose and contents of the business glossary.
You can add images, links, and tables. While HTML formatting isn't
supported, you can include HTML code formatted as code or add a link to an
HTML page. You can also use rich text formatting options such as bold,
italics, underline, bulleted lists, paragraphs, headings, and code blocks.
The maximum supported size is 120 KB.
Description. Describes the glossary. The text in this field is indexed
for search. The maximum supported size is 1 KB.
Region. Specifies theregionwhere the
glossary is located.
Category
Acategorylets you organize and structure various categories and terms.
Categories are defined within a business glossary. You can nest categories up to
three levels.
A category has the properties of a glossary as well as the following properties:
Contacts. Specifies the person responsible for maintaining the category.
This property is descriptive and doesn't affect the permissions of the category.
Parent. Specifies a relationship that is used to establish the parent of
the current category. You can nest up to three categories.
The region of a category is the same as the region of the glossary that contains
it.
Term
Aterm(short for "glossary term") describes a concept that's used in a
particular branch of business within your company. For example, the marketing
department of a company might create a term that describes cost per click.
Terms are defined within a business glossary, either in the glossary directly or
within any category found in the glossary.
A term has the properties of a category as well as the following properties:
Synonyms. Specifies links between terms that have the same meaning.
SeeSynonym terms.
Related terms. Specifies links between terms that are conceptually related
to each other, but that have different meanings. SeeRelated terms.
Related entries. Specifies links between terms and data assets, or between
terms and columns within data assets.
Data quality rules. Specifies data quality requirements for the term.
For more information, seeReuse data quality rules.
Contacts. Specifies the person responsible for maintaining the term. Terms
don't inherit the contacts that are defined in categories.
The region of a term is the same as the region of the glossary that contains it.
Synonym terms
A synonym is a relationship that indicates equivalence between two different
terms. Use synonyms when two terms with the same meaning are defined by
different teams in different glossaries. For example, you can create a synonym
to link the terms "profit" and "earnings."
Related terms
A related term is a relationship that indicates that two terms are associated
with each other, but have different meanings. For example, you can create a
related term to link the terms "revenue" and "profit."
Limitations
Knowledge Catalog business glossary isn't supported forAssured Workloadprojects.
To get the permissions that
you need to create and manage glossaries,
ask your administrator to grant you the
following IAM roles on your project:
For data administrators, get full access to glossaries, categories, terms, synonyms, and related terms, and to set IAM policies:Dataplex Catalog Admin(roles/dataplex.catalogAdmin)
For data stewards or data owners, get access to creating, editing or deleting glossaries, categories, terms, links between terms, links between terms anddata assets, and search:Dataplex Catalog Editor(roles/dataplex.catalogEditor)
For data analysts or data consumers, get read-only access to glossaries, categories, terms, links between terms and between terms and data assets, and search:Dataplex Catalog Viewer(roles/dataplex.catalogViewer)
These predefined roles contain
the permissions required to create and manage glossaries. To see the exact permissions that are
required, expand theRequired permissionssection:
Required permissions
The following permissions are required to create and manage glossaries:
Create, read, update, and delete a business glossary, category, and terms in your project:
dataplex.glossaries.list
dataplex.glossaries.create
dataplex.glossaries.get
dataplex.glossaries.update
dataplex.glossaries.delete
dataplex.glossaryCategories.create
dataplex.glossaryCategories.list
dataplex.glossaryCategories.get
dataplex.glossaryCategories.update
dataplex.glossaryCategories.delete
dataplex.glossaryTerms.create
dataplex.glossaryTerms.list
dataplex.glossaryTerms.get
dataplex.glossaryTerms.update
dataplex.glossaryTerms.delete
Create, lookup, and delete synonym term-to-term links in your project:
dataplex.entryLinks.create
on the Knowledge Catalog entry group in the project in which either of the glossary terms is present. The link is created in the entry group for which the permission is given.
dataplex.entryGroups.useSynonymEntryLink
on the Knowledge Catalog entry group in the project in which either of the glossary terms is present. The link is created in the entry group for which the permission is given.
dataplex.glossaryTerms.use
on the glossaries whose terms need to be associated.
dataplex.glossaryTerms.get
on the term whose synonym links you are looking up. Knowledge Catalog redacts synonym terms in the response if you lack the dataplex.glossaryTerms.get permission for those terms.
dataplex.entryLinks.delete
on the Knowledge Catalog entry group in the project in which the link is present.
Create, lookup, and delete related term-to-term links in your project:
dataplex.entryLinks.create
on the Knowledge Catalog entry group in the project in which either of the glossary terms is present. The link is created in the entry group for which the permission is given.
dataplex.entryGroups.useRelatedEntryLink
on the Knowledge Catalog entry group in the project in which either of the glossary terms is present. The link is created in the entry group for which the permission is given.
dataplex.entries.link
on the Knowledge Catalog entry group in projects in which entries corresponding to glossary terms are present.
dataplex.glossaryTerms.get
on the term whose related links you are looking up. Knowledge Catalog redacts related terms in the response if you lack the dataplex.glossaryTerms.get permission for those terms.
dataplex.entryLinks.delete
on the Knowledge Catalog entry group in the project in which the link is present.
Create, lookup, and delete links between terms and data assets or columns in your project:
dataplex.entryLinks.create
on the system entry group corresponding to data assets or columns in the project. The link is created in the project for which the permission is given.
dataplex.entryGroups.useDefinitionEntryLink
on the system entry group corresponding to data assets or columns in the project. The link is created in the project for which permission is given.
dataplex.entries.link
on the system entry group corresponding to data assets or columns in the project. The link is created in the project for which the permission is given.
dataplex.glossaryTerms.use
on the glossary whose term needs to be associated.
Source system read permission (for example,bigquery.tables.getordataplex.glossaryTerms.get)
on the entry whose links you are looking up. Knowledge Catalog redacts data assets in the response if you lack the source system read permission for those assets.
dataplex.entryLinks.delete
on the system entry group in which the link is present.
//go:build examplespackagemainimport("context"dataplex"cloud.google.com/go/dataplex/apiv1"dataplexpb"cloud.google.com/go/dataplex/apiv1/dataplexpb""google.golang.org/api/iterator")funcmain(){ctx:=context.Background()// This snippet has been automatically generated and should be regarded as a code template only.// It will require modifications to work:// - It may require correct/in-range values for request initialization.// - It may require specifying regional endpoints when creating the service client as shown in:// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Optionsc,err:=dataplex.NewBusinessGlossaryClient(ctx)iferr!=nil{// TODO: Handle error.}deferc.Close()req:=&dataplexpb.ListGlossariesRequest{// TODO: Fill request struct fields.// See https://pkg.go.dev/cloud.google.com/go/dataplex/apiv1/dataplexpb#ListGlossariesRequest.}it:=c.ListGlossaries(ctx,req)for{resp,err:=it.Next()iferr==iterator.Done{break}iferr!=nil{// TODO: Handle error.}// TODO: Use resp._=resp// If you need to access the underlying RPC response,// you can do so by casting the `Response` as below.// Otherwise, remove this line. Only populated after// first call to Next(). Not safe for concurrent access._=it.Response.(*dataplexpb.ListGlossariesResponse)}}
importcom.google.cloud.dataplex.v1.BusinessGlossaryServiceClient;importcom.google.cloud.dataplex.v1.Glossary;importcom.google.cloud.dataplex.v1.ListGlossariesRequest;importcom.google.cloud.dataplex.v1.LocationName;publicclassSyncListGlossaries{publicstaticvoidmain(String[]args)throwsException{syncListGlossaries();}publicstaticvoidsyncListGlossaries()throwsException{// This snippet has been automatically generated and should be regarded as a code template only.// It will require modifications to work:// - It may require correct/in-range values for request initialization.// - It may require specifying regional endpoints when creating the service client as shown in// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_librarytry(BusinessGlossaryServiceClientbusinessGlossaryServiceClient=BusinessGlossaryServiceClient.create()){ListGlossariesRequestrequest=ListGlossariesRequest.newBuilder().setParent(LocationName.of("[PROJECT]","[LOCATION]").toString()).setPageSize(883849137).setPageToken("pageToken873572522").setFilter("filter-1274492040").setOrderBy("orderBy-1207110587").build();for(Glossaryelement:businessGlossaryServiceClient.listGlossaries(request).iterateAll()){// doThingsWith(element);}}}}
/*** This snippet has been automatically generated and should be regarded as a code template only.* It will require modifications to work.* It may require correct/in-range values for request initialization.* TODO(developer): Uncomment these variables before running the sample.*//*** Required. The parent, which has this collection of GlossaryTerms.* Format:* projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}* where `location_id` refers to a Google Cloud region.*/// const parent = 'abc123'/*** Optional. The maximum number of GlossaryTerms to return. The service may* return fewer than this value. If unspecified, at most 50 GlossaryTerms will* be returned. The maximum value is 1000; values above 1000 will be coerced* to 1000.*/// const pageSize = 1234/*** Optional. A page token, received from a previous `ListGlossaryTerms` call.* Provide this to retrieve the subsequent page.* When paginating, all other parameters provided to `ListGlossaryTerms` must* match the call that provided the page token.*/// const pageToken = 'abc123'/*** Optional. Filter expression that filters GlossaryTerms listed in the* response. Filters are supported on the following fields:* - immediate_parent* Examples of using a filter are:* -* `immediate_parent="projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}"`* -* `immediate_parent="projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}"`* This will only return the GlossaryTerms that are directly nested under the* specified parent.*/// const filter = 'abc123'/*** Optional. Order by expression that orders GlossaryTerms listed in the* response. Order by fields are: `name` or `create_time` for the result. If* not specified, the ordering is undefined.*/// const orderBy = 'abc123'// Imports the Dataplex libraryconst{BusinessGlossaryServiceClient}=require('@google-cloud/dataplex').v1;// Instantiates a clientconstdataplexClient=newBusinessGlossaryServiceClient();asyncfunctioncallListGlossaryTerms(){// Construct requestconstrequest={parent,};// Run requestconstiterable=dataplexClient.listGlossaryTermsAsync(request);forawait(constresponseofiterable){console.log(response);}}callListGlossaryTerms();
# This snippet has been automatically generated and should be regarded as a# code template only.# It will require modifications to work:# - It may require correct/in-range values for request initialization.# - It may require specifying regional endpoints when creating the service# client as shown in:# https://googleapis.dev/python/google-api-core/latest/client_options.htmlfromgoogle.cloudimportdataplex_v1defsample_list_glossaries():# Create a clientclient=dataplex_v1.BusinessGlossaryServiceClient()# Initialize request argument(s)request=dataplex_v1.ListGlossariesRequest(parent="parent_value",)# Make the requestpage_result=client.list_glossaries(request=request)# Handle the responseforresponseinpage_result:print(response)
require"google/cloud/dataplex/v1"### Snippet for the list_glossaries call in the BusinessGlossaryService service## This snippet has been automatically generated and should be regarded as a code# template only. It will require modifications to work:# - It may require correct/in-range values for request initialization.# - It may require specifying regional endpoints when creating the service# client as shown in https://cloud.google.com/ruby/docs/reference.## This is an auto-generated example demonstrating basic usage of# Google::Cloud::Dataplex::V1::BusinessGlossaryService::Client#list_glossaries.#deflist_glossaries# Create a client object. The client can be reused for multiple calls.client=Google::Cloud::Dataplex::V1::BusinessGlossaryService::Client.new# Create a request. To set request fields, pass in keyword arguments.request=Google::Cloud::Dataplex::V1::ListGlossariesRequest.new# Call the list_glossaries method.result=client.list_glossariesrequest# The returned object is of type Gapic::PagedEnumerable. You can iterate# over elements, and API calls will be issued to fetch pages as needed.result.eachdo|item|# Each element is of type ::Google::Cloud::Dataplex::V1::Glossary.pitemendend
You can attach a single glossary term to multiple data assets or columns
simultaneously. You can select up to 20 resources or columns in a single
operation.
Import glossaries and links between terms and terms or data assets
To import glossaries and links from another cataloging tool or to update
your glossaries in Knowledge Catalog, you can bulk import glossaries,
categories, terms, links between terms, links between terms and data assets, or
columns, using the REST API.
To import categories, terms, and links between terms and data assets in
the target glossary created, upload files for each of these into a
Cloud Storage bucket. These files are of the following format:
Sample format for terms and categories of a glossary
Import links between terms and data assets or columns.
To create a link between glossary terms and data assets, run the import
job for each entry group to which the entry for the data asset belongs. All
definition entry links are created in this entry group.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2026-06-10 UTC."],[],[]]