{ "$schema": "http://json-schema.org/draft-04/schema#", "id": "entity.json#", "type": "object", "title": "entity", "translation": { "ISO 19115-2": ["FC_FeatureCatalogue > featureType > FC_FeatureType"] }, "example": "../examples/entity.json", "required": ["codeName", "definition"], "additionalProperties": true, "properties": { "entityId": { "type": "string", "description": "A user provided unique ID for this entity. ", "translation": { "ISO 19115-2": ["FC_FeatureCatalogue > featureType > FC_FeatureType#id=''"] } }, "commonName": { "type": "string", "description": "The name commonly used to identify this entity", "translation": { "ISO 19115-2": ["FC_FeatureCatalogue > featureType > FC_FeatureType > typeName > localName"] } }, "codeName": { "type": "string", "description": "The code name used to identify this entity in a database schema or application software. For spreasheets this would likely be the sheet name. ", "translation": { "ISO 19115-2": ["FC_FeatureCatalogue > featureType > FC_FeatureType > code > CharacterString"] } }, "alias": { "type": "array", "description": "An array of quoted strings providing alternate names used to identify this entity", "translation": { "ISO 19115-2": ["FC_FeatureCatalogue > featureType > FC_FeatureType > aliases > localName"] }, "items": { "type": "string" } }, "definition": { "type": "string", "description": "A brief definition for the entity", "translation": { "ISO 19115-2": ["FC_FeatureCatalogue > featureType > FC_FeatureType > definition"] } }, "primaryKeyAttributeCodeName": { "type": "array", "description": "An array of quoted attribute code names that together compose the primary key set for the entity", "translation": { "ISO 19115-2": ["Note: the primary key is written as a text description into FC_FeatureCatalogue > featureType > FC_FeatureType > constrainedBy > FC_Constraint > description"] }, "items": { "type": "string" } }, "index": { "type": "array", "description": "An array of objects describing alternate indexes for the entity", "translation": { "ISO 19115-2": ["FC_FeatureCatalogue > Note: the index is written as a text description into featureType > FC_FeatureType > constrainedBy > FC_Constraint > description"] }, "items": { "$ref": "#/definitions/index" } }, "attribute": { "type": "array", "description": "An array of objects defining the attributes for the entity", "translation": { "ISO 19115-2": ["FC_FeatureCatalogue > featureType > FC_FeatureType > carrierOfCharacteristics > FC_FeatureAttribute"] }, "items": { "$ref": "#/definitions/attribute" } }, "foreignKey": { "type": "array", "description": "An array of objects describing attributes whose values are restricted to values found in the domain of an attribute belonging to another table or dataset", "translation": { "ISO 19115-2": ["Note: the foreign key is written as a text description into FC_FeatureCatalogue > featureType > FC_FeatureType > constrainedBy > FC_Constraint"] }, "items": { "$ref": "#/definitions/foreignKey" } } }, "definitions": { "index": { "type": "object", "example": "../examples/entityIndex.json", "required": ["codeName", "allowDuplicates", "attributeCodeName"], "additionalProperties": true, "properties": { "codeName": { "type": "string", "description": "The code name used to define the alternate index on the entity", "translation": { "ISO 19115-2": ["FC_FeatureCatalogue > featureType > FC_FeatureType > constrainedBy > FC_Constraint > description > CharacterString"] } }, "allowDuplicates": { "type": "boolean", "description": "Indicates whether the index allows duplicates or values are required to be unique. true = allow duplicates; false = values must be unique.", "translation": { "ISO 19115-2": ["FC_FeatureCatalogue > featureType > FC_FeatureType > constrainedBy > FC_Constraint > description > CharacterString"] } }, "attributeCodeName": { "type": "array", "description": "An array of quoted attribute code names that together compose an alternate key set for the entity", "translation": { "ISO 19115-2": ["FC_FeatureCatalogue > featureType > FC_FeatureType > constrainedBy > FC_Constraint > description > CharacterString"] }, "items": { "type": "string" } } } }, "attribute": { "type": "object", "example": "../examples/entityAttribute.json", "required": ["codeName", "dataType", "definition", "allowNull"], "additionalProperties": true, "properties": { "commonName": { "type": "string", "description": "The common name used to identify this attribute", "translation": { "ISO 19115-2": ["FC_FeatureCatalogue > featureType > FC_FeatureType > carrierOfCharacteristics > FC_FeatureAttribute > memberName > localName"] } }, "codeName": { "type": "string", "description": "The code used to identify this attribute. Most often this will be the table or spreadsheet column name", "translation": { "ISO 19115-2": ["FC_FeatureCatalogue > featureType > FC_FeatureType > carrierOfCharacteristics > FC_FeatureAttribute > code > CharacterString"] } }, "alias": { "type": "array", "description": "An array of quoted strings providing alternate names by which the attribute is known", "items": { "type": "string" } }, "definition": { "type": "string", "description": "A succinct but comprehensive definition for the attribute", "translation": { "ISO 19115-2": ["FC_FeatureCatalogue > featureType > FC_FeatureType > carrierOfCharacteristics > FC_FeatureAttribute > definition > CharacterString"] } }, "dataType": { "type": "string", "description": "The datatype for the attribute. Names for datatypes vary widely by database management system. Use the datatype name associated with the database system that implemented the entity. E.g. 'integer', 'boolean', 'decimal(8,5)', 'varchar(200)'", "translation": { "ISO 19115-2": ["FC_FeatureCatalogue > featureType > FC_FeatureType > carrierOfCharacteristics > FC_FeatureAttribute > valueType > TypeName > aName > CharacterString"] } }, "allowNull": { "type": "boolean", "description": "Indicates whether null values are allowed for the attribute", "translation": { "ISO 19115-2": ["FC_FeatureCatalogue > featureType > FC_FeatureType > carrierOfCharacteristics > FC_FeatureAttribute > cardinality > Multiplicity > range > MultiplicityRange > lower > integer[0=optional | 1=required]"] } }, "allowMany": { "type": "boolean", "description": "Indicates whether null values are allowed for the attribute", "translation": {} }, "units": { "type": "string", "description": "A unit-of-measure for the attribute. E.g. 'meters', 'atmospheres', 'liters'", "translation": { "ISO 19115-2": ["FC_FeatureCatalogue > featureType > FC_FeatureType > carrierOfCharacteristics > FC_FeatureAttribute > valueMeasurementUnit > [UnitDefinition > identifier | ConversionalUnit > identifier, name, catalogSystem, conversionToPreferredUnit, formula | BaseUnit > identifier, name, catalogSymbol, unitSystem | DerivedUnit > identifier, name, remarks, catalogSymbol, derivationUnitTerm]"] } }, "domainId": { "type": "string", "description": "Provides the domain ID for the dictionary Domain containing the list of permissable values for this attribute" }, "minValue": { "type": "string", "description": "The minimum range value permissible for this attribute" }, "maxValue": { "type": "string", "description": "The maximum range value permissible for this attribute" } } }, "foreignKey": { "type": "object", "example": "../examples/entityForeignKey.json", "required": ["localAttributeCodeName", "referencedEntityCodeName", "referencedAttributeCodeName"], "additionalProperties": true, "properties": { "localAttributeCodeName": { "type": "array", "description": "An array of local (referencing or child) attribute code names for this foreign key", "translation": { "ISO 19115-2": ["FC_FeatureCatalogue > featureType > FC_FeatureType > constrainedBy > FC_Constraint > description > CharacterString"] }, "items": { "type": "string" } }, "referencedEntityCodeName": { "type": "string", "description": "The entityID for the referenced (or parent) entity for this foreign key", "translation": { "ISO 19115-2": ["FC_FeatureCatalogue > featureType > FC_FeatureType > constrainedBy > FC_Constraint > description > CharacterString"] } }, "referencedAttributeCodeName": { "type": "array", "description": "An array of referenced (or parent) attribute code names for this foreign key. If the foreign key is compound key (more than one attribute compose the key) the order of the referenced attributes must allign precicely with the order and number of local attributes.", "translation": { "ISO 19115-2": ["FC_FeatureCatalogue > featureType > FC_FeatureType > constrainedBy > FC_Constraint > description > CharacterString"] }, "items": { "type": "string" } } } } } }