Skip to content

Libraries and CLI tools for creation, consumption, and execution of ARC validation packages

License

Notifications You must be signed in to change notification settings

nfdi4plants/arc-validate

Repository files navigation

arc-validate

Home of all the tools and libraries to create and run validation of ARCs:

  • ARCExpect (docs 📓) - easy to use and understand APIs to create and execute validation cases.
  • ARCValidationPackages (docs 📓) - package for installing, updating, and executing ARC validation packages.
  • arc-validate/ (docs 📓) - CLI tool that offers commands for validating ARCs and managing validation packages.

Docker container

This repository provides a docker container that has the arc-validate tool pre-installed for using it in DataHUB-CI jobs.

Use the containers tagged with main for production use.

Project aim

Validation of ARCs based on:

  • ARCTokenization: Structural ontologies for file formats (for parsing/tokenizing files): INVMSO, STDMSO, ASSMSO
  • OBO.NET:
    • parsing ontologies, generation of OBO graphs based on ontology term relation
    • code genearation of ontology modules with accessible terms
  • ARCGraph: Graph representation of file content based on structural ontologies via OBO graph
  • Graph-based completion of File content (missing cells -> empty tokens) via ARCGraph
  • ARCExpect: Expecto-like API for creating validation cases
  • Validation Packages: API for installing and executing additional validation packages

Project layout

Dependency visualization

flowchart TD

ControlledVocabulary("<b>ControlledVocabulary:</b><br>Data model for CVs")
ARCTokenization("<b>ARCTokenization:</b><br>Tokenization of ARCs into CVs")
OBO.NET("<b>OBO.NET:</b><br>OBO Ontology data model and parsing")
ARCGraph("<b>ARCGraph:</b><br>Graph based on structural ontologies")
ARCExpect("<b>ARCExpect:</b><br>Expecto-like API for validation")
ARCValidationPackages("<b>ARCValidationPackages:</b><br>API for additional validation packages")
arc-validate("<b>arc-validate:</b><br>validation CLI tool")

arc-validate --depends on--> ARCExpect
arc-validate --depends on--> ARCValidationPackages
ARCTokenization --depends on--> ControlledVocabulary
ARCTokenization --depends on--> OBO.NET
ARCExpect --depends on--> ARCGraph
ARCExpect --depends on--> ARCTokenization
ARCGraph --depends on--> ARCTokenization
ARCGraph --depends on--> OBO.NET
Loading

Libraries used

ARCExpect

ARCValidationPackages

arc-validate

Development

For how to contribute to and how to develop on this project, please read the Contributing guidelines.

Just call build.sh or build.cmd depending on your OS.

Test

test setup is interconnected with production services, running tests for the compiled arc-validate tool with validation packages with source https://avpr.nfdi4plants.org.

since testing the cli tool relies on it being compiled via dotnet publish, either use the build scripts or manually publish arc-validate to the /publish folder when using e.g. TestExplorers.

build.sh runtests
build.cmd runtests

Create Nuget package

build.sh pack

About

Libraries and CLI tools for creation, consumption, and execution of ARC validation packages

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors 5

Languages