Add a generic parser for indexing a vocabulary from bioontology

Description

Add support for a new “source” case of the indexing servlet (LFS-101), when “source=bioontology

The intermediary source will be "https://data.bioontology.org/ontologies/" + identifier + "?apikey=8ac0298d-99f4-4793-8c70-fb7d3400f279".

The intermediary source provides a JSON description of the vocabulary, which will need to be processed to identify the actual location of the vocabulary source file, and possible metadata.

The optional parameters override the metadata extracted from the intermediary source, if any. If no version can be extracted, then it will be automatically set to the current timestamp in the yyyy-MM-dd'T'HH:mm:ssz format.

When indexing, create or update a new node of type lfs:Vocabulary under /content/Vocabularies/, for example /content/Vocabularies/NCIT.

All existing children, if any, will be deleted.

For each term in the vocabulary, a new node of type lfs:VocabularyTerm will be created, with its properties extracted from the vocabulary source.

Parsing code for inspiration can be found in PhenoTips.

Environment

None

Status

Assignee

Sergiu Dumitriu

Reporter

Sergiu Dumitriu

Labels

None

External issue ID

None

External issue ID

None

Epic Link

Sprint

None

Priority

Medium