@Override public Op transform(OpPath opPath) { // Put the (graph) back round it // ?? inc default graph node. return new OpGraph(getNode() , opPath) ; // Does not get removed by transform above because this is // not the OpGraph that gets walked by the transform. }
public static Op quadize(Op op) { final Deque<QuadSlot> stack = new ArrayDeque<>() ; QuadSlot qSlot = new QuadSlot(Quad.defaultGraphNodeGenerated, Quad.defaultGraphNodeGenerated) ; stack.push(qSlot) ; // Starting condition OpVisitor before = new Pusher(stack) ; OpVisitor after = new Popper(stack) ; TransformQuadGraph qg = new TransformQuadGraph(stack, before, after) ; return Transformer.transformSkipService(qg, null, op, before, after) ; }
@Override public Op transform(OpBGP opBGP) { //System.out.print("transform(OpBGP) : "+getNode()+"\n"+opBGP) ; return new OpQuadPattern(getNode(), opBGP.getPattern()) ; }
@Override public Op transform(OpPropFunc opPropFunc, Op subOp) { if ( opPropFunc.getSubOp() != subOp ) opPropFunc = new OpPropFunc(opPropFunc.getProperty(), opPropFunc.getSubjectArgs(), opPropFunc.getObjectArgs(), subOp) ; // Put the (graph) back round it so the property function works on the named graph. return new OpGraph(getNode() , opPropFunc) ; }