{ "name": "media", "title": "Media", "description": "Table with media files (images/videos) recorded during deployments (`deploymentID`). Includes timestamp and file path.", "fields": [ { "name": "mediaID", "description": "Unique identifier of the media file.", "skos:broadMatch": "http://purl.org/dc/terms/identifier", "type": "string", "constraints": { "required": true, "unique": true }, "example": "m1" }, { "name": "deploymentID", "description": "Identifier of the deployment the media file belongs to. Foreign key to `deployments.deploymentID`.", "skos:broadMatch": "http://rs.tdwg.org/dwc/terms/parentEventID", "type": "string", "constraints": { "required": true }, "example": "dep1" }, { "name": "captureMethod", "description": "Method used to capture the media file.", "skos:broadMatch": "http://rs.tdwg.org/ac/terms/resourceCreationTechnique", "type": "string", "constraints": { "required": false, "enum": [ "activityDetection", "timeLapse" ] }, "example": "activityDetection" }, { "name": "timestamp", "description": "Date and time at which the media file was recorded. Formatted as an ISO 8601 string with timezone designator (`YYYY-MM-DDThh:mm:ssZ` or `YYYY-MM-DDThh:mm:ss±hh:mm`).", "skos:exactMatch": "http://ns.adobe.com/xap/1.0/CreateDate", "type": "datetime", "format": "%Y-%m-%dT%H:%M:%S%z", "constraints": { "required": true }, "example": "2020-03-24T11:21:46Z" }, { "name": "filePath", "description": "URL or relative path to the media file, respectively for externally hosted files or files that are part of the package.", "skos:broadMatch": "http://rs.tdwg.org/ac/terms/accessURI", "type": "string", "constraints": { "required": true, "pattern": "^(?=^[^./~])(^((?!\\.{2}).)*$).*$" }, "example": "https://multimedia.agouti.eu/assets/6d65f3e4-4770-407b-b2bf-878983bf9872/file" }, { "name": "filePublic", "description": "`false` if the media file is not publicly accessible (e.g. to protect the privacy of people).", "skos:broadMatch": "http://rs.tdwg.org/ac/terms/serviceExpectation", "type": "boolean", "constraints": { "required": true }, "example": true }, { "name": "fileName", "description": "Name of the media file. If provided, one should be able to sort media files chronologically within a deployment on `timestamp` (first) and `fileName` (second).", "type": "string", "constraints": { "required": false }, "example": "IMG0001.jpg" }, { "name": "fileMediatype", "description": "Mediatype of the media file. Expressed as an [IANA Media Type](https://www.iana.org/assignments/media-types/media-types.xhtml).", "skos:broadMatch": "http://purl.org/dc/elements/1.1/format", "type": "string", "constraints": { "required": true, "pattern": "^(image|video|audio)\/.*$" }, "example": "image/jpeg" }, { "name": "exifData", "description": "EXIF data of the media file. Formatted as a valid JSON object.", "type": "any", "constraints": { "required": false }, "example": "{\"EXIF\":{\"ISO\":200,\"Make\":\"RECONYX\"}}" }, { "name": "favorite", "description": "`true` if the media file is deemed of interest (e.g. an exemplar image of an individual).", "type": "boolean", "constraints": { "required": false }, "example": true }, { "name": "mediaComments", "description": "Comments or notes about the media file.", "skos:exactMatch": "http://rs.tdwg.org/ac/terms/comments", "type": "string", "constraints": { "required": false }, "example": "corrupted file" } ], "missingValues": [ "" ], "primaryKey": "mediaID", "foreignKeys": [ { "fields": "deploymentID", "reference": { "resource": "deployments", "fields": "deploymentID" } } ] }