def facts(self, name=None, value=None, **kwargs):
        if name is not None and value is not None:
            query = '["and",' \
                '["=", "name", "{0}"],' \
                '["=", "value", "{1}"]]'.format(
                    name, value)
        elif name is not None and value is None:
            query = '["=", "name", "{0}"]'.format(name)
        else:
            query = None

        facts = self._query('facts', query=query, **kwargs)
        for fact in facts:
            yield Fact(
                node=fact['certname'],
                name=fact['name'],
                value=fact['value'],
                environment=fact['environment']
            )
sort gff entries per contig and return a dictionary mapping a
dataset/ETHPy150Open voxpupuli/pypuppetdb/pypuppetdb/api/__init__.py/BaseAPI.facts--crossover with--dataset/ETHPy150Open CGATOxford/cgat/CGAT/GTF.py/SortPerContig