In reply to a question on Facebook ("Do you have some examples or use case docs? I'm trying to wrap my head around what I could do with something like this."):<p>There is a subproject called hydra-extensions (<a href="https://github.com/.../hydra.../src/main/haskell/Hydra" rel="nofollow">https://github.com/.../hydra.../src/main/haskell/Hydra</a>) where I have started putting examples, but there is no documentation yet. There is a wiki from a recent hackathon at LinkedIn (where I provided Hydra-based tools to the contestants) which I would like to pull out, as well. Here are some things you can do, though: 1) define schemas for your application domain and map them into various mainstream schema languages, 2) define graphs and map them out into various data languages, 3) transport schemas and/or data horizontally between languages -- this was done a lot with Dragon 4) do hybrid things like using a schema expressed in one language to validate data in an unrelated data language 5) define translation pipelines which take schema-conforming data (e.g. JSON conforming to an Avro schema) and turn them into graphs, e.g. RDF graphs conforming to a SHACL shapes graph. Hydra aims to make the boundaries between the languages it supports more permeable.
Hydra is a transformation toolkit along the lines of Dragon (Uber), but open source, and with a more advanced type system and other new features. Hydra maps data and schemas between languages in a way which maintains type conformance. It will even map functional programs between selected languages, including parts of its own source code.