# Cypher
- [[cypher relationships]]
A pattern matching query language made for graphs
- [[Declartive]]
- [[Expressive]]
- [[Pattern Matching]]
{{ https://i.imgur.com/u5vQ9Rm.jpg }}
### 연결이 없는 노드 조회
MATCH (b:Brand) WHERE NOT(b) - [] -> () RETURN b
### CREATE
CREATE (j:Person {name: 'Jennifer'}) RETURN j
### UPDATE
MATCH (p:Person {name: 'Jennifer'})
SET p.birthdate = date('1980-01-01')
### RELATION
CREATE (j:Person {name: 'Jennifer'})-[rel:IS_FRIENDS_WITH]->(m:Person {name: 'Mark'})
### MATCH
MATCH (b:Brand {name:"Chanel"}) RETURN b
MATCH (p:Person {name: 'Jennifer'}) RETURN p
### INDEXING
CREATE INDEX ON :Product(productName);
CREATE INDEX ON :Product(unitPrice);
### FILTER
MATCH (p:Product)
WHERE p.productName IN ['Chocolade','Chai']
RETURN p.productName, p.unitPrice;
### CONSTRAINT
CREATE CONSTRAINT ON (n:) ASSERT n. IS UNIQUE
multiple column
CREATE CONSTRAINT ON (n:Person) ASSERT (n.firstname, n.surname) IS NODE KEY
제약 조회
SHOW CONSTRAINTS
{{ https://i.imgur.com/Sc1Hv3D.jpg }}
### DELETE
MATCH (n:Person {name: 'UNKNOWN'})
DELETE n
### Delete all nodes and relationships
MATCH (n)
DETACH DELETE n
### Delete a node with all its relationships
MATCH (n {name: 'Andy'})
DETACH DELETE n
## Docs
- [[Cypher Query]]
- [[Extend Cypher]]
- [[Graph Model]]