blob: b243d8b29668d7c127f8d0478068f46ac7f10cc1 [file] [log] [blame]
{"version":3,"sources":["/home/madhan/Apache/git/atlas/docs/target/src/documents/Search/SearchAdvanced.md","/home/madhan/Apache/git/atlas/docs/target/theme/styles/styled-colors.js"],"names":["layoutProps","MDXContent","components","props","mdxType","parentName","wrapLines","language","style","theme","isMDXComponent","dark","hljs","color"],"mappings":"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","file":"static/js/documents-search-search-advanced.2421bf2c.js","sourcesContent":["\nimport React from 'react'\nimport { mdx } from '@mdx-js/react'\n\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport themen from 'theme/styles/styled-colors';\nimport * as theme from 'react-syntax-highlighter/dist/esm/styles/hljs';\nimport SyntaxHighlighter from 'react-syntax-highlighter';\n\n\nconst layoutProps = {\n \n};\nconst MDXLayout = \"wrapper\"\nexport default function MDXContent({\n components,\n ...props\n}) {\n return <MDXLayout {...layoutProps} {...props} components={components} mdxType=\"MDXLayout\">\n\n <h1 {...{\n \"id\": \"advanced-search\"\n }}>{`Advanced Search`}</h1>\n <h3 {...{\n \"id\": \"background\"\n }}><strong parentName=\"h3\">{`Background`}</strong></h3>\n <p>{`Advanced Search in Atlas is also referred to as DSL-based Search.`}</p>\n <p>{`Domain Specific Search (DSL) is a language with simple constructs that help users navigate Atlas data repository. The syntax loosely emulates the popular Structured Query Language (SQL) from relation database world.`}</p>\n <p>{`Benefits of DSL:`}</p>\n <ul>\n <li parentName=\"ul\">{`Abstracts the implementation-level database constructs. This avoids the necessity of knowing about the underlying graph database constructs.`}</li>\n <li parentName=\"ul\">{`User are provided with an abstraction that helps them retrieve the data by just being aware of the types and their relationships within their dataset.`}</li>\n <li parentName=\"ul\">{`Allows for a way to specify the desired output.`}</li>\n <li parentName=\"ul\">{`Use of classifications is accounted for in the syntax.`}</li>\n <li parentName=\"ul\">{`Provides way to group and aggregate results.`}</li>\n </ul>\n <p>{`We will be using the quick start dataset in the examples that follow. This dataset is comprehensive enough to be used to demonstrate the various features of the language.`}</p>\n <p>{`For details on the grammar, please refer to Atlas DSL Grammar on `}<a parentName=\"p\" {...{\n \"href\": \"https://github.com/apache/atlas/blob/master/repository/src/main/java/org/apache/atlas/query/antlr4/AtlasDSLParser.g4\"\n }}>{`GitHub`}</a>{` (Antlr G4 format).`}</p>\n <h2 {...{\n \"id\": \"using-advanced-search\"\n }}>{`Using Advanced Search`}</h2>\n <p>{`Within the Atlas UI, select Advanced in the Search pane on the left.`}</p>\n <p>{`Notice that the `}<em parentName=\"p\">{`Favorite Searches`}</em>{` pane below the `}<em parentName=\"p\">{`Search By Query`}</em>{` box. Like `}<em parentName=\"p\">{`Basic Search`}</em>{`, it is possible to save the `}<em parentName=\"p\">{`Advanced Searches`}</em>{` as well.`}</p>\n <h2 {...{\n \"id\": \"introduction-to-domain-specific-language\"\n }}>{`Introduction to Domain Specific Language`}</h2>\n <p>{`DSL uses the familiar SQL-like syntax.`}</p>\n <p>{`At a high-level a query has a `}<em parentName=\"p\">{`from-where-select`}</em>{` format. Additional keywords like `}<em parentName=\"p\">{`grouby`}</em>{`, `}<em parentName=\"p\">{`orderby`}</em>{`, `}<em parentName=\"p\">{`limit`}</em>{` can be used to added to affect the output. We will see examples of these below.`}</p>\n <h3 {...{\n \"id\": \"from-clause\"\n }}>{`From Clause`}</h3>\n <p>{`Specifying the `}<em parentName=\"p\">{`from`}</em>{` clause is mandatory. Using the `}<em parentName=\"p\">{`from`}</em>{` keyword itself is optional. The value specified in the `}<em parentName=\"p\">{`from`}</em>{` clause acts as the source or starting point for the rest of the query to source its inputs.`}</p>\n <p>{`Example: To retrieve all entities of type `}<em parentName=\"p\">{`DB`}</em>{`:`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"sql\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`DB\nfrom DB`}\n </SyntaxHighlighter>\n <p>{`In the absence of `}<em parentName=\"p\">{`where`}</em>{` for filtering on the source, the dataset fetched by the `}<em parentName=\"p\">{`from`}</em>{` clause is everything from the database. Based on the size of the data present in the database, there is a potential to overwhelm the server. The query processor thus adds `}<em parentName=\"p\">{`limit`}</em>{` clause with a default value set. See the section on `}<em parentName=\"p\">{`limit`}</em>{` clause for details.`}</p>\n <h3 {...{\n \"id\": \"where-clause\"\n }}>{`Where Clause`}</h3>\n <p>{`The `}<em parentName=\"p\">{`where`}</em>{` clause allows for filtering over the dataset. This achieved by using conditions within the where clause.`}</p>\n <p>{`A condition is an identifier followed by an operator followed by a literal. Literal must be enclosed in single or double quotes. Example, `}<em parentName=\"p\">{`name = \"Sales\"`}</em>{`. An identifier can be the name of the property of the type specified in the `}<em parentName=\"p\">{`from`}</em>{` clause or an alias.`}</p>\n <p>{`Example: To retrieve entity of type `}<em parentName=\"p\">{`Table`}</em>{` with a specific name say time_dim:`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"sql\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`from Table where name = 'time_dim'`}\n </SyntaxHighlighter>\n <p>{`It is possible to specify multiple conditions by combining them using `}<em parentName=\"p\">{`and`}</em>{`, `}<em parentName=\"p\">{`or`}</em>{` operators.`}</p>\n <p>{`Example: To retrieve entity of type Table with name that can be either time_dim or customer_dim:`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"sql\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`from Table where name = 'time_dim' or name = 'customer_dim'`}\n </SyntaxHighlighter>\n <p>{`Filtering based on a list of values is done using by specifying the values in the square brackets. A value array is a list of values enclosed within square brackets. This is a simple way to specify an OR clause on an identifier.`}</p>\n <p>{`Note that having several OR clauses on the same attribute may be inefficient. Alternate way is to use the value array as shown in the example below.`}</p>\n <p>{`Example: The query in the example above can be written using a value array as shown below.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"sql\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`from Table where name = [\"customer_dim\", \"time_dim\"]`}\n </SyntaxHighlighter>\n <p>{`A condition that uses the LIKE operator, allows for filtering using wildcards like '*' or '?'.\nExample: To retrieve entity of type `}<em parentName=\"p\">{`Table`}</em>{` whose name ends with '_dim':`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"sql\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`from Table where name LIKE '*_dim'`}\n </SyntaxHighlighter>\n <p>{`Additional forms of regular expressions can also be used.`}</p>\n <p>{`Example: To retrieve `}<em parentName=\"p\">{`DB`}</em>{` whose name starts with `}<em parentName=\"p\">{`R`}</em>{` followed by has any 3 characters, followed by `}<em parentName=\"p\">{`rt`}</em>{` followed by at least 1 character, followed by none or any number of characters.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"html\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`DB where name like \"R???rt?*\"`}\n </SyntaxHighlighter>\n <p>{`Example: To find all the columns in a Table.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"html\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`Column where table.name=\"sales_fact\"`}\n </SyntaxHighlighter>\n <p>{`Example: To find all the Tables for a column.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"html\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`Table where columns.name=\"sales\"`}\n </SyntaxHighlighter>\n <p>{`Example: To retrieve all the entities of type `}<em parentName=\"p\">{`Table`}</em>{` that are tagged with `}<em parentName=\"p\">{`Dimension`}</em>{` classification and its attribute `}<em parentName=\"p\">{`priority`}</em>{` having 'high'`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"sql\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`Table where Dimension.priority = \"high\"`}\n </SyntaxHighlighter>\n <h3 {...{\n \"id\": \"using-date-literals\"\n }}>{`Using Date Literals`}</h3>\n <p>{`Dates used in literals need to be specified using the ISO 8601 format.`}</p>\n <p>{`Dates in this format follow this notation:`}</p>\n <ul>\n <li parentName=\"ul\"><em parentName=\"li\">{`yyyy-MM-ddTHH:mm:ss.SSSZ`}</em>{`. Which means, year-month-day followed by time in hour-minutes-seconds-milli-seconds. Date and time need to be separated by 'T'. It should end with 'Z'.`}</li>\n <li parentName=\"ul\"><em parentName=\"li\">{`yyyy-MM-dd`}</em>{`. Which means, year-month-day.`}</li>\n </ul>\n <p>{`Example: Date represents December 11, 2017, at 2:35 AM.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"sql\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`2017-12-11T02:35:0.0Z`}\n </SyntaxHighlighter>\n <p>{`Example: To retrieve entity of type `}<em parentName=\"p\">{`Table`}</em>{` created within 2017 and 2018.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"sql\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`from Table where createTime < '2018-01-01' and createTime > '2017-01-01'`}\n </SyntaxHighlighter>\n <h4 {...{\n \"id\": \"using-boolean-literals\"\n }}>{`Using Boolean Literals`}</h4>\n <p>{`Properties of entities of type boolean can be used within queries.`}</p>\n <p>{`Example: To retrieve entity of type hdfs`}<em parentName=\"p\">{`path whose attribute _isFile`}</em>{` is set to `}<em parentName=\"p\">{`true`}</em>{` and whose name is `}<em parentName=\"p\">{`Invoice`}</em>{`.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"sql\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`from hdfs_path where isFile = true or name = \"Invoice\"`}\n </SyntaxHighlighter>\n <p>{`Valid values for boolean literals are 'true' and 'false'.`}</p>\n <h3 {...{\n \"id\": \"existence-of-a-property\"\n }}>{`Existence of a Property`}</h3>\n <p>{`The has keyword can be used with or without the where clause. It is used to check existence of a property in an entity.`}</p>\n <p>{`Example: To retrieve entity of type Table with a property locationUri.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"html\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`Table has locationUri\nfrom Table where Table has locationUri`}\n </SyntaxHighlighter>\n <h3 {...{\n \"id\": \"select-clause\"\n }}>{`Select Clause`}</h3>\n <p>{`If you noticed the output displayed on the web page, it displays a tabular display, each row corresponding to an entity and columns are properties of that entity. The select clause allows for choosing the properties of entity that are of interest.`}</p>\n <p>{`Example: To retrieve entity of type `}<em parentName=\"p\">{`Table`}</em>{` with few properties:`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"sql\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`from Table select owner, name, qualifiedName`}\n </SyntaxHighlighter>\n <p>{`Example: To retrieve entity of type Table for a specific table with some properties.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"sql\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`from Table where name = 'customer_dim' select owner, name, qualifiedName`}\n </SyntaxHighlighter>\n <p>{`To display column headers that are more meaningful, aliases can be added using the 'as' clause.`}</p>\n <p>{`Example: To display column headers as 'Owner', 'Name' and 'FullName'.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"sql\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`from Table select owner as Owner, name as Name, qualifiedName as FullName`}\n </SyntaxHighlighter>\n <h4 {...{\n \"id\": \"note-about-select-clauses\"\n }}>{`Note About Select Clauses`}</h4>\n <p>{`Given the complexity involved in using select clauses, these are the few rules to remember when using select clauses:`}</p>\n <ul>\n <li parentName=\"ul\">{`Works with all immediate attributes.`}</li>\n <li parentName=\"ul\">{`Works with Immediate attributes and aggregation on immediate attributes.`}</li>\n <li parentName=\"ul\">{`Referred attributes cannot be mixed with immediate attributes.`}</li>\n </ul>\n <p>{`Example: To retrieve entity of type Table with name 'Sales' and display 'name' and 'owner' attribute of the referred entity DB.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"sql\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`Table where name = 'abcd' select DB.name, DB.owner`}\n </SyntaxHighlighter>\n <p>{`Current implementation does not allow the following:`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"html\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`Table where name = 'abcd' select DB.name, Table.name`}\n </SyntaxHighlighter>\n <h3 {...{\n \"id\": \"classification-based-filtering\"\n }}>{`Classification-based Filtering`}</h3>\n <p>{`In order to retrieve entities based on classification, a query would use `}<em parentName=\"p\">{`is`}</em>{` or `}<em parentName=\"p\">{`isa`}</em>{` keywords.`}</p>\n <p>{`Example: To retrieve all entities of type `}<em parentName=\"p\">{`Table`}</em>{` that are tagged with `}<em parentName=\"p\">{`Dimension`}</em>{` classification.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"html\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`from Table isa Dimension`}\n </SyntaxHighlighter>\n <p>{`Since, from is optional and `}<em parentName=\"p\">{`is`}</em>{` (or `}<em parentName=\"p\">{`isa`}</em>{`) are equivalent, the following queries yield the same results:`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"html\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`Table is Dimension`}\n </SyntaxHighlighter>\n <p>{`The `}<em parentName=\"p\">{`is`}</em>{` and `}<em parentName=\"p\">{`isa`}</em>{` clauses can also be used in `}<em parentName=\"p\">{`where`}</em>{` condition like:`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"html\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`from Table where Table isa Dimension`}\n </SyntaxHighlighter>\n <p>{`To search for all entities having a particular classification, simply use the name of the classification.`}</p>\n <p>{`Example: To retrieve all entities that have `}<em parentName=\"p\">{`Dimension`}</em>{` classification.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"sql\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`Dimension`}\n </SyntaxHighlighter>\n <p>{`To search for all entities having a particular classification with its attribute, add filter in where clause.`}</p>\n <p>{`Example: To retrieve all the entities that are tagged with `}<em parentName=\"p\">{`Dimension`}</em>{` classification and its attribute `}<em parentName=\"p\">{`priority`}</em>{` having 'high'`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"sql\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`Dimension where Dimension.priority = \"high\"`}\n </SyntaxHighlighter>\n <p>{`###Non-Primitive attribute Filtering\nIn the discussion so far we looked at where clauses with primitive types. This section will look at using properties that are non-primitive types.`}</p>\n <h4 {...{\n \"id\": \"relationship-based-filtering\"\n }}>{`Relationship-based filtering`}</h4>\n <p>{`In this model, the DB is modeled such that it is aware of all the Table it contains. Table on the other hand is aware of existence of the DB but is not aware of all the other `}<em parentName=\"p\">{`Table`}</em>{` instances within the system. Each Table maintains reference of the `}<em parentName=\"p\">{`DB`}</em>{` it belongs to.`}</p>\n <p>{`Similar structure exists within the `}<em parentName=\"p\">{`hive`}</em>{` data model.`}</p>\n <p>{`Example: To retrieve all the instances of the `}<em parentName=\"p\">{`Table`}</em>{` belonging to a database named 'Sales':`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"html\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`Table where db.name = \"Sales\"`}\n </SyntaxHighlighter>\n <p>{`Example: To retrieve all the instances of the `}<em parentName=\"p\">{`Table`}</em>{` belonging to a database named 'Sales' and whose column name starts with 'customer':`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"html\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`Table where db.name = \"Sales\" and columns.name like \"customer*\"`}\n </SyntaxHighlighter>\n <p>{`The entity Column is modeled in a similar way. Each Table entity has outward edges pointing to Column entity instances corresponding to each column within the table.`}</p>\n <p>{`Example: To retrieve all the Column entities for a given Table.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"html\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`Table where name = \"time_dim\" select columns`}\n </SyntaxHighlighter>\n <p>{`The properties of each `}<em parentName=\"p\">{`Column`}</em>{` entity type are displayed.`}</p>\n <h4 {...{\n \"id\": \"glossary-term-based-filtering\"\n }}>{`Glossary Term-based Filtering`}</h4>\n <p>{`In order to retrieve entities based on glossary term, a query would use `}<em parentName=\"p\">{`hasTerm`}</em>{` keyword.`}</p>\n <p>{`To search for entities having a particular glossary term, user needs to add a fully qualified name. i.e `}<em parentName=\"p\">{`{termName}@{glossaryName}`}</em>{`. In case the user adds only the term name, all the entities with particular term name will be returned, irrespective of which glossary it is in.`}</p>\n <p>{`Example: To retrieve all entities of type `}<em parentName=\"p\">{`Table`}</em>{` having glossary term `}<em parentName=\"p\">{`savingsAccount@Banking`}</em>{`, below are the possible ways.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"html\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`from Table hasTerm \"savingsAccount@Banking\"\nTable hasTerm \"savingsAccount@Banking\"\nTable hasTerm \"savingsAccount\"\nTable where Table hasTerm \"savingsAccount@Banking\"`}\n </SyntaxHighlighter>\n <p>{`Example: To retrieve all entities of type `}<em parentName=\"p\">{`Table`}</em>{` having glossary term `}<em parentName=\"p\">{`savingsAccount@Banking`}</em>{` and whose name is 'customer'.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"html\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`from Table hasTerm \"savingsAccount@Banking\" and name = \"customer\"`}\n </SyntaxHighlighter>\n <p>{`Example: To retrieve all entities of type `}<em parentName=\"p\">{`Table`}</em>{` having glossary term `}<em parentName=\"p\">{`savingsAccount@Banking`}</em>{` or tagged with 'Dimension' classification and whose column name starts with 'customer'.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"html\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`from Table hasTerm \"savingsAccount@Banking\" or Table isA Dimension and (columns.name like \"customer*\")`}\n </SyntaxHighlighter>\n <h3 {...{\n \"id\": \"limit--offset-clauses\"\n }}>{`Limit & Offset Clauses`}</h3>\n <p>{`Often a query yields large number of results. To limit the outcome of the query, the limit and offset clauses are used.`}</p>\n <p>{`Example: To retrieve only the 5 entities from a result set.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"sql\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`Column limit 5`}\n </SyntaxHighlighter>\n <p>{`The offset clauses retrieves results after the offset value.`}</p>\n <p>{`Example: To retrieve only 5 entities from the result set after skipping the first 10.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"sql\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`Column limit 5 offset 10`}\n </SyntaxHighlighter>\n <p>{`The `}<em parentName=\"p\">{`limit`}</em>{` and `}<em parentName=\"p\">{`offset`}</em>{` clauses are usually specified in conjunction.`}</p>\n <p>{`If no limit clause is specified in the query, a limit clause with a default limit (usually 100) is added to the query. This prevents the query from inadvertently fetching large number of results.`}</p>\n <p>{`The `}<em parentName=\"p\">{`offset`}</em>{` clause is useful for displaying results in a user interface where few results from the result set are showing and more results are fetched as the user advances to next page.`}</p>\n <h3 {...{\n \"id\": \"ordering-results\"\n }}>{`Ordering Results`}</h3>\n <p>{`The `}<em parentName=\"p\">{`orderby`}</em>{` clause allows for sorting of results. Results are sorted in ascending order by default. Only immediate attributes can be used within this clause.`}</p>\n <p>{`Ordering can be changed by using:`}</p>\n <ul>\n <li parentName=\"ul\">{`ASC Sort in ascending order. This is the default. If no ordering is specified after the `}<em parentName=\"li\">{`orderby`}</em>{` clause.`}</li>\n <li parentName=\"ul\">{`DESC Sort in descending order. This needs to be explicitly specified after the `}<em parentName=\"li\">{`orderby`}</em>{` clause.`}</li>\n </ul>\n <p>{`Example: To retrieve the entities of type `}<em parentName=\"p\">{`Column`}</em>{` that are sorted in ascending order using the name property.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"html\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`from Column orderby name\nfrom Column orderby name asc`}\n </SyntaxHighlighter>\n <p>{`Example: Same results as above except that they are sorted in descending order.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"html\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`from Column orderby name desc`}\n </SyntaxHighlighter>\n <p>{`Example: To retrieve the entities of type `}<em parentName=\"p\">{`Column`}</em>{` filtered with name and associated with 'savingsAccount@Banking' glossary term, that are sorted in ascending order using the name property.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"html\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`from Column hasTerm \"savingsAccount@Banking\" and name = \"customer_id\" orderby name asc`}\n </SyntaxHighlighter>\n <h3 {...{\n \"id\": \"aggregate-functions\"\n }}>{`Aggregate Functions`}</h3>\n <p>{`Let's look at aggregate functions:`}</p>\n <ul>\n <li parentName=\"ul\"><em parentName=\"li\">{`sum`}</em>{`: Adds (sums up) a value of the property specified, within the result set.`}</li>\n <li parentName=\"ul\"><em parentName=\"li\">{`min`}</em>{`: Finds the minimum value of the property specified, within a result set.`}</li>\n <li parentName=\"ul\"><em parentName=\"li\">{`max`}</em>{`: Finds the maximum value of the property specified, within a result set.`}</li>\n <li parentName=\"ul\"><em parentName=\"li\">{`count`}</em>{`: Finds the number of items specified by the group by clause.`}</li>\n </ul>\n <p>{`These work only on immediate attributes.`}</p>\n <p>{`Other examples of these in the `}<em parentName=\"p\">{`Grouping Results`}</em>{` section.`}</p>\n <h3 {...{\n \"id\": \"the-count-keyword\"\n }}>{`The count Keyword`}</h3>\n <p>{`Shows the number of items in a result set.`}</p>\n <p>{`Example: To know how may entities of a type Column.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"html\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`Column select count()`}\n </SyntaxHighlighter>\nExample: Same as above with alias.\n <SyntaxHighlighter wrapLines={true} language=\"html\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`Column select count() as Cols`}\n </SyntaxHighlighter>\n <p>{`Example: To find the number of tables in a database.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"html\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`Table where db.name = \"Reporting\" select count()`}\n </SyntaxHighlighter>\n <p>{`Example: To find the number of terms associated with particular type 'Table'.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"html\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`Table hasTerm \"savingsAccount@Banking\" select count() as terms`}\n </SyntaxHighlighter>\n <h3 {...{\n \"id\": \"the-max-keyword\"\n }}>{`The max Keyword`}</h3>\n <p>{`Using this keyword it is possible to retrieve the maximum value of a property for an entity.`}</p>\n <p>{`Example: Get the most recently created value of the `}<em parentName=\"p\">{`createTime`}</em>{` property of the Table entity.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"html\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`Table select max(createTime)`}\n </SyntaxHighlighter>\n <h3 {...{\n \"id\": \"the-min-keyword\"\n }}>{`The min Keyword`}</h3>\n <p>{`Using this keyword it is possible to retrieve the minimum value of a property for an entity.`}</p>\n <p>{`Example: Get the least recently created value of the `}<em parentName=\"p\">{`createTime`}</em>{` property of the Table entity.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"html\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`Table select min(createTime)`}\n </SyntaxHighlighter>\n <h3 {...{\n \"id\": \"grouping-results\"\n }}>{`Grouping Results`}</h3>\n <p>{`The `}<em parentName=\"p\">{`groupby`}</em>{` clause groups results within the result using specified property.`}</p>\n <p>{`Example: To retrieve entity of type Table such that tables belonging to an owner are together (grouped by owner).`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"html\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`Table groupby(owner)`}\n </SyntaxHighlighter>\n <p>{`While `}<em parentName=\"p\">{`groupby`}</em>{` can work without `}<em parentName=\"p\">{`select`}</em>{`, if aggregate functions are used within `}<em parentName=\"p\">{`select`}</em>{` clause, using `}<em parentName=\"p\">{`groupby`}</em>{` clause becomes mandatory as aggregate functions operate on a group.`}</p>\n <p>{`Example: To retrieve entity of type Table such we know the most recently created entity.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"html\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`Table groupby(createTime) select owner, name, max(createTime)`}\n </SyntaxHighlighter>\n <p>{`Example: To retrieve entity of type Table such we know the oldest entity.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"html\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`Table groupby(createTime) select owner, name, min(createTime)`}\n </SyntaxHighlighter>\n <p>{`Example: To know the number of entities owned by each owner.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"html\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`Table groupby(owner) select owner, count()`}\n </SyntaxHighlighter>\n <h3 {...{\n \"id\": \"using-system-attributes\"\n }}>{`Using System Attributes`}</h3>\n <p>{`Each type defined within Atlas gets few attributes by default. These attributes help with internal bookkeeping of the entities. All the system attributes are prefixed with '__' (double underscore). This helps in identifying them from other attributes.\nFollowing are the system attributes:`}</p>\n <ul>\n <li parentName=\"ul\">{`__guid Each entity within Atlas is assigned a globally unique identifier (GUID for short).`}</li>\n <li parentName=\"ul\">{`__modifiedBy Name of the user who last modified the entity.`}</li>\n <li parentName=\"ul\">{`__createdBy Name of the user who created the entity.`}</li>\n <li parentName=\"ul\">{`__state Current state of the entity. Please see below for details.`}</li>\n <li parentName=\"ul\">{`__timestamp Timestamp (date represented as integer) of the entity at the time of creation.`}</li>\n <li parentName=\"ul\">{`__modificationTimestamp Timestamp (date represented as integer) of the entity at the time of last modification.`}</li>\n </ul>\n <h3 {...{\n \"id\": \"state-of-an-entity\"\n }}>{`State of an Entity`}</h3>\n <p>{`Entity within Atlas can be in the following states:`}</p>\n <ul>\n <li parentName=\"ul\">{`ACTIVE This is the state of entities that when it is available and is used within the system. It can be retrieved by default by searches.`}</li>\n <li parentName=\"ul\">{`DELETED When an entity is deleted, it's state is marked as DELETED. Entity in this state does not show up in search results. Explicit request needs to be made to retrieve this entity.`}</li>\n </ul>\n <h3 {...{\n \"id\": \"using-system-attributes-in-queries\"\n }}>{`Using System Attributes in Queries`}</h3>\n <p>{`Example: To retrieve all entities that are deleted.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"html\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`Asset where __state = \"DELETED\"`}\n </SyntaxHighlighter>\n <p>{`Example: To retrieve entity GUIDs.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"html\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`Table select __guid`}\n </SyntaxHighlighter>\n <p>{`Example: To retrieve several system attributes.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"html\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`hive_db select __timestamp, __modificationTimestamp, __state, __createdBy`}\n </SyntaxHighlighter>\n <h2 {...{\n \"id\": \"advanced-search-rest-api\"\n }}>{`Advanced Search REST API`}</h2>\n <p>{`Relevant models for these operations:`}</p>\n <ul>\n <li parentName=\"ul\"><em parentName=\"li\"><a parentName=\"em\" {...{\n \"href\": \"https://github.com/apache/atlas/blob/master/intg/src/main/java/org/apache/atlas/model/discovery/AtlasSearchResult.java\"\n }}>{`AtlasSearchResult`}</a></em></li>\n <li parentName=\"ul\"><em parentName=\"li\"><a parentName=\"em\" {...{\n \"href\": \"https://github.com/apache/atlas/blob/master/intg/src/main/java/org/apache/atlas/exception/AtlasBaseException.java\"\n }}>{`AtlasBaseException`}</a></em></li>\n </ul>\n <h3 {...{\n \"id\": \"the-v2-api\"\n }}>{`The V2 API`}</h3>\n <p><strong parentName=\"p\">{`Get Results using DSL Search`}</strong></p>\n <table>\n <thead parentName=\"table\">\n <tr parentName=\"thead\">\n <th parentName=\"tr\" {...{\n \"align\": \"center\"\n }}><strong parentName=\"th\"><em parentName=\"strong\">{`Example`}</em></strong></th>\n <th parentName=\"tr\" {...{\n \"align\": \"center\"\n }}><strong parentName=\"th\">{`See Examples sections below.`}</strong></th>\n </tr>\n </thead>\n <tbody parentName=\"table\">\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": \"center\"\n }}><em parentName=\"td\">{`URL`}</em></td>\n <td parentName=\"tr\" {...{\n \"align\": \"center\"\n }}><em parentName=\"td\">{`api/atlas/v2/search/dsl`}</em></td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": \"center\"\n }}><em parentName=\"td\">{`Method`}</em></td>\n <td parentName=\"tr\" {...{\n \"align\": \"center\"\n }}><em parentName=\"td\">{`GET`}</em></td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": \"center\"\n }}><em parentName=\"td\">{`URL Parameters`}</em></td>\n <td parentName=\"tr\" {...{\n \"align\": \"center\"\n }}><em parentName=\"td\">{`query`}</em>{`: Query conforming to DSL syntax.`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": \"center\"\n }}></td>\n <td parentName=\"tr\" {...{\n \"align\": \"center\"\n }}><em parentName=\"td\">{`typeName`}</em>{`: Type name of the entity to be retrived.`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": \"center\"\n }}></td>\n <td parentName=\"tr\" {...{\n \"align\": \"center\"\n }}><em parentName=\"td\">{`classification`}</em>{`: Classification associated with the type or query.`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": \"center\"\n }}></td>\n <td parentName=\"tr\" {...{\n \"align\": \"center\"\n }}><em parentName=\"td\">{`limit`}</em>{`: Maximum number of items in the result set.`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": \"center\"\n }}></td>\n <td parentName=\"tr\" {...{\n \"align\": \"center\"\n }}><em parentName=\"td\">{`offset`}</em>{`: Starting index of the item in the result set.`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": \"center\"\n }}><em parentName=\"td\">{`Data Parameters`}</em></td>\n <td parentName=\"tr\" {...{\n \"align\": \"center\"\n }}><em parentName=\"td\">{`None`}</em></td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": \"center\"\n }}><em parentName=\"td\">{`Success Response`}</em></td>\n <td parentName=\"tr\" {...{\n \"align\": \"center\"\n }}>{`The JSON will correspond to `}<a parentName=\"td\" {...{\n \"href\": \"https://github.com/apache/atlas/blob/master/intg/src/main/java/org/apache/atlas/model/discovery/AtlasSearchResult.java\"\n }}>{`AtlasSearchResult`}</a>{`.`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": \"center\"\n }}><em parentName=\"td\">{`Error Response`}</em></td>\n <td parentName=\"tr\" {...{\n \"align\": \"center\"\n }}>{`Errors that are handled within the system will be returned as `}<a parentName=\"td\" {...{\n \"href\": \"https://github.com/apache/atlas/blob/master/intg/src/main/java/org/apache/atlas/exception/AtlasBaseException.java\"\n }}>{`AtlasBaseException`}</a>{`.`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": \"center\"\n }}><em parentName=\"td\">{`Method Signature`}</em></td>\n <td parentName=\"tr\" {...{\n \"align\": \"center\"\n }}>{`@GET`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": \"center\"\n }}></td>\n <td parentName=\"tr\" {...{\n \"align\": \"center\"\n }}>{`@Path(\"/dsl\")`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": \"center\"\n }}></td>\n <td parentName=\"tr\" {...{\n \"align\": \"center\"\n }}>{`@Consumes(Servlets.JSON_MEDIA_TYPE)`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": \"center\"\n }}></td>\n <td parentName=\"tr\" {...{\n \"align\": \"center\"\n }}>{`@Produces(Servlets.JSON_MEDIA_TYPE)`}</td>\n </tr>\n </tbody>\n </table>\n <p><em parentName=\"p\">{`Examples`}</em></p>\n <SyntaxHighlighter wrapLines={true} language=\"html\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`curl -X GET -u admin:admin -H \"Content-Type: application/json\" \"http://localhost:21000/api/atlas/v2/search/dsl?typeName=Table\"\ncurl -X GET -u admin:admin -H \"Content-Type: application/json\" \"http://localhost:21000/api/atlas/v2/search/dsl?typeName=Column&classification=PII\"\ncurl -X GET -u admin:admin -H \"Content-Type: application/json\" \"http://localhost:21000/api/atlas/v2/search/dsl?typeName=Table&classification=Dimension&limit=10&offset=2\"\ncurl -X GET -u admin:admin -H \"Content-Type: application/json\" \"http://localhost:21000/api/atlas/v2/search/dsl?query=Table%20isa%20Dimension\"\ncurl -X GET -u admin:admin -H \"Content-Type: application/json\" \"http://localhost:21000/api/atlas/v2/search/dsl?query=Table%20isa%20Dimension&limit=5&offset=2\"`}\n </SyntaxHighlighter>\n <h2 {...{\n \"id\": \"implementation-approach\"\n }}>{`Implementation Approach`}</h2>\n <p>{`The general approach followed in implementation of DSL within Atlas can be enumerated in following steps:`}</p>\n <ul>\n <li parentName=\"ul\">{`Parser parses the incoming query for syntax.`}</li>\n <li parentName=\"ul\">{`Abstract syntax tree is generated by for a query that is parsed successfully.`}</li>\n <li parentName=\"ul\">{`Syntax tree is 'walked' using visitor pattern.`}</li>\n <li parentName=\"ul\">{`Each 'visit' within the tree adds a step in the Gremlin pipeline.`}</li>\n <li parentName=\"ul\">{`When done, the generated script is executed using Gremlin Script Engine.`}</li>\n <li parentName=\"ul\">{`Results generated be the query, if any, are processed and packaged in AtlasSearchResult structure.`}</li>\n </ul>\n <h2 {...{\n \"id\": \"differences-between-master-and-earlier-versions\"\n }}>{`Differences Between Master and Earlier Versions`}</h2>\n <p>{`The following clauses are no longer supported:`}</p>\n <ul>\n <li parentName=\"ul\">{`path`}</li>\n <li parentName=\"ul\">{`loop`}</li>\n </ul>\n <h2 {...{\n \"id\": \"resources\"\n }}>{`Resources`}</h2>\n <ul>\n <li parentName=\"ul\">{`Antlr `}<a parentName=\"li\" {...{\n \"href\": \"https://pragprog.com/book/tpantlr2/the-definitive-antlr-4-reference\"\n }}>{`Book`}</a>{`.`}</li>\n <li parentName=\"ul\">{`Antlr `}<a parentName=\"li\" {...{\n \"href\": \"https://github.com/antlr/antlr4/blob/master/doc/getting-started.md\"\n }}>{`Quick Start`}</a>{`.`}</li>\n <li parentName=\"ul\">{`Atlas DSL Grammar on `}<a parentName=\"li\" {...{\n \"href\": \"https://github.com/apache/atlas/blob/master/repository/src/main/java/org/apache/atlas/query/antlr4/AtlasDSLParser.g4\"\n }}>{`GitHub`}</a>{` (Antlr G4 format).`}</li>\n </ul>\n </MDXLayout>;\n}\n;\nMDXContent.isMDXComponent = true;","/**\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { dark } from \"react-syntax-highlighter/dist/esm/styles/hljs\";\n\n//dark[\"powershell\"][\"color\"] = \"#37bb9b\";\ndark.hljs.color = \"#37bb9b\";\nexport default dark;"],"sourceRoot":""}