[{"data":1,"prerenderedAt":221},["ShallowReactive",2],{"navigation":3,"\u002Fblog\u002Fanalyzing-a-healthcare-knowledge-graph-with-cypher-and-gds":63,"\u002Fblog\u002Fanalyzing-a-healthcare-knowledge-graph-with-cypher-and-gds-surround":217},[4,50],{"title":5,"path":6,"stem":7,"children":8,"page":49},"Blog","\u002Fblog","blog",[9,13,17,21,25,29,33,37,41,45],{"title":10,"path":11,"stem":12},"Analyzing a Healthcare Knowledge Graph with Cypher and Graph Data Science","\u002Fblog\u002Fanalyzing-a-healthcare-knowledge-graph-with-cypher-and-gds","blog\u002Fanalyzing-a-healthcare-knowledge-graph-with-cypher-and-gds",{"title":14,"path":15,"stem":16},"My First AWS Adventure: Building a Sentiment Analysis System on a Budget","\u002Fblog\u002Faws-sentiment-analysis-journey","blog\u002Faws-sentiment-analysis-journey",{"title":18,"path":19,"stem":20},"Building a Hybrid Movie Recommender with Neo4j and Graph Data Science","\u002Fblog\u002Fbuilding-a-hybrid-movie-recommender-with-neo4j-and-gds","blog\u002Fbuilding-a-hybrid-movie-recommender-with-neo4j-and-gds",{"title":22,"path":23,"stem":24},"Designing and Building a Neo4j Knowledge Graph from Relational Data","\u002Fblog\u002Fdesigning-and-building-a-neo4j-knowledge-graph-from-relational-data","blog\u002Fdesigning-and-building-a-neo4j-knowledge-graph-from-relational-data",{"title":26,"path":27,"stem":28},"Developing a GraphRAG Research Chatbot with Neo4j","\u002Fblog\u002Fdeveloping-a-graphrag-research-chatbot-with-neo4j","blog\u002Fdeveloping-a-graphrag-research-chatbot-with-neo4j",{"title":30,"path":31,"stem":32},"From Code to Insights: My Journey from Software Development to Data Analytics","\u002Fblog\u002Ffrom-code-to-insights-journey","blog\u002Ffrom-code-to-insights-journey",{"title":34,"path":35,"stem":36},"Predicting Hospital Readmissions: A Machine Learning Journey","\u002Fblog\u002Fhospital-readmissions","blog\u002Fhospital-readmissions",{"title":38,"path":39,"stem":40},"My First Steps into Graph Databases: Learning Neo4j Fundamentals","\u002Fblog\u002Fneo4j-graph-databases-fundamentals","blog\u002Fneo4j-graph-databases-fundamentals",{"title":42,"path":43,"stem":44},"Building a Serverless ETL Pipeline on AWS: From Raw Data to Interactive Dashboards","\u002Fblog\u002Fserverless-etl-pipeline-aws","blog\u002Fserverless-etl-pipeline-aws",{"title":46,"path":47,"stem":48},"From Traffic Violations to Safety Culture: My Data Analytics Framework","\u002Fblog\u002Ftraffic-violation-analytics-framework","blog\u002Ftraffic-violation-analytics-framework",false,{"title":51,"path":52,"stem":53,"children":54,"page":49},"Publications","\u002Fpublications","publications",[55,59],{"title":56,"path":57,"stem":58},"PCT-led early warning vital sign escalation","\u002Fpublications\u002Fpct-led-early-warning-escalation","publications\u002Fpct-led-early-warning-escalation",{"title":60,"path":61,"stem":62},"Reducing Phlebotomy Redraws Through Pre-Analytic SOPs: Training, Fidelity, and Outcome Metrics from a Community Hospital","\u002Fpublications\u002Freducing-phlebotomy-redraws-pre-analytic-sops","publications\u002Freducing-phlebotomy-redraws-pre-analytic-sops",{"id":64,"title":10,"author":65,"body":69,"date":202,"description":203,"extension":204,"image":205,"meta":206,"minRead":213,"navigation":214,"path":11,"seo":215,"stem":12,"__hash__":216},"blog\u002Fblog\u002Fanalyzing-a-healthcare-knowledge-graph-with-cypher-and-gds.md",{"name":66,"avatar":67},"Peter Mangoro",{"src":68,"alt":66},"\u002Fprofile.jpg",{"type":70,"value":71,"toc":192},"minimark",[72,76,81,84,97,100,104,116,119,123,150,154,157,161,175,179],[73,74,75],"p",{},"This assignment felt like a real analytics engagement: incomplete documentation, a complex healthcare graph, and the need to make method choices that I could justify.",[77,78,80],"h2",{"id":79},"assignment-focus","Assignment Focus",[73,82,83],{},"I worked with a FAERS-inspired healthcare dataset restored from a Neo4j dump, then analyzed it in three passes:",[85,86,87,91,94],"ol",{},[88,89,90],"li",{},"Cypher-based schema and data exploration",[88,92,93],{},"Deeper analytical querying and aggregation",[88,95,96],{},"GDS workflows for structural and similarity analysis",[73,98,99],{},"I used Python + Neo4j driver + pandas to keep experiments iterative and reproducible.",[77,101,103],{"id":102},"what-i-built","What I Built",[105,106,107,110,113],"ul",{},[88,108,109],{},"A practical EDA workflow for discovering labels, relationship patterns, and property quality",[88,111,112],{},"Analytical Cypher queries for non-trivial domain questions",[88,114,115],{},"GDS projections and algorithm runs aligned to assignment questions (instead of running algorithms blindly)",[73,117,118],{},"I documented not just outputs, but why each query\u002Falgorithm choice matched the analytical goal.",[77,120,122],{"id":121},"key-findings","Key Findings",[105,124,125,132,138,144],{},[88,126,127,131],{},[128,129,130],"strong",{},"Schema discovery first"," saved time later. Without that step, I would have built analyses on false assumptions.",[88,133,134,137],{},[128,135,136],{},"Cypher before GDS"," produced better algorithm decisions because I understood graph semantics first.",[88,139,140,143],{},[128,141,142],{},"Projection design is the real GDS work",": node sets, relationship directions, and weighting determine result quality.",[88,145,146,149],{},[128,147,148],{},"Driver-based iteration in Python"," made query refinement much faster than manual-only browser experimentation.",[77,151,153],{"id":152},"lessons-learned","Lessons Learned",[73,155,156],{},"This project taught me to treat graph analytics as a staged process: understand the graph, validate assumptions, then apply algorithms with purpose. I also learned how quickly “interesting but wrong” results can appear when projections are underspecified.",[77,158,160],{"id":159},"skills-i-gained","Skills I Gained",[105,162,163,166,169,172],{},[88,164,165],{},"Cypher EDA for unfamiliar production-like graph datasets",[88,167,168],{},"GDS projection design and algorithm execution",[88,170,171],{},"Python-driven graph analysis workflow with Neo4j driver + pandas",[88,173,174],{},"Query\u002Fresult interpretation with explicit methodological tradeoffs",[77,176,178],{"id":177},"artifacts","Artifacts",[105,180,181],{},[88,182,183,184],{},"Notebook: ",[185,186,188],"a",{"href":187,"download":188,"target":189,"rel":190},"\u002Fneo4j\u002FP_Mangoro_C2_assn.ipynb","P_Mangoro_C2_assn.ipynb","_blank",[191],"noopener",{"title":193,"searchDepth":194,"depth":194,"links":195},"",2,[196,197,198,199,200,201],{"id":79,"depth":194,"text":80},{"id":102,"depth":194,"text":103},{"id":121,"depth":194,"text":122},{"id":152,"depth":194,"text":153},{"id":159,"depth":194,"text":160},{"id":177,"depth":194,"text":178},"2026-03-08","How I explored a FAERS-style healthcare graph, moved from Cypher EDA to GDS workflows, and turned graph results into practical analytical insights.","md","\u002Fblog\u002FgraphDatabase\u002Fnode-properties.svg",{"tags":207},[208,209,210,211,212],"Neo4j","Cypher","Graph Data Science","Healthcare Analytics","Python",8,true,{"title":10,"description":203},"nO5a8m2FTMntgTI7GAsA8OZfBYLZnMWeaURkGGZhhew",[218,219],null,{"title":14,"path":15,"stem":16,"description":220,"children":-1},"From zero to production-ready: How I built a full-stack sentiment analysis platform entirely within AWS Free Tier, exploring serverless architecture, cost optimization, and creative problem-solving along the way.",1777326107704]