{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://w3id.org/2791/schemas/2791object.json", "type": "object", "title": "Base type for all IEEE-2791 Objects", "description": "All IEEE-2791 object types must adhear to this type in order to be compliant with IEEE-2791 standard", "required": [ "ieee2791_id", "ieee2791_spec_version", "etag", "provenance_domain", "usability_domain", "description_domain", "execution_domain", "io_domain" ], "definitions": { "ieee2791_id": { "type": "string", "description": "A unique identifier that should be applied to each IEEE-2791 Object instance, generated and assigned by a IEEE-2791 database engine. IDs should never be reused", "examples": [ "https://w3id.org/2791/examples/HCV1a.json" ] }, "uri": { "type": "object", "description": "A Uniform Resource Identifer", "additionalProperties": false, "required": [ "uri" ], "properties": { "filename": { "type": "string" }, "uri": { "type": "string", "format": "uri" }, "access_time": { "type": "string", "format": "date-time" }, "sha1_checksum": { "type": "string", "description": "hash function that produces a message digest", "pattern": "[A-Za-z0-9]+" } } }, "contributor": { "type": "object", "description": "Contributor identifier and type of contribution (determined according to PAV ontology) is required", "required": [ "contribution", "name" ], "additionalProperties": false, "properties": { "name": { "type": "string", "description": "Name of contributor", "examples": [ "Charles Hadley King" ] }, "affiliation": { "type": "string", "description": "Organization the particular contributor is affiliated with", "examples": [ "George Washington University" ] }, "email": { "type": "string", "description": "electronic means for identification and communication purposes", "examples": [ "hadley_king@gwu.edu" ], "format": "email" }, "contribution": { "type": "array", "description": "type of contribution determined according to PAV ontology", "reference": "https://doi.org/10.1186/2041-1480-4-37", "items": { "type": "string", "enum": [ "authoredBy", "contributedBy", "createdAt", "createdBy", "createdWith", "curatedBy", "derivedFrom", "importedBy", "importedFrom", "providedBy", "retrievedBy", "retrievedFrom", "sourceAccessedBy" ] } }, "orcid": { "type": "string", "description": "Field to record author information. ORCID identifiers allow for the author to curate their information after submission. ORCID identifiers must be valid and must have the prefix ‘https://orcid.org/’", "examples": [ "https://orcid.org/0000-0003-1409-4549" ], "format": "uri" } } } }, "additionalProperties": false, "properties": { "ieee2791_id": { "$ref": "#/definitions/ieee2791_id", "readOnly": true }, "ieee2791_spec_version": { "type": "string", "description": "Version of the IEEE-2791 specification used to define this document", "examples": [ "https://w3id.org/2791/v1.2" ], "readOnly": true, "format": "uri" }, "etag": { "type": "string", "description": "A string-type, read-only value, protecting the object from internal or external alterations without proper validation generated with a SHA-256 hash function.", "examples": [ "5986B05969341343E77A95B4023600FC8FEF48B7E79F355E58B0B404A4F50995" ], "readOnly": true, "pattern": "^([A-Za-z0-9]+)$" }, "provenance_domain": { "$ref": "provenance_domain.json" }, "usability_domain": { "$ref": "usability_domain.json" }, "extension_domain": { "type": "array", "description": "points to internal or external references to a script object that was used to perform computations for this IEEE-2791 Object instance.", "items":{ "required":[ "extension_schema" ], "additionalProperties": true, "properties": { "extension_schema":{ "title": "Extension Schema", "description": "resolving this URI should provide this extension's JSON Schema", "type": "string", "format": "uri" } } } }, "description_domain": { "$ref": "description_domain.json" }, "execution_domain": { "$ref": "execution_domain.json" }, "parametric_domain": { "$ref": "parametric_domain.json" }, "io_domain": { "$ref": "io_domain.json" }, "error_domain": { "$ref": "error_domain.json" } } }