hydra-0.8.0: src/gen-main/haskell/Hydra/Ext/Cypher/OpenCypher.hs
-- | A Cypher model based on the OpenCypher specification (version 23), copyright Neo Technology, available at:
-- | https://opencypher.org/resources/
module Hydra.Ext.Cypher.OpenCypher where
import qualified Hydra.Core as Core
import Data.Int
import Data.List as L
import Data.Map as M
import Data.Set as S
data Query =
QueryRegular RegularQuery |
QueryStandalone StandaloneCall
deriving (Eq, Ord, Read, Show)
_Query = (Core.Name "hydra/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/cypher/openCypher.Create")
newtype Set_ =
Set_ {
unSet :: [SetItem]}
deriving (Eq, Ord, Read, Show)
_Set = (Core.Name "hydra/ext/cypher/openCypher.Set")
data SetItem =
SetItemProperty PropertyEquals |
SetItemVariableEqual VariableEquals |
SetItemVariablePlusEqual VariablePlusEquals |
SetItemVariableLabels VariableAndNodeLabels
deriving (Eq, Ord, Read, Show)
_SetItem = (Core.Name "hydra/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/cypher/openCypher.Remove")
data RemoveItem =
RemoveItemVariableLabels VariableAndNodeLabels |
RemoveItemProperty PropertyExpression
deriving (Eq, Ord, Read, Show)
_RemoveItem = (Core.Name "hydra/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/cypher/openCypher.Order")
newtype Skip =
Skip {
unSkip :: Expression}
deriving (Eq, Ord, Read, Show)
_Skip = (Core.Name "hydra/ext/cypher/openCypher.Skip")
newtype Limit =
Limit {
unLimit :: Expression}
deriving (Eq, Ord, Read, Show)
_Limit = (Core.Name "hydra/ext/cypher/openCypher.Limit")
data SortOrder =
SortOrderAscending |
SortOrderDescending
deriving (Eq, Ord, Read, Show)
_SortOrder = (Core.Name "hydra/ext/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/ext/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/ext/cypher/openCypher.Where")
newtype Pattern =
Pattern {
unPattern :: [PatternPart]}
deriving (Eq, Ord, Read, Show)
_Pattern = (Core.Name "hydra/ext/cypher/openCypher.Pattern")
data PatternPart =
PatternPart {
patternPartVariable :: (Maybe Variable),
patternPartPattern :: AnonymousPatternPart}
deriving (Eq, Ord, Read, Show)
_PatternPart = (Core.Name "hydra/ext/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/ext/cypher/openCypher.AnonymousPatternPart")
data NodePatternChain =
NodePatternChain {
nodePatternChainNodePattern :: NodePattern,
nodePatternChainChain :: [PatternElementChain]}
deriving (Eq, Ord, Read, Show)
_NodePatternChain = (Core.Name "hydra/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/cypher/openCypher.RelationshipTypes")
newtype NodeLabels =
NodeLabels {
unNodeLabels :: [NodeLabel]}
deriving (Eq, Ord, Read, Show)
_NodeLabels = (Core.Name "hydra/ext/cypher/openCypher.NodeLabels")
newtype NodeLabel =
NodeLabel {
unNodeLabel :: String}
deriving (Eq, Ord, Read, Show)
_NodeLabel = (Core.Name "hydra/ext/cypher/openCypher.NodeLabel")
data RangeLiteral =
RangeLiteral {
rangeLiteralStart :: (Maybe Integer),
rangeLiteralEnd :: (Maybe Integer)}
deriving (Eq, Ord, Read, Show)
_RangeLiteral = (Core.Name "hydra/ext/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/ext/cypher/openCypher.RelTypeName")
data PropertyExpression =
PropertyExpression {
propertyExpressionAtom :: Atom,
propertyExpressionLookups :: [PropertyLookup]}
deriving (Eq, Ord, Read, Show)
_PropertyExpression = (Core.Name "hydra/ext/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/ext/cypher/openCypher.Expression")
newtype OrExpression =
OrExpression {
unOrExpression :: [XorExpression]}
deriving (Eq, Ord, Read, Show)
_OrExpression = (Core.Name "hydra/ext/cypher/openCypher.OrExpression")
newtype XorExpression =
XorExpression {
unXorExpression :: [AndExpression]}
deriving (Eq, Ord, Read, Show)
_XorExpression = (Core.Name "hydra/ext/cypher/openCypher.XorExpression")
newtype AndExpression =
AndExpression {
unAndExpression :: [NotExpression]}
deriving (Eq, Ord, Read, Show)
_AndExpression = (Core.Name "hydra/ext/cypher/openCypher.AndExpression")
data NotExpression =
NotExpression {
notExpressionNot :: Bool,
notExpressionExpression :: ComparisonExpression}
deriving (Eq, Ord, Read, Show)
_NotExpression = (Core.Name "hydra/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/cypher/openCypher.ListPredicateExpression")
newtype NullPredicateExpression =
NullPredicateExpression {
unNullPredicateExpression :: Bool}
deriving (Eq, Ord, Read, Show)
_NullPredicateExpression = (Core.Name "hydra/ext/cypher/openCypher.NullPredicateExpression")
data AddOrSubtractExpression =
AddOrSubtractExpression {
addOrSubtractExpressionLeft :: MultiplyDivideModuloExpression,
addOrSubtractExpressionRight :: [AddOrSubtractRightHandSide]}
deriving (Eq, Ord, Read, Show)
_AddOrSubtractExpression = (Core.Name "hydra/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/cypher/openCypher.PowerOfExpression")
data UnaryAddOrSubtractExpression =
UnaryAddOrSubtractExpression {
unaryAddOrSubtractExpressionOperator :: (Maybe AddOrSubtractOperator),
unaryAddOrSubtractExpressionExpression :: NonArithmeticOperatorExpression}
deriving (Eq, Ord, Read, Show)
_UnaryAddOrSubtractExpression = (Core.Name "hydra/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/cypher/openCypher.PatternPredicate")
newtype ParenthesizedExpression =
ParenthesizedExpression {
unParenthesizedExpression :: Expression}
deriving (Eq, Ord, Read, Show)
_ParenthesizedExpression = (Core.Name "hydra/ext/cypher/openCypher.ParenthesizedExpression")
data IdInColl =
IdInColl {
idInCollVariable :: Variable,
idInCollExpression :: Expression}
deriving (Eq, Ord, Read, Show)
_IdInColl = (Core.Name "hydra/ext/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/ext/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/ext/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/ext/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/ext/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/ext/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/ext/cypher/openCypher.ImplicitProcedureInvocation")
newtype ProcedureResultField =
ProcedureResultField {
unProcedureResultField :: String}
deriving (Eq, Ord, Read, Show)
_ProcedureResultField = (Core.Name "hydra/ext/cypher/openCypher.ProcedureResultField")
newtype Variable =
Variable {
unVariable :: String}
deriving (Eq, Ord, Read, Show)
_Variable = (Core.Name "hydra/ext/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/ext/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/ext/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/ext/cypher/openCypher.StringLiteral")
newtype ListLiteral =
ListLiteral {
unListLiteral :: [Expression]}
deriving (Eq, Ord, Read, Show)
_ListLiteral = (Core.Name "hydra/ext/cypher/openCypher.ListLiteral")
newtype MapLiteral =
MapLiteral {
unMapLiteral :: [KeyValuePair]}
deriving (Eq, Ord, Read, Show)
_MapLiteral = (Core.Name "hydra/ext/cypher/openCypher.MapLiteral")
data KeyValuePair =
KeyValuePair {
keyValuePairKey :: PropertyKeyName,
keyValuePairValue :: Expression}
deriving (Eq, Ord, Read, Show)
_KeyValuePair = (Core.Name "hydra/ext/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/ext/cypher/openCypher.PropertyKeyName")
data Parameter =
ParameterSymbolic String |
ParameterInteger Integer
deriving (Eq, Ord, Read, Show)
_Parameter = (Core.Name "hydra/ext/cypher/openCypher.Parameter")
_Parameter_symbolic = (Core.Name "symbolic")
_Parameter_integer = (Core.Name "integer")