Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 37

Neo4j:Cypher Query

Language(Part-II)

Neo4j CQL - Sorting

Neo4j CQL ORDER BY clause


(continued)

Neo4j CQL ORDER BY clause


(continued)

MATCH (emp:Employee)
RETURN emp.empid,emp.name,emp.salary,emp.deptno
ORDER BY emp.name

Neo4j CQL ORDER BY clause


(continued)

MATCH (emp:Employee)
RETURN emp.empid,emp.name,emp.salary,emp.deptno
ORDER BY emp.name DESC

Neo4j CQL - UNION Clause


It combines and returns common rows from two set of results into a single set
of results. It does not return duplicate rows from two nodes.

Neo4j CQL - UNION Clause


(continued)

MATCH (cc:CreditCard) RETURN cc.id,cc.number


UNION
MATCH (dc:DebitCard) RETURN dc.id,dc.number

MATCH (cc:CreditCard)
RETURN cc.id as id,cc.number as number,cc.name as name,
cc.valid_from as valid_from ,cc.valid_to as valid_to
UNION
MATCH (dc:DebitCard)
RETURN dc.id as id,dc.number as number,dc.name as name,
dc.valid_from as valid_from ,dc.valid_to as valid_to

Neo4j CQL - UNION Clause


(continued)

Neo4j CQL - UNION ALL Clause


It combines and returns all rows from two set of results into a single set of results. It
returns duplicate rows also from two nodes.

Neo4j CQL - UNION ALL Clause


(continued)

MATCH (cc:CreditCard)
RETURN cc.id as id,cc.number as number,cc.name as name,
cc.valid_from as valid_from ,cc.valid_to as valid_to
UNION ALL
MATCH (dc:DebitCard)
RETURN dc.id as id,dc.number as number,dc.name as name,
dc.valid_from as valid_from ,dc.valid_to as valid_to

Neo4j CQL - UNION ALL Clause


(continued)

Neo4j CQL LIMIT clause

Neo4j CQL LIMIT clause(continued)

MATCH (emp:Employee) RETURN emp

MATCH (emp:Employee) RETURN emp LIMIT 2

Neo4j CQL SKIP clause

Neo4j CQL SKIP clause(continued)

MATCH (emp:Employee)
RETURN emp
SKIP 2

Neo4j CQL MERGE


Neo4j CQL MERGE command is used

To create nodes, relationships and properties

To retrieve data from database

MERGE command is a combination of CREATE Command and MATCH command.

MERGE = CREATE + MATCH

Neo4j CQL MERGE(continued)

Neo4j CQL MERGE(continued)

CREATE (gp1:GoogleProfile1 {Id: 201401, Nam e:"Apple"})

MATCH (gp1:GoogleProfile1) RETURN gp1.Id,gp1.Name

MERGE (gp2:GoogleProfile2{ Id: 201402,Name:"Nokia"})

Neo4j CQL NULL

Neo4j CQL treats null value as missing value or undefined value to properties
of a Node or Relationship.

IS NOT operator

IS NOT NULL - filters NULL row.


MATCH (e:Employee)
WHERE e.id IS NOT NULL
RETURN e.id,e.name,e.sal,e.deptno

Neo4j CQL - NULL(continued)

Neo4j CQL treats null value as missing value or undefined value to properties
of a Node or Relationship.

IS operator

IS NULL - returns only NULL row.


MATCH (e:Employee)
WHERE e.id IS NULL
RETURN e.id,e.name,e.sal,e.deptno

Neo4j CQL - IN Operator

MATCH (e:Employee)
WHERE e.id IN [123,124]
RETURN e.id,e.name,e.sal,e.deptno

Neo4j CQL - IN Operator

MATCH (e:Employee)
WHERE e.id IN [123,124]
RETURN e.id,e.name,e.sal,e.deptno

Neo4j - Directional Relationships

Relationships between two nodes are directional

Syntax:

CREATE (<node1-details>)-[<relationship-details>]->(<node2-details>)

<node1-details> is "From Node" Node details

<node2-details> is "To Node" Node details

<relationship-details> is Relationship details

()[]()

()[]()

Neo4j - Directional Relationships


(continued)

CREATE (n1:Node1)-[r1:Relationship]-(n2:Node2)

Neo4j CQL Functions

Neo4J CQL - String Functions

Neo4J CQL - String Functions

Neo4J CQL - String Functions


(continued)

UPPER (<input-string>)

LOWER (<input-string>)

MATCH (e:Employee) RETURN e.id,UPPER(e.name),e.sal,e.deptno

MATCH (e:Employee) RETURN e.id,LOWER(e.name),e.sal,e.deptno

SUBSTRING(<input-string>,<startIndex> ,<endIndex>)

MATCH (e:Employee) RETURN e.id,SUBSTRING(e.name,0,2),e.sal,e.deptno

Neo4j CQL - AGGREGATION

Neo4j CQL AGGREGATION(continued)


COUNT

Function syntax

COUNT(<value>)

(NOTE -<value> may be *, a node or relationship label name or a property name.)

MATCH (e:Employee) RETURN COUNT(*)

MAX

Function syntax

MAX(<property-name> )

MIN

Function syntax

MIN(<property-name> )

Neo4j CQL AGGREGATION(continued)

MATCH (e:Employee) RETURN MAX(e.sal),MIN(e.sal)

Neo4j CQL AGGREGATION(continued)

AVG

Function syntax

AVG(<property-name> )

SUM

Function syntax

SUM(<property-name> )

Neo4j CQL AGGREGATION(continued)

MATCH (e:Employee) RETURN SUM(e.sal),AVG(e.sal)

Neo4j CQL - Relationship Functions

MATCH (a)-[movie:ACTION_MOVIES]->(b) RETURN STARTNODE(movie)

MATCH (a)-[movie:ACTION_MOVIES]->(b) RETURN ENDNODE(movie)

MATCH (a)-[movie:ACTION_MOVIES]->(b) RETURN ID(movie),TYPE(movie)

Neo4j - Create Unique Constraint

Advantages of UNIQUE Constraint

To avoid duplicate records.

To enforce data integrity rule.

Neo4j CQL UNIQUE Constraint Operations

Create UNIQUE Constraint.

Drop UNIQUE Constraint.

Neo4j - Create Unique Constraint

Neo4j - Drop Unique Constraint

You might also like