inab / extended-json-schema-validators

Extended JSON Schema validators and extensions, reused in several projects (OpenEBench, FAIRification of genomic data tracks, etc...)
GNU Lesser General Public License v2.1
0 stars 2 forks source link

Add remote consistency check capabilities to reference validation programs #1

Closed jmfernandez closed 2 years ago

jmfernandez commented 7 years ago

As the benchmarking API is approaching a beta state, sooner than later benchmarking communities are going to be involved in the data uploading process. So, when the reference validation programs apply the consistency checks, like primary key uniqueness or foreign keys not dangled, they should also ask the benchmarking API about this.

diglesia commented 7 years ago

We should check the consistency against the public database. At this moment, we just check the consistency at the local level. Remote references are validated via REST.

JuergenHaasSIB commented 6 years ago

strict versioning is required to keep people happy and transparently evolve the API and the underlying data-model. I vote for introducing a version string ("V1") into the Rest API: https://dev-openebench.bsc.es/openebench/rest/breed/V1/openapi.json

redmitry commented 6 years ago

It is possible to check the object reference with HEAD instead of GET https://dev-openebench.bsc.es/openebench/rest/breed/Reference/10.1002/prot.10381

redmitry commented 6 years ago

The API version should be synchronized with data model (and not be in "dev-"). Also we have to agree better URL ("/rest/breed" was just my ad-hoc invention).

redmitry commented 6 years ago

It is possible to get a list of identifiers for the collection: curl-H "Accept: text/uri-list" https://dev-openebench.bsc.es/openebench/rest/breed/Reference/

javi-gv94 commented 4 years ago

+1 for this! Currently starting to work in a 'tool' to upload data automatically from a VRE workflow to OEB Mongo. For now I am only able to validate local objects independently, but would be extremely useful to add capability to validate foreign keys against remote OEB data.

jmfernandez commented 2 years ago

I apologize in advance, I have realized I left behind this issue, related to the python implementation of the extended JSON validator.

As the development around this validator was spread through forks over several repositories, I was working in October on the reunification of all the improvements in a common place (https://github.com/inab/python-extended-json-schema-validator/), and publishing the developments in PyPI (https://pypi.org/project/extended-json-schema-validator/).

I have re-read the issue, and the enhancement was implemented in a different repo, and inherited by the "re-unified" code. Through command line it is possible to tell a configuration file which can set up remote endpoints where to fetch already valid public identifiers related to the different JSON Schemas used to validate the contents. It is described at https://github.com/inab/python-extended-json-schema-validator/blob/main/README-extensions.md , under "Primary key values check".

Unless anyone has hesitations, I'm closing this issue.