private static GraphTraversal<?, ?> transform(final E_NotExists expression) { final OpBGP opBGP = (OpBGP) expression.getGraphPattern(); final List<Triple> triples = opBGP.getPattern().getList(); if (triples.size() != 1) throw new IllegalStateException("Unhandled NOT EXISTS pattern"); final GraphTraversal<?, ?> traversal = TraversalBuilder.transform(triples.get(0)); final Step endStep = traversal.asAdmin().getEndStep(); final String label = (String) endStep.getLabels().iterator().next(); endStep.removeLabel(label); return __.not(traversal); } }
@Override public int hashCode() { return symbol.hashCode() ^ getGraphPattern().hashCode() ; }
@Override public boolean equals(Expr other, boolean bySyntax) { if ( other == null ) return false ; if ( this == other ) return true ; if ( ! ( other instanceof E_NotExists ) ) return false ; E_NotExists ex = (E_NotExists)other ; if ( bySyntax ) return this.getElement().equals(ex.getElement()) ; else return this.getGraphPattern().equals(ex.getGraphPattern()) ; }
@Override public Expr copySubstitute(Binding binding) { Op op2 = Substitute.substitute(getGraphPattern(), binding) ; return new E_NotExists(getElement(), op2) ; }
@Override public Expr applyNodeTransform(NodeTransform nodeTransform) { Op op2 = NodeTransformLib.transform(nodeTransform, getGraphPattern()) ; return new E_NotExists(getElement(), op2) ; }
public static GraphTraversal<?, ?> transform(final E_NotExists expression) { final OpBGP opBGP = (OpBGP) expression.getGraphPattern(); final List<Triple> triples = opBGP.getPattern().getList(); if (triples.size() != 1) throw new IllegalStateException("Unhandled NOT EXISTS pattern"); final GraphTraversal<?, ?> traversal = TraversalBuilder.transform(triples.get(0)); final Step endStep = traversal.asAdmin().getEndStep(); final String label = (String) endStep.getLabels().iterator().next(); endStep.removeLabel(label); return __.not(traversal); }