def evalDeleteWhere(ctx, u): """ http://www.w3.org/TR/sparql11-update/#deleteWhere """ res = {} res["type_"] = "DELETEWHERE" res["delta"] = {} _res = evalBGP(ctx, u.triples) for g in u.quads: cg = ctx.dataset.get_context(g) c = ctx.pushGraph(cg) _res = _join(_res, list(evalBGP(c, u.quads[g]))) for c in _res: g = ctx.graph filled, filled_delta = tee(_fillTemplate(u.triples, c)) _append(res["delta"], 'default', 'removals', list(filled_delta)) g -= filled for g in u.quads: cg = ctx.dataset.get_context(c.get(g)) filledq, filledq_delta = tee(_fillTemplate(u.quads[g], c)) _append(res["delta"], cg.identifier, 'removals', list(filledq_delta)) cg -= filledq return res
def evalDeleteWhere(ctx, u): """ http://www.w3.org/TR/sparql11-update/#deleteWhere """ res = {} res["type"] = "DELETEWHERE" res["delta"] = {} _res = evalBGP(ctx, u.triples) for g in u.quads: cg = ctx.dataset.get_context(g) c = ctx.pushGraph(cg) _res = _join(_res, list(evalBGP(c, u.quads[g]))) for c in _res: g = ctx.graph filled, filled_delta = tee(_fillTemplate(u.triples, c)) _append(res["delta"], 'default', 'removals', list(filled_delta)) g -= filled for g in u.quads: cg = ctx.dataset.get_context(c.get(g)) filledq, filledq_delta = tee(_fillTemplate(u.quads[g], c)) _append(res["delta"], cg.identifier, 'removals', list(filledq_delta)) cg -= filledq return res
def evalDeleteWhere(ctx, u): """ http://www.w3.org/TR/sparql11-update/#deleteWhere """ res = evalBGP(ctx, u.triples) for g in u.quads: cg = ctx.dataset.get_context(g) c = ctx.pushGraph(cg) res = _join(res, list(evalBGP(c, u.quads[g]))) for c in res: g = ctx.graph g -= _fillTemplate(u.triples, c) for g in u.quads: cg = ctx.dataset.get_context(c.get(g)) cg -= _fillTemplate(u.quads[g], c)
def customEval(ctx, part): """ Rewrite triple patterns to get super-classes """ if part.name == "BGP": # rewrite triples triples = [] for t in part.triples: if t[1] == RDF.type: bnode = rdflib.BNode() triples.append((t[0], t[1], bnode)) triples.append((bnode, inferredSubClass, t[2])) else: triples.append(t) # delegate to normal evalBGP return evalBGP(ctx, triples) raise NotImplementedError()
def customEval(ctx, part): """ Rewrite triple patterns to get super-classes """ if part.name == 'BGP': # rewrite triples triples = [] for t in part.triples: if t[1] == rdflib.RDF.type: bnode = rdflib.BNode() triples.append((t[0], t[1], bnode)) triples.append((bnode, inferredSubClass, t[2])) else: triples.append(t) # delegate to normal evalBGP return evalBGP(ctx, triples) raise NotImplementedError()