package rewriters

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. trait Anonymizer extends AnyRef

    Anonymizer which renames tokens and cypher parts using some scheme.

    Anonymizer which renames tokens and cypher parts using some scheme. All renames have to be reproducible and unique to create a valid query.

    The intended usage of this rewriter is for anonymizing queries before storage, to avoid retaining domain specific information which could harm the operation or integrity of the original cypher deployment. This anonymization would execucted by 1) parsing the query, 2) running the rewriter, and 3) writing the query back to string form using the Prettifier.

  2. case class InliningContext(projections: Map[LogicalVariable, Expression] = Map.empty, seenVariables: Set[LogicalVariable] = Set.empty, usageCount: Map[LogicalVariable, Int] = Map.empty) extends Product with Serializable
  3. sealed trait LiteralExtraction extends AnyRef
  4. abstract class MatchPredicateNormalization extends Rewriter
  5. trait MatchPredicateNormalizer extends AnyRef
  6. case class MatchPredicateNormalizerChain(normalizers: MatchPredicateNormalizer*) extends MatchPredicateNormalizer with Product with Serializable
  7. case class anonymizeQuery(anonymizer: Anonymizer) extends Rewriter with Product with Serializable
  8. case class deMorganRewriter()(implicit monitor: AstRewritingMonitor) extends Rewriter with Product with Serializable
  9. case class desugarMapProjection(state: SemanticState) extends Rewriter with Product with Serializable
  10. case class distributeLawsRewriter()(implicit monitor: AstRewritingMonitor) extends Rewriter with Product with Serializable
  11. case class expandStar(state: SemanticState) extends Rewriter with Product with Serializable
  12. case class normalizeMatchPredicates(getDegreeRewriting: Boolean) extends MatchPredicateNormalization with Product with Serializable
  13. case class normalizeWithAndReturnClauses(mkException: (String, InputPosition) ⇒ CypherException) extends Rewriter with Product with Serializable

    This rewriter normalizes the scoping structure of a query, ensuring it is able to be correctly processed for semantic checking.

    This rewriter normalizes the scoping structure of a query, ensuring it is able to be correctly processed for semantic checking. It makes sure that all return items in WITH clauses are aliased.

    It also replaces expressions and subexpressions in ORDER BY and WHERE to use aliases introduced by the WITH, where possible.

    Example:

    MATCH n WITH n.prop AS prop ORDER BY n.prop DESC RETURN prop

    This rewrite will change the query to:

    MATCH n WITH n.prop AS prop ORDER BY prop DESC RETURN prop AS prop

  14. case class recordScopes(semanticState: SemanticState) extends Rewriter with Product with Serializable
  15. case class repeatWithSizeLimit(rewriter: Rewriter)(implicit monitor: AstRewritingMonitor) extends Rewriter with Product with Serializable
  16. case class replaceAliasedFunctionInvocations(deprecations: Deprecations) extends Rewriter with Product with Serializable

Value Members

  1. object Forced extends LiteralExtraction with Product with Serializable
  2. object IfNoParameter extends LiteralExtraction with Product with Serializable
  3. object InliningContext extends Serializable
  4. object LabelPredicateNormalizer extends MatchPredicateNormalizer
  5. object Never extends LiteralExtraction with Product with Serializable
  6. object PatternExpressionPatternElementNamer
  7. object PropertyPredicateNormalizer extends MatchPredicateNormalizer
  8. object addUniquenessPredicates extends Rewriter with Product with Serializable
  9. object calculateUsingGetDegree
  10. object collapseMultipleInPredicates extends Rewriter with Product with Serializable
  11. object copyVariables extends Rewriter with Product with Serializable
  12. object distributeLawsRewriter extends Serializable
  13. object expandCallWhere extends Rewriter with Product with Serializable
  14. object flattenBooleanOperators extends Rewriter
  15. object foldConstants extends Rewriter with Product with Serializable
  16. object inlineNamedPathsInPatternComprehensions extends Rewriter with Product with Serializable
  17. object inlineProjections extends Rewriter with Product with Serializable
  18. object inliningContextCreator extends (Statement) ⇒ InliningContext
  19. object literalReplacement
  20. object mergeInPredicates extends Rewriter with Product with Serializable

    Merges multiple IN predicates into one.

    Merges multiple IN predicates into one.

    Examples: MATCH (n) WHERE n.prop IN [1,2,3] AND [2,3,4] RETURN n.prop -> MATCH (n) WHERE n.prop IN [2,3]

    MATCH (n) WHERE n.prop IN [1,2,3] OR [2,3,4] RETURN n.prop -> MATCH (n) WHERE n.prop IN [1,2,3,4]

    MATCH (n) WHERE n.prop IN [1,2,3] AND [4,5,6] RETURN n.prop -> MATCH (n) WHERE FALSE

    NOTE: this rewriter must be applied before auto parameterization, since after that we are just dealing with opaque parameters.

  21. object nameAllPatternElements extends Rewriter with Product with Serializable
  22. object nameMatchPatternElements extends Rewriter with Product with Serializable
  23. object namePatternComprehensionPatternElements extends Rewriter with Product with Serializable
  24. object nameUpdatingClauses extends Rewriter with Product with Serializable
  25. object normalizeArgumentOrder extends Rewriter with Product with Serializable
  26. object normalizeComparisons extends Rewriter with Product with Serializable
  27. object normalizeNotEquals extends Rewriter with Product with Serializable
  28. object normalizeSargablePredicates extends Rewriter with Product with Serializable
  29. object projectNamedPaths extends Rewriter with Product with Serializable
  30. object reattachAliasedExpressions extends Rewriter with Product with Serializable
  31. object replaceLiteralDynamicPropertyLookups extends Rewriter with Product with Serializable
  32. object simplifyPredicates extends Rewriter

Ungrouped