Querying the paths
A path here consists of an anchor node or starting node and traverses one or more hops in any direction from it. In the earlier section, we worked with the Patient
node to showcase how to query nodes. Here, let us start from the Patient
node and what it is connected to at one hop.
Our Cypher query can look as follows:
MATCH path= (:Patient {id:'7361ce15-cf67-ae76-88e6-bcbdca19ce0b'})-->() RETURN path
This returns all the paths in one hop in the outgoing direction from the Patient
node:
Figure 4.20 – All paths one hop from a patient
Here, we can see one Race
node, one Ethnicity
node, and 60 Encounter
nodes. Say that we want to find out the race demographics of our patients where we can use paths to get these values. The Cypher query for it will look as follows:
MATCH (r:Race) RETURN r.type as type, size((r)<-[:HAS_RACE]-()) as count
This query retrieves all the Race
nodes and returns...