monarch-initiative / uri-expression-language

Creative Commons Zero v1.0 Universal
3 stars 0 forks source link

Proposal: Building a basic infrastructure for resolving and unfolding complex expressions #2

Open matentzn opened 7 months ago

matentzn commented 7 months ago

Summary: We propose to build a web service for processing complex expressions. The goal is to support requests of the kind:

http://my.org/schema/disease0001/(disease:'MONDO:0005148',modifier:'PATO:0000396')?model=owl

or

http://my.org/schema/disease0001/(disease:'MONDO:0005148',modifier:'PATO:0000396')?model=obographviz

or

http://my.org/schema/disease0001/(disease:'MONDO:0005148',modifier:'PATO:0000396')?model=mermaid

to return a "model instance", for example:

  1. model=owl: an OWL Class Expression in RDF/XML
  2. model=obographviz: a PNG file with an obographviz picture
  3. model=mermaid: an embeddable diagram in mermaid syntax

The infrastructure should be easily extensible to allow many other kinds models, including "schema instance", "schema validation" and more.

The infrastructure should be implemented in a modern API framework (e.g. fastapi). The actual transformation processes (generate_owl(), generate_obographviz(), generate_mermaid() take as an input the LinkML schema that underpins the service, an instance of a complex expression (jsonurl->json) and generate the required model instance. Some of the transformation processes will be handled by standard LinkML conversion tools, others will need bespoke generators.

matentzn commented 7 months ago

@cmungall @sierramoxon @cassiatrojahn can you check if this rough draft makes any sense? I am thinking of working with @cassiatrojahn to turn this into a proper project description for a master student.