The JX Expression Language is an extension of the JSON data description language. It combines familiar expression operators, function calls, external data, and ordinary JSON contents to yield a powerful data querying and manipulation language. JX is used throughout the CCTools to manage and query unstructured data.
For example, JX expressions can be used to describe jobs in a workflow:
{
"command" : "collect.exe"
"inputs" : [ "input."+i+".txt" ]
"outputs" : [ "output."+i+".txt" ]
} for i in range(1,100)
Or to write LINQ-style queries on remote data:
fetch(url).select(type=="wq_master").select(tasks_submitted>100).project([name,tasks_running+tasks_waiting])
Related Publications
- Flexible Partitioning of Scientific Workflows Using the JX Workflow LanguageIn Practice and Experience in Advanced Research Computing (PEARC), 2019
- Poster: A First Look at the JX Workflow LanguageIn IEEE International Conference on e-Science, 2018