Fix #75 Update JSON schema documentation

This commit is contained in:
sureshms 2021-08-09 12:13:56 -07:00
parent 5bff12aefe
commit ad4a32d1b8
23 changed files with 201 additions and 203 deletions

View File

@ -1,47 +1,47 @@
{
"$id": "https://streaminlinedata.ai/entity/audit/auditLog.json",
"$id": "https://github.com/open-metadata/OpenMetadata/blob/main/catalog-rest-service/src/main/resources/json/schema/entity/audit/auditLog.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Audit Log entity",
"description": "Entity that represents a Audit Log",
"title": "Audit Log",
"description": "This schema defines Audit Log entity. Audit Log is used to capture audit trail of POST, PUT, and PATCH API operations.",
"type": "object",
"properties" : {
"id": {
"description": "Unique identifier that identifies a Audit Log Entry",
"description": "Unique identifier that identifies a Audit Log Entry.",
"$ref": "../../type/basic.json#/definitions/uuid"
},
"method": {
"description": "HTTP Method used in a call",
"description": "HTTP Method used in a call.",
"type": "string",
"minLength": 1,
"maxLength": 64
},
"responseCode": {
"description": "HTTP response code for the api requested",
"description": "HTTP response code for the api requested.",
"type": "integer"
},
"path": {
"description": "requested API Path",
"description": "Requested API Path.",
"type": "string"
},
"username": {
"description": "Name of the user who requested for the API",
"description": "Name of the user who requested for the API.",
"type": "string"
},
"date": {
"description": "Date which the api call is made",
"description": "Date which the api call is made.",
"$ref": "../../type/basic.json#/definitions/date"
},
"entityId": {
"description": "entityReference Id",
"description": "Entity reference.",
"$ref": "../../type/basic.json#/definitions/uuid"
},
"entityType": {
"description": "Entity Type",
"description": "Entity Type.",
"type": "string"
},
"entity" : {
"description": "Link to entity on which api request is done",
"description": "Link to entity on which api request is done.",
"$ref" : "../../type/entityReference.json"
}
},

View File

@ -1,23 +1,24 @@
{
"$id": "https://github.com/open-metadata/OpenMetadata/blob/main/catalog-rest-service/src/main/resources/json/schema/entity/bots.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Bot entity",
"description": "Bot entity to capture the details of a bot",
"title": "Bot",
"description": "Bot entity to capture the details of a bot.",
"description": "This schema defines Bot entity. A bot automates tasks, such as adding description, identifying importance of data. It runs as a special user in the system.",
"type": "object",
"properties" : {
"id": {
"description": "Unique identifier that identifies an entity instance",
"description": "Unique identifier that identifies an entity instance.",
"$ref": "../type/basic.json#/definitions/uuid"
},
"name": {
"description": "Optional name that identifies this entity. Same as id if name is not available",
"description": "Optional name that identifies this entity. Same as id if name is not available.",
"type": "string",
"minLength": 1,
"maxLength": 64
},
"displayName": {
"description": "Name used for display purposes. Example 'FirstName LastName'",
"description": "Name used for display purposes. Example 'FirstName LastName'.",
"type": "string"
},
"description": {
@ -25,7 +26,7 @@
"type": "string"
},
"href": {
"description": "Link to the resource corresponding to this entity",
"description": "Link to the resource corresponding to this entity.",
"$ref": "../type/basic.json#/definitions/href"
}
}

View File

@ -1,23 +1,23 @@
{
"$id": "https://github.com/open-metadata/OpenMetadata/blob/main/catalog-rest-service/src/main/resources/json/schema/entity/data/dashboard.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Dashboard entity",
"description": "Entity that represents a Dashboard",
"title": "Dashboard",
"description": "This schema defines Dashboard entity.",
"type": "object",
"properties" : {
"id": {
"description": "Unique identifier that identifies a dashboard instance",
"description": "Unique identifier that identifies a dashboard instance.",
"$ref": "../../type/basic.json#/definitions/uuid"
},
"name": {
"description": "Name that identifies the this dashboard.",
"description": "Name that identifies this dashboard.",
"type": "string",
"minLength": 1,
"maxLength": 64
},
"fullyQualifiedName": {
"description": "Unique name that identifies a dashboard in the format 'ServiceName.DashboardName'",
"description": "Unique name that identifies a dashboard in the format 'ServiceName.DashboardName'.",
"type": "string",
"minLength": 1,
"maxLength": 64
@ -27,19 +27,19 @@
"type": "string"
},
"href": {
"description": "Link to the resource corresponding to this entity",
"description": "Link to the resource corresponding to this entity.",
"$ref": "../../type/basic.json#/definitions/href"
},
"owner": {
"description": "Owner of this dashboard",
"description": "Owner of this dashboard.",
"$ref": "../../type/entityReference.json"
},
"service" : {
"description": "Link to service where this dashboard is hosted in",
"description": "Link to service where this dashboard is hosted in.",
"$ref" : "../../type/entityReference.json"
},
"usageSummary" : {
"description": "Latest usage information for this database",
"description": "Latest usage information for this database.",
"$ref": "../../type/usageDetails.json",
"default": null
}

View File

@ -1,13 +1,13 @@
{
"$id": "https://github.com/open-metadata/OpenMetadata/blob/main/catalog-rest-service/src/main/resources/json/schema/entity/data/database.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Database entity",
"description": "Entity that represents a database",
"title": "Database",
"description": "This schema defines Database entity. Database is a collection of schemas. They are also referred to as Database Catalog.",
"type": "object",
"definitions": {
"databaseName": {
"description": "Name that identifies the database",
"description": "Name that identifies the database.",
"type": "string",
"minLength": 1,
"maxLength": 64,
@ -16,15 +16,15 @@
},
"properties" : {
"id": {
"description": "Unique identifier that identifies this database instance",
"description": "Unique identifier that identifies this database instance.",
"$ref": "../../type/basic.json#/definitions/uuid"
},
"name": {
"description": "Name that identifies the database",
"description": "Name that identifies the database.",
"$ref": "#/definitions/databaseName"
},
"fullyQualifiedName": {
"description": "Name that uniquely identifies a database in the format 'ServiceName.DatabaseName'",
"description": "Name that uniquely identifies a database in the format 'ServiceName.DatabaseName'.",
"type": "string"
},
"description": {
@ -32,24 +32,24 @@
"type": "string"
},
"href": {
"description": "Link to the resource corresponding to this entity",
"description": "Link to the resource corresponding to this entity.",
"$ref": "../../type/basic.json#/definitions/href"
},
"owner": {
"description": "Owner of this database",
"description": "Owner of this database.",
"$ref": "../../type/entityReference.json"
},
"service" : {
"description": "Link to the database cluster/service where this database is hosted in",
"description": "Link to the database cluster/service where this database is hosted in.",
"$ref" : "../../type/entityReference.json"
},
"usageSummary" : {
"description": "Latest usage information for this database",
"description": "Latest usage information for this database.",
"$ref": "../../type/usageDetails.json",
"default": null
},
"tables": {
"description": "References to tables in the database",
"description": "References to tables in the database.",
"$ref": "../../type/entityReference.json#/definitions/entityReferenceList"
}
},

View File

@ -1,13 +1,13 @@
{
"$id": "https://github.com/open-metadata/OpenMetadata/blob/main/catalog-rest-service/src/main/resources/json/schema/entity/data/metrics.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Metrics entity",
"description": "Entity that represents a Metrics",
"title": "Metrics",
"description": "This schema defines Metrics entity.",
"type": "object",
"properties" : {
"id": {
"description": "Unique identifier that identifies this metrics instance",
"description": "Unique identifier that identifies this metrics instance.",
"$ref": "../../type/basic.json#/definitions/uuid"
},
"name": {
@ -17,29 +17,29 @@
"maxLength": 64
},
"fullyQualifiedName": {
"description": "Unique name that identifies a metric in the format 'ServiceName.MetricName'",
"description": "Unique name that identifies a metric in the format 'ServiceName.MetricName'.",
"type": "string",
"minLength": 1,
"maxLength": 64
},
"description": {
"description": "Description of metrics instance. What is has and how to use it",
"description": "Description of metrics instance. What is has and how to use it.",
"type": "string"
},
"href": {
"description": "Link to the resource corresponding to this entity",
"description": "Link to the resource corresponding to this entity.",
"$ref": "../../type/basic.json#/definitions/href"
},
"owner": {
"description": "Owner of this metrics",
"description": "Owner of this metrics.",
"$ref": "../../type/entityReference.json"
},
"service" : {
"description": "Link to service where this metrics is hosted in",
"description": "Link to service where this metrics is hosted in.",
"$ref" : "../../type/entityReference.json"
},
"usageSummary" : {
"description": "Latest usage information for this database",
"description": "Latest usage information for this database.",
"$ref": "../../type/usageDetails.json",
"default": null
}

View File

@ -1,13 +1,13 @@
{
"$id": "https://github.com/open-metadata/OpenMetadata/blob/main/catalog-rest-service/src/main/resources/json/schema/entity/data/pipeline.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Pipeline entity",
"description": "Entity that represents a Pipeline",
"title": "Pipeline",
"description": "This schema defines Pipeline entity.",
"type": "object",
"properties" : {
"id": {
"description": "Unique identifier that identifies a pipeline instance",
"description": "Unique identifier that identifies a pipeline instance.",
"$ref": "../../type/basic.json#/definitions/uuid"
},
"name": {
@ -17,7 +17,7 @@
"maxLength": 64
},
"fullyQualifiedName": {
"description": "Unique name that identifies a pipeline in the format 'ServiceName.PipelineName'",
"description": "Unique name that identifies a pipeline in the format 'ServiceName.PipelineName'.",
"type": "string",
"minLength": 1,
"maxLength": 64
@ -27,15 +27,15 @@
"type": "string"
},
"href": {
"description": "Link to the resource corresponding to this entity",
"description": "Link to the resource corresponding to this entity.",
"$ref": "../../type/basic.json#/definitions/href"
},
"owner": {
"description": "Owner of this pipeline",
"description": "Owner of this pipeline.",
"$ref": "../../type/entityReference.json"
},
"service" : {
"description": "Link to service where this pipeline is hosted in",
"description": "Link to service where this pipeline is hosted in.",
"$ref" : "../../type/entityReference.json"
}
},

View File

@ -1,13 +1,13 @@
{
"$id": "https://github.com/open-metadata/OpenMetadata/blob/main/catalog-rest-service/src/main/resources/json/schema/entity/data/report.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Report entity",
"description": "Entity that represents a Report",
"title": "Report",
"description": "This schema defines Report entity.",
"type": "object",
"properties" : {
"id": {
"description": "Unique identifier that identifies this report",
"description": "Unique identifier that identifies this report.",
"$ref": "../../type/basic.json#/definitions/uuid"
},
"name": {
@ -17,7 +17,7 @@
"maxLength": 64
},
"fullyQualifiedName": {
"description": "Unique name that identifies a report in the format 'ServiceName.ReportName'",
"description": "Unique name that identifies a report in the format 'ServiceName.ReportName'.",
"type": "string",
"minLength": 1,
"maxLength": 64
@ -27,19 +27,19 @@
"type": "string"
},
"href": {
"description": "Link to the resource corresponding to this report",
"description": "Link to the resource corresponding to this report.",
"$ref": "../../type/basic.json#/definitions/href"
},
"owner": {
"description": "Owner of this pipeline",
"description": "Owner of this pipeline.",
"$ref": "../../type/entityReference.json"
},
"service" : {
"description": "Link to service where this report is hosted in",
"description": "Link to service where this report is hosted in.",
"$ref" : "../../type/entityReference.json"
},
"usageSummary" : {
"description": "Latest usage information for this database",
"description": "Latest usage information for this database.",
"$ref": "../../type/usageDetails.json",
"default": null
}

View File

@ -1,14 +1,14 @@
{
"$id": "https://github.com/open-metadata/OpenMetadata/blob/main/catalog-rest-service/src/main/resources/json/schema/entity/data/table.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Table entity",
"description": "Schema corresponding to a table that belongs to a database",
"title": "Table",
"description": "This schema defines Table entity. Database contains a collection of schemas. Schemas contain Tables, Views, etc. OpenMetadata does not have a separate hierarchy for Schema. Both Table and Schema are captured in this entity.",
"type": "object",
"javaType": "org.openmetadata.catalog.entity.data.Table",
"definitions": {
"tableType": {
"javaType": "org.openmetadata.catalog.type.TableType",
"description": "Type for capturing a column in a table",
"description": "Type for capturing a column in a table.",
"type": "string",
"enum": [
"Regular",
@ -37,7 +37,7 @@
},
"columnDataType": {
"javaType": "org.openmetadata.catalog.type.ColumnDataType",
"description": "Type for capturing a column in a table",
"description": "Type for capturing a column in a table.",
"type": "string",
"enum": [
"NUMBER",
@ -77,7 +77,7 @@
},
"columnConstraint": {
"javaType": "org.openmetadata.catalog.type.ColumnConstraint",
"description": "Column constraint",
"description": "Column constraint.",
"type": "string",
"enum": [
"NULL",
@ -90,7 +90,7 @@
"tableConstraint": {
"type": "object",
"javaType": "org.openmetadata.catalog.type.TableConstraint",
"description": "Table constraint",
"description": "Table constraint.",
"properties": {
"constraintType": {
"type": "string",
@ -101,7 +101,7 @@
]
},
"columns": {
"description": "List of column names corresponding to the constraint",
"description": "List of column names corresponding to the constraint.",
"type": "array",
"items": {
"type": "string"
@ -110,21 +110,21 @@
}
},
"columnName": {
"description": "Local name (not fully qualified name) of the column",
"description": "Local name (not fully qualified name) of the column.",
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[^.]*$"
},
"tableName": {
"description": "Local name (not fully qualified name) of the table",
"description": "Local name (not fully qualified name) of the table.",
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[^.]*$"
},
"fullyQualifiedColumnName": {
"description": "Fully qualified name of the column that includes serviceName.databaseName.tableName.columnName",
"description": "Fully qualified name of the column that includes serviceName.databaseName.tableName.columnName.",
"type": "string",
"minLength": 1,
"maxLength": 256
@ -132,24 +132,24 @@
"column": {
"type": "object",
"javaType": "org.openmetadata.catalog.type.Column",
"description": "Type for capturing a column in a table",
"description": "Type for capturing a column in a table.",
"properties": {
"name": {
"$ref": "#/definitions/columnName"
},
"columnDataType": {
"description": "Data type of the column (int, date etc.)",
"description": "Data type of the column (int, date etc.).",
"$ref": "#/definitions/columnDataType"
},
"description": {
"description": "Description of the column",
"description": "Description of the column.",
"type": "string"
},
"fullyQualifiedName": {
"$ref": "#/definitions/fullyQualifiedColumnName"
},
"tags": {
"description": "Tags associated with the column",
"description": "Tags associated with the column.",
"type": "array",
"items": {
"$ref": "../../type/tagLabel.json"
@ -157,11 +157,11 @@
"default": null
},
"columnConstraint": {
"description": "Column level constraint",
"description": "Column level constraint.",
"$ref": "#/definitions/columnConstraint"
},
"ordinalPosition": {
"description": "Ordinal position of the column",
"description": "Ordinal position of the column.",
"type": "integer"
}
},
@ -173,13 +173,13 @@
"columnJoins": {
"type": "object",
"javaType": "org.openmetadata.catalog.type.ColumnJoin",
"description": "Information on other tables that this table column is frequently joined with",
"description": "Information on other tables that this table column is frequently joined with.",
"properties": {
"columnName": {
"$ref": "#/definitions/columnName"
},
"joinedWith": {
"description": "Fully qualified names of the columns that this column is joined with",
"description": "Fully qualified names of the columns that this column is joined with.",
"type": "array",
"items": {
"type" : "object",
@ -201,7 +201,7 @@
"javaType": "org.openmetadata.catalog.type.TableJoins",
"properties": {
"startDate": {
"description": "Date can be only from today going back to last 29 days",
"description": "Date can be only from today going back to last 29 days.",
"$ref": "../../type/basic.json#/definitions/date"
},
"dayCount": {
@ -220,20 +220,20 @@
"tableData": {
"type": "object",
"javaType": "org.openmetadata.catalog.type.TableData",
"description": "Information on other tables that this table column is frequently joined with",
"description": "Information on other tables that this table column is frequently joined with.",
"properties": {
"columns": {
"description": "List of local column names (not fully qualified column names) of the table",
"description": "List of local column names (not fully qualified column names) of the table.",
"type": "array",
"items": {
"$ref": "#/definitions/columnName"
}
},
"rows": {
"description": "Data for a multiple rows of the table",
"description": "Data for a multiple rows of the table.",
"type": "array",
"items": {
"description": "Data for a single row of the table with in the same order as columns fields",
"description": "Data for a single row of the table with in the same order as columns fields.",
"type": "array"
}
}
@ -243,30 +243,30 @@
},
"properties": {
"id": {
"description": "Unique identifier that identifies this table instance",
"description": "Unique identifier that identifies this table instance.",
"$ref": "../../type/basic.json#/definitions/uuid"
},
"name": {
"description": "Name of the table. Expected to be unique with in a database",
"description": "Name of the table. Expected to be unique with in a database.",
"$ref": "#/definitions/tableName"
},
"description": {
"description": "Description of the table",
"description": "Description of the table.",
"type": "string"
},
"href": {
"description": "Link to this table resource",
"description": "Link to this table resource.",
"$ref": "../../type/basic.json#/definitions/href"
},
"tableType": {
"$ref": "#/definitions/tableType"
},
"fullyQualifiedName": {
"description": "Fully qualified name of the table in the form serviceName.databaseName.tableName",
"description": "Fully qualified name of the table in the form serviceName.databaseName.tableName.",
"type": "string"
},
"columns": {
"description": "Columns in the table",
"description": "Columns in the table.",
"type": "array",
"items": {
"$ref": "#/definitions/column"
@ -274,7 +274,7 @@
"default": null
},
"tableConstraints": {
"description": "Table constraints",
"description": "Table constraints.",
"type": "array",
"items": {
"$ref": "#/definitions/tableConstraint"
@ -283,24 +283,24 @@
},
"usageSummary": {
"$ref": "../../type/usageDetails.json",
"description": "Latest usage information for this table",
"description": "Latest usage information for this table.",
"default": null
},
"owner": {
"description": "Owner of this table",
"description": "Owner of this table.",
"$ref": "../../type/entityReference.json",
"default": null
},
"followers": {
"description": "Followers of this table",
"description": "Followers of this table.",
"$ref": "../../type/entityReference.json#/definitions/entityReferenceList"
},
"database": {
"description": "Reference to Database that contains this table",
"description": "Reference to Database that contains this table.",
"$ref": "../../type/entityReference.json"
},
"tags": {
"description": "Tags for this table",
"description": "Tags for this table.",
"type": "array",
"items": {
"$ref": "../../type/tagLabel.json"
@ -308,12 +308,12 @@
"default": null
},
"joins": {
"description": "Details of other tables this table is frequently joined with",
"description": "Details of other tables this table is frequently joined with.",
"$ref": "#/definitions/tableJoins",
"default": null
},
"sampleData": {
"description": "Sample data for the table",
"description": "Sample data for the table.",
"$ref": "#/definitions/tableData",
"default": null
}

View File

@ -1,27 +1,27 @@
{
"$id": "https://github.com/open-metadata/OpenMetadata/blob/main/catalog-rest-service/src/main/resources/json/schema/entity/feed/thread.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Feed entity",
"description": "Entity that represents a feed",
"title": "Thread",
"description": "This schema defines Thread entity. A Thread is a collection of posts made the users. First post that starts a thread is about a data asset created by a user. Other users can respond to this post by creating new posts in the thread. Note that bot users can also interact with a thread. A post can contains links that mentions Users or other Data Assets.",
"type": "object",
"definitions": {
"post": {
"javaType": "org.openmetadata.catalog.type.Post",
"type": "object",
"description": "Post within a feed",
"description": "Post within a feed.",
"properties": {
"message": {
"description": "Message in markdown format. See markdown support for more details.",
"type": "string"
},
"postTs": {
"description": "Timestamp of the post",
"description": "Timestamp of the post.",
"type": "string",
"format": "date-time"
},
"from": {
"description": "ID of User (regular user or a bot) posting the message",
"description": "ID of User (regular user or a bot) posting the message.",
"$ref": "../../type/basic.json#/definitions/uuid"
}
},
@ -30,23 +30,23 @@
},
"properties": {
"id": {
"description": "Unique identifier that identifies an entity instance",
"description": "Unique identifier that identifies an entity instance.",
"$ref": "../../type/basic.json#/definitions/uuid"
},
"href": {
"description": "Link to the resource corresponding to this entity",
"description": "Link to the resource corresponding to this entity.",
"$ref": "../../type/basic.json#/definitions/href"
},
"threadTs": {
"description": "Timestamp of the when the first post created the thread",
"description": "Timestamp of the when the first post created the thread.",
"format": "date-time"
},
"about": {
"description": "Data asset about which this thread is created for with format <#E/{enties}/{entityName}/{field}/{fieldValue}",
"description": "Data asset about which this thread is created for with format <#E/{enties}/{entityName}/{field}/{fieldValue}.",
"$ref" : "../../type/basic.json#/definitions/entityLink"
},
"addressedTo": {
"description": "User or team this thread is addressed to in format <#E/{enties}/{entityName}/{field}/{fieldValue}",
"description": "User or team this thread is addressed to in format <#E/{enties}/{entityName}/{field}/{fieldValue}.",
"$ref" : "../../type/basic.json#/definitions/entityLink"
},
"posts": {

View File

@ -1,8 +1,8 @@
{
"$id": "https://github.com/open-metadata/OpenMetadata/blob/main/catalog-rest-service/src/main/resources/json/schema/entity/services/databaseService.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Database service entity",
"description": "Database service entity that reference services such as MySQL, BigQuery, Redshift, Postgres or Snowflake",
"title": "Database Service",
"description": "This schema defines Database Service entity, such as MySQL, BigQuery, Redshift, Postgres or Snowflake. Alternative terms such as Database Cluster, Database Server instance are also used.",
"type": "object",
"definitions": {
"databaseServiceType": {
@ -44,11 +44,11 @@
},
"properties": {
"id": {
"description": "Unique identifier that identifies an entity instance",
"description": "Unique identifier that identifies an entity instance.",
"$ref": "../../type/basic.json#/definitions/uuid"
},
"name": {
"description": "Name that identifies the this entity instance uniquely. Same as id if when name is not unique",
"description": "Name that identifies the this entity instance uniquely. Same as id if when name is not unique.",
"type": "string",
"minLength": 1,
"maxLength": 64
@ -61,14 +61,14 @@
"type": "string"
},
"href": {
"description": "Link to the resource corresponding to this entity",
"description": "Link to the resource corresponding to this entity.",
"$ref": "../../type/basic.json#/definitions/href"
},
"jdbc": {
"$ref": "../../type/jdbcConnection.json#/definitions/jdbcInfo"
},
"ingestionSchedule": {
"description": "Schedule for running metadata ingestion jobs",
"description": "Schedule for running metadata ingestion jobs.",
"$ref": "../../type/schedule.json"
}
},

View File

@ -1,19 +1,19 @@
{
"$id": "https://github.com/open-metadata/OpenMetadata/blob/main/catalog-rest-service/src/main/resources/json/schema/entity/tags/tagCategory.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Types related to tag category",
"description": "Types related to tag category",
"title": "Tag Category",
"description": "This schema defines Tag Category entity. A Tag Category has one more children tags called Primary Tags. Primary Tags can have children Tags called Secondary Tags. Only two level of of tags are supported currently.",
"type": "object",
"javaType": "org.openmetadata.catalog.type.TagCategory",
"definitions": {
"tagName": {
"description": "Name of the tag",
"description": "Name of the tag.",
"type": "string",
"minLength": 2,
"maxLength": 25
},
"tagCategoryType": {
"description": "Type of tag category",
"description": "Type of tag category.",
"type": "string",
"enum": [
"Descriptive",
@ -22,11 +22,11 @@
"javaEnums": [
{
"name": "Descriptive",
"description": "Tag category used for describing an entity. Example - column is of of type User.Address"
"description": "Tag category used for describing an entity. Example - column is of of type User.Addres.s"
},
{
"name": "Classification",
"description": "Tag category used for classifying an entity. Example - column is of of type PII.sensitive"
"description": "Tag category used for classifying an entity. Example - column is of of type PII.sensitiv.e"
}
]
},
@ -37,35 +37,35 @@
"$ref": "#/definitions/tagName"
},
"fullyQualifiedName": {
"description": "Unique name of the tag of format Category.PrimaryTag.SecondaryTag",
"description": "Unique name of the tag of format Category.PrimaryTag.SecondaryTag.",
"type": "string"
},
"description": {
"description": "Unique name of the tag category",
"description": "Unique name of the tag category.",
"type": "string"
},
"href": {
"description": "Link to the resource corresponding to the tag",
"description": "Link to the resource corresponding to the tag.",
"$ref": "../../type/basic.json#/definitions/href"
},
"usageCount": {
"description": "Count of how many times this tag and children tags are used",
"description": "Count of how many times this tag and children tags are used.",
"type": "integer"
},
"deprecated": {
"description": "If the tag is deprecated",
"description": "If the tag is deprecated.",
"type": "boolean",
"default": false
},
"associatedTags": {
"description": "Fully qualified names of tags associated with this tag",
"description": "Fully qualified names of tags associated with this tag.",
"type": "array",
"items": {
"type": "string"
}
},
"children": {
"description": "Tags under this tag group or empty for tags at leaf level",
"description": "Tags under this tag group or empty for tags at leaf level.",
"type": "array",
"items": {
"$ref": "#/definitions/tag"
@ -84,22 +84,22 @@
"$ref": "#/definitions/tagName"
},
"description": {
"description": "Description of the tag category",
"description": "Description of the tag category.",
"type": "string"
},
"categoryType": {
"$ref": "#/definitions/tagCategoryType"
},
"href": {
"description": "Link to the resource corresponding to the tag category",
"description": "Link to the resource corresponding to the tag category.",
"$ref": "../../type/basic.json#/definitions/href"
},
"usageCount": {
"description": "Count of how many times the tags from this tag category are used",
"description": "Count of how many times the tags from this tag category are used.",
"type": "integer"
},
"children": {
"description": "Tags under this category",
"description": "Tags under this category.",
"type": "array",
"items": {
"$ref": "#/definitions/tag"

View File

@ -1,8 +1,8 @@
{
"$id": "https://github.com/open-metadata/OpenMetadata/blob/main/catalog-rest-service/src/main/resources/json/schema/entity/teams/team.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Team entity",
"description": "Team entity",
"title": "Team",
"description": "This schema defines Team entity. A Team is a group of zero or more users. Team can have ownership of data assets.",
"type": "object",
"defintions" : {
@ -22,30 +22,30 @@
"$ref": "#/defintions/teamName"
},
"displayName": {
"description": "Name used for display purposes. Example 'Data Science team'",
"description": "Name used for display purposes. Example 'Data Science team'.",
"type": "string"
},
"description": {
"description": "Description of the team",
"description": "Description of the team.",
"type": "string"
},
"href": {
"description": "Link to the resource corresponding to this entity",
"description": "Link to the resource corresponding to this entity.",
"$ref": "../../type/basic.json#/definitions/href"
},
"profile": {
"description": "Team profile information",
"description": "Team profile information.",
"$ref": "../../type/profile.json"
},
"deleted" : {
"type": "boolean"
},
"users" : {
"description": "Users that are part of the team",
"description": "Users that are part of the team.",
"$ref": "../../type/entityReference.json#/definitions/entityReferenceList"
},
"owns" : {
"description": "Entities owned by the team",
"description": "Entities owned by the team.",
"$ref": "../../type/entityReference.json#/definitions/entityReferenceList"
}
},

View File

@ -1,8 +1,8 @@
{
"$id": "https://github.com/open-metadata/OpenMetadata/blob/main/catalog-rest-service/src/main/resources/json/schema/entity/teams/user.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "User entity",
"description": "User entity that is part of an organization",
"title": "User",
"description": "This schema defines User entity. A user can be part of 0 or more teams. A special type of user called Bot is used for automation. A user can be an owner and own zero or more data asset entities. A user can also follow zero or more data asset entities.",
"type": "object",
"definitions": {
@ -16,37 +16,40 @@
"properties" : {
"id": {
"description": "Unique identifier that identifies an entity instance",
"description": "Unique identifier that identifies a user entity instance.",
"$ref": "../../type/basic.json#/definitions/uuid"
},
"name": {
"$ref": "#/definitions/userName"
},
"displayName": {
"description": "Name used for display purposes. Example 'FirstName LastName'",
"description": "Name used for display purposes. Example 'FirstName LastName'.",
"type": "string"
},
"email": {
"description": "Email address of the user.",
"$ref": "../../type/basic.json#/definitions/email"
},
"href": {
"description": "Link to the resource corresponding to this entity",
"description": "Link to the resource corresponding to this entity.",
"$ref": "../../type/basic.json#/definitions/href"
},
"timezone": {
"description": "Timezone of the user",
"description": "Timezone of the user.",
"type": "string",
"format": "timezone"
},
"deactivated" : {
"description": "When true indicates user has been deactivated. Users are deactivated instead of deleted.",
"type": "boolean"
},
"isBot" : {
"description": "When true indicates a special type of user called Bot.",
"type": "boolean",
"boolean" : false
},
"isAdmin" : {
"description": "When true indicates user is an adiministrator for the sytem with superuser privileges",
"description": "When true indicates user is an administrator for the system with superuser privileges.",
"type": "boolean",
"boolean" : false
},
@ -54,17 +57,18 @@
"$ref": "../../type/profile.json"
},
"teams" : {
"description": "Teams that the user belongs to",
"description": "Teams that the user belongs to.",
"$ref": "../../type/entityReference.json#/definitions/entityReferenceList"
},
"owns" : {
"description": "Entities owned by the user",
"description": "Entities owned by the user.",
"$ref": "../../type/entityReference.json#/definitions/entityReferenceList"
},
"follows" : {
"description": "Entities followed by the user",
"description": "Entities followed by the user.",
"$ref": "../../type/entityReference.json#/definitions/entityReferenceList"
}
},
"additionalProperties": false,
"required": ["id", "name", "email", "href"]
}

View File

@ -1,21 +1,16 @@
{
"$id": "https://github.com/open-metadata/OpenMetadata/blob/main/catalog-rest-service/src/main/resources/json/schema/type/basic.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Common types",
"description": "Common reusable types",
"title": "Basic",
"description": "This schema defines basic common types that are used by other schemas.",
"definitions": {
"uuid": {
"description": "Unique id used to identify an entity",
"description": "Unique id used to identify an entity.",
"type": "string",
"format": "uuid"
},
"schema": {
"description": "URL for the schema of an entity",
"type": "string",
"format": "uri"
},
"email": {
"description": "Email address of user or other entities",
"description": "Email address of a user or other entities.",
"type": "string",
"format": "email",
"pattern": "^\\S+@\\S+\\.\\S+$",
@ -23,47 +18,45 @@
"maxLength": 127
},
"entityLink": {
"description": "Entity or field thread is created for with format <#E/{enties}/{entityName}/{field}/{fieldValue}",
"description": "Link to an entity or field of an entity of format <#E/{enties}/{entityName}/{field}/{fieldValue}.",
"type": "string",
"pattern": "^<#E/\\S+/\\S+>$"
},
"timestamp": {
"$comment": "Timestamp type",
"description": "Time stamp in unixTimeMillis",
"type": "string",
"format": "utc-millisec"
},
"href": {
"$comment": "Link to the resource",
"description": "href that points to a resource.",
"type": "string",
"format": "uri"
},
"timeInterval": {
"$comment": "Time interval type",
"type": "object",
"javaType": "org.openmetadata.catalog.type.TimeInterval",
"properties": {
"start": {
"description": "Start unixTimeMillis",
"description": "Start time in unixTimeMillis.",
"type": "integer"
},
"end": {
"description": "End unixTimeMillis",
"description": "End time in unixTimeMillis.",
"type": "integer"
}
}
},
"duration": {
"description": "Duration in ISO 8601 format in UTC time. Example - 'P23DT23H'",
"type": "string",
"$comment": "Jsonschema does not handle ISO 8601 duration yet and hence no format for this type"
"description": "Duration in ISO 8601 format in UTC time. Example - 'P23DT23H'.",
"type": "string"
},
"date": {
"description": "Date in ISO 8601 format in UTC time. Example - '2018-11-13'",
"description": "Date in ISO 8601 format in UTC time. Example - '2018-11-13'.",
"type": "string",
"format": "date"
},
"dateTime": {
"description": "Date and time in ISO 8601 format. Example - '2018-11-13T20:20:39+00:00'",
"description": "Date and time in ISO 8601 format. Example - '2018-11-13T20:20:39+00:00'.",
"type": "string",
"format": "date-Time"
}

View File

@ -2,26 +2,26 @@
"$id": "https://github.com/open-metadata/OpenMetadata/blob/main/catalog-rest-service/src/main/resources/json/schema/type/collectionDescriptor.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Schema for collection descriptor",
"description": "Type used for capturing the details of a collection",
"description": "Type used for capturing the details of a collection.",
"type": "object",
"definitions": {
"collectionInfo": {
"description": "Collection Info",
"description": "Collection Info.",
"type": "object",
"javaType": "org.openmetadata.catalog.type.CollectionInfo",
"properties": {
"name": {
"description": "Unique name that identifies a collection",
"description": "Unique name that identifies a collection.",
"type": "string"
},
"documentation": {
"description": "Description of collection",
"description": "Description of collection.",
"type": "string"
},
"href": {
"type": "string",
"description": "URL of the API endpoint where given collections are available",
"description": "URL of the API endpoint where given collections are available.",
"format": "uri"
},
"images": {

View File

@ -2,12 +2,12 @@
"$id": "https://github.com/open-metadata/OpenMetadata/blob/main/catalog-rest-service/src/main/resources/json/schema/type/dailyCount.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Daily count of some measurement",
"description": "Type used for capturing and reporting daily count of some measurement, such as usage, joins",
"description": "This schema defines type used for capturing and reporting daily count of some measurement, such as usage, joins.",
"type" : "object",
"properties": {
"count": {
"description": "Daily count of a measurement on the given date",
"description": "Daily count of a measurement on the given date.",
"type": "integer",
"minimum": 0
},

View File

@ -2,7 +2,7 @@
"$id": "https://github.com/open-metadata/OpenMetadata/blob/main/catalog-rest-service/src/main/resources/json/schema/type/entityReference.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Entity Reference",
"description": "Entity reference that includes entity ID and entity type",
"description": "This schema defines the type Entity Reference used for referencing an entity.",
"type": "object",
"javaType": "org.openmetadata.catalog.type.EntityReference",
"definitions": {
@ -16,7 +16,7 @@
},
"properties": {
"id": {
"description": "Unique identifier that identifies an entity instance",
"description": "Unique identifier that identifies an entity instance.",
"$ref": "basic.json#/definitions/uuid"
},
"type": {
@ -24,15 +24,15 @@
"type": "string"
},
"name": {
"description": "Name of the entity instance",
"description": "Name of the entity instance.",
"type": "string"
},
"description": {
"description": "Optional description of entity",
"description": "Optional description of entity.",
"type": "string"
},
"href": {
"description": "Link to the entity resource",
"description": "Link to the entity resource.",
"$ref": "basic.json#/definitions/href"
}
},

View File

@ -2,16 +2,16 @@
"$id": "https://github.com/open-metadata/OpenMetadata/blob/main/catalog-rest-service/src/main/resources/json/schema/type/entityUsage.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Usage details of an entity",
"description": "Type used for capturing usage details of an entity",
"description": "This schema defines type used for capturing usage details of an entity.",
"type" : "object",
"properties": {
"entity": {
"description": "Entity for which usage is returned",
"description": "Entity for which usage is returned.",
"$ref": "entityReference.json"
},
"usage": {
"description": "List usage details per day",
"description": "List usage details per day.",
"type": "array",
"items": {
"$ref": "usageDetails.json"

View File

@ -2,7 +2,7 @@
"$id": "https://github.com/open-metadata/OpenMetadata/blob/main/catalog-rest-service/src/main/resources/json/schema/type/jdbcConnection.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "JDBC connection",
"description": "JDBC connection information used for connecting to a database system",
"description": "This schema defines type used for capturing JDBC connection information used for connecting to a database services.",
"type": "object",
"definitions": {
@ -45,11 +45,11 @@
"$ref" : "#/definitions/connectionUrl"
},
"userName": {
"description": "Login user name",
"description": "Login user name.",
"type": "string"
},
"password": {
"description": "Login password",
"description": "Login password.",
"type": "string"
}
},

View File

@ -1,13 +1,13 @@
{
"$id": "https://github.com/open-metadata/OpenMetadata/blob/main/catalog-rest-service/src/main/resources/json/schema/type/profile.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Type used to capture profile of a user, team, or an organization",
"description": "Type used to capture profile of a user, team, or an organization",
"title": "Profile",
"description": "This schema defines type used to capture profile of a user, team, or an organization.",
"type": "object",
"javaType": "org.openmetadata.catalog.type.Profile",
"definitions": {
"imageList": {
"description": "Links to list of images of varying resolutions/sizes",
"description": "Links to list of images of varying resolutions/sizes.",
"type": "object",
"javaType": "org.openmetadata.catalog.type.ImageList",
"properties": {

View File

@ -2,16 +2,16 @@
"$id": "https://github.com/open-metadata/OpenMetadata/blob/main/catalog-rest-service/src/main/resources/json/schema/type/schedule.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Type used for schedule with start time and repeat frequency",
"description": "Type used for schedule with start time and repeat frequency",
"description": "This schema defines type used for Schedule with start time and repeat frequency.",
"type": "object",
"javaType": "org.openmetadata.catalog.type.Schedule",
"properties": {
"startDate": {
"description": "Start date and time of the schedule",
"description": "Start date and time of the schedule.",
"$ref": "basic.json#/definitions/dateTime"
},
"repeatFrequency": {
"description": "Repeat frequency in ISO 8601 duration format",
"description": "Repeat frequency in ISO 8601 duration format.",
"$ref": "basic.json#/definitions/duration"
}
}

View File

@ -2,7 +2,7 @@
"$id": "https://github.com/open-metadata/OpenMetadata/blob/main/catalog-rest-service/src/main/resources/json/schema/type/tagLabel.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Tag Label",
"description": "Type used for schedule with start time and repeat frequency",
"description": "This schema defines type used for labeling an entity or an entity field with a Tag.",
"type": "object",
"javaType": "org.openmetadata.catalog.type.TagLabel",
"properties": {
@ -29,7 +29,7 @@
"default": "Confirmed"
},
"href": {
"description": "Link to the tag resource",
"description": "Link to the tag resource.",
"$ref": "basic.json#/definitions/href"
}
}

View File

@ -2,7 +2,7 @@
"$id": "https://github.com/open-metadata/OpenMetadata/blob/main/catalog-rest-service/src/main/resources/json/schema/type/usageDetails.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Type used to return usage details of an entity",
"description": "Type used to return usage details of an entity",
"description": "This schema defines type used for capturing usage details of an entity.",
"type": "object",
"javaType": "org.openmetadata.catalog.type.UsageDetails",
"definitions": {
@ -12,12 +12,12 @@
"javaType": "org.openmetadata.catalog.type.UsageStats",
"properties": {
"count": {
"Description": "Usage count of a data asset on the start date",
"description": "Usage count of a data asset on the start date.",
"type": "integer",
"minimum": 0
},
"percentileRank": {
"Description": "Optional daily percentile rank data asset use when relevant",
"description": "Optional daily percentile rank data asset use when relevant.",
"type": "number",
"minimum": 0,
"maximum": 100
@ -31,19 +31,19 @@
},
"properties": {
"dailyStats": {
"Description": "Daily usage stats of a data asset on the start date",
"description": "Daily usage stats of a data asset on the start date.",
"$ref": "#/definitions/usageStats"
},
"weeklyStats": {
"Description": "Weekly (last 7 days) rolling usage stats of a data asset on the start date",
"description": "Weekly (last 7 days) rolling usage stats of a data asset on the start date.",
"$ref": "#/definitions/usageStats"
},
"monthlyStats": {
"Description": "Monthly (last 30 days) rolling usage stats of a data asset on the start date",
"description": "Monthly (last 30 days) rolling usage stats of a data asset on the start date.",
"$ref": "#/definitions/usageStats"
},
"date": {
"Description": "Date in UTC time",
"description": "Date in UTC time.",
"$ref": "basic.json#/definitions/date"
}
},