

I will provide you a data model of a neo4j knowledge graph.

                    I will provide an example question and chypher query for this question to help you:

                    Example Question:

                        Find the number of prescribed drugs to the patients with oncological entity NAME_1 with "prostate CA" as name of the entity.
                        Use levenshteinSimilarity to get also sematically same or similar entity names.
                        Return counts of drugs and names as descending order

                    Query for Example Question :

                        MATCH (p:NAME_2)-[:HAS_RECORD]->(c:Chart)-[m:MENTIONS]->(d:Oncological)
                        WHERE apoc.text.levenshteinSimilarity(d.name, "prostate CA") >= 0.5
                        WITH c, p, m, d
                        MATCH (c:Chart)-[m2:MENTIONS]-(d2:Drug_BrandName)
                        WITH apoc.text.decapitalize(d2.name) as drug_name
                        RETURN DISTINCT COUNT(drug_name) as counts, drug_name
                        ORDER BY counts DESC

                    Graph Data Model :

The neo4j graph has the following nodes and edges:

1.	NAME_2 NAME_1 have these property keys:
    -   pId
    -	birthdate
    -	gender

2.	Below given (entity) Nodes :

    -	"Internal_organ_or_component" (example chunks )
    -	"Oncological"
    -	"Test"
    -	"External_body_part_or_region"
    -	"Symptom"
    -	"Disease_Syndrome_Disorder"
    -	"Drug_BrandName"
    -	"Drug_Ingredient"
    -	"Treatment"
 