Algorithm
An algorithm: a published or versioned computation, such as ISO 9613-2:2024, or a model trained on data. Sealed steps and runs refer to it by id, as the method they claim to follow.
https://opendevelopmentstandards.org/schema/1.0.0-rc.2/core/Algorithm.json
Fields
Every entity also has the fields of the Entity base. The first row lists them.
From the Entity baseidnamedescriptionidentifierslinkscreatedAtupdatedAt
idRequiredtextnot emptyThe record's id: unique within the document. Fields that point at the record hold this id.
nametextThe name people use for the record.
descriptiontextWhat the record is, in words.
identifiersList ofDatatypeIdentifierIds the record has in other systems.
linksList ofDatatypeLinkOpen-ended links to other records.
createdAtdate-time (RFC 3339)When the record was created, in its producer's system.
updatedAtdate-time (RFC 3339)When the record last changed, in its producer's system.
typeOne ofthe codes belowWhat sort of computation it is.
calculation- A method that a published text sets out, such as a standard's equations.
model- A model trained on data, such as a machine-learning model.
theory- An analytical result or approximation from theory, used as a reference to judge other results against, such as the Markov approximation of turbulent scattering.
other- Any other computation.
versiontextThe version, as the publisher names it.
publisherWho publishes it.
standardThe standard it claims to follow.
modetextHow it applies the standard, when the standard allows choices, such as the meteorological correction used.
validationsList ofId ofEvidenceEvidence that this version does what it claims, such as a conformance report.
citationsList ofDatatypeCitationPapers, manuals and other works that describe it.
Links
Points at Records whose ids this record holds, with the field that holds each.
- StakeholderEntitypublisherA person or organization involved in a development, such as an operator, a consultant, a regulator or a resident.
- EvidenceEntityvalidationsOne observation, measured or calculated: what was observed, of which record, by which instrument or algorithm, over which interval, and the result. As in ISO 19156 (Observations and measurements).
Held by Records that embed this one, with their field that holds it.
Pointed at by Records that hold this one's id, with their field that holds it.
- EvidenceEntityalgorithmOne observation, measured or calculated: what was observed, of which record, by which instrument or algorithm, over which interval, and the result. As in ISO 19156 (Observations and measurements).
- StepPartalgorithmOne unit of work in a flow, such as a calculation, a question, a decision or a run of an algorithm. A sealed step names its inputs, its outputs and the algorithm it claims to follow, but not how it works.
- TraceEntityalgorithmsWhat one run of a flow or an algorithm did: what it used, each step, what it made, and the verdict. Its terms follow W3C PROV where they map: agents (prov:wasAssociatedWith), inputs (prov:used), outputs (prov:generated).
Examples
An id that another example defines opens that record.
Full example
{
"id": "algorithm-iso9613",
"name": "ISO 9613-2 engine",
"type": "calculation",
"version": "4.2.0",
"publisher": "stakeholder-operator",
"standard": {
"title": "ISO 9613-2:2024",
"edition": "2024"
},
"mode": "Downwind conditions, with the meteorological correction of 7.3",
"validations": [
"evidence-conformance"
]
}Show 1 more exampleHide the other example
Minimal example: the required fields only
{
"id": "algorithm-1"
}Changes and file
Changes
- 0.1.0 First version.
Schema file
Show the JSON SchemaHide the JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://opendevelopmentstandards.org/schema/1.0.0-rc.2/core/Algorithm.json",
"title": "Algorithm",
"description": "An algorithm: a published or versioned computation, such as ISO 9613-2:2024, or a model trained on data. Sealed steps and runs refer to it by id, as the method they claim to follow.",
"$ref": "Entity.json",
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"calculation",
"model",
"theory",
"other"
],
"description": "What sort of computation it is.",
"x-ods-options": [
{
"value": "calculation",
"title": "Calculation",
"description": "A method that a published text sets out, such as a standard's equations."
},
{
"value": "model",
"title": "Model",
"description": "A model trained on data, such as a machine-learning model."
},
{
"value": "theory",
"title": "Theory",
"description": "An analytical result or approximation from theory, used as a reference to judge other results against, such as the Markov approximation of turbulent scattering."
},
{
"value": "other",
"title": "Other",
"description": "Any other computation."
}
]
},
"version": {
"type": "string",
"description": "The version, as the publisher names it."
},
"publisher": {
"type": "string",
"minLength": 1,
"x-ods-ref": "Stakeholder",
"description": "Who publishes it."
},
"standard": {
"$ref": "Citation.json",
"description": "The standard it claims to follow."
},
"mode": {
"type": "string",
"description": "How it applies the standard, when the standard allows choices, such as the meteorological correction used."
},
"validations": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"x-ods-ref": "Evidence"
},
"description": "Evidence that this version does what it claims, such as a conformance report."
},
"citations": {
"type": "array",
"items": {
"$ref": "Citation.json"
},
"description": "Papers, manuals and other works that describe it."
}
},
"patternProperties": {
"^x-": {}
},
"unevaluatedProperties": false,
"examples": [
{
"id": "algorithm-1"
},
{
"id": "algorithm-iso9613",
"name": "ISO 9613-2 engine",
"type": "calculation",
"version": "4.2.0",
"publisher": "stakeholder-operator",
"standard": {
"title": "ISO 9613-2:2024",
"edition": "2024"
},
"mode": "Downwind conditions, with the meteorological correction of 7.3",
"validations": [
"evidence-conformance"
]
}
],
"x-ods-status": "draft",
"x-ods-kind": "entity",
"x-ods-module": "core",
"x-ods-changes": {
"0.1.0": "First version."
}
}