These attributes exist on allassets in Atlan. You can therefore use them to search all assets in Atlan.
Look up the asset type you're interested in for a complete list
The complete list of attributes that can be searched is extensive. Rather than list every single attribute here, particularly since they vary based on the kind of asset you're looking for, instead see the full model reference.
You can search across all assets using the select() method of the assets member on any client. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the eq() predicate looks for an exact match, in this case against a specific GUID. This uses a term query to exactly match the GUID.
You can search across all assets using a FluentSearch() object. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the eq() predicate looks for an exact match, in this case against a specific GUID. This uses a term query to exactly match the GUID.
You can search across all assets using the select() method of the assets member on any client. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the eq() predicate looks for an exact match, in this case against a specific GUID. This uses a term query to exactly match the GUID.
If created via API, this will be a unique identifier for the API token used. Otherwise, this will be the username of the user that created the asset through the Atlan UI.
You can search across all assets using the select() method of the assets member on any client. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the eq() predicate looks for an exact match, in this case against a specific username. This uses a term query to exactly match the username.
You can search across all assets using a FluentSearch() object. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the eq() predicate looks for an exact match, in this case against a specific username. This uses a term query to exactly match the username.
To ensure the details of this field are included in each result, add the field to include_on_results().
You can search across all assets using the select() method of the assets member on any client. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the eq() predicate looks for an exact match, in this case against a specific username. This uses a term query to exactly match the username.
If updated via API, this will be a unique identifier for the API token used. Otherwise, this will be the username of the user that made the change through the Atlan UI.
You can search across all assets using the select() method of the assets member on any client. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the eq() predicate looks for an exact match, in this case against a specific username. This uses a term query to exactly match the username.
You can search across all assets using a FluentSearch() object. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the eq() predicate looks for an exact match, in this case against a specific username. This uses a term query to exactly match the username.
To ensure the details of this field are included in each result, add the field to include_on_results().
You can search across all assets using the select() method of the assets member on any client. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the eq() predicate looks for an exact match, in this case against a specific username. This uses a term query to exactly match the username.
You can search across all assets using the select() method of the assets member on any client. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the gte() predicate looks for any values greater than or equal to the provided epoch-style date (milliseconds since January 1, 1970). This uses a range query to find any assets created on or after a particular date.
You can search across all assets using a FluentSearch() object. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the gte() predicate looks for any values greater than or equal to the provided epoch-style date (milliseconds since January 1, 1970). This uses a range query to find any assets created on or after a particular date.
To ensure the details of this field are included in each result, add the field to include_on_results().
You can search across all assets using the select() method of the assets member on any client. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the gte() predicate looks for any values greater than or equal to the provided epoch-style date (milliseconds since January 1, 1970). This uses a range query to find any assets created on or after a particular date.
You can search across all assets using the select() method of the assets member on any client. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the gte() predicate looks for any values greater than or equal to the provided epoch-style date (milliseconds since January 1, 1970). This uses a range query to find any assets modified on or after a particular date.
You can search across all assets using a FluentSearch() object. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the gte() predicate looks for any values greater than or equal to the provided epoch-style date (milliseconds since January 1, 1970). This uses a range query to find any assets modified on or after a particular date.
To ensure the details of this field are included in each result, add the field to include_on_results().
You can search across all assets using the select() method of the assets member on any client. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the gte() predicate looks for any values greater than or equal to the provided epoch-style date (milliseconds since January 1, 1970). This uses a range query to find any assets modified on or after a particular date.
You can search across all assets using the select() method of the assets member on any client. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the eq() predicate looks for an exact match, in this case against a specific state. This uses a term query to exactly match the state.
You can search across all assets using a FluentSearch() object. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the eq() predicate looks for an exact match, in this case against a specific state. This uses a term query to exactly match the state.
To ensure the details of this field are included in each result, add the field to include_on_results().
You can search across all assets using the select() method of the assets member on any client. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the eq() predicate looks for an exact match, in this case against a specific state. This uses a term query to exactly match the state.
All directly-assigned Atlan tags that exist on an asset.
Internal representation
The Atlan tag names in the index are an Atlan-internal hashed string, not the human-readable name you see in the UI. The value you search for must be this Atlan-internal hashed string.
You can search across all assets using the select() method of the assets member on any client. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the hasAnyValue() predicate looks for any value in this field, in this case any Atlan tags. This uses an exists query to check that any value exists in the field.
The assigned Atlan tags can be retrieved from a result through .getAtlanTags(). Note that the Java SDK will automatically translate these from the internal hashed string representation of Atlan into the Atlan tag names as you would recognize them in the UI.
You can search across all assets using a FluentSearch() object. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the has_any_value() predicate looks for any value in this field, in this case any Atlan tags. This uses an exists query to check that any value exists in the field.
The assigned Atlan tags can be retrieved from a result through .atlan_tags. Note that the Python SDK will automatically translate these from the internal hashed string representation of Atlan into the Atlan tag names as you would recognize them in the UI.
You can search across all assets using the select() method of the assets member on any client. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the hasAnyValue() predicate looks for any value in this field, in this case any Atlan tags. This uses an exists query to check that any value exists in the field.
The assigned Atlan tags can be retrieved from a result through .atlanTags. Note that the Java SDK will automatically translate these from the internal hashed string representation of Atlan into the Atlan tag names as you would recognize them in the UI.
attributes.__classificationNames in the response is a single string of all Atlan tags, pipe-delimited.
classificationNames in the response is a set (unordered) of strings. Note that its order may or may not match that of the pipe-delimited attributes.__classificationNames string.
When searching for the existence of Atlan tags, the __traitNames field provides more reliable results than searching __classificationNames. The latter can return results that have no Atlan tags (but previously did), while the former returns only those that currently have Atlan tags.
All propagated Atlan tags that exist on an asset. This includes Atlan tags propagated by:
Upstream assets in lineage (from source to target)
Parent assets (for example, from tables to columns)
Linked terms
Internal representation
The Atlan tag names in the index are an Atlan-internal hashed string, not the human-readable name you see in the UI. The value you search for must be this Atlan-internal hashed string.
You can search across all assets using the select() method of the assets member on any client. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the hasAnyValue() predicate looks for any value in this field, in this case any propagated Atlan tags. This uses an exists query to check that any value exists in the field.
The assigned Atlan tags can be retrieved from a result through .getAtlanTags(). Note that the Java SDK will automatically translate these from the internal hashed string representation of Atlan into the Atlan tag names as you would recognize them in the UI.
How do I distinguish between propagated and direct tags?
From each AtlanTag object you can use .getEntityGuid().
If this matches the GUID of the asset, the tag has been directly assigned to the asset
If this is a different GUID from the asset, the tag has been propagated to the asset (the GUID indicates the asset the tag was propagated from)
You can search across all assets using a FluentSearch() object. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the has_any_value() predicate looks for any value in this field, in this case any propagated Atlan tags. This uses an exists query to check that any value exists in the field.
The assigned Atlan tags can be retrieved from a result through .atlan_tags. Note that the Python SDK will automatically translate these from the internal hashed string representation of Atlan into the Atlan tag names as you would recognize them in the UI.
How do I distinguish between propagated and direct tags?
From each AtlanTag object you can use .entity_guid.
If this matches the GUID of the asset, the tag has been directly assigned to the asset
If this is a different GUID from the asset, the tag has been propagated to the asset (the GUID indicates the asset the tag was propagated from)
You can search across all assets using the select() method of the assets member on any client. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the hasAnyValue() predicate looks for any value in this field, in this case any propagated Atlan tags. This uses an exists query to check that any value exists in the field.
The assigned Atlan tags can be retrieved from a result through .atlanTags. Note that the Java SDK will automatically translate these from the internal hashed string representation of Atlan into the Atlan tag names as you would recognize them in the UI.
How do I distinguish between propagated and direct tags?
From each AtlanTag object you can use .entityGuid.
If this matches the GUID of the asset, the tag has been directly assigned to the asset
If this is a different GUID from the asset, the tag has been propagated to the asset (the GUID indicates the asset the tag was propagated from)
attributes.__propagatedClassificationNames in the response is a single string of all Atlan tags, pipe-delimited.
classificationNames in the response is a set (unordered) of strings. Note that its order may or may not match that of the pipe-delimited attributes.__propagatedClassificationNames string.
When searching for the existence of propagated Atlan tags, the __propagatedTraitNames field provides more reliable results than searching __propagatedClassificationNames. The latter can return results that have no Atlan tags (but previously did), while the former returns only those that currently have Atlan tags.
You can search across all assets using the select() method of the assets member on any client. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the hasAnyValue() predicate looks for any value in this field, in this case any term assignments. This uses an exists query to check that any value exists in the field.
You can search across all assets using a FluentSearch() object. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the hasAnyValue() predicate looks for any value in this field, in this case any term assignments. This uses an exists query to check that any value exists in the field.
To ensure the details of this field are included in each result, add the field to include_on_results().
You can search across all assets using the select() method of the assets member on any client. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the hasAnyValue() predicate looks for any value in this field, in this case any term assignments. This uses an exists query to check that any value exists in the field.
You can search across all assets using the select() method of the assets member on any client. (For details, see Searching for assets.)
Then provide a predicate and value to search. The Java SDK provides Asset.TYPE_NAME.eq() and Asset.TYPE_NAME.in() to restrict assets to one or more specific types.
You can search across all assets using a FluentSearch() object. (For details, see Searching for assets.)
Then provide a predicate and value to search. The Python SDK provides CompoundQuery.asset_type() and CompoundQuery.asset_types() to restrict assets to one or more specific types.
You can search across all assets using the select() method of the assets member on any client. (For details, see Searching for assets.)
Then provide a predicate and value to search. The Java SDK provides Asset.TYPE_NAME.eq() and Asset.TYPE_NAME.in() to restrict assets to one or more specific types.
You can search across all assets using the select() method of the assets member on any client. (For details, see Searching for assets.)
Then provide a predicate and value to search. The Java SDK provides Asset.SUPER_TYPE_NAMES.eq() and Asset.SUPER_TYPE_NAMES.in() to restrict assets to subtypes of one or more specific supertypes.
In the Java SDK, supertypes are interfaces
Note that in the Java SDK, you can find the type name for most supertypes through an interface (prefixing I in front of the supertype name to get the appropriate Java interface class).
The type name can be retrieved from a result through .getTypeName(). Note that in this example the results list will contain all subtypes of SQL: databases, schemas, tables, views, columns, and so on.
You can search across all assets using a FluentSearch() object. (For details, see Searching for assets.)
Then provide a predicate and value to search. The Python SDK provides CompoundQuery.super_types() to restrict assets to subtypes of one or more specific supertypes.
The type name can be retrieved from a result through .type_name. Note that in this example the results list will contain all subtypes of SQL: databases, schemas, tables, views, columns, and so on.
You can search across all assets using the select() method of the assets member on any client. (For details, see Searching for assets.)
Then provide a predicate and value to search. The Java SDK provides Asset.SUPER_TYPE_NAMES.eq() and Asset.SUPER_TYPE_NAMES.in() to restrict assets to subtypes of one or more specific supertypes.
In the Java SDK, supertypes are interfaces
Note that in the Java SDK, you can find the type name for most supertypes through an interface (prefixing I in front of the supertype name to get the appropriate Java interface class).
The type name can be retrieved from a result through .typeName. Note that in this example the results list will contain all subtypes of SQL: databases, schemas, tables, views, columns, and so on.
You can search across all assets using the select() method of the assets member on any client. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the eq() predicate looks for any assets with the lineage flag set to true. This uses a term query to exactly match a true value.
You can search across all assets using a FluentSearch() object. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the eq() predicate looks for any assets with the lineage flag set to True. This uses a term query to exactly match a True value.
To ensure the details of this field are included in each result, add the field to include_on_results().
You can search across all assets using the select() method of the assets member on any client. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the eq() predicate looks for any assets with the lineage flag set to true. This uses a term query to exactly match a true value.
The unique fully-qualified name of any asset in Atlan.
Qualified names are often constructed from the identity characteristics of an asset. For example, included in a database's qualifiedName is the connection that crawled the database. (And included in a schema's qualifiedName is the database it exists in, and therefore it also implicitly includes the connection's qualifiedName since the database's qualifiedName includes it.)
You can search across all assets using the select() method of the assets member on any client. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the startsWith() predicate looks for any value that starts with the provided string, in this case matching any assets within this connection. This uses a prefix query to match values that start with a particular string rather than the entire value.
You can search across all assets using a FluentSearch() object. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the startswith() predicate looks for any value that starts with the provided string, in this case matching any assets within this connection. This uses a prefix query to match values that start with a particular string rather than the entire value.
To ensure the details of this field are included in each result, add the field to include_on_results().
You can search across all assets using the select() method of the assets member on any client. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the startsWith() predicate looks for any value that starts with the provided string, in this case matching any assets within this connection. This uses a prefix query to match values that start with a particular string rather than the entire value.
You can search across all assets using the select() method of the assets member on any client. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the eq() predicate looks for an exact match (case-insensitively). This uses a term query to exactly match the names, but ignores case due to the second parameter being true.
You can search across all assets using a FluentSearch() object. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the eq() predicate looks for an exact match (case-insensitively). This uses a term query to exactly match the names, but ignores case due to the second parameter being true.
To ensure the details of this field are included in each result, add the field to include_on_results().
You can search across all assets using the select() method of the assets member on any client. (For details, see Searching for assets.)
Then provide a predicate and value to search. In this example the eq() predicate looks for an exact match (case-insensitively). This uses a term query to exactly match the names, but ignores case due to the second parameter being true.