ROBOT

- - - - - - - - - -
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

Chaining

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.