@@ -19,6 +19,29 @@ This repository contains:
19
19
- a example of [ a protocol based on the reproschema] ( ./examples )
20
20
- the [ documentation] ( ./docs )
21
21
22
+ ## Developing ReproSchema
23
+
24
+ As of release 1.0.0, a linked data modeling language, [ LinkML] ( https://linkml.io/linkml/ ) , is used to create
25
+ a [ YAML file] ( linkml-schema/reproschema.yaml ) with the schema.
26
+
27
+ The [ context file] ( contexts/reproschema ) was automatically generated using LinkML,
28
+ and then manually curated in order to support all the reproschema feature.
29
+
30
+ ### Release
31
+ Upon release, there are additional formats, ` jsonsld ` , ` turtle ` , ` n-triples `
32
+ and ` pydantic ` that are created using ` LinkML ` tools, ` reproschema-py ` ,
33
+ and [ reproschema-specific script] ( ./scripts/fix_pydantic.py ) to "fix" the ` pydantic ` format.
34
+ The entire process is automated in the GitHub Action Workflow:
35
+ [ Validate and Release] ( .github/workflows/validate_and_release.yml ) .
36
+ This workflow must be manually triggered by the core developers once a new release is ready.
37
+ All the releases can be found in [ releases directory] ( ./releases ) .
38
+
39
+ ### Updating model in reproschema-py
40
+ Another GitHub Action Workflow: [ Create Pull Request to reproschema-py] ( .github/workflows/push_reproschema_py.yml )
41
+ is responsible for creating pull request to the ` reproschema-py ` Python library with
42
+ the new version of pydantic model and context.
43
+ The workflow is currently also triggered manually by the core developers.
44
+
22
45
23
46
## Licenses
24
47
0 commit comments