CypherQuery

Label: :IA_Function
Property: type: CypherQuery
Inherits from: Function

Executes a Cypher statement on an OpenCypher-powered database and returns its results.

Deprecated. Use Query instead.

Properties

Key Description Default value Possible values
cypher The Cypher statement that has to be executed. any valid Cypher
params.{myParameter} Parameters that are to be passed to the Cypher statement. a literal value
process Determines whether the query result should be processed to a set of nodes and relations. false true|false 0|1
store The graph store against which the cypher statement is to be executed. application name of a configured store

All properties can also be passed as parameters via an incoming trigger. To do so, include a property key on the incoming trigger with a $ or # as a prefix.

Outgoing triggers

Type: success

Occurrence: When the CypherQuery function executes successfully,.

Additional event properties (besides the inherited properties):

Key Description Possible values
data array of data as it is returned by store array
meta meta information object
meta.columns array of columns returned in result array of strings
meta.cypher Cypher statement string
meta.memory memory used in bytes integer
meta.nodecount count of nodes returned integer
meta.params parameters and values used in the cypher query object
meta.processData status of processData flag integer
meta.relcount count of relations returned integer
meta.status true if Cypher executed successfully boolean
meta.store store against which the Cypher was executed string
meta.stats Store query stats object
meta.timing timing of query in ms object
meta.timing.data Time to retrieve data from store integer
meta.timing.processing Time to process data into processed integer
meta.timing.total Total time to retrieve and process data integer
processed data after processing in case process: true object
processed.labels all node labels in the results array of strings
processed.nodes all nodes in the result array of nodes
processed.relations all relationships in the result array of relations
processed.reltypes all relation types array of strings
processed.private number of nodes /relations not being transferred to client integer

Example

Imagine the following interaction graph:

NetworkView example

When you run this example, the MyQuery1 returns a list of labels and counts in MyTable1. When you click on a row with a count < 5, it displays the nodes in MyNetworkView. Otherwise, a list of names is displayed in MyTable2.

The first IA_CypherQuery node MyQuery1, has a type:success trigger that tp the IA_TableView node MyTable1. The trigger maps the (%).data element of the event data of the success event to the #data property of MyTable1.

MyTable1 has a type:rowClick trigger to a IA_CypherQuery MyQuery2. This tigger maps the (%).data.label element of the event data of the rowclick event to the $params.selectedLabel property of MyQuery2.

MyQuery2 takes $params.selectedLabel as parameter for the statement in the cypher property.

When MyQuery2 executes successfully, the success event occurs. To determine which triggers should be executed, the matching criteria on the outgoing [:TRIGGER] relations are considered:

  • (%).data[0].destination
  • type

One trigger executes when type:success AND (%).data[0].destination:NetworkView . This trigger maps (%).processed.nodes and (%).processed.relations to the #nodes and relations properties of the IA_NetworkView MyNetworkView.

The other trigger executes when type:success AND (%).data[0].destination:TableView . This trigger maps (%).data[#].name to #data property of the IA_TableView MyTable2.