Attributes
An attribute defines a property of a metadata element or a relationship with another metadata element.
Attributes can be used in the SELECT list. Most of them can be used in the WHERE clause. Some can be used in the ORDER BY clause.
If an attribute name contains any space or is a reserved word, you need to quote it with the double quote (") characters.
Attribute Types
MM supports the following attribute types:
-
Profile attribute: for example, Usage, "File last modified", or "Default value". A profile attributes can be qualified by a profile name to prevent any ambiguity, e.g. "RDBMS Relational Database (Database)"."Data Type" or "Data Modeling (Business)"."Data Type". Profile attributes can be used in the WHERE clause.
-
Profile relationship: for example, Tables. A profile relationship can be qualified by a profile name to prevent any ambiguity, e.g. "RDBMS Relational Database (Database)"."External Schemas" or "File System (File)".Fields. Profile relationships cannot be used in the WHERE clause.
-
Custom attribute: for example, "Security level" or "Harvesting PoC". Custom attributes, except those of the BLOB data type, can be used in the WHERE clause.
-
Custom relationship: for example, "Is Defined By", "More General" or References. Custom relationships can be used in the WHERE clause.
-
User defined property (UDP): for example, "2PC Option_1092616415". UDPs can be used in the WHERE clause.
-
System attribute: for example, Name, Context, or "Object Type". Most system attributes can be used in the WHERE clause.
-
Data Profiling attribute: for example, "Data Profiling".Min, "Data Profiling"."Distinct", or "Data Profiling"."Inferred Data Types". Data profiling attributes can be used in the WHERE clause.
-
Data Product Scoring attribute: "Data Product Scoring".Score, "Data Product Scoring".Status, "Data Product Scoring"."Understandable Score", and "Data Product Scoring"."Understandable Status" etc. Data Product Scoring attributes can be used in the WHERE clause.
-
Data Quality attribute: for example, "Data Quality".Summary, "Data Quality".Status, or "Data Quliaty".Score. Data Quality attributes can be used in the WHERE clause.
-
Source history attribute: "Source History"."Popularity Count", "Source History"."Last Data Access Date", "Source History"."Last Data Update Date", and "Source History"."Last Access Users" Source history attributes can be used in the WHERE clause.
-
Related object property: for example, Parent.Name and Parent. "Object Type". A related object property must be in the form of related object type.property, where the related object type is one of the following system attributes and the property can be a profile attribute, custom attribute, user defined property (UDP), data profiling attribute, or system attribute. If the property is a profile attribute, it can be qualified by a profile name to prevent any ambiguity.
-
Children (deprecated)
-
Parent
Related object properties can be used in the WHERE clause if the property can be used in the WHERE clause.
-
Related object relationship: for example, Parent.Tables. A related object relationship must be in the form of related object type.relationship, where the related object type is one of the following system attributes and the relationship can be a custom relationship, or profile relationship which can be qualified by a profile name to prevent any ambiguity.
-
Children (deprecated)
-
Parent
Related object custom relationships can be used in the WHERE clause.
System Attributes
The following system attributes can be used in the SELECT list, FROM clause and WHERE clause of a MQL Query.
| System attribute name | Description | Value examples | Value data type | Supported operators in WHERE | Supported in ORDER BY | Supported in FACET |
|---|---|---|---|---|---|---|
| "Business Description" (Deprecated) | Business Description. The custom attribute "Definition" replaces and merges "Description" and "Business Description" | A unique number for each customer | String | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), [NOT] EXISTS, [NOT] STARTS WITH, [NOT] ENDS WITH, [NOT] CONTAINS | Yes | No |
| Certification | The Certification object with all its properties (user, message, time). | {"user": "Administrator","creationTime": "2025-10-02 21:57:30", "lastModificationTime": "2025-10-02 21:57:30", "tagId": 7926, "tagType": "Certification", "text": "Certified" } | Certification | [NOT] EXISTS | No | No |
| "Certified By" | Indicates the user who certified the object (if the object is certified). | [{"id": "-1_204","name": "Bob","fullName": "Robert Robertson","type": "User","description": "","email": ""}] | Array of Grantee objects | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), [NOT] EXISTS Specify the name(s) of user(s) as filter values. | No | Yes |
| Certified | Indicates whether an object is certified or not. | true | Boolean | =, !=, [NOT] EXISTS | Yes | No |
| Children (Deprecated) | Children of the objects | ["EmployeeId", "FirstName", "LastName", "Address"] | Array of Entity | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), [NOT] EXISTS | No | No |
| Collections | Collections containing the object for the current user. | ["Hot Reports", "New Tables"] | Array of String | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), [NOT] EXISTS | No | No |
| "Column Histogram" | Column histogram attribute is the range of profiled values. | [{"count": 1,"lower": "1930-01-01 00:00:00","upper": "1940-01-01 00:00:00"}, {"count": 1,"lower": "1940-01-01 00:00:00","upper": "1950-01-01 00:00:00"}, {"count": 3,"lower": "1950-01-01 00:00:00","upper": "1960-01-01 00:00:00"}, {"count": 4,"lower": "1960-01-01 00:00:00","upper": "1970-01-01 00:00:00"}] | Array of DataProfile_Histogram | [NOT] EXISTS | No | No |
| "Column Statistics" | Profiled number of total, distinct, duplicate and empty values. | { "DistinctRows": 9,"DuplicateRows": 0,"ValidRows": 9,"EmptyRows": 0,"InvalidRows": 0} | DataProfile_Statistics | [NOT] EXISTS | No | No |
| "Comment Count" | Indicates how many comments an object has. | 2 | Integer | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, <, <=, >, >= and BETWEEN … AND … | Yes | Yes |
| "Commented By" | The list of users who commented on the object. | [{"id": "-1_204","name": "Bob","fullName": "Robert Robertson","type": "User","description": "","email": ""}, {"id": "-1_390","name": "Susan","fullName": "Susan Smith","type": "User","description": "","email": ""}] | Array of Grantee objects | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), [NOT] EXISTS Specify the name(s) of user(s) as filter values. | No | Yes |
| "Conditional Labels" | Conditional labels associated with the object. | [{"name": "Endorsed","description": "Endorsed objects"}] | Array of ConditionalLabel objects | =, ANY (...), = ALL (...) | No | No |
| Context | The list of parents of an object. | [{"id": "204_1","objectType": {"name": "Meta Integration (Glossary).Glossary"},"name": "Finance Glossary"}, {"id": "204_2","objectType": {"name": "Meta Integration (Glossary).Category"},"name": "Domains"}] | Array of Entity | [NOT] EXISTS | No | No |
| "Created Date" | The time the object was created. | 2018-09-24 13:25:17 | Date | =, BEFORE, AFTER, BETWEEN ... AND ... , [NOT] EXISTS | Yes | Yes |
| "Created By" | The user who created an object. | {"id": "-1_204","name": "Bob","fullName": "Robert Robertson","type": "User","description": "","email": ""} | Grantee | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS Specify the name of user as filter value. | Yes | Yes |
| "Data Classifications" | Data classes associated with the object. The attribute shows both approved (or manually assigned) data classes as well as proposed ones. | ["Airport Code", "Airport Name"] | Array of String | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), [NOT] EXISTS | No | Yes |
| "Data Classifications Proposed" | Data classes proposed during the data classification process that are not yet approved or rejected. | ["Airport Code", "Airport Name"] | Array of String | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), [NOT] EXISTS | No | Yes |
| "Data Classifications Approved" | Data classes approved (or manually assigned) to the object. | ["Airport Code", "Airport Name"] | Array of String | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), [NOT] EXISTS | No | Yes |
| "Data Classifications Matched" | Data classes detected during the data classification process and thus associated with this object. | ["Airport Code", "Airport Name"] | Array of String | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), [NOT] EXISTS | No | Yes |
| "Data Classifications Rejected" | Data classes which were rejected for the object. | ["Airport Code", "Airport Name"] | Array of String | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), [NOT] EXISTS | No | Yes |
| "Data Profiling" | Data Profiling info after data profiling the object including total profiled rows, profiling date, column statistics and column histogram details. | { "totalProfiledRows": 9,"profilingDate": "2020-01-23 23:18:49","statistics": {"distinctRows": 4,...,"maxLength": 24},"inferredDataTypes": {"string": 9},"invalidDataTypeValues": [],"patterns": {"Aaaaa Aaaaaaa": 1,...,"Aaaaa Aaaaaaaaaaaaaa": 6},"values": {"Vice President, Sales": 1,"Sales Representative": 6,"Inside Sales Coordinator": 1,"Sales Manager": 1},"histogram": []} | DataProfile | [NOT] EXISTS | No | No |
| "Data Sampling" | Sampled data from the dataset | { "header": ["city", "birthdate"],"samples": [["Seattle", "New York", "San Francisco"],["1970-01-01", "2001-10-20", "1990-10-02"]]} | DataSample | [NOT] EXISTS | No | No |
| "Data Select Method" | Indicates how the data query should select the rows of the profiled object. | Top Rows | Enumeration: Default, Top Rows, Random Rows, Custom | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS | Yes | Yes |
| "Data Select Query" | Custom SELECT SQL statement to use to retrieve the most relevant data for profiling and sampling rows of this object. The statement should request a limited number of rows. It can hard code the number or specify it using the $Rows$ variable. The application replaces the variable with the value of requested rows. | String | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), [NOT] EXISTS, [NOT] STARTS WITH, [NOT] ENDS WITH, [NOT] CONTAINS | No | No | |
| Destination | Destination of the object. | [{"id": "5091_3","name": "Employees","objectType": {"name": "Table","displayName": "Table"}}] | Array of Entity | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), = WHREE (...), != WHERE (...), [NOT] EXISTS | No | No |
| "Destination Model" | "Destination Model(s) of the object. | [{"id": "5090_1","name": "Accounts Payable erwin","objectType": {"name": "DataModel","displayName": "DataModel"}}] | Array of Entity | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), = WHREE (...), != WHERE (...), [NOT] EXISTS | No | No |
| Documentation | Documentation of the object. Warning: Using this attribute may cause bad performance. | [{"type": "MAPPED","entity": {"id": "8366_23","name": "Account","objectType": {"name": "Term","displayName": "Term"},"attributes": null}}] | Array of SemanticEntity | [NOT] EXISTS | No | No |
| Editors | Users/Groups that can edit the object. | [{"id": "-1_204","name": "Bob","fullName": "Robert Robertson","type": "User","description": "","email": ""}, {"id": "-1_390","name": "Susan","fullName": "Susan Smith","type": "User","description": "","email": ""}] | Array of Grantee objects | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), [NOT] EXISTS Specify the name(s) of user(s) or group(s) as filter values. | No | Yes |
| "Endorsement Count" | Indicates how many endorsements an object has. | 4 | Integer | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, <, <=, >, >= and BETWEEN … AND … | Yes | Yes |
| "Endorsed By" | The list of users who endorsed the object. | [{"id": "-1_204","name": "Bob","fullName": "Robert Robertson","type": "User","description": "","email": ""}, {"id": "-1_390","name": "Susan","fullName": "Susan Smith","type": "User","description": "","email": ""}] | Array of Grantee objects | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), [NOT] EXISTS Specify the name(s) of user(s) as filter values. | No | Yes |
| "Has Data Impact" | Indicates whether the object has data impact in at least one configuration. | true | Boolean | =, !=, [NOT] EXISTS | No | No |
| "Has Data Lineage" | Indicates whether the object has data lineage in at least one configuration. | true | Boolean | =, !=, [NOT] EXISTS | No | No |
| "Has Semantic Definition" | Indicates whether the object has a semantic definition in at least one configuration. | true | Boolean | =, !=, [NOT] EXISTS | No | No |
| "Has Semantic Usage" | Indicates whether the object has semantic usage in at least one configuration. | true | Boolean | =, !=, [NOT] EXISTS | No | No |
| "Imported Date" | The last time the object was imported (possibly after incremental harvesting), which might be newer than the Created or Updated Date. | 2023-09-24 13:25:17 | Date | =, BEFORE, AFTER, BETWEEN ... AND ... , [NOT] EXISTS | Yes | Yes |
| "Import Bridge" | The name of the bridge used to import the object, e.g. Microsoft Azure Power BI Service (Repository). | Microsoft Azure Power BI Service (Repository) | String | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, [NOT] STARTS WITH, [NOT] ENDS WITH, [NOT] CONTAINS | No | No |
| "Inferred Documentation" | Inferred documentatiom of the object which has been inferred from semantic flow analysis. Warning: Using this attribute may cause bad performance. | [{"type": "SEARCHED","entity": {"id": "8366_23","name": "Account","objectType": {"name": "Term","displayName": "Term"},"attributes": null}}] | Array of Semantic Entity | [NOT] EXISTS | No | No |
| Labels | Labels placed on the object. | ["Jons Tasks", "Obsolete"] | Array of String | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), [NOT] EXISTS | No | Yes |
| "Last Change Event" | A Description of the last change that was done to an object. | Business Name was changed to "NorthwindCustomers" | String | None | No | No |
| "Mapped Documentation" | Mapped documentation of the object. Warning: Using this attribute may cause bad performance. | [{"type": "MAPPED","entity": {"id": "8366_23","name": "Account","objectType": {"name": "Term","displayName": "Term"},"attributes": null}}] | Array of Semantic Entity | [NOT] EXISTS | No | No |
| "Mentioned Objects" | List of objects that are mentioned by the object. | [{"id": "5091_3","name": "Employees","objectType": {"name": "Table", "displayName": "Table"}}] | Array of Entity | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), =WHERE(…), !=WHERE(...), [NOT] EXISTS Specify the stable id(s) of object(s) as filter values | No | No |
| "Mentioned Users" | List of users / groups that are mentioned by the object. | [{"id": "-1_204", "name": "Bob", "fullName": "Robert Robertson", "type": "User", "description": "", "email": ""}] | Array of Grantee objects | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), [NOT] EXISTS Specify the name(s) of user(s) or group(s) as filter values. | No | Yes |
| "Model Definition" | Model definition of the object. | Accounts Payable | String | None | No | No |
| Model | Model of the object. | Northwind.dbo | Array of Entity | =, !=, = ANY (...), != ANY (...), =WHERE(…), !=WHERE(...) | Yes | Yes |
| "Model Id" | The internal model id. | 35913 | Integer | =, !=, = ANY (...), != ANY (...) | Yes | Yes |
| "Model Name" | Model name of the object. | Accounts Payable | String | None | No | No |
| "Modified Date" | The last time an imported object was modified in the source system. | 2018-09-24 13:25:17 | Date | =, BEFORE, AFTER, BETWEEN ... AND ... , [NOT] EXISTS | Yes | Yes |
| "My Workflow Tasks" | The list of workflow actions that can be performed by the current user on the object. This attribute only applies to models where workflow has been enabled. | ["Discard", "Mark for Deprecation", "Start Review", "Submit for Approval"] | Array of String | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), [NOT] EXISTS | No | No |
| Name | Name of the object. | Custom ID | String | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), [NOT] EXISTS, [NOT] STARTS WITH, [NOT] ENDS WITH, [NOT] CONTAINS | Yes | Yes |
| "Native Id" | The native id extracted by the import bridge for some imported objects. | {799A0437-D91A-4CC5-998A-7C23E2130F39}+00000001 | String | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), [NOT] EXISTS, [NOT] STARTS WITH, [NOT] ENDS WITH, [NOT] CONTAINS | Yes | Yes |
| "Object Id" | The internal object id. | 123_45678 | String | =, !=, = ANY (...), != ANY (...) | Yes | No |
| "Object Image" | Image that has been associcated with the object. | {"type": IMAGE,"name": "image","location": "USSocialSecurityCard.png","size": "8450"} | Attachment | [NOT] EXISTS | No | No |
| "Object Profile" | Object profile used. | Tableau (Business) | String | =, !=, = ANY (...), != ANY (...) | No | No |
| "Object StableId" | Public id for the object that is independent from which version(s) contain it. | AAAC0AAa1sJ7wyKdA0EUkZYCu9hE_-v4uQ | String | =, !=, = ANY (...), != ANY (...) | No | No |
| "Object System Type" | An internal abstraction of the object type. | Classifier | String | =, !=, = ANY (...), != ANY (...) | Yes | Yes |
| "Object Type" | The display type of the object. | Table | String | =, !=, = ANY (...), != ANY (...) | Yes | Yes |
| "Object Type Id" | The internal numeric type of the object. | 277000016 | Integer | =, !=, = ANY (...), != ANY (...) | Yes | Yes |
| "Open In Tool" | A link to an imported object in its original tool. | null | String | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), [NOT] EXISTS, [NOT] STARTS WITH, [NOT] ENDS WITH, [NOT] CONTAINS | No | No |
| Owner | User that owns the object. | {"id": "-1_204","name": "Bob","fullName": "Robert Robertson","type": "User","description": "","email": ""} | Grantee | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS Specify the name of user as filter value. | No | Yes |
| Parent | Parent Object. | dbo | Entity | =, !=, = ANY (...), != ANY (...), = WHREE (...), != WHERE (...) | No | Yes |
| "Physical Name" | Physical name of the object. | CustomID | String | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), [NOT] EXISTS, [NOT] STARTS WITH, [NOT] ENDS WITH, [NOT] CONTAINS | Yes | Yes |
| "Replication Quality" | Replication Quality of a Replication Link, how complete the children fields of the two classifiers are mapped. | {"featureMappings": [{"sourceField": "1597_222","destinationField": "1601_114"},{"sourceField": "1597_223","destinationField": "1601_115"}],"numberOfSourceFields": 3,"numberOfDestinationFields": 4} | ReplicationQuality | None | No | No |
| "Sensitivity Label" | The current (approved or data proposed) sensitivity label associated with the object. | {"name": "Top Secret","position": 5,"description": "","status": "APPROVED","foregroundColor": "","backgroundColor": ""} | SensitivityLabelWithStatus | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS | No | No |
| "Sensitivity Label Approved" | The current approved (or manually assigned) sensitivity label for the object. | {"name": "Confidential","position": 4,"description": "","status": "APPROVED","foregroundColor": "","backgroundColor": ""} | SensitivityLabelWithStatus | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS | No | Yes |
| "Sensitivity Label Lineage Proposed" | Sensitivity label inferred from other objects using data flow analysis. | {"name": "Confidential","position": 4,"description": "","status": "INFERRED","foregroundColor": "","backgroundColor": ""} | SensitivityLabelWithStatus | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS | No | No |
| "Sensitivity Labels Data Proposed" | Sensitivity labels detected during the data classification process and thus associated with this object. | [{"status": "PROPOSED","name": "Confidential","position": 4,"description": "","foregroundColor": "","backgroundColor": ""}, {"status": "PROPOSED","name": "Prohibit export","position": 2,"description": "","foregroundColor": "","backgroundColor": ""}] | Array of SensitivityLabelWithStatus | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), [NOT] EXISTS | No | Yes |
| "Sensitivity Labels Rejected" | Sensitivity labels which were rejected for the object. | [{"status": "REJECTED","name": "Top Secret","position": 5,"description": "","foregroundColor": "","backgroundColor": ""}] | Array of SensitivityLabelWithStatus | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), [NOT] EXISTS | No | Yes |
| Source | Source of the object. | [{"id": "5091_3","name": "Employees","objectType": {"name": "Table","displayName": "Table"}}] | Array of Entity | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), = WHREE (...), != WHERE (...), [NOT] EXISTS | No | No |
| "Source Model" | Source Model(s) of the object. | [{"id": "5090_1","name": "Accounts Payable erwin","objectType": {"name": "DataModel","displayName": "DataModel"}}] | Array of Entity | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), = WHREE (...), != WHERE (...), [NOT] EXISTS | No | No |
| "Source System Definition" | Definition of the object in the source system. | Custom's identifier | String | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), [NOT] EXISTS, [NOT] CONTAINS | No | No |
| "System Description" | Replacement for Description of MM 11.0.0. | Custom's identifier | String | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), [NOT] EXISTS, [NOT] CONTAINS | No | No |
| Term (Deprecated) | Names of the terms used to define the object. | ["Address", "AddressLine"] | Array of String | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), [NOT] EXISTS | No | No |
| "Term Documentation" (Deprecated) | The list of terms (name and description) documenting the object. Also known as "Is Defined By" custom relationship | [{"type": "CLASSIFIED","entity": {"id": "8366_23","name": "Account","objectType": {"name": "Term","displayName": "Term"},"attributes": null}}] | Array of SemanticEntity | None. Use Term system attribute, or "Is Defined By" custom relationship. | No | No |
| "Updated By" | The last user who changed an object. | {"id": "-1_204","name": "Bob","fullName": "Robert Robertson","type": "User","description": "","email": ""} | Grantee | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS Specify the name of user as filter value. | Yes | Yes |
| "Updated Date" | The last time any user changed the object. | 2018-09-24 13:25:17 | Date | =, BEFORE, AFTER, BETWEEN ... AND ... , [NOT] EXISTS | Yes | Yes |
| "User Tags" | Summary of the certification, endorsement, warning and comment counts for the object. | {"certified": true, "endorsementCount": 0, "warningCount": 0, "commentCount": 2 } | User Tags | [NOT] EXISTS | No | No |
| "Viewed Date" | The last time the current user visited the details page of the object. | 2018-09-24 13:25:17 | Date | None | No | No |
| Viewers | Users/Groups that can view the object. | [{"id": "-1_204","name": "Bob","fullName": "Robert Robertson","type": "User","description": "","email": ""}, {"id": "-1_390","name": "Susan","fullName": "Susan Smith","type”: “User","description": "","email": ""}] | Array of Grantee objects | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), [NOT] EXISTS Specify the name(s) of user(s) or group(s) as filter values. | No | Yes |
| "Warning Count" | Indicates how many warnings an object has. | 1 | Integer | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, <, <=, >, >= and BETWEEN … AND … | Yes | Yes |
| "Warned By" | The list of users who added warnings on the object. | [{"id": "-1_204","name": "Bob","fullName": "Robert Robertson","type": "User","description": "","email": ""}, {"id": "-1_390","name": "Susan","fullName": "Susan Smith","type": "User","description": "","email": ""}] | Array of Grantee objects | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), [NOT] EXISTS Specify the name(s) of user(s) as filter values. | No | Yes |
| Watchers | List of users that will receive notifications when the object changes. | [{"id": "-1_204","name": "Bob","fullName": "Robert Robertson","type": "User","description": "","email": ""}, {"id": "-1_39","name": "Data Lake Data Analyst","fullName": "","type": "UserGroup","description": "","email": ""}] | Array of Grantee objects | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), [NOT] EXISTS Specify the name(s) of user(s) or group(s) as filter values. | No | No |
| "Workflow Assignees" | Identifies which users can perform the next step of the workflow. This attribute is applicable only to models where workflow has been enabled. | [{"id": "-1_204","name": "Bob","fullName": "Robert Robertson","type": "User","description": "","email": ""}, {"id": "-1_39","name": "Data Lake Data Analyst","fullName": "","type": "UserGroup","description": "","email": ""}] | Array of Grantee objects | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), [NOT] EXISTS Specify the name(s) of user(s) or group(s) as filter values. | No | No |
| "Workflow Deprecation Requested" | Indicates whether the object is in the deprecation approval workflow process. This attribute is applicable only to models where workflow has been enabled. | true | Boolean | =, !=, [NOT] EXISTS | No | No |
| "Workflow State" | The current state which the object is in (Draft, Under Review, Published...). This attribute only applies to models where workflow has been enabled. | Approved | Enumeration: Draft, Under Review, Pending Approval, Approved, Published, DeprecatedNote: the workflow state is localized. | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), [NOT] EXISTS, [NOT] STARTS WITH, [NOT] ENDS WITH, [NOT] CONTAINS | Yes | Yes |
| "Workflow Published" | Indicates whether the latest object changes are published and thus currently visible for non editor users. This attribute is applicable only to models where workflow has been enabled. | true | Boolean | =, !=, [NOT] EXISTS | No | Yes |
Unlike profile attributes, custom attributes and UDPs, which normally hold scalar values (except for multi-valued custom attributes), the value of a system attribute can be an object or an array of scalar values or objects. For example, the value of Context is an array of Entity objects.
System attributes can be used in the SELECT list and WHERE clause of any MQL query, which can be used to define a Worksheet in MM Explorer or used as an input parameter or part of the body parameter to some REST API methods. Some system attributes can also be used in the Order By clause of a MQL query.
The following REST API methods take a SELECT query parameter, or a QueryInput body parameter which contains a SELECT clause. For more information about the REST API methods, refer to the MM REST API documentation.
-
GET /entities/validateMQLQuery
-
POST /entities/executeMQLQuery
-
GET /entities/{objectId}
-
GET /relationships/{objectId}
Object-valued System Attributes
The following system attributes are some examples of the object-valued system attributes:
-
Context
-
"Column Histogram"
-
"Column Statistics"
-
"Data Profiling"
-
"Data Sampling"
-
"Workflow Assignees" in the SELECT
The examples in the previous section show such values in Json format. The schema of the objects Entity, SemanticEntity, DataSample, DataProfile, DataProfile_Statistics, DataProfile_Histogram, and Grantee, etc. are defined in the MM REST API documentation.
When used in the WHERE clause, the filters with the object-valued system attributes can only be ANDed with other filters and only be used with the EXISTS and NOT EXISTS operators.
Custom Attributes in MQL
Custom attributes are the reusable attributes defined in the meta model. They can be used on both business model objects and imported objects.
Custom Relationships
Custom relationships are the reusable relationships defined in the meta model. They define relationships between a business model object and another business model object, a business model object and an imported model object, or an imported model object and another imported model object. For example, the custom relationship "Is Defined By" defines a relationship between an imported model object and a term.
When used in the WHERE clause, the filters with the custom relationship can be used with the =, !=, =ANY, !=ANY, =WHERE, !=WHERE, EXISTS and NOT EXISTS operators.
Data Profiling Attributes
Data profiling attributes can be used in the SELECT list, WHERE clause and ORDER BY clause of a MQL Query.
The following Data Profiling attributes are supported on file fields or table/view columns.
| Data Profiling attribute name | Description | Value examples | Value data type | Supported operators in WHERE |
|---|---|---|---|---|
| "Data Profiling".Blank | Value of the 'Blank' attribute after data profiling the object. | 20 | Long | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, <, <=, >, >= and BETWEEN |
| "Data Profiling"."Distinct" | Value of the 'Distinct' attribute after data profiling the object. | 1001 | Long | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, <, <=, >, >= and BETWEEN |
| "Data Profiling".Duplicate | Value of the 'Duplicate' attribute after data profiling the object. | 5 | Long | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, <, <=, >, >= and BETWEEN |
| "Data Profiling".Valid | Value of the 'Valid Value' attribute after data profiling the object. | 5 | Long | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, <, <=, >, >= and BETWEEN |
| "Data Profiling".Empty (Deprecated) | Value of the 'Empty' attribute after data profiling the object. | 5 | Long | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, <, <=, >, >= and BETWEEN |
| "Data Profiling".Invalid | Value of the 'Invalid' attribute after data profiling the object. | 5 | Long | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, <, <=, >, >= and BETWEEN |
| "Data Profiling".Min | Value of the 'Min' attribute after data profiling the object. | 1.0 | Double | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, <, <=, >, >= and BETWEEN |
| "Data Profiling".Max | Value of the 'Max' attribute after data profiling the object. | 3.123456E30 | Double | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, <, <=, >, >= and BETWEEN |
| "Data Profiling".Mean | Value of the 'Mean' attribute after data profiling the object. | 3.123456E30 | Double | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, <, <=, >, >= and BETWEEN |
| "Data Profiling".Null | Value of the 'Null' attribute after data profiling the object. | 10 | Long | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, <, <=, >, >= and BETWEEN |
| "Data Profiling".Variance | Value of the 'Variance' attribute after data profiling the object. | 3.123456E30 | Double | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, <, <=, >, >= and BETWEEN |
| "Data Profiling".Median | Value of the 'Median' attribute after data profiling the object. | 3.123456E30 | Double | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, <, <=, >, >= and BETWEEN |
| "Data Profiling"."Lower Quantile" | Value of the 'Lower Quantile' attribute after data profiling the object. | 3.123456E30 | Double | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, <, <=, >, >= and BETWEEN |
| "Data Profiling"."Upper Quantile" | Value of the 'Upper Quantile' attribute after data profiling the object. | 3.123456E30 | Double | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, <, <=, >, >= and BETWEEN |
| "Data Profiling"."Avg Length" | Value of the 'Avg Length' attribute after data profiling the object. | 6.5 | Double | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, <, <=, >, >= and BETWEEN |
| "Data Profiling"."Min Length" | Value of the 'Min Length' attribute after data profiling the object. | 3 | Integer | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, <, <=, >, >= and BETWEEN |
| "Data Profiling"."Max Length" | Value of the 'Max Length' attribute after data profiling the object. | 20 | Integer | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, <, <=, >, >= and BETWEEN |
| "Data Profiling"."Inferred Data Types" | Inferred Data Types after data profiling the object. | ["integer", "string"] | Array of String | =, !=, = ANY (...), != ANY (...), = ALL (...), != ALL (...), [NOT] EXISTS |
| "Data Profiling".Zero | Value of the 'Zero' attribute after data profiling the object. | 40 | Long | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, <, <=, >, >= and BETWEEN |
The following Data Profiling attributes are supported on files, tables and views.
| Data Profiling attribute name | Description | Value examples | Value data type | Supported operators in WHERE |
|---|---|---|---|---|
| "Data Profiling"."Profiled Date" | Last time profiling was run on the object. | 2022-09-24 13:25:17 | Date | =, BEFORE, AFTER, BETWEEN ... AND ... , [NOT] EXISTS |
| "Data Profiling"."Processed Records" | Number of processed rows. | 10 | Long | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, <, <=, >, >= and BETWEEN |
| "Data Profiling"."Total Records" | Value of the 'Total Rows' attribute. | 100 | Long | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, <, <=, >, >= and BETWEEN |
When somebody uses a data profiling attribute in a filter, MIMM removes all objects from the results which are marked as hide data for that user. The hide data is controlled by multiple factors: whether the user has the Data Viewer capability object role assignment, whether a harvested object has a proposed or assigned data class resulting in a Sensitivity Label that has the HIDE DATA flag, or whether the object has a Sensitivity Label that has the HIDE DATA flag.
Data Product Scoring Attributes
Data Product Scoring attributes can be used in the SELECT list, WHERE clause and ORDER BY clause of a MQL Query.
The following Data Product Scoring attributes are supported on the Data Product objects of the Data Products user model.
| Data Product Scoring attribute name | Description | Value examples | Value data type | Supported operators in WHERE | Supported in ORDER BY | Supported in FACET |
|---|---|---|---|---|---|---|
| "Data Product Scoring".Score | The score of the Data Product. | 40.37 | Double | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, <, <=, >, >= and BETWEEN … AND … | Yes | Yes |
| "Data Product Scoring".Status | Acceptable | Enumeration: Good, Acceptable, Bad | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS | Yes | Yes | |
| "Data Product Scoring".Date | 2025-07-14 12:00:00 | Date | =, BEFORE, AFTER, BETWEEN ... AND …, [NOT] EXISTS | Yes | Yes | |
| "Data Product Scoring"."Understandable Score" | 56.25 | Double | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, <, <=, >, >= and BETWEEN … AND … | Yes | Yes | |
| "Data Product Scoring"."Understandable Status" | Acceptable | Enumeration: Good, Acceptable, Bad | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS | Yes | Yes | |
| "Data Product Scoring"."Discoverable Score" | 25.0 | Double | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, <, <=, >, >= and BETWEEN … AND … | Yes | Yes | |
| "Data Product Scoring"."Discoverable Status" | Bad | Enumeration: Good, Acceptable, Bad | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS | Yes | Yes | |
| "Data Product Scoring"."Addressable Score" | 0.0 | Double | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, <, <=, >, >= and BETWEEN … AND … | Yes | Yes | |
| "Data Product Scoring"."Addressable Status" | Bad | Enumeration: Good, Acceptable, Bad | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS | Yes | Yes | |
| "Data Product Scoring"."Secure Score" | 31.25 | Double | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, <, <=, >, >= and BETWEEN … AND … | Yes | Yes | |
| "Data Product Scoring"."Secure Status" | Bad | Enumeration: Good, Acceptable, Bad | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS | Yes | Yes | |
| "Data Product Scoring"."Interoperable Score" | 75.0 | Double | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, <, <=, >, >= and BETWEEN … AND … | Yes | Yes | |
| "Data Product Scoring"."Interoperable Status" | Good | Enumeration: Good, Acceptable, Bad | =, !=, = ANY (...), != ANY (...),[NOT] EXISTS | Yes | Yes | |
| "Data Product Scoring"."Trustworthy Score" | 40.0 | Double | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, <, <=, >, >= and BETWEEN … AND … | Yes | Yes | |
| "Data Product Scoring"."Trustworthy Status" | Acceptable | Enumeration: Good, Acceptable, Bad | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS | Yes | Yes | |
| "Data Product Scoring"."Quality Score" | 95.45 | Double | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, <, <=, >, >= and BETWEEN … AND … | Yes | Yes | |
| "Data Product Scoring"."Quality Status" | Good | Enumeration: Good, Acceptable, Bad | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS | Yes | Yes |
Data Quality Attributes
Data Quality attributes can be used in the SELECT list, WHERE clause and ORDER BY clause of a MQL Query.
The following Data Quality attributes are supported on the objects of most database and file system models.
| Data Quality attribute name | Description | Value examples | Value data type | Supported operators in WHERE | Supported in ORDER BY | Supported in FACET |
|---|---|---|---|---|---|---|
| "Data Quality".Date | Most recent date the data quality of the object was imported. | 2024-03-13 15:36:44 | Date | =, BEFORE, AFTER, BETWEEN ... AND ... , [NOT] EXISTS | Yes | Yes |
| "Data Quality".Score | Most recent score of the data quality of the object. | 90 | Double | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, <, <=, >, >= and BETWEEN … AND … | Yes | Yes |
| "Data Quality".Status | Most recent status of the data quality of the object. | Good | Enumeration: Good, Acceptable, Bad | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS | Yes | Yes |
| "Data Quality".Summary | The summary of the data quality score. | {"trend": "UP", "score": 94.0, "status": "Good", "date": "2024-07-24 13:25:17"} | ScoreSummary | [NOT] EXISTS | No | No |
Source History Attributes
Source History attributes can be used in the SELECT list, WHERE clause and ORDER BY clause of a MQL Query.
The following Source History attributes are supported on a set of imported objects such as tables, views, and Tableau worksheets, dashboards and workbooks.
| Source History attribute name | Description | Value examples | Value data type | Supported operators in WHERE | Supported in ORDER BY | Supported in FACET |
|---|---|---|---|---|---|---|
| "Source History"."Popularity Count" | Popularity count of the object in the source system. | 10 | Integer | =, !=, = ANY (...), != ANY (...), [NOT] EXISTS, <, <=, >, >= and BETWEEN … AND … | Yes | Yes |
| "Source History"."Last Data Access Date" | Last data access date in the source system. | 2024-07-24 13:25:17 | Date | =, BEFORE, AFTER, BETWEEN ... AND …, [NOT] EXISTS | Yes | Yes |
| "Source History"."Last Data Update Date" | Last data update date in the source system. | 2024-07-24 13:25:17 | Date | =, BEFORE, AFTER, BETWEEN ... AND …, [NOT] EXISTS | Yes | Yes |
| "Source History"."Last Access Users" | Last users who accessed the source system. | [{"name": "Angela","email": "agelar@metaintegration.com", "lastAccessTime": "2024-07-24 13:25:17"}] | Array of SourceHistoryAccessUser | [NOT] EXISTS | No | No |
Related Object Type, Related Object Property AND Related Object Relationship
In MM one object may relate to some other object(s). We call the latter related object(s) of the current object. The relationship between the current object and its related objects is called the related object type.
For example, a table Customer may have columns such as CustomerId, Name, Address, etc. These columns are the table Customer's related objects. The related object type is Children.
The related object types are a subset of the system attributes. These are the related object types currently available:
-
Children: children of the current object
-
Parent: parent of the current object
In some cases, the user wants to select or filter on the properties of the related objects. We call the property of a related object a related object property. For example, Parent."Object Type" refers to the object type of the parent.
Here is a list of properties defined on each of the related object type:
| Related Object Type | Related Object Properties |
|---|---|
| Children (Deprecated) | System Attribute, profile attribute, data profiling attribute, custom attribute, custom relationship, and udp |
| Parent | System Attribute, profile attribute, custom attribute, custom relationship, and udp |
The user may also select on the relationships of the related objects. We call the relationship of a related object a related object relationship. For example, Parent."Is Defined By" refers to the terms used to classify the parent of the current object. The value of a relationship or related object relationship is an array of objects of the type of Entity.
A related object type can be used as a system attribute by itself, e.g. Parent, or as a related object property of another related object type or the same related object type, e.g. Parent.Parent. When a related object type is used as a system attribute or as a related object property, its value is the related object(s). For example, the system attribute Parent of the EmployeeId column is "Employees", i.e. the Employees table.
We only support related objects of one level. I.e. we do not support the following: Parent.Parent."Object Type".
Multi-valued Related Object Types
One object may have multiple related objects of the same type. For example, a table may have multiple columns. This kind of related object type is multi-valued.
The following related object types are multi-valued:
- Children (Deprecated)
The value of any multi-valued related object property is an array of strings or other object types. E.g. Children.Name is an array of strings that contains the names of all its children.
If the multi-valued related object property is a custom attribute of the Enumeration (multi-value) data type, a multi-valued custom relationship, or a multi-valued system attributes or data profiling attribute, such as Children, "Data Classifications", "Data Classifications Approved", "Data Classifications Matched", "Data Classifications Rejected", Labels, Collections, "My Workflow Tasks", Context, "Column Histogram", "Data Profiling"."Inferred Data Types", the value of the property is an array of strings or objects which combine the attribute values of all its children. For example, Children."Data Classifications" of a database table is an array of Data Classifications combined from all its columns. The value of any multi-valued related object relationship is an array of objects of the type Entity.
Attribute resolution
A name can identify multiple property types especially if the configuration contains models with many different profiles. To prevent ambiguity the user may qualify a profile attribute or profile relationship with a profile name. Custom attributes, custom relationships, UDPs and system attributes also share the same name space. MM uses the following precedence rules in resolving ambiguity among the custom attributes, custom relationships, UDPs, system attributes and any unqualified profile attributes or profile relationships. The rules are listed in descending order:
-
System attributes, Data Profiling attributes, Data Product Scoring attributes, Data Quality attributes, and Source History attributes
-
Custom attributes
-
Custom relationships
-
Profile attributes
-
Profile relationships
-
UDPs