'Take the data and yield results that passed through the filters.
The output of each filter is added to a result set. So long as the filter
selects, but does not modify, raw data, the result count will remain
accurate.
Args:
raw_data: An iterable series of rdf values.
Returns:
A list of rdf values that matched at least one filter.'

def Parse(self, raw_data):

    self.results = set()
    if (not self.filters):
        self.results.update(raw_data)
    else:
        for f in self.filters:
            self.results.update(f.Parse(raw_data))
    return list(self.results)
