Extension-domain: Difference between revisions
Lorikrammer (talk | contribs) |
Lorikrammer (talk | contribs) |
||
| (4 intermediate revisions by the same user not shown) | |||
| Line 10: | Line 10: | ||
}, | }, | ||
</pre> | </pre> | ||
{| class="wikitable" | |||
|+Components of the Extension Domain | |||
!Field | |||
!Required | |||
|- | |||
|extension_schema | |||
|OPTIONAL | |||
|} | |||
== Domain Components == | |||
A valid JSON schema for each extension used in this domain is expected to be specified. The schema should be namespaced, and it is recommended that resolving the namespaced URI will provide the extension’s JSON Schema. The URL | === Extensions === | ||
A valid JSON schema for each extension used in this domain is expected to be specified. The schema should be namespaced, and it is recommended that resolving the namespaced URI will provide the extension’s JSON Schema. The URL must be provided in the extension_schema field. | |||
== Extension Domain Examples == | |||
*[[Extension-fhir|FHIR extension]] | |||
*[[Extension-scm|SCM extension]] | |||
We provide an example here that is neither exclusive nor exhaustive. The following example is taken from Extension to [https://github.com/biocompute-objects/extension%20domain/tree/1.1.0/scm External References: Software Configuration Management (SCM) v1.1.0] | We provide an example here that is neither exclusive nor exhaustive. The following example is taken from Extension to [https://github.com/biocompute-objects/extension%20domain/tree/1.1.0/scm External References: Software Configuration Management (SCM) v1.1.0] | ||
| Line 29: | Line 42: | ||
] | ] | ||
== SCM Repository | === SCM Repository ''(scm_repository)'' === | ||
The base url for the SCM repository. | The base url for the SCM repository. | ||
== SCM Type | === SCM Type ''(scm_type)'' === | ||
A classifier for the type of SCM database. This field is a list of predefined values. Third-party scm types can be used, and if so the other value MUST be used. The options for this field include git (Git, including GitHub/GitLab), svn (Subversion), hg (mercurial) and others. | A classifier for the type of SCM database. This field is a list of predefined values. Third-party scm types can be used, and if so the other value MUST be used. The options for this field include git (Git, including GitHub/GitLab), svn (Subversion), hg (mercurial) and others. | ||
== SCM Commit | === SCM Commit ''(scm_commit)'' === | ||
This field is a reference to a revision within the scm repository. This SHOULD be a repository-wide commit identifier (e.g. afba51a222e199f5b58f9d19450f189055e93c44 or name of a tag (e.g. v1.0.0), but MAY be a name of a branch (e.g. master). | This field is a reference to a revision within the scm repository. This SHOULD be a repository-wide commit identifier (e.g. afba51a222e199f5b58f9d19450f189055e93c44 or name of a tag (e.g. v1.0.0), but MAY be a name of a branch (e.g. master). | ||
== SCM Path | === SCM Path ''(scm_path)'' === | ||
This is the path from the repository to the source code referenced. ''scm_path'' should NOT start with /. | |||
This is the path from the repository to the source code referenced. scm_path should NOT start with / | |||
The full | === SCM Preview ''(scm_preview)'' === | ||
The full URI for the source code is referenced by the BioCompute Object. | |||
Latest revision as of 22:05, 3 March 2026
Go back to BCO domains.
Extension Domain (extension_domain)
The extension_domain is a space for a user to add additional structured information that is not defined in the BioCompute schema. It is optional. While the extension domain is not defined by IEEE-2791-2020, each extension in this domain must provide a reference to the schema that defines it in order to validate. The extension domain allows a user to define additional fields and is the place to add any additional structured information.
Condensed example:
"extension_domain":{
},
| Field | Required |
|---|---|
| extension_schema | OPTIONAL |
Domain Components
Extensions
A valid JSON schema for each extension used in this domain is expected to be specified. The schema should be namespaced, and it is recommended that resolving the namespaced URI will provide the extension’s JSON Schema. The URL must be provided in the extension_schema field.
Extension Domain Examples
We provide an example here that is neither exclusive nor exhaustive. The following example is taken from Extension to External References: Software Configuration Management (SCM) v1.1.0
"extension_domain":[
{
"extension_schema": "https://w3id.org/biocompute/extension_domain/1.1.0/scm/scm_extension.json",
"scm_extension": {
"scm_repository": "https://github.com/example/repo1",
"scm_type": "git",
"scm_commit": "c9ffea0b60fa3bcf8e138af7c99ca141a6b8fb21",
"scm_path": "workflow/hive-viral-mutation-detection.cwl",
"scm_preview": "https://github.com/example/repo1/blob/c9ffea0b60fa3bcf8e138af7c99ca141a6b8fb21/workflow/hive-viral-mutation-detection.cwl"
}
}
]
SCM Repository (scm_repository)
The base url for the SCM repository.
SCM Type (scm_type)
A classifier for the type of SCM database. This field is a list of predefined values. Third-party scm types can be used, and if so the other value MUST be used. The options for this field include git (Git, including GitHub/GitLab), svn (Subversion), hg (mercurial) and others.
SCM Commit (scm_commit)
This field is a reference to a revision within the scm repository. This SHOULD be a repository-wide commit identifier (e.g. afba51a222e199f5b58f9d19450f189055e93c44 or name of a tag (e.g. v1.0.0), but MAY be a name of a branch (e.g. master).
SCM Path (scm_path)
This is the path from the repository to the source code referenced. scm_path should NOT start with /.
SCM Preview (scm_preview)
The full URI for the source code is referenced by the BioCompute Object.