Using OntoWeaver, it is possible to have one adapter per data source.
Then, a fusion operation (currently only reconciliate) merges the duplicated nodes, without loss of information.
Two data sources may have different cardinality as for an object of interest (e.g. one has all the human genes, the other only some genes known to be involved in cancer; or one subsample the input during tests). In such case, the user might want to export only the intersection of the sets of objects of this type, and not the union (the current behavior).
It should be fairly simple to design a fusion process that implements the boolean operations on two inputs, and then a reduce function to operate over a set of inputs.