- - - - - - - - - -
          view on github
          getting started
          common errors
          chaining commands
          global options
          makefile
          plugins
          - - - - - - - - - -
          annotate
          collapse
          convert
          diff
          expand
          explain
          export
          export-prefixes
          extract
          filter
          materialize
          measure
          merge
          mirror
          python
          query
          reason
          reduce
          relax
          remove
          rename
          repair
          report
          template
          unmerge
          validate-profile
          verify
          - - - - - - - - - -
          ROBOT is licensed under the 
          BSD 3-Clause License.
          Theme by orderedlist
        
On Unix platforms it’s common to “chain” a series of commands, creating “pipeline” that combines several simple commands to accomplish a complex task. This works because most Unix tools communicate with streams of text. Unfortunately this doesn’t work as well for OWL ontologies, because they cannot be streamed between commands, but we can achieve a similar result within ROBOT.
ROBOT allows several commands to be chained by using the output ontology as the input to the next step. Here’s an example of a full release pipeline using chained commands:
robot \
  merge --input edit.owl \
  reason --reasoner ELK \
  annotate --annotation-file annotations.ttl --output results/example.owl \
  convert --output results/example.obo
Each command has been put on its own line, for clarity. Only the first command has an explicit --input argument. The following commands use the output of the previous command as their input. Also notice that the first two commands do not specify an --output file. Their output is not saved to the filesystem, only sent to the next command. But the last two commands both specify --output files, and their results are saved to different files.
Chained commands are powerful but can be tedious to write out. Consider putting them in a Makefile.