JSON Schema
⚠️
The JSON Schema is under active development and not considered stable until version 1.0.
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://commonmeta.org/commonmeta_v0.9.1.json",
"title": "Commonmeta v0.9.1",
"description": "JSON representation of the Commonmeta schema.",
"additionalProperties": false,
"definitions": {
"affiliations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": { "type": "string", "format": "uri" },
"name": { "type": "string" }
},
"required": ["name"]
},
"uniqueItems": true
},
"latitude": {
"type": "number",
"minimum": -90,
"maximum": 90
},
"longitude": {
"type": "number",
"minimum": -180,
"maximum": 180
},
"geoLocationPoint": {
"type": "object",
"properties": {
"pointLongitude": { "$ref": "#/definitions/longitude" },
"pointLatitude": { "$ref": "#/definitions/latitude" }
},
"required": ["pointLongitude", "pointLatitude"]
}
},
"type": "object",
"properties": {
"id": {
"description": "The unique identifier for the resource.",
"type": "string",
"format": "uri",
"pattern": "^https?://"
},
"type": {
"description": "The type of the resource.",
"enum": [
"Article",
"Audiovisual",
"BookChapter",
"BookSeries",
"Book",
"Component",
"Dataset",
"Dissertation",
"Document",
"Grant",
"Instrument",
"JournalArticle",
"JournalIssue",
"JournalVolume",
"Journal",
"PeerReview",
"PhysicalObject",
"ProceedingsArticle",
"ProceedingsSeries",
"Proceedings",
"ReportComponent",
"ReportSeries",
"Report",
"Software",
"Other"
]
},
"additional_type": {
"description": "The additional type of the resource.",
"type": "string"
},
"url": {
"description": "The URL of the resource.",
"type": "string",
"format": "uri"
},
"creators": {
"description": "The creators of the resource.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "The unique identifier for the creator.",
"type": "string",
"format": "uri"
},
"type": {
"description": "The type of the creator.",
"type": "string",
"enum": ["Organization", "Person"]
},
"name": {
"description": "The name of the creator.",
"type": "string"
},
"givenName": {
"description": "The given name of the creator.",
"type": "string"
},
"familyName": {
"description": "The family name of the creator.",
"type": "string"
},
"affiliation": { "$ref": "#/definitions/affiliations" }
}
},
"minItems": 1,
"uniqueItems": true
},
"publisher": {
"description": "The publisher of the resource.",
"type": "object",
"properties": {
"id": {
"description": "The identifier for the publisher.",
"type": "string"
},
"name": {
"description": "The name of the publisher.",
"type": "string"
}
},
"required": ["name"]
},
"date": {
"description": "The dates for the resource.",
"type": "object",
"format": "date"
},
"titles": {
"description": "The titles of the resource.",
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"description": "The title of the resource.",
"type": "string"
},
"type": {
"description": "The type of the title.",
"type": "string",
"enum": ["AlternativeTitle", "Subtitle", "TranslatedTitle"]
}
},
"required": ["title"]
}
},
"container": {
"description": "The container of the resource.",
"type": "object",
"properties": {
"id": {
"description": "The identifier for the container.",
"type": "string"
},
"type": {
"description": "The type of the container.",
"type": "string",
"enum": ["Book", "BookSeries", "Journal", "Periodical", "ProceedingsSeries", "Series"]
},
"title": {
"description": "The title of the container.",
"type": "string"
}
}
},
"contributors": {
"description": "The contributors to the resource.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "The unique identifier for the contributor.",
"type": "string"
},
"type": {
"description": "The type of the contributor.",
"type": "string",
"enum": ["Organization", "Person"]
},
"name": {
"description": "The name of the contributor.",
"type": "string"
},
"givenName": {
"description": "The given name of the contributor.",
"type": "string"
},
"familyName": {
"description": "The family name of the contributor.",
"type": "string"
},
"affiliation": { "$ref": "#/definitions/affiliations" }
}
}
},
"subjects": {
"type": "array",
"items": {
"type": "object",
"properties": {
"subject": { "type": "string" }
},
"required": ["subject"]
},
"uniqueItems": true
},
"sizes": {
"description": "The sizes of the resource.",
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"formats": {
"description": "The formats of the resource.",
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"language": {
"description": "The language of the resource. Use one of the language codes from the IETF BCP 47 standard.",
"type": "string"
},
"license": {
"description": "The license for the resource. Use one of the SPDX license identifiers.",
"type": "object",
"properties": {
"id": { "type": "string" },
"url": { "type": "string", "format": "uri" }
}
},
"version": {
"description": "The version of the resource.",
"type": "string"
},
"references": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": { "type": "string" },
"doi": { "type": "string" },
"creator": { "type": "string" },
"title": { "type": "string" },
"publisher": { "type": "string" },
"publicationYear": { "type": "string" },
"volume": { "type": "string" },
"issue": { "type": "string" },
"firstPage": { "type": "string" },
"lastPage": { "type": "string" },
"containerTitle": { "type": "string" },
"edition": { "type": "string" },
"contributor": { "type": "string" },
"unstructured": { "type": "string" }
},
"required": ["key"]
},
"uniqueItems": true
},
"funding_references": {
"description": "The funding references for the resource.",
"type": "array",
"items": {
"type": "object",
"properties": {
"funderIdentifier": { "type": "string" },
"funderIdentifierType": {
"type": "string",
"enum": [
"Crossref Funder ID",
"ROR",
"GRID",
"ISNI",
"Ringgold",
"Other"
]
},
"funderName": { "type": "string" },
"awardNumber": { "type": "string" },
"award_uri": { "type": "string", "format": "uri" }
},
"required": ["funderName"]
}
},
"descriptions": {
"description": "The descriptions of the resource.",
"type": "array",
"items": {
"type": "object",
"properties": {
"description": {
"description": "The description of the resource.",
"type": "string"
},
"type": {
"description": "The type of the description.",
"type": "string",
"enum": ["Abstract", "Description", "Summary"]
}
},
"required": ["description"]
}
},
"geo_locations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"geoLocationPlace": { "type": "string" },
"geoLocationPoint": { "$ref": "#/definitions/geoLocationPoint" },
"geoLocationBox": {
"type": "object",
"properties": {
"westBoundLongitude": { "$ref": "#/definitions/longitude" },
"eastBoundLongitude": { "$ref": "#/definitions/longitude" },
"southBoundLatitude": { "$ref": "#/definitions/latitude" },
"northBoundLatitude": { "$ref": "#/definitions/latitude" }
},
"required": [
"westBoundLongitude",
"eastBoundLongitude",
"southBoundLatitude",
"northBoundLatitude"
]
},
"geoLocationPolygons": {
"type": "array",
"items": {
"type": "object",
"properties": {
"polygonPoints": {
"type": "array",
"items": { "$ref": "#/definitions/geoLocationPoint" },
"minItems": 4
},
"inPolygonPoint": { "$ref": "#/definitions/geoLocationPoint" }
},
"required": ["polygonPoints"]
},
"uniqueItems": true
}
}
},
"uniqueItems": true
},
"provider": {
"description": "The provider of the resource. This can be a DOI registration agency or a repository.",
"type": "string",
"enum": ["Crossref", "DataCite", "GitHub", "JaLC", "KISTI", "mEDRA", "OP"]
},
"alternate_identifiers": {
"description": "Alternate identifiers for the resource.",
"type": "array",
"items": {
"type": "object",
"properties": {
"alternateIdentifier": { "type": "string" },
"alternateIdentifierType": { "type": "string" }
},
"required": ["alternateIdentifier", "alternateIdentifierType"]
}
},
"content_url": {
"description": "The URL of the content of the resource.",
"type": "array",
"items": {
"type": "string",
"format": "uri"
}
},
"schema_version": {
"description": "The schema version of the resource.",
"type": "string",
"enum": [
"http://datacite.org/schema/kernel-3",
"http://datacite.org/schema/kernel-4"
]
},
"state": {
"description": "The state of the resource.",
"type": "string",
"enum": ["findable", "not_found"]
}
},
"required": ["id", "type", "url", "creators", "titles", "publisher", "date"]
}