hydra-pg-0.17.0: src/main/haskell/Hydra/Cypher/OpenCypher.hs
-- Note: this is an automatically generated file. Do not edit.
-- | A Cypher model based on the OpenCypher specification (version 23), copyright Neo Technology, available at:
-- | https://opencypher.org/resources/
module Hydra.Cypher.OpenCypher where
import qualified Hydra.Core as Core
import Prelude hiding (Enum, Ordering, decodeFloat, encodeFloat, fail, map, pure, sum)
import qualified Data.Scientific as Sci
data Query =
QueryRegular RegularQuery |
QueryStandalone StandaloneCall
deriving (Eq, Ord, Read, Show)
_Query = Core.Name "hydra.cypher.openCypher.Query"
_Query_regular = Core.Name "regular"
_Query_standalone = Core.Name "standalone"
data RegularQuery =
RegularQuery {
regularQueryHead :: SingleQuery,
regularQueryRest :: [Union]}
deriving (Eq, Ord, Read, Show)
_RegularQuery = Core.Name "hydra.cypher.openCypher.RegularQuery"
_RegularQuery_head = Core.Name "head"
_RegularQuery_rest = Core.Name "rest"
data Union =
Union {
unionAll :: Bool,
unionQuery :: SingleQuery}
deriving (Eq, Ord, Read, Show)
_Union = Core.Name "hydra.cypher.openCypher.Union"
_Union_all = Core.Name "all"
_Union_query = Core.Name "query"
data SingleQuery =
SingleQuerySinglePart SinglePartQuery |
SingleQueryMultiPart MultiPartQuery
deriving (Eq, Ord, Read, Show)
_SingleQuery = Core.Name "hydra.cypher.openCypher.SingleQuery"
_SingleQuery_singlePart = Core.Name "singlePart"
_SingleQuery_multiPart = Core.Name "multiPart"
data SinglePartQuery =
SinglePartQuery {
singlePartQueryReading :: [ReadingClause],
singlePartQueryUpdating :: [UpdatingClause],
singlePartQueryReturn :: (Maybe Return)}
deriving (Eq, Ord, Read, Show)
_SinglePartQuery = Core.Name "hydra.cypher.openCypher.SinglePartQuery"
_SinglePartQuery_reading = Core.Name "reading"
_SinglePartQuery_updating = Core.Name "updating"
_SinglePartQuery_return = Core.Name "return"
data WithClause =
WithClause {
withClauseReading :: [ReadingClause],
withClauseUpdating :: [UpdatingClause],
withClauseWith :: With}
deriving (Eq, Ord, Read, Show)
_WithClause = Core.Name "hydra.cypher.openCypher.WithClause"
_WithClause_reading = Core.Name "reading"
_WithClause_updating = Core.Name "updating"
_WithClause_with = Core.Name "with"
data MultiPartQuery =
MultiPartQuery {
multiPartQueryWith :: [WithClause],
multiPartQueryBody :: SinglePartQuery}
deriving (Eq, Ord, Read, Show)
_MultiPartQuery = Core.Name "hydra.cypher.openCypher.MultiPartQuery"
_MultiPartQuery_with = Core.Name "with"
_MultiPartQuery_body = Core.Name "body"
data UpdatingClause =
UpdatingClauseCreate Create |
UpdatingClauseMerge Merge |
UpdatingClauseDelete Delete |
UpdatingClauseSet Set |
UpdatingClauseRemove Remove
deriving (Eq, Ord, Read, Show)
_UpdatingClause = Core.Name "hydra.cypher.openCypher.UpdatingClause"
_UpdatingClause_create = Core.Name "create"
_UpdatingClause_merge = Core.Name "merge"
_UpdatingClause_delete = Core.Name "delete"
_UpdatingClause_set = Core.Name "set"
_UpdatingClause_remove = Core.Name "remove"
data ReadingClause =
ReadingClauseMatch Match |
ReadingClauseUnwind Unwind |
ReadingClauseInQueryCall InQueryCall
deriving (Eq, Ord, Read, Show)
_ReadingClause = Core.Name "hydra.cypher.openCypher.ReadingClause"
_ReadingClause_match = Core.Name "match"
_ReadingClause_unwind = Core.Name "unwind"
_ReadingClause_inQueryCall = Core.Name "inQueryCall"
data Match =
Match {
matchOptional :: Bool,
matchPattern :: Pattern,
matchWhere :: (Maybe Where)}
deriving (Eq, Ord, Read, Show)
_Match = Core.Name "hydra.cypher.openCypher.Match"
_Match_optional = Core.Name "optional"
_Match_pattern = Core.Name "pattern"
_Match_where = Core.Name "where"
data Unwind =
Unwind {
unwindExpression :: Expression,
unwindVariable :: Variable}
deriving (Eq, Ord, Read, Show)
_Unwind = Core.Name "hydra.cypher.openCypher.Unwind"
_Unwind_expression = Core.Name "expression"
_Unwind_variable = Core.Name "variable"
data Merge =
Merge {
mergePatternPart :: PatternPart,
mergeActions :: [MergeAction]}
deriving (Eq, Ord, Read, Show)
_Merge = Core.Name "hydra.cypher.openCypher.Merge"
_Merge_patternPart = Core.Name "patternPart"
_Merge_actions = Core.Name "actions"
data MatchOrCreate =
MatchOrCreateMatch |
MatchOrCreateCreate
deriving (Eq, Ord, Read, Show)
_MatchOrCreate = Core.Name "hydra.cypher.openCypher.MatchOrCreate"
_MatchOrCreate_match = Core.Name "match"
_MatchOrCreate_create = Core.Name "create"
data MergeAction =
MergeAction {
mergeActionAction :: MatchOrCreate,
mergeActionSet :: Set}
deriving (Eq, Ord, Read, Show)
_MergeAction = Core.Name "hydra.cypher.openCypher.MergeAction"
_MergeAction_action = Core.Name "action"
_MergeAction_set = Core.Name "set"
newtype Create =
Create {
unCreate :: Pattern}
deriving (Eq, Ord, Read, Show)
_Create = Core.Name "hydra.cypher.openCypher.Create"
newtype Set =
Set {
unSet :: [SetItem]}
deriving (Eq, Ord, Read, Show)
_Set = Core.Name "hydra.cypher.openCypher.Set"
data SetItem =
SetItemProperty PropertyEquals |
SetItemVariableEqual VariableEquals |
SetItemVariablePlusEqual VariablePlusEquals |
SetItemVariableLabels VariableAndNodeLabels
deriving (Eq, Ord, Read, Show)
_SetItem = Core.Name "hydra.cypher.openCypher.SetItem"
_SetItem_property = Core.Name "property"
_SetItem_variableEqual = Core.Name "variableEqual"
_SetItem_variablePlusEqual = Core.Name "variablePlusEqual"
_SetItem_variableLabels = Core.Name "variableLabels"
data PropertyEquals =
PropertyEquals {
propertyEqualsLhs :: PropertyExpression,
propertyEqualsRhs :: Expression}
deriving (Eq, Ord, Read, Show)
_PropertyEquals = Core.Name "hydra.cypher.openCypher.PropertyEquals"
_PropertyEquals_lhs = Core.Name "lhs"
_PropertyEquals_rhs = Core.Name "rhs"
data VariableEquals =
VariableEquals {
variableEqualsLhs :: Variable,
variableEqualsRhs :: Expression}
deriving (Eq, Ord, Read, Show)
_VariableEquals = Core.Name "hydra.cypher.openCypher.VariableEquals"
_VariableEquals_lhs = Core.Name "lhs"
_VariableEquals_rhs = Core.Name "rhs"
data VariablePlusEquals =
VariablePlusEquals {
variablePlusEqualsLhs :: Variable,
variablePlusEqualsRhs :: Expression}
deriving (Eq, Ord, Read, Show)
_VariablePlusEquals = Core.Name "hydra.cypher.openCypher.VariablePlusEquals"
_VariablePlusEquals_lhs = Core.Name "lhs"
_VariablePlusEquals_rhs = Core.Name "rhs"
data VariableAndNodeLabels =
VariableAndNodeLabels {
variableAndNodeLabelsVariable :: Variable,
variableAndNodeLabelsLabels :: NodeLabels}
deriving (Eq, Ord, Read, Show)
_VariableAndNodeLabels = Core.Name "hydra.cypher.openCypher.VariableAndNodeLabels"
_VariableAndNodeLabels_variable = Core.Name "variable"
_VariableAndNodeLabels_labels = Core.Name "labels"
data Delete =
Delete {
deleteDetach :: Bool,
deleteExpressions :: [Expression]}
deriving (Eq, Ord, Read, Show)
_Delete = Core.Name "hydra.cypher.openCypher.Delete"
_Delete_detach = Core.Name "detach"
_Delete_expressions = Core.Name "expressions"
newtype Remove =
Remove {
unRemove :: [RemoveItem]}
deriving (Eq, Ord, Read, Show)
_Remove = Core.Name "hydra.cypher.openCypher.Remove"
data RemoveItem =
RemoveItemVariableLabels VariableAndNodeLabels |
RemoveItemProperty PropertyExpression
deriving (Eq, Ord, Read, Show)
_RemoveItem = Core.Name "hydra.cypher.openCypher.RemoveItem"
_RemoveItem_variableLabels = Core.Name "variableLabels"
_RemoveItem_property = Core.Name "property"
data InQueryCall =
InQueryCall {
inQueryCallCall :: ExplicitProcedureInvocation,
inQueryCallYieldItems :: (Maybe YieldItems)}
deriving (Eq, Ord, Read, Show)
_InQueryCall = Core.Name "hydra.cypher.openCypher.InQueryCall"
_InQueryCall_call = Core.Name "call"
_InQueryCall_yieldItems = Core.Name "yieldItems"
data ProcedureInvocation =
ProcedureInvocationExplicit ExplicitProcedureInvocation |
ProcedureInvocationImplicit ImplicitProcedureInvocation
deriving (Eq, Ord, Read, Show)
_ProcedureInvocation = Core.Name "hydra.cypher.openCypher.ProcedureInvocation"
_ProcedureInvocation_explicit = Core.Name "explicit"
_ProcedureInvocation_implicit = Core.Name "implicit"
data StarOrYieldItems =
StarOrYieldItemsStar |
StarOrYieldItemsItems YieldItems
deriving (Eq, Ord, Read, Show)
_StarOrYieldItems = Core.Name "hydra.cypher.openCypher.StarOrYieldItems"
_StarOrYieldItems_star = Core.Name "star"
_StarOrYieldItems_items = Core.Name "items"
data StandaloneCall =
StandaloneCall {
standaloneCallCall :: ProcedureInvocation,
standaloneCallYieldItems :: (Maybe StarOrYieldItems)}
deriving (Eq, Ord, Read, Show)
_StandaloneCall = Core.Name "hydra.cypher.openCypher.StandaloneCall"
_StandaloneCall_call = Core.Name "call"
_StandaloneCall_yieldItems = Core.Name "yieldItems"
data YieldItems =
YieldItems {
yieldItemsItems :: [YieldItem],
yieldItemsWhere :: (Maybe Where)}
deriving (Eq, Ord, Read, Show)
_YieldItems = Core.Name "hydra.cypher.openCypher.YieldItems"
_YieldItems_items = Core.Name "items"
_YieldItems_where = Core.Name "where"
data YieldItem =
YieldItem {
yieldItemField :: (Maybe ProcedureResultField),
yieldItemVariable :: Variable}
deriving (Eq, Ord, Read, Show)
_YieldItem = Core.Name "hydra.cypher.openCypher.YieldItem"
_YieldItem_field = Core.Name "field"
_YieldItem_variable = Core.Name "variable"
data With =
With {
withProjection :: ProjectionBody,
withWhere :: (Maybe Where)}
deriving (Eq, Ord, Read, Show)
_With = Core.Name "hydra.cypher.openCypher.With"
_With_projection = Core.Name "projection"
_With_where = Core.Name "where"
newtype Return =
Return {
unReturn :: ProjectionBody}
deriving (Eq, Ord, Read, Show)
_Return = Core.Name "hydra.cypher.openCypher.Return"
data ProjectionBody =
ProjectionBody {
projectionBodyDistinct :: Bool,
projectionBodyProjectionItems :: ProjectionItems,
projectionBodyOrder :: (Maybe Order),
projectionBodySkip :: (Maybe Skip),
projectionBodyLimit :: (Maybe Limit)}
deriving (Eq, Ord, Read, Show)
_ProjectionBody = Core.Name "hydra.cypher.openCypher.ProjectionBody"
_ProjectionBody_distinct = Core.Name "distinct"
_ProjectionBody_projectionItems = Core.Name "projectionItems"
_ProjectionBody_order = Core.Name "order"
_ProjectionBody_skip = Core.Name "skip"
_ProjectionBody_limit = Core.Name "limit"
data ProjectionItems =
ProjectionItems {
projectionItemsStar :: Bool,
projectionItemsExplicit :: [ProjectionItem]}
deriving (Eq, Ord, Read, Show)
_ProjectionItems = Core.Name "hydra.cypher.openCypher.ProjectionItems"
_ProjectionItems_star = Core.Name "star"
_ProjectionItems_explicit = Core.Name "explicit"
data ProjectionItem =
ProjectionItem {
projectionItemExpression :: Expression,
projectionItemVariable :: (Maybe Variable)}
deriving (Eq, Ord, Read, Show)
_ProjectionItem = Core.Name "hydra.cypher.openCypher.ProjectionItem"
_ProjectionItem_expression = Core.Name "expression"
_ProjectionItem_variable = Core.Name "variable"
newtype Order =
Order {
unOrder :: [SortItem]}
deriving (Eq, Ord, Read, Show)
_Order = Core.Name "hydra.cypher.openCypher.Order"
newtype Skip =
Skip {
unSkip :: Expression}
deriving (Eq, Ord, Read, Show)
_Skip = Core.Name "hydra.cypher.openCypher.Skip"
newtype Limit =
Limit {
unLimit :: Expression}
deriving (Eq, Ord, Read, Show)
_Limit = Core.Name "hydra.cypher.openCypher.Limit"
data SortOrder =
SortOrderAscending |
SortOrderDescending
deriving (Eq, Ord, Read, Show)
_SortOrder = Core.Name "hydra.cypher.openCypher.SortOrder"
_SortOrder_ascending = Core.Name "ascending"
_SortOrder_descending = Core.Name "descending"
data SortItem =
SortItem {
sortItemExpression :: Expression,
sortItemOrder :: (Maybe SortOrder)}
deriving (Eq, Ord, Read, Show)
_SortItem = Core.Name "hydra.cypher.openCypher.SortItem"
_SortItem_expression = Core.Name "expression"
_SortItem_order = Core.Name "order"
newtype Where =
Where {
unWhere :: Expression}
deriving (Eq, Ord, Read, Show)
_Where = Core.Name "hydra.cypher.openCypher.Where"
newtype Pattern =
Pattern {
unPattern :: [PatternPart]}
deriving (Eq, Ord, Read, Show)
_Pattern = Core.Name "hydra.cypher.openCypher.Pattern"
data PatternPart =
PatternPart {
patternPartVariable :: (Maybe Variable),
patternPartPattern :: AnonymousPatternPart}
deriving (Eq, Ord, Read, Show)
_PatternPart = Core.Name "hydra.cypher.openCypher.PatternPart"
_PatternPart_variable = Core.Name "variable"
_PatternPart_pattern = Core.Name "pattern"
newtype AnonymousPatternPart =
AnonymousPatternPart {
unAnonymousPatternPart :: PatternElement}
deriving (Eq, Ord, Read, Show)
_AnonymousPatternPart = Core.Name "hydra.cypher.openCypher.AnonymousPatternPart"
data NodePatternChain =
NodePatternChain {
nodePatternChainNodePattern :: NodePattern,
nodePatternChainChain :: [PatternElementChain]}
deriving (Eq, Ord, Read, Show)
_NodePatternChain = Core.Name "hydra.cypher.openCypher.NodePatternChain"
_NodePatternChain_nodePattern = Core.Name "nodePattern"
_NodePatternChain_chain = Core.Name "chain"
data PatternElement =
PatternElementChained NodePatternChain |
PatternElementParenthesized PatternElement
deriving (Eq, Ord, Read, Show)
_PatternElement = Core.Name "hydra.cypher.openCypher.PatternElement"
_PatternElement_chained = Core.Name "chained"
_PatternElement_parenthesized = Core.Name "parenthesized"
data RelationshipsPattern =
RelationshipsPattern {
relationshipsPatternNodePattern :: NodePattern,
relationshipsPatternChain :: [PatternElementChain]}
deriving (Eq, Ord, Read, Show)
_RelationshipsPattern = Core.Name "hydra.cypher.openCypher.RelationshipsPattern"
_RelationshipsPattern_nodePattern = Core.Name "nodePattern"
_RelationshipsPattern_chain = Core.Name "chain"
data NodePattern =
NodePattern {
nodePatternVariable :: (Maybe Variable),
nodePatternLabels :: (Maybe NodeLabels),
nodePatternProperties :: (Maybe Properties)}
deriving (Eq, Ord, Read, Show)
_NodePattern = Core.Name "hydra.cypher.openCypher.NodePattern"
_NodePattern_variable = Core.Name "variable"
_NodePattern_labels = Core.Name "labels"
_NodePattern_properties = Core.Name "properties"
data PatternElementChain =
PatternElementChain {
patternElementChainRelationship :: RelationshipPattern,
patternElementChainNode :: NodePattern}
deriving (Eq, Ord, Read, Show)
_PatternElementChain = Core.Name "hydra.cypher.openCypher.PatternElementChain"
_PatternElementChain_relationship = Core.Name "relationship"
_PatternElementChain_node = Core.Name "node"
data RelationshipPattern =
RelationshipPattern {
relationshipPatternLeftArrow :: Bool,
relationshipPatternDetail :: (Maybe RelationshipDetail),
relationshipPatternRightArrow :: Bool}
deriving (Eq, Ord, Read, Show)
_RelationshipPattern = Core.Name "hydra.cypher.openCypher.RelationshipPattern"
_RelationshipPattern_leftArrow = Core.Name "leftArrow"
_RelationshipPattern_detail = Core.Name "detail"
_RelationshipPattern_rightArrow = Core.Name "rightArrow"
data RelationshipDetail =
RelationshipDetail {
relationshipDetailVariable :: (Maybe Variable),
relationshipDetailTypes :: (Maybe RelationshipTypes),
relationshipDetailRange :: (Maybe RangeLiteral),
relationshipDetailProperties :: (Maybe Properties)}
deriving (Eq, Ord, Read, Show)
_RelationshipDetail = Core.Name "hydra.cypher.openCypher.RelationshipDetail"
_RelationshipDetail_variable = Core.Name "variable"
_RelationshipDetail_types = Core.Name "types"
_RelationshipDetail_range = Core.Name "range"
_RelationshipDetail_properties = Core.Name "properties"
data Properties =
PropertiesMap MapLiteral |
PropertiesParameter Parameter
deriving (Eq, Ord, Read, Show)
_Properties = Core.Name "hydra.cypher.openCypher.Properties"
_Properties_map = Core.Name "map"
_Properties_parameter = Core.Name "parameter"
newtype RelationshipTypes =
RelationshipTypes {
unRelationshipTypes :: [RelTypeName]}
deriving (Eq, Ord, Read, Show)
_RelationshipTypes = Core.Name "hydra.cypher.openCypher.RelationshipTypes"
newtype NodeLabels =
NodeLabels {
unNodeLabels :: [NodeLabel]}
deriving (Eq, Ord, Read, Show)
_NodeLabels = Core.Name "hydra.cypher.openCypher.NodeLabels"
newtype NodeLabel =
NodeLabel {
unNodeLabel :: String}
deriving (Eq, Ord, Read, Show)
_NodeLabel = Core.Name "hydra.cypher.openCypher.NodeLabel"
data RangeLiteral =
RangeLiteral {
rangeLiteralStart :: (Maybe Integer),
rangeLiteralEnd :: (Maybe Integer)}
deriving (Eq, Ord, Read, Show)
_RangeLiteral = Core.Name "hydra.cypher.openCypher.RangeLiteral"
_RangeLiteral_start = Core.Name "start"
_RangeLiteral_end = Core.Name "end"
newtype RelTypeName =
RelTypeName {
unRelTypeName :: String}
deriving (Eq, Ord, Read, Show)
_RelTypeName = Core.Name "hydra.cypher.openCypher.RelTypeName"
data PropertyExpression =
PropertyExpression {
propertyExpressionAtom :: Atom,
propertyExpressionLookups :: [PropertyLookup]}
deriving (Eq, Ord, Read, Show)
_PropertyExpression = Core.Name "hydra.cypher.openCypher.PropertyExpression"
_PropertyExpression_atom = Core.Name "atom"
_PropertyExpression_lookups = Core.Name "lookups"
newtype Expression =
Expression {
unExpression :: OrExpression}
deriving (Eq, Ord, Read, Show)
_Expression = Core.Name "hydra.cypher.openCypher.Expression"
newtype OrExpression =
OrExpression {
unOrExpression :: [XorExpression]}
deriving (Eq, Ord, Read, Show)
_OrExpression = Core.Name "hydra.cypher.openCypher.OrExpression"
newtype XorExpression =
XorExpression {
unXorExpression :: [AndExpression]}
deriving (Eq, Ord, Read, Show)
_XorExpression = Core.Name "hydra.cypher.openCypher.XorExpression"
newtype AndExpression =
AndExpression {
unAndExpression :: [NotExpression]}
deriving (Eq, Ord, Read, Show)
_AndExpression = Core.Name "hydra.cypher.openCypher.AndExpression"
data NotExpression =
NotExpression {
notExpressionNot :: Bool,
notExpressionExpression :: ComparisonExpression}
deriving (Eq, Ord, Read, Show)
_NotExpression = Core.Name "hydra.cypher.openCypher.NotExpression"
_NotExpression_not = Core.Name "not"
_NotExpression_expression = Core.Name "expression"
data ComparisonExpression =
ComparisonExpression {
comparisonExpressionLeft :: StringListNullPredicateExpression,
comparisonExpressionRight :: [PartialComparisonExpression]}
deriving (Eq, Ord, Read, Show)
_ComparisonExpression = Core.Name "hydra.cypher.openCypher.ComparisonExpression"
_ComparisonExpression_left = Core.Name "left"
_ComparisonExpression_right = Core.Name "right"
data ComparisonOperator =
ComparisonOperatorEq |
ComparisonOperatorNeq |
ComparisonOperatorLt |
ComparisonOperatorGt |
ComparisonOperatorLte |
ComparisonOperatorGte
deriving (Eq, Ord, Read, Show)
_ComparisonOperator = Core.Name "hydra.cypher.openCypher.ComparisonOperator"
_ComparisonOperator_eq = Core.Name "eq"
_ComparisonOperator_neq = Core.Name "neq"
_ComparisonOperator_lt = Core.Name "lt"
_ComparisonOperator_gt = Core.Name "gt"
_ComparisonOperator_lte = Core.Name "lte"
_ComparisonOperator_gte = Core.Name "gte"
data PartialComparisonExpression =
PartialComparisonExpression {
partialComparisonExpressionOperator :: ComparisonOperator,
partialComparisonExpressionRight :: StringListNullPredicateExpression}
deriving (Eq, Ord, Read, Show)
_PartialComparisonExpression = Core.Name "hydra.cypher.openCypher.PartialComparisonExpression"
_PartialComparisonExpression_operator = Core.Name "operator"
_PartialComparisonExpression_right = Core.Name "right"
data StringListNullPredicateExpression =
StringListNullPredicateExpression {
stringListNullPredicateExpressionLeft :: AddOrSubtractExpression,
stringListNullPredicateExpressionRight :: [StringListNullPredicateRightHandSide]}
deriving (Eq, Ord, Read, Show)
_StringListNullPredicateExpression = Core.Name "hydra.cypher.openCypher.StringListNullPredicateExpression"
_StringListNullPredicateExpression_left = Core.Name "left"
_StringListNullPredicateExpression_right = Core.Name "right"
data StringListNullPredicateRightHandSide =
StringListNullPredicateRightHandSideString StringPredicateExpression |
StringListNullPredicateRightHandSideList ListPredicateExpression |
StringListNullPredicateRightHandSideNull NullPredicateExpression
deriving (Eq, Ord, Read, Show)
_StringListNullPredicateRightHandSide = Core.Name "hydra.cypher.openCypher.StringListNullPredicateRightHandSide"
_StringListNullPredicateRightHandSide_string = Core.Name "string"
_StringListNullPredicateRightHandSide_list = Core.Name "list"
_StringListNullPredicateRightHandSide_null = Core.Name "null"
data StringPredicateExpression =
StringPredicateExpression {
stringPredicateExpressionOperator :: StringPredicateOperator,
stringPredicateExpressionExpression :: AddOrSubtractExpression}
deriving (Eq, Ord, Read, Show)
_StringPredicateExpression = Core.Name "hydra.cypher.openCypher.StringPredicateExpression"
_StringPredicateExpression_operator = Core.Name "operator"
_StringPredicateExpression_expression = Core.Name "expression"
data StringPredicateOperator =
StringPredicateOperatorStartsWith |
StringPredicateOperatorEndsWith |
StringPredicateOperatorContains
deriving (Eq, Ord, Read, Show)
_StringPredicateOperator = Core.Name "hydra.cypher.openCypher.StringPredicateOperator"
_StringPredicateOperator_startsWith = Core.Name "startsWith"
_StringPredicateOperator_endsWith = Core.Name "endsWith"
_StringPredicateOperator_contains = Core.Name "contains"
newtype ListPredicateExpression =
ListPredicateExpression {
unListPredicateExpression :: AddOrSubtractExpression}
deriving (Eq, Ord, Read, Show)
_ListPredicateExpression = Core.Name "hydra.cypher.openCypher.ListPredicateExpression"
newtype NullPredicateExpression =
NullPredicateExpression {
unNullPredicateExpression :: Bool}
deriving (Eq, Ord, Read, Show)
_NullPredicateExpression = Core.Name "hydra.cypher.openCypher.NullPredicateExpression"
data AddOrSubtractExpression =
AddOrSubtractExpression {
addOrSubtractExpressionLeft :: MultiplyDivideModuloExpression,
addOrSubtractExpressionRight :: [AddOrSubtractRightHandSide]}
deriving (Eq, Ord, Read, Show)
_AddOrSubtractExpression = Core.Name "hydra.cypher.openCypher.AddOrSubtractExpression"
_AddOrSubtractExpression_left = Core.Name "left"
_AddOrSubtractExpression_right = Core.Name "right"
data AddOrSubtractRightHandSide =
AddOrSubtractRightHandSide {
addOrSubtractRightHandSideOperator :: AddOrSubtractOperator,
addOrSubtractRightHandSideExpression :: MultiplyDivideModuloExpression}
deriving (Eq, Ord, Read, Show)
_AddOrSubtractRightHandSide = Core.Name "hydra.cypher.openCypher.AddOrSubtractRightHandSide"
_AddOrSubtractRightHandSide_operator = Core.Name "operator"
_AddOrSubtractRightHandSide_expression = Core.Name "expression"
data AddOrSubtractOperator =
AddOrSubtractOperatorAdd |
AddOrSubtractOperatorSubtract
deriving (Eq, Ord, Read, Show)
_AddOrSubtractOperator = Core.Name "hydra.cypher.openCypher.AddOrSubtractOperator"
_AddOrSubtractOperator_add = Core.Name "add"
_AddOrSubtractOperator_subtract = Core.Name "subtract"
data MultiplyDivideModuloExpression =
MultiplyDivideModuloExpression {
multiplyDivideModuloExpressionLeft :: PowerOfExpression,
multiplyDivideModuloExpressionRight :: [MultiplyDivideModuloRightHandSide]}
deriving (Eq, Ord, Read, Show)
_MultiplyDivideModuloExpression = Core.Name "hydra.cypher.openCypher.MultiplyDivideModuloExpression"
_MultiplyDivideModuloExpression_left = Core.Name "left"
_MultiplyDivideModuloExpression_right = Core.Name "right"
data MultiplyDivideModuloRightHandSide =
MultiplyDivideModuloRightHandSide {
multiplyDivideModuloRightHandSideOperator :: MultiplyDivideModuloOperator,
multiplyDivideModuloRightHandSideExpression :: PowerOfExpression}
deriving (Eq, Ord, Read, Show)
_MultiplyDivideModuloRightHandSide = Core.Name "hydra.cypher.openCypher.MultiplyDivideModuloRightHandSide"
_MultiplyDivideModuloRightHandSide_operator = Core.Name "operator"
_MultiplyDivideModuloRightHandSide_expression = Core.Name "expression"
data MultiplyDivideModuloOperator =
MultiplyDivideModuloOperatorMultiply |
MultiplyDivideModuloOperatorDivide |
MultiplyDivideModuloOperatorModulo
deriving (Eq, Ord, Read, Show)
_MultiplyDivideModuloOperator = Core.Name "hydra.cypher.openCypher.MultiplyDivideModuloOperator"
_MultiplyDivideModuloOperator_multiply = Core.Name "multiply"
_MultiplyDivideModuloOperator_divide = Core.Name "divide"
_MultiplyDivideModuloOperator_modulo = Core.Name "modulo"
newtype PowerOfExpression =
PowerOfExpression {
unPowerOfExpression :: [UnaryAddOrSubtractExpression]}
deriving (Eq, Ord, Read, Show)
_PowerOfExpression = Core.Name "hydra.cypher.openCypher.PowerOfExpression"
data UnaryAddOrSubtractExpression =
UnaryAddOrSubtractExpression {
unaryAddOrSubtractExpressionOperator :: (Maybe AddOrSubtractOperator),
unaryAddOrSubtractExpressionExpression :: NonArithmeticOperatorExpression}
deriving (Eq, Ord, Read, Show)
_UnaryAddOrSubtractExpression = Core.Name "hydra.cypher.openCypher.UnaryAddOrSubtractExpression"
_UnaryAddOrSubtractExpression_operator = Core.Name "operator"
_UnaryAddOrSubtractExpression_expression = Core.Name "expression"
data ListOperatorExpressionOrPropertyLookup =
ListOperatorExpressionOrPropertyLookupList ListOperatorExpression |
ListOperatorExpressionOrPropertyLookupProperty PropertyLookup
deriving (Eq, Ord, Read, Show)
_ListOperatorExpressionOrPropertyLookup = Core.Name "hydra.cypher.openCypher.ListOperatorExpressionOrPropertyLookup"
_ListOperatorExpressionOrPropertyLookup_list = Core.Name "list"
_ListOperatorExpressionOrPropertyLookup_property = Core.Name "property"
data NonArithmeticOperatorExpression =
NonArithmeticOperatorExpression {
nonArithmeticOperatorExpressionAtom :: Atom,
nonArithmeticOperatorExpressionListsAndLookups :: [ListOperatorExpressionOrPropertyLookup],
nonArithmeticOperatorExpressionLabels :: (Maybe NodeLabels)}
deriving (Eq, Ord, Read, Show)
_NonArithmeticOperatorExpression = Core.Name "hydra.cypher.openCypher.NonArithmeticOperatorExpression"
_NonArithmeticOperatorExpression_atom = Core.Name "atom"
_NonArithmeticOperatorExpression_listsAndLookups = Core.Name "listsAndLookups"
_NonArithmeticOperatorExpression_labels = Core.Name "labels"
data RangeExpression =
RangeExpression {
rangeExpressionStart :: (Maybe Expression),
rangeExpressionEnd :: (Maybe Expression)}
deriving (Eq, Ord, Read, Show)
_RangeExpression = Core.Name "hydra.cypher.openCypher.RangeExpression"
_RangeExpression_start = Core.Name "start"
_RangeExpression_end = Core.Name "end"
data ListOperatorExpression =
ListOperatorExpressionSingle Expression |
ListOperatorExpressionRange RangeExpression
deriving (Eq, Ord, Read, Show)
_ListOperatorExpression = Core.Name "hydra.cypher.openCypher.ListOperatorExpression"
_ListOperatorExpression_single = Core.Name "single"
_ListOperatorExpression_range = Core.Name "range"
newtype PropertyLookup =
PropertyLookup {
unPropertyLookup :: PropertyKeyName}
deriving (Eq, Ord, Read, Show)
_PropertyLookup = Core.Name "hydra.cypher.openCypher.PropertyLookup"
data Atom =
AtomLiteral Literal |
AtomParameter Parameter |
AtomCase CaseExpression |
AtomCountStar |
AtomListComprehension ListComprehension |
AtomPatternComprehension PatternComprehension |
AtomQuantifier Quantifier |
AtomPatternPredicate PatternPredicate |
AtomParenthesized ParenthesizedExpression |
AtomFunctionInvocation FunctionInvocation |
AtomExistentialSubquery ExistentialSubquery |
AtomVariable Variable
deriving (Eq, Ord, Read, Show)
_Atom = Core.Name "hydra.cypher.openCypher.Atom"
_Atom_literal = Core.Name "literal"
_Atom_parameter = Core.Name "parameter"
_Atom_case = Core.Name "case"
_Atom_countStar = Core.Name "countStar"
_Atom_listComprehension = Core.Name "listComprehension"
_Atom_patternComprehension = Core.Name "patternComprehension"
_Atom_quantifier = Core.Name "quantifier"
_Atom_patternPredicate = Core.Name "patternPredicate"
_Atom_parenthesized = Core.Name "parenthesized"
_Atom_functionInvocation = Core.Name "functionInvocation"
_Atom_existentialSubquery = Core.Name "existentialSubquery"
_Atom_variable = Core.Name "variable"
data CaseExpression =
CaseExpression {
caseExpressionExpression :: (Maybe Expression),
caseExpressionAlternatives :: [CaseAlternative],
caseExpressionElse :: (Maybe Expression)}
deriving (Eq, Ord, Read, Show)
_CaseExpression = Core.Name "hydra.cypher.openCypher.CaseExpression"
_CaseExpression_expression = Core.Name "expression"
_CaseExpression_alternatives = Core.Name "alternatives"
_CaseExpression_else = Core.Name "else"
data CaseAlternative =
CaseAlternative {
caseAlternativeCondition :: Expression,
caseAlternativeResult :: Expression}
deriving (Eq, Ord, Read, Show)
_CaseAlternative = Core.Name "hydra.cypher.openCypher.CaseAlternative"
_CaseAlternative_condition = Core.Name "condition"
_CaseAlternative_result = Core.Name "result"
data ListComprehension =
ListComprehension {
listComprehensionLeft :: FilterExpression,
listComprehensionRight :: (Maybe Expression)}
deriving (Eq, Ord, Read, Show)
_ListComprehension = Core.Name "hydra.cypher.openCypher.ListComprehension"
_ListComprehension_left = Core.Name "left"
_ListComprehension_right = Core.Name "right"
data PatternComprehension =
PatternComprehension {
patternComprehensionVariable :: (Maybe Variable),
patternComprehensionPattern :: RelationshipsPattern,
patternComprehensionWhere :: (Maybe Where),
patternComprehensionRight :: Expression}
deriving (Eq, Ord, Read, Show)
_PatternComprehension = Core.Name "hydra.cypher.openCypher.PatternComprehension"
_PatternComprehension_variable = Core.Name "variable"
_PatternComprehension_pattern = Core.Name "pattern"
_PatternComprehension_where = Core.Name "where"
_PatternComprehension_right = Core.Name "right"
data Quantifier =
Quantifier {
quantifierOperator :: QuantifierOperator,
quantifierExpression :: FilterExpression}
deriving (Eq, Ord, Read, Show)
_Quantifier = Core.Name "hydra.cypher.openCypher.Quantifier"
_Quantifier_operator = Core.Name "operator"
_Quantifier_expression = Core.Name "expression"
data QuantifierOperator =
QuantifierOperatorAll |
QuantifierOperatorAny |
QuantifierOperatorNone |
QuantifierOperatorSingle
deriving (Eq, Ord, Read, Show)
_QuantifierOperator = Core.Name "hydra.cypher.openCypher.QuantifierOperator"
_QuantifierOperator_all = Core.Name "all"
_QuantifierOperator_any = Core.Name "any"
_QuantifierOperator_none = Core.Name "none"
_QuantifierOperator_single = Core.Name "single"
data FilterExpression =
FilterExpression {
filterExpressionIdInColl :: IdInColl,
filterExpressionWhere :: (Maybe Where)}
deriving (Eq, Ord, Read, Show)
_FilterExpression = Core.Name "hydra.cypher.openCypher.FilterExpression"
_FilterExpression_idInColl = Core.Name "idInColl"
_FilterExpression_where = Core.Name "where"
newtype PatternPredicate =
PatternPredicate {
unPatternPredicate :: RelationshipsPattern}
deriving (Eq, Ord, Read, Show)
_PatternPredicate = Core.Name "hydra.cypher.openCypher.PatternPredicate"
newtype ParenthesizedExpression =
ParenthesizedExpression {
unParenthesizedExpression :: Expression}
deriving (Eq, Ord, Read, Show)
_ParenthesizedExpression = Core.Name "hydra.cypher.openCypher.ParenthesizedExpression"
data IdInColl =
IdInColl {
idInCollVariable :: Variable,
idInCollExpression :: Expression}
deriving (Eq, Ord, Read, Show)
_IdInColl = Core.Name "hydra.cypher.openCypher.IdInColl"
_IdInColl_variable = Core.Name "variable"
_IdInColl_expression = Core.Name "expression"
data FunctionInvocation =
FunctionInvocation {
functionInvocationName :: QualifiedName,
functionInvocationDistinct :: Bool,
functionInvocationArguments :: [Expression]}
deriving (Eq, Ord, Read, Show)
_FunctionInvocation = Core.Name "hydra.cypher.openCypher.FunctionInvocation"
_FunctionInvocation_name = Core.Name "name"
_FunctionInvocation_distinct = Core.Name "distinct"
_FunctionInvocation_arguments = Core.Name "arguments"
data QualifiedName =
QualifiedName {
qualifiedNameNamespace :: String,
qualifiedNameLocal :: String}
deriving (Eq, Ord, Read, Show)
_QualifiedName = Core.Name "hydra.cypher.openCypher.QualifiedName"
_QualifiedName_namespace = Core.Name "namespace"
_QualifiedName_local = Core.Name "local"
data PatternWhere =
PatternWhere {
patternWherePattern :: Pattern,
patternWhereWhere :: (Maybe Where)}
deriving (Eq, Ord, Read, Show)
_PatternWhere = Core.Name "hydra.cypher.openCypher.PatternWhere"
_PatternWhere_pattern = Core.Name "pattern"
_PatternWhere_where = Core.Name "where"
data ExistentialSubquery =
ExistentialSubqueryRegular RegularQuery |
ExistentialSubqueryPattern PatternWhere
deriving (Eq, Ord, Read, Show)
_ExistentialSubquery = Core.Name "hydra.cypher.openCypher.ExistentialSubquery"
_ExistentialSubquery_regular = Core.Name "regular"
_ExistentialSubquery_pattern = Core.Name "pattern"
data ExplicitProcedureInvocation =
ExplicitProcedureInvocation {
explicitProcedureInvocationName :: QualifiedName,
explicitProcedureInvocationArguments :: [Expression]}
deriving (Eq, Ord, Read, Show)
_ExplicitProcedureInvocation = Core.Name "hydra.cypher.openCypher.ExplicitProcedureInvocation"
_ExplicitProcedureInvocation_name = Core.Name "name"
_ExplicitProcedureInvocation_arguments = Core.Name "arguments"
newtype ImplicitProcedureInvocation =
ImplicitProcedureInvocation {
unImplicitProcedureInvocation :: QualifiedName}
deriving (Eq, Ord, Read, Show)
_ImplicitProcedureInvocation = Core.Name "hydra.cypher.openCypher.ImplicitProcedureInvocation"
newtype ProcedureResultField =
ProcedureResultField {
unProcedureResultField :: String}
deriving (Eq, Ord, Read, Show)
_ProcedureResultField = Core.Name "hydra.cypher.openCypher.ProcedureResultField"
newtype Variable =
Variable {
unVariable :: String}
deriving (Eq, Ord, Read, Show)
_Variable = Core.Name "hydra.cypher.openCypher.Variable"
data Literal =
LiteralBoolean Bool |
LiteralNull |
LiteralNumber NumberLiteral |
LiteralString StringLiteral |
LiteralList ListLiteral |
LiteralMap MapLiteral
deriving (Eq, Ord, Read, Show)
_Literal = Core.Name "hydra.cypher.openCypher.Literal"
_Literal_boolean = Core.Name "boolean"
_Literal_null = Core.Name "null"
_Literal_number = Core.Name "number"
_Literal_string = Core.Name "string"
_Literal_list = Core.Name "list"
_Literal_map = Core.Name "map"
data NumberLiteral =
NumberLiteralDouble Double |
NumberLiteralInteger Integer
deriving (Eq, Ord, Read, Show)
_NumberLiteral = Core.Name "hydra.cypher.openCypher.NumberLiteral"
_NumberLiteral_double = Core.Name "double"
_NumberLiteral_integer = Core.Name "integer"
newtype StringLiteral =
StringLiteral {
unStringLiteral :: String}
deriving (Eq, Ord, Read, Show)
_StringLiteral = Core.Name "hydra.cypher.openCypher.StringLiteral"
newtype ListLiteral =
ListLiteral {
unListLiteral :: [Expression]}
deriving (Eq, Ord, Read, Show)
_ListLiteral = Core.Name "hydra.cypher.openCypher.ListLiteral"
newtype MapLiteral =
MapLiteral {
unMapLiteral :: [KeyValuePair]}
deriving (Eq, Ord, Read, Show)
_MapLiteral = Core.Name "hydra.cypher.openCypher.MapLiteral"
data KeyValuePair =
KeyValuePair {
keyValuePairKey :: PropertyKeyName,
keyValuePairValue :: Expression}
deriving (Eq, Ord, Read, Show)
_KeyValuePair = Core.Name "hydra.cypher.openCypher.KeyValuePair"
_KeyValuePair_key = Core.Name "key"
_KeyValuePair_value = Core.Name "value"
newtype PropertyKeyName =
PropertyKeyName {
unPropertyKeyName :: String}
deriving (Eq, Ord, Read, Show)
_PropertyKeyName = Core.Name "hydra.cypher.openCypher.PropertyKeyName"
data Parameter =
ParameterSymbolic String |
ParameterInteger Integer
deriving (Eq, Ord, Read, Show)
_Parameter = Core.Name "hydra.cypher.openCypher.Parameter"
_Parameter_symbolic = Core.Name "symbolic"
_Parameter_integer = Core.Name "integer"