

def triples(self, triple, context=None):
    (subject, predicate, object_) = triple
    if (isinstance(subject, REGEXTerm) or isinstance(predicate, REGEXTerm) or isinstance(object_, REGEXTerm) or ((context is not None) and isinstance(context.identifier, REGEXTerm))):
        s = (((not isinstance(subject, REGEXTerm)) and subject) or None)
        p = (((not isinstance(predicate, REGEXTerm)) and predicate) or None)
        o = (((not isinstance(object_, REGEXTerm)) and object_) or None)
        c = ((((context is not None) and (not isinstance(context.identifier, REGEXTerm))) and context) or None)
        for ((s1, p1, o1), cg) in self.storage.triples((s, p, o), object_):
            matchingCtxs = []
            for ctx in cg:
                if (c is None):
                    if ((context is None) or context.identifier.compiledExpr.match(ctx.identifier)):
                        matchingCtxs.append(ctx)
                else:
                    matchingCtxs.append(ctx)
            if (matchingCtxs and regexCompareQuad((s1, p1, o1, None), (subject, predicate, object_, None))):
                (yield ((s1, p1, o1), (c for c in matchingCtxs)))
    else:
        for ((s1, p1, o1), cg) in self.storage.triples((subject, predicate, object_), context):
            (yield ((s1, p1, o1), cg))

dataset/ETHPy150Open RDFLib/rdflib/rdflib/plugins/stores/regexmatching.py REGEXMatching.triples/VarMisuse@188/212 `c`->`object_`