{
  "type": "record",
  "Aspect": {
    "name": "schemaFieldsInferredMetadata"
  },
  "name": "SchemaFieldsInferredMetadata",
  "namespace": "com.linkedin.pegasus2avro.inferred",
  "fields": [
    {
      "type": {
        "type": "array",
        "items": {
          "type": "record",
          "name": "SchemaFieldInferredMetadata",
          "namespace": "com.linkedin.pegasus2avro.inferred",
          "fields": [
            {
              "java": {
                "class": "com.linkedin.pegasus2avro.common.urn.Urn"
              },
              "type": "string",
              "name": "fieldUrn",
              "doc": "SchemaField Urn this metadata is associated with",
              "Urn": "Urn"
            },
            {
              "Searchable": {
                "/*/description": {
                  "fieldName": "inferredFieldDescriptions",
                  "fieldType": "TEXT"
                }
              },
              "type": [
                "null",
                {
                  "type": "array",
                  "items": {
                    "type": "record",
                    "name": "InferredDescription",
                    "namespace": "com.linkedin.pegasus2avro.inferred",
                    "fields": [
                      {
                        "type": "string",
                        "name": "description",
                        "doc": "Inferred description text"
                      },
                      {
                        "type": {
                          "type": "record",
                          "name": "InferredMetadataSource",
                          "namespace": "com.linkedin.pegasus2avro.inferred",
                          "fields": [
                            {
                              "type": "string",
                              "name": "algorithm",
                              "doc": "Algorithm used for inference"
                            },
                            {
                              "type": [
                                "null",
                                "float"
                              ],
                              "name": "score",
                              "default": null,
                              "doc": "Inference score - can be used to decide rank of inference\nFor same algorithm, higher score represents higher confidence in inference.\nThis score is not intended to be compared across multiple algorithms."
                            },
                            {
                              "type": [
                                "null",
                                {
                                  "type": "map",
                                  "values": "string"
                                }
                              ],
                              "name": "context",
                              "default": null,
                              "doc": "Additional details about this inference"
                            },
                            {
                              "type": [
                                "null",
                                {
                                  "type": "array",
                                  "items": {
                                    "type": "enum",
                                    "symbolDocs": {
                                      "DATASET_PLATFORM": "Platform of dataset",
                                      "DATASET_SCHEMA": "Schema of dataset",
                                      "ENTITY_DESCRIPTION": "Description of entity",
                                      "ENTITY_NAME": "Name of entity",
                                      "FIELD_DATA_TYPE": "Datatype of dataset field",
                                      "FIELD_DESCRIPTION": "Description of dataset field",
                                      "FIELD_NAME": "Name of dataset field",
                                      "FIELD_PARENT_DATASET": "Dataset containing the field",
                                      "LINEAGE": "Lineage of entity"
                                    },
                                    "name": "SimilarityFactor",
                                    "namespace": "com.linkedin.pegasus2avro.inferred",
                                    "symbols": [
                                      "ENTITY_NAME",
                                      "ENTITY_DESCRIPTION",
                                      "LINEAGE",
                                      "DATASET_SCHEMA",
                                      "DATASET_PLATFORM",
                                      "FIELD_NAME",
                                      "FIELD_DESCRIPTION",
                                      "FIELD_DATA_TYPE",
                                      "FIELD_PARENT_DATASET"
                                    ],
                                    "doc": "Factors related to an entity"
                                  }
                                }
                              ],
                              "name": "similarityFactors",
                              "default": null,
                              "doc": "Primary factors contributing to this inference\nOrdering of the array indicates rank."
                            }
                          ],
                          "doc": "Provenace details corresponding to an inference"
                        },
                        "name": "source",
                        "doc": "Provenance details about this inference"
                      }
                    ],
                    "doc": "Records inferred description and its provenance"
                  }
                }
              ],
              "name": "inferredDescriptions",
              "default": null,
              "doc": "Inferred descriptions for schema field"
            },
            {
              "Searchable": {
                "/*/tags/*": {
                  "fieldName": "inferredFieldTags",
                  "fieldType": "URN"
                }
              },
              "type": [
                "null",
                {
                  "type": "array",
                  "items": {
                    "type": "record",
                    "name": "InferredTags",
                    "namespace": "com.linkedin.pegasus2avro.inferred",
                    "fields": [
                      {
                        "type": {
                          "type": "array",
                          "items": "string"
                        },
                        "name": "tags",
                        "doc": "Urns of inferred Tag",
                        "Urn": "Urn",
                        "urn_is_array": true
                      },
                      {
                        "type": "com.linkedin.pegasus2avro.inferred.InferredMetadataSource",
                        "name": "source",
                        "doc": "Provenance details about this inference"
                      }
                    ],
                    "doc": "Records inferred tags along with their provenance\nAll tags in this record share same provenance"
                  }
                }
              ],
              "name": "inferredTags",
              "default": null,
              "doc": "Inferred tags for schema field"
            },
            {
              "Searchable": {
                "/*/glossaryTerms/*": {
                  "fieldName": "inferredFieldGlossaryTerms",
                  "fieldType": "URN"
                }
              },
              "type": [
                "null",
                {
                  "type": "array",
                  "items": {
                    "type": "record",
                    "name": "InferredGlossaryTerms",
                    "namespace": "com.linkedin.pegasus2avro.inferred",
                    "fields": [
                      {
                        "type": {
                          "type": "array",
                          "items": "string"
                        },
                        "name": "glossaryTerms",
                        "doc": "Urn of inferred glossary term",
                        "Urn": "Urn",
                        "urn_is_array": true
                      },
                      {
                        "type": "com.linkedin.pegasus2avro.inferred.InferredMetadataSource",
                        "name": "source",
                        "doc": "Provenance details about this inference"
                      }
                    ],
                    "doc": "Records inferred glossary terms along with their provenance\nAll glossary terms from this record share same provenance"
                  }
                }
              ],
              "name": "inferredGlossaryTerms",
              "default": null,
              "doc": "Inferred glossary terms for schema field"
            }
          ],
          "doc": "Inferred Metadata for dataset schema fields"
        }
      },
      "name": "schemaFieldsInferredMetadata",
      "doc": "Inferred Metadata for dataset's schema fields"
    }
  ],
  "doc": "Aspect for representing Inferred Metadata for dataset's schema fields"
}