In this blog we will discuss some of the important clauses in Apache age here. For part 1 you can visit here
Match:
The MATCH clause allows you to specify the patterns Cypher will search for in the database.
Cypher:
SELECT * FROM cypher('graph_name', $$
MATCH (v)
RETURN v
$$) as (v agtype);
Above query will return all the vertices in the graph.
Return:
Return statement returns a node
Cypher:
SELECT *
FROM cypher('graph_name', $$
MATCH (n {name: 'B'})
RETURN n
$$) as (n agtype);
Above query will return node n.
Order by:
Order by is used for sorting of output on basis of properties of the output.
Cypher:
SELECT *
FROM cypher('graph_name', $$
MATCH (n)
WITH n.name as name, n.age as age
ORDER BY n.name
RETURN name, age
$$) as (name agtype, age agtype);
The query returns the nodes sorted by the name.
Limit:
Limit is used to constraint the number of output records.
Cypher:
SELECT *
FROM cypher('graph_name', $$
MATCH (n)RETURN n.name
ORDER BY n.name
LIMIT 3
$$) as (names agtype);
The query returns the name of first 3 nodes.
Create:
Create clause is used to create graph vertices and edges.
Cypher for creating a vertex:
SELECT *
FROM cypher('graph_name', $$
CREATE (n)
$$) as (v agtype);
Above query will return nothing.
Cypher for creating an edge between 2 nodes:
SELECT *
FROM cypher('graph_name', $$
MATCH (a:Person), (b:Person)
WHERE a.name = 'Node A' AND b.name = 'Node B'
CREATE (a)-[e:RELTYPE]->(b)
RETURN e
$$) as (e agtype);
Above query will return the created edge.
Delete:
The delete clause is used to delete the graph and vertices. You cannot delete a node without also deleting edges that start or end on said vertex. Either explicitly delete the vertices or use DETACH DELETE.
Cypher:
SELECT *
FROM cypher('graph_name', $$
MATCH (v:Useless)
DELETE v
$$) as (v agtype);
Above query will delete the selected vertex.
Remove
Remove and delete are completely different clauses. Remove is used to remove properties from vertex and edges.
Cypher:
SELECT *
FROM cypher('graph_name', $$
MATCH (andres {name: 'Andres'})
REMOVE andres.age
RETURN andres
$$) as (andres agtype);
The returned node has no age property in it.
References:
Top comments (0)