biocompute-objects / BCO_Documentation

Repository for documentation to support the IEEE 2791-2020 standard. Please see our home page for communications/publications:
http://biocomputeobject.org/
BSD 3-Clause "New" or "Revised" License
16 stars 12 forks source link

add io_domain schema #55

Closed HadleyKing closed 5 years ago

HadleyKing commented 5 years ago

… add io_domain schema and updated example file. apply to #47, #5,

corburn commented 5 years ago

@HadleyKing there have been multiple untested, freehand changes to the schema. Using the python script in https://github.com/biocompute-objects/BCO_Specification/pull/34#issue-230349716 to test the schema you'll find it is no longer valid.

As an example, by extracting the io_domain to a separate file, "$ref": "#/definitions/uri" is no longer a valid reference https://github.com/biocompute-objects/BCO_Specification/pull/55/files#diff-656fd9726e4db1f485efc2dbd8abbd64R63

As another example, a different change has restructured pipeline_steps so it can represent only one step. https://github.com/biocompute-objects/BCO_Specification/blob/8c2e98c7b0449ae433855981621d2ffb5f903449/schema/description_domain.json#L84-L96

EDIT: I failed to notice the uri definition was copied into io_domain.json

HadleyKing commented 5 years ago

@corburn - I think I fixed the issues causing the validate.py script to throw errors.

corburn commented 5 years ago

@HadleyKing

Junk files introduced: json.json schemas/.DS_Store schemas/schema.json

pipeline_steps definition probably invalid; the type has been set to 'array', but the definition is still for an object: https://github.com/biocompute-objects/BCO_Specification/blob/da029c3dba3d04601348d5846b9522aa13e1217f/schemas/description_domain.json#L85

Fields have been marked as required that were previously defined as optional in the spec. I don't know if this has changed or if it is out of sync. https://github.com/biocompute-objects/BCO_Specification/blob/da029c3dba3d04601348d5846b9522aa13e1217f/schemas/biocomputeobject.json#L12-L18

HadleyKing commented 5 years ago

Fields have been marked as required that were previously defined as optional in the spec. I don't know if this has changed or if it is out of sync. BCO_Specification/schemas/biocomputeobject.json

Lines 12 to 18 in da029c3

 "description_domain", 
 "usability_domain", 
 "execution_domain", 
 "parametric_domain", 
 "io_domain", 
 "error_domain" 

],

The "extension_domain" is the only domain that should be optional.