A Glossary provides appropriate vocabularies for business users and it allows the terms (words) to be related to each other and categorized so that they can be understood in different contexts. These terms can be then mapped to assets like a Database, tables, columns etc. This helps abstract the technical jargon associated with the repositories and allows the user to discover/work with data in the vocabulary that is more familiar to them.
A term is a useful word for an enterprise. For the term(s) to be useful and meaningful, they need to grouped around their use and context. A term in Apache Atlas must have a unique qualifiedName, there can be term(s) with same name but they cannot belong to the same glossary. Term(s) with same name can exist only across different glossaries. A term name can contain spaces, underscores and dashes (as natural ways of referring to words) but no “.” or “@”, as the qualifiedName takes the following form term name@glossary qualified name. The fully qualified name makes it easier to work with a specific term.
A term can only belong to single glossary and it’s lifecycle is bound to the same i.e. if the Glossary is deleted then the term gets deleted as well. A term can belong to zero or more categories, which allows scoping them into narrower or wider contexts. A term can be assigned/linked to zero or more entities in Apache Atlas. A term can be classified using classifications (tags) and the same classification gets applied to the entities that the term is assigned to.
A category is a way of organizing the term(s) so that the term’s context can be enriched. A category may or may not have contained hierarchies i.e. child category hierarchy. A category’s qualifiedName is derived using it’s hierarchical location within the glossary e.g. Category name.parent category qualifiedName. This qualified name gets updated when any hierarchical change happens, e.g. addition of a parent category, removal of parent category or change of parent category.
Apache Atlas UI has been updated to provide user-friendly interface to work with various aspects of glossary, including:
Most of glossary related UI can be found under a new tab named GLOSSARY, which is present right next to existing familiar tabs SEARCH and CLASSIFICATION.
Apache Atlas UI provides two ways to work with a glossary - term view and category view.
Term view allows an user to perform the following operations:
Category view allows an user to perform the following operations:
Users can switch between term view and category view using toggle provided in GLOSSARY tab.
Various details of a term can be viewed by clicking on the term name in the glossary UI. Each tabs under the details page provides different details of the term.
Clicking on + next to classification label to add a classification to the term.
When the toggle switch is on category, the panel will list down all glossaries along-with the category hierarchy. Here’s a list of possible interactions under this view.
Terms can be assigned to an entity either from the results page or entity details page.
Apache Atlas basic-search API and UI have been updated to support term as a search criteria. This allows users to find entities associated with a given term. Basic search UI now includes a new input drop-down for term based searches.
Following operations are supported by Atlas, the details of REST interface can be found here
{ "guid": "2f341934-f18c-48b3-aa12-eaa0a2bfce85", "qualifiedName": "SampleBank", "displayName": "Banking", "shortDescription": "Glossary of bank", "longDescription": "Glossary of bank - long description", "language": "English", "usage": "N/A", "terms": [ { "termGuid": "502d34f1-b85f-4ad9-9d9f-fe7020ff0acb", "relationGuid": "6bb803e4-3af6-4924-aad6-6ad9f95ecd14", "displayText": "A savings account" }, { "termGuid": "e441a540-ee55-4fc8-8eaf-4b9943d8929c", "relationGuid": "dbc46795-76ff-4f68-9043-be0eff0bc0f3", "displayText": "15-30 yr mortgage" }, { "termGuid": "998e3692-51a8-47fe-b3a0-0d9f794437eb", "relationGuid": "0dcd31b9-a81c-4185-ad4b-9209a97c305b", "displayText": "A checking account" }, { "termGuid": "c4e2b956-2589-4648-8596-240d3bea5e44", "relationGuid": "e71c4a5d-694b-47a5-a41e-126ade857279", "displayText": "ARM loans" }], "categories": [{ "categoryGuid": "dd94859e-7453-4bc9-b634-a17fc14590f8", "parentCategoryGuid": "e6a3df1f-5670-4f9e-84da-91f77d008ce3", "relationGuid": "a0b7da02-1ccd-4415-bc54-3d0cdb8857e7", "displayText": "Accounts" }, { "categoryGuid": "e6a3df1f-5670-4f9e-84da-91f77d008ce3", "relationGuid": "0e84a358-a4aa-4bd3-b806-497a6962ae1d", "displayText": "Customer" }, { "categoryGuid": "7f041401-de8c-443f-a3b7-7bf5a910ff6f", "parentCategoryGuid": "e6a3df1f-5670-4f9e-84da-91f77d008ce3", "relationGuid": "7757b031-4e25-43a8-bf77-946f7f06c67a", "displayText": "Loans" }] }
{ "guid": "e441a540-ee55-4fc8-8eaf-4b9943d8929c", "qualifiedName": "fixed_mtg@SampleBank", "displayName": "15-30 yr mortgage", "shortDescription": "Short description", "longDescription": "Long description", "examples": ["N/A"], "abbreviation": "FMTG", "anchor": { "glossaryGuid": "2f341934-f18c-48b3-aa12-eaa0a2bfce85", "relationGuid": "dbc46795-76ff-4f68-9043-be0eff0bc0f3" }, "categories": [{ "categoryGuid": "7f041401-de8c-443f-a3b7-7bf5a910ff6f", "relationGuid": "b4cddd33-7b0c-41e2-9324-afe549ec6ada", "displayText": "Loans" }], "seeAlso" : [], "synonyms" : [], "antonyms" : [], "replacedBy" : [], "replacementTerms" : [], "translationTerms" : [], "translatedTerms" : [], "isA" : [], "classifies" : [], "preferredTerms" : [], "preferredToTerms": [ { "termGuid" : "c4e2b956-2589-4648-8596-240d3bea5e44", "displayText": "ARM Loans" }] }
{ "guid": "7f041401-de8c-443f-a3b7-7bf5a910ff6f", "qualifiedName": "Loans.Customer@HortoniaBank", "displayName": "Loans", "shortDescription": "Loan categorization", "anchor": { "glossaryGuid": "2f341934-f18c-48b3-aa12-eaa0a2bfce85", "relationGuid": "7757b031-4e25-43a8-bf77-946f7f06c67a" }, "parentCategory": { "categoryGuid": "e6a3df1f-5670-4f9e-84da-91f77d008ce3", "relationGuid": "8a0a8e11-0bb5-483b-b7d6-cfe0b1d55ef6" }, "childrenCategories" : [], "terms": [{ "termGuid": "e441a540-ee55-4fc8-8eaf-4b9943d8929c", "relationGuid": "b4cddd33-7b0c-41e2-9324-afe549ec6ada", "displayText": "15-30 yr mortgage" }, { "termGuid": "c4e2b956-2589-4648-8596-240d3bea5e44", "relationGuid": "8db1e784-4f04-4eda-9a58-6c9535a95451", "displayText": "ARM loans" }] }
NOTE:
NOTE: