You could maybe use capabilities to expose which type of information your respective components support:
https://uima.apache.org/d/uimaj-current/references.html#ugr.ref.xml.component_descriptor.aes.capabilities To realize a custom pipeline topology, you would implement a custom flow controller https://uima.apache.org/d/uimaj-current/references.html#ugr.ref.xml.component_descriptor.flow_controller As inspiration, the CapabilityLanguageFlowController may be useful: https://svn.apache.org/repos/asf/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/flow/impl/CapabilityLanguageFlowController.java Cheers, -- Richard > On 22.06.2016, at 15:29, Augusto Ribeiro Silva <[email protected]> wrote: > > Hi, > > I couldn’t find any example on the documentation about the definition of > non-linear pipelines (not sure this is the right name to call it). > What I want to do is something like this: > > Pipeline: A -> (B or C) -> D > > So the step A supports two file formats, then depending on the file format a > normalisation step B or C should be performed. Then D should be performed for > the result of B and C. How would I go about defining such pipeline or if it > is even possible to do it. > > Thanks for the help in advance. > > Best regards, > Augusto
