monarch-initiative / monarch-phenote

stub for monarch phenote
4 stars 3 forks source link

Add service for generating and importing phenopackets #27

Open cmungall opened 8 years ago

cmungall commented 8 years ago

This would be a distinct microservice; the core phenote uses a native RDF/OWL model, this is what will be stored in the repo. Conversion will be via a distinct library/service (I will produce new architecture docs clarifying this).

This service should be considered distinct and can be any language.

One option is to implement in java and use this lib: https://github.com/phenopackets/phenopacket-reference-implementation

As subset of graphs that are generated via phenote forms will turn out to be near-equivalent to the JSON-LD representation of a phenopacket, see https://github.com/phenopackets/phenopacket-format/issues/40 -- unfortunately exact equivalence may be unlikely due to awkwardness of reification (we use OWL2 axiom annotation in phenote/noctua, which looks awful in JSON-LD). But the mapping should be trivial

DoctorBud commented 8 years ago

I like the idea, and it seems a great little micro-project for one of our GSoC interns. I'd favor writing it in cross-platform (nodejs+browserjs, what the kids are calling 'isomorphic' these days) Javascript, so that we'd have the option of performing the conversion in-browser. In my ignorance, I see no reason why it couldn't be done in-browser. There may be external lookups necessary for the conversion, but these could also be browser-side. I like the idea of micro-services that can be deployed anywhere, not just unix.

cmungall commented 8 years ago

There's a number of dependencies to be aware of. The complete phenopackets spec is not trivial, and I'm still exploring language binding options, with java being the reference and python next. Follow https://github.com/phenopackets/phenopacket-format/issues/31