(5 points)
Design the graph data model based on the analytical tasks (see HW1) that are intended to be solved with Neo4j.
Identify node labels, relationship types, and properties required for efficient queries.
Apply graph modeling best practices: avoid overly generic nodes, ensure meaningful relationships, and normalize repetitive properties into relationships.
Data must be modeled using multiple node labels and meaningful relationships, not a single node type with large property sets.
Insert the data into Neo4j using the CSV/JSON generated for the project (see HW0).
Load only the necessary entities and relationships to solve the analytical tasks (e.g., via Cypher scripts, LOAD CSV…).
Ensure data import is reproducible (e.g., via Cypher scripts, LOAD CSV, or neo4j-admin import).
Implement and run Cypher queries (see HW1):
Write Cypher queries to solve each analytical task.
Create appropriate indexes and constraints to optimize performance.
Demonstrate graph algorithms or path-finding where relevant (e.g., shortest path, centrality).
Explain chosen traversal patterns and query design decisions.
Restrictions:
Always specify the properties to return explicitly to reduce query overhead (no RETURN * in queries).
MATCH (a),(b) without explicit relationships is prohibited, except for controlled cases with LIMIT.
All frequently queried properties (e.g., id, name) must be indexed or constrained.
Prepare a detailed report including:
Text from HW0 and HW1 (edited if necessary).
A clear graph schema diagram.
Node/relationship creation commands with reasoning for chosen graph structure.
Data import scripts and explanation of the loading process.
All Cypher queries for analytical tasks:
Task number (as in HW1);
Description of the analytical question;
Cypher query code with explanation;
Screenshot of the query result.
Important:
If certain analytical tasks are not meaningful or feasible for Neo4j, replace them with other relevant graph-oriented tasks and update earlier work (HW0/HW1).
Submission Instructions
Submit to the BRUTE system:
Submit the hw6.cypher file to the NoSQL server (nosql.felk.cvut.cz), containing Neo4j commands and brief comments.
Execution:
Server: nosql.felk.cvut.cz
Do not forget to execute the homework submission script after you upload it.
Deadline
Sunday 14. 12. 2025 until 23:59