cellannotation / cell-annotation-schema

General, open-standard schema for cell annotations
9 stars 1 forks source link

Convert to LinkML #49

Closed dosumis closed 1 week ago

dosumis commented 8 months ago

Status: Draft for Discussion

No decisions have yet been made. This ticket is an EPIC for discussion. Initial subaims should be focussed on documentation and technical review.

As discussed with @satra & @lydiang - a linkML version of this schema would be broadly useful as it could be used to generate many different representations, including Python Classes, JSON-schema and RDF. The latter would provide a source for constructing integrated knowledge graphs (a useful aim for multiple grants). In order to avoid churn, this MUST be done in a way that precisely replicates the current JSON schema. Current users of the schema should see no change and we should be able to continue to take advantage of the build and testing systems already in place.

Semantics:

Challenges:

dosumis commented 7 months ago

It seems we can do a basic conversion using linkML tools (thanks to @satra for enquiring on obo-community#linkml-community):

https://linkml.io/schema-automator/packages/importers.html#importing-from-json-schema

We can start from this and experiment with adding type and predicate mappings.

dosumis commented 7 months ago

@hkir-dev - I will try some basic experiments using the BICAN product as a starting point.

dosumis commented 7 months ago

Update - I have experimented with schemauto. Only managed to install with Python 3.10 (due to greenlit dep), but then hit this: https://github.com/linkml/schema-automator/issues/122 Docker container available is x86 specific.

I think building locally with Poetry might be the way to go.

dosumis commented 7 months ago

Some progress drafting LinkML here https://github.com/dosumis/LinkML_cas_scratch/tree/main

dosumis commented 1 week ago

We are now using a LinkML conversion of the JSON schema to generate RDF from CAS - please see cas cas2rdf method on cas-tools. I will start a new ticket on publishing the LinkML & derived products using generators & link back to this ticket.