Neo4j

From Kautepedia
Jump to navigation Jump to search

About[edit | edit source]

The Neo4j graph database is set up to model and analyse relationships between users, clients, and activities. It enables efficient tracing and visualisation of connections, making it a valuable tool for tracking assignments, enrolments, and interactions in a structured format. This document outlines how the database was created, how it works, and its key functionalities.


Neo4j Graph Database Setup[edit | edit source]

Setup[edit | edit source]

  • Created an EC2 instance named neo4j to host the Neo4j graph database.
  • Installed Docker on the EC2 instance to simplify Neo4j deployment.
  • Used Docker to pull and run the official Neo4j image.

How It Works[edit | edit source]

  • The Neo4j database is accessible through:
 * HTTP: Port 7474 (for the Neo4j browser interface).
 * Bolt Protocol: Port 7687 (for applications connecting to Neo4j).
  • Authentication is set up with the user `neo4j` and password `testpassword`.
  • Data modelling and queries can be managed via the Neo4j browser or other tools.

How to Access[edit | edit source]

  • Open your browser and go to:
  http://<EC2-IP>:7474
  
  • Login with the credentials:
 * Username: neo4j
 * Password: testpassword
  • Run queries using Cypher to create, manage, and explore the graph database.

Purpose[edit | edit source]

  • The Neo4j instance is set up for building and exploring graph-based data models.
  • Enables tracing and visualisation of relationships within the dataset.

Relationships[edit | edit source]

Currently, the graph database is set up to track the following relationships:

  • ASSIGNED_TO:
 * Represents the assignment of a user to clients
  • ENROLLED_TO:
 * Tracks the enrolment of a client to a GP
  • INTERACTED_WITH:
 * Captures face-to-face interactions between navigators and clients.
 * Includes properties like `Notes`, `ContactMethod`, and `ContactType` to provide additional context about the interaction.
  • RELATED_TO:
 * Client is related to another client


TODO[edit | edit source]

  • Implement ETL process