The MetadataFilter processing module filters Feature objects on the primary stream based on their metadata.
- <mdata_mode> : defines which set of Metadata perform filter check on. possible values are :
- feature : only checks the metadata directly attached to the feature.
- featuresource : only checks the metadata from the FeatureSource of the features.
- experiment : only checks the metadata from the Experiments expressed by the features. All Experiments are processed.
- all : all metadata from all the above are checked.
- <inverse> : inverses the filtering process. if set to true then objects not matching the metadata filters are passed through. if set to false then object with correctly match the metadata filers are allowed to pass through.
There are two ways to perform metadata filtering. Either by using "multi-keyword filter logic" or by a more directed specification of the metadata (type and/or value).
- <filter>some logic</filter> : use a multi-keyword filter logic to perform the filtering . This multi-keyword filter logic is modeled on the google/yahoo prefix-based multiple-keyword searching. Additional logic elements such as "and", "or", "!", "not", "()" can be interjected to fine tune one's queries.
If using specific metadata then the test is performed on the presence of any these in the metadata set, effectively performing an OR operation.
- <mdata type="some-type">some-value</mdata> : specifies a metadata of matching type and value
- <mdata type="some-type"></mdata> : specifies that any metadata matching the type will be filtered.
- <mdata>some-value</mdata> : specifies that any metadata matching the value will be filtered.
<zenbu_script> <stream_processing> <spstream module="MetadataFilter"> <mdata_mode>feature</mdata_mode> <inverse>false</inverse> <filter>immunoreceptor</filter> </spstream> </stream_processing> </zenbu_script>