Reads through the rml mappings and determines all fields that should
        map to a list/array with a json output

def set_list_predicates(self):
        """
        Reads through the rml mappings and determines all fields that should
        map to a list/array with a json output
        """
        results = self.rml.query("""
                SELECT DISTINCT ?subj_class ?list_field
                {
                    ?bn rr:datatype rdf:List .
                    ?bn rr:predicate ?list_field .
                    ?s ?p ?bn .
                    ?s rr:subjectMap ?sm_bn .
                    ?sm_bn rr:class ?subj_class .
                }""")
        list_preds = [(Uri(row[0]).sparql, Uri(row[1]).sparql)
                      for row in results]
        array_fields = {}
        for tup in list_preds:
            try:
                array_fields[tup[0]].append(tup[1])
            except KeyError:
                array_fields[tup[0]] = [tup[1]]
        self.array_fields = array_fields