<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _get_subset_matches(self, query):
 """ Yield publications, at indexes defined by `query` property values. Args: query (obj):
 Object implementing proper interface. Yields: list: List of matching publications. """

        for field_name, db_index in self._get_db_fields(query):
            attr = getattr(query, field_name)

            if attr is None:  # don't use unset attributes
                continue

            results = db_index.get(attr, OOTreeSet())

            if results:
                yield results