Edit Metamodel Attribute Types
The modeling starts by defining reusable attributes promoting data standardization among business objects. These attributes can be of any basic type (e.g., integer, string, date, or enumeration), In addition, there are more interactive types like (email, web URL, or phone number), which allow one to send an email, make a phone call, etc., from within the implemented model when it is populated.
Metamodel attribute types may also be treated as custom attributes on an imported object or modeled (data model) object. You define them just as below, and associate them with defined imported object types.
Whenever an attribute type has been used in an instance, its datatype cannot be changed anymore.
Steps
- Begin editing the metamodel.
- Go to the Attribute Types panel on the left.
- Here you may:
- Click on an Attribute Type and then edit its properties in the panel at the bottom, including:
- NAME – Name of the attribute type
- Click on an Attribute Type and then edit its properties in the panel at the bottom, including:
The name of any Attribute Type must be unique in the entire repository. Thus, it behooves you to consider the naming carefully.
- DEFINITION – Description of the attribute type
- EDITORS – Groups or users which can edit attribute values of this type. When left empty then all users may edit the attribute values as long as they have the object role assignment on the object with Metadata Editor capability.
- VIEWERS – Groups or users which can edit attribute values of this type. When left empty then all users may view the attribute values as long as they have the object role assignment on the object with Metadata Viewer capability.
- USAGE– Models and object types which “use” this attribute type.
When creating custom attributes for imported model object, they are still attribute types in the pool and may be then used by both custom object types and imported object types.
- DATATYPE – Data type that attributes of this type will conform to and be validated against (on data entry, etc.)
- DEFAULT VALUE – The value assigned by default when an attribute of this type is instantiated.
- PACKAGE – Metamodel package that the object type is a member of.
- Click Add to create a new type of attribute
- Click Delete to remove the selected type of attribute.
Clicking SAVE after deleting an Attribute Type removes it entirely from the repository, including all metadata objects which contain it. Also, all instantiated objects lose that attribute value assignment of that type. There is no undo.
You may see list of objects which object types or model types are using the current attribute under Usage.
Example
Again, we are creating a business organization metamodel where we can define a particular company’s areas of business in a hierarchical fashion (business unit organization chart) and then organize harvested metadata within that structure.
Attributes required for this are:
Attribute Type Name | Definition | Data Type |
(Business Policy) Name | Name | All objects have a Name of type String |
Policy Number | Unique identifier for a business policy valid across all business units. | String |
As we were editing earlier, we should already be signed in as Administrator, and at MANAGE > Metamodel, and have already clicked START EDITING.
In the Attribute Types panel (left), click New Attribute Type.
Enter “Policy Number” in the NAME and “Unique identifier for a business policy valid across all business unites.” in the DEFINITION. Then click OK.
We do not need to create a Name attribute, as all objects inherit the Name attribute.
The DATATYPE defaults to String and that works here.
Specify Demo Business Rules and Policies as the PACKAGE.
Click SAVE and then STOP EDITING.
We are now ready to build up our Object Types.
After we have done so, those object types will be included in the USAGE list:
Create a New Custom Attribute
In order to associate a new custom attribute with an imported object type, you must first define the attribute type.
Sing in as Administrator, go to MANAGE > Metamodel, and click START EDITING.
In the Attribute Types panel (left), click Add.
Specify Default for the PACKAGE.
Enter “Verified” in the NAME and “Indicator of verification status for a feature.” in the DESCRIPTION. Then click OK.
The DATATYPE defaults to String but change this to Enumeration.
Enter the four POSSIBLE VALUES and DEFAULT VALUE, as below:
Click STOP EDITING.
Now, it is time to associate this attribute type with imported object types so that imported objects have the option of Verified as a custom attribute.
Create a Structure Data Type Attribute
Steps
- Begin editing the metamodel.
- Go to the Attribute Types panel on the left.
- Click on the New Attribute Type (plus sign) and provide a name
- Edit its properties in the panel at the bottom, specifying Structure for the DATATYPE
- Click the Add Property (plus sign) in the STRUCTURE ATTRIBUTES section to include properties in the structure.
Example
As we were editing earlier, we should already be signed in as Administrator, and at MANAGE > Metamodel, and have already clicked START EDITING.
In the Attribute Types panel (left), click New Attribute Type.
Enter “Policy Properties” in the NAME and “Collection of properties that a business policy should have” in the DEFINITION. Then click OK.
Select Structure from the DATATYPE pulldown.
Click the Add Property (plus sign) in the STRUCTURE ATTRIBUTES section and enter “Policy Domain” in the Name, String as the Datatype and “Area of applicability for a policy” in the Definition.
Repeat for “Policy Reference”, String and “References to the Master Business Strategic Plan guiding the policy”.
When populated and then actually presented on the object page, these structure attributes for a section with a header.
When presented in a grid, each property in the structure get a column and may be edited that way.
Possible Custom Attribute Data Types
Attribute Data Type | Definition |
Definition | Free form text without rich text features |
Boolean | True or False |
Integer | Whole number |
Date | Calendar date |
DateTime | Date and time |
Enumeration | May chose one from a pick list of valid values |
Enumeration (Multi-value) | May chose one or more items from a pick list of valid values |
String | Free form text without rich text features |
Multiline Text | Textual string presented as one or more lines for viewing and editing |
HTML | Textual field which is edited with the HTML editor |
URL | Text that is expected to be a valid uniform resource location presented as a hyperlink |
Text that is validated to be an email address | |
Phone number | Text that is expected to be a valid telephone number |
User | Pick list of users in the system. May choose one. |
Users | Pick list of users in the system. May choose more than one. |
Structure | A collection of attributes grouped into one container attribute |
Selecting Users
The Select Users widget is used to pick one (User data type) or many (Users data type) user or groups of users.
One may multi-select and click > to include users.
One multi-select and click < to remove a selection of users.
One may click << to remove all selected users.
Reserved Attribute Type Names
As Talend Data Catalog is optimized for the data governance and data cataloging use case, the name of any Attribute Type is required to be unique in the entire repository. This requirement promotes a unified naming standard that is important for displaying and querying information consistently and tries to prevent users from defining multiple attributes with the same name to represent different information.
In addition, when creating / renaming an attribute we need to make sure that we don't reuse one of the system attribute names to avoid name collisions in the select statement of a worksheet
"Business Name"
"Business Name Inferred"
"Business Name Inferred Origin"
"Business Description"
"Business Description Inferred"
"Business Description Inferred Origin"
"Content Name"
"Content Description"
"Native Id"
"Labels"
"Classifications"
"Classifications Matched"
"Classifications Approved"
"Classifications Rejected"
"Collections"
"Term Classification"
"Used"
“Updated By”
"Updated Date"
"Viewed Date"
"Workflow Actions"
"Workflow State"
"Workflow Published"
"Deprecated"
"Context"
"External Url"
"User Tags"
"Certified"
"Endorsement Count"
"Warning Count"
"Comment Count"
"Column Statistics"
"Column Histogram"
"Object Id"
"Object Stable Id"
"Object System Type"
"Object Type"
"Object Type Id"
"Object Profile"
"Hide Data"
"Relationship Type"
"Certifications"
"Endorsements"
"Warnings"
"Comments"
Show Attribute Type Usage
You may determine the usage of any Attribute Type (i.e., the Object Types which use that Attribute Type) with this feature.
Steps
- Right-click on the Attribute Type and select Show Usage.