From 769231e5ddb132e677f430826cfb86d92e83fb93 Mon Sep 17 00:00:00 2001 From: Yashika Verma Date: Sun, 10 May 2026 16:23:50 +0800 Subject: [PATCH 1/3] Level 5 - yashika verma --- .vscode/settings.json | 3 + submissions/yashika-verma/level5/answers.md | 323 ++++++++++++++++++++ submissions/yashika-verma/level5/notes.md | 98 ++++++ submissions/yashika-verma/level5/schema.md | 119 ++++++++ 4 files changed, 543 insertions(+) create mode 100644 .vscode/settings.json create mode 100644 submissions/yashika-verma/level5/answers.md create mode 100644 submissions/yashika-verma/level5/notes.md create mode 100644 submissions/yashika-verma/level5/schema.md diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 000000000..2efadefda --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "workbench.colorTheme": "Visual Studio Dark" +} \ No newline at end of file diff --git a/submissions/yashika-verma/level5/answers.md b/submissions/yashika-verma/level5/answers.md new file mode 100644 index 000000000..818bfc33f --- /dev/null +++ b/submissions/yashika-verma/level5/answers.md @@ -0,0 +1,323 @@ +# Level 5 Answers + +## Q1. Model It + +The schema models factory operations as interconnected production, staffing, and capacity relationships. Projects produce products that flow through stations across weekly schedules, while workers and certifications represent staffing flexibility and operational dependencies. + +Graph relationships capture production flow, worker substitution capability, and overload propagation between shared stations. Relationship properties store operational metrics such as planned hours, actual hours, weekly variance, and capacity deficits. + +Schema diagram included in schema.md. + +--- + +## Q2. Why Not Just SQL? +### SQL Query + +```sql +SELECT + w.worker_name, + s.station_name, + p.project_name +FROM workers w +JOIN worker_certifications wc + ON w.worker_id = wc.worker_id +JOIN certifications c + ON wc.certification_id = c.certification_id +JOIN stations s + ON c.station_id = s.station_id +JOIN production pr + ON s.station_id = pr.station_id +JOIN projects p + ON pr.project_id = p.project_id +WHERE s.station_code = '016' +AND s.station_name = 'Gjutning' +AND w.worker_name <> 'Per Gustafsson'; +``` + +--- + +### Cypher Query + +```cypher +MATCH (w:Worker)-[:HAS_CERTIFICATION]->(:Certification)-[:VALID_FOR]->(s:Station) +MATCH (p:Project)-[:USES_STATION]->(s) +WHERE s.station_code = "016" +AND s.name = "Gjutning" +AND w.name <> "Per Gustafsson" + +RETURN w.name AS replacement_worker, + s.name AS station, + collect(p.name) AS affected_projects +``` + +--- + +### Explanation + +The Cypher query follows the operational relationships directly, making worker substitution and project impact easier to understand visually. In SQL, the same logic requires multiple joins and intermediary tables, which hides the real dependency chain between workers, certifications, stations, and projects. The graph model makes operational reasoning and traversal much more intuitive for production planning scenarios. + + +## Q3. Spot the Bottleneck + +### Bottleneck Analysis + +The capacity dataset shows multiple weekly deficits where production demand exceeds available station capacity. By comparing planned_hours and actual_hours in the production dataset, the main bottlenecks appear in stations with repeated overtime and high variance across multiple projects. + +Projects that consistently exceed planned hours create cascading overload effects because the same stations are shared across several active projects during the same production weeks. + +--- + +### Cypher Query + +```cypher +MATCH (p:Project)-[r:OVERLOADED_AT]->(s:Station) +WHERE r.actual_hours > r.planned_hours * 1.10 + +RETURN + s.name AS station, + p.name AS project, + r.planned_hours AS planned_hours, + r.actual_hours AS actual_hours, + ROUND( + ((r.actual_hours - r.planned_hours) / r.planned_hours) * 100, + 2 + ) AS variance_percent + +ORDER BY variance_percent DESC +``` + +--- + +### Graph Alert Modeling + +I would model bottlenecks using both relationship properties and dedicated Alert nodes. + +The relationship property stores operational metrics directly on the production relationship: + +```text +(:Project)-[:OVERLOADED_AT { + planned_hours, + actual_hours, + variance_percent, + week +}]->(:Station) +``` + +This keeps overload calculations close to the operational workflow. + +For monitoring and dashboards, I would also create dedicated Alert nodes: + +```text +(:Alert { + type: "capacity_overload", + severity: "high", + variance_percent: 24.5 +}) +``` + +connected through: + +```text +(:Alert)-[:TRIGGERED_FOR]->(:Project) +(:Alert)-[:AT_STATION]->(:Station) +(:Alert)-[:IN_WEEK]->(:Week) +``` + +This makes it easier to track historical bottlenecks, visualize recurring overload patterns, and build real-time operational dashboards. + +## Q4. Vector + Graph Hybrid + +### What I Would Embed + +I would generate embeddings for: + +- Project descriptions +- Product specifications +- Delivery timelines +- Construction/client requirements +- Worker skills and certifications +- Historical project summaries + +Example project text: + +```text +"450 meters of IQB beams for a hospital extension in Linköping with a tight delivery timeline" +``` + +Embedding this text allows the system to identify semantically similar projects even when the product names or wording are different. + +--- + +### Hybrid Vector + Graph Query + +```cypher +CALL db.index.vector.queryNodes( + 'project_embeddings', + 5, + $embedding +) +YIELD node, score + +MATCH (node:Project)-[:USES_STATION]->(s:Station) +MATCH (node)-[r:OVERLOADED_AT]->(s) + +WHERE r.variance_percent < 5 + +RETURN + node.name AS similar_project, + score, + collect(DISTINCT s.name) AS stations_used, + avg(r.variance_percent) AS average_variance + +ORDER BY score DESC +``` + +--- + +### Why Hybrid Search Is Better + +Filtering only by product type would miss operational context and project complexity. Two projects may both involve IQB beams but differ significantly in staffing requirements, station usage, delivery pressure, or execution efficiency. + +Vector similarity captures semantic and contextual similarity between projects, while the graph relationships ensure the retrieved projects are operationally relevant based on station usage, production flow, and historical performance. + +This hybrid approach is more useful because it combines semantic understanding with real operational constraints. + +The same pattern can also be applied to people-matching systems such as Boardy, where embeddings identify similar needs or offers, while graph relationships verify community, collaboration history, or organizational connections. + +## Q5. Your L6 Plan + +### Graph Nodes and CSV Mapping + +| Node Label | CSV Columns | +|---|---| +| Project | project_id, project_name | +| Product | product_type | +| Station | station_code, station_name | +| Worker | worker_name, role | +| Certification | certifications | +| Week | week | +| Capacity | planned_capacity, actual_demand, deficit | +| Alert | derived from overload calculations | + +--- + +### Relationship Types + +| Relationship | Created From | +|---|---| +| PRODUCES | project_id → product_type | +| PROCESSED_AT | product_type → station | +| USES_STATION | project_id → station | +| SCHEDULED_IN | project_id → week | +| PRIMARY_OPERATOR_AT | worker → primary_station | +| CAN_COVER | worker → cover_stations | +| HAS_CERTIFICATION | worker → certifications | +| HAS_CAPACITY | station → weekly capacity | +| OVERLOADED_AT | actual_hours > planned_hours | +| TRIGGERED_FOR | alert → project | + +--- + +### Streamlit Dashboard Panels + +#### 1. Station Load Heatmap + +Purpose: +- Compare planned vs actual hours by station and week +- Identify overloaded production stations visually + +Cypher query: + +```cypher +MATCH (p:Project)-[r:OVERLOADED_AT]->(s:Station) +RETURN + s.name, + r.week, + SUM(r.actual_hours) AS actual_hours, + SUM(r.planned_hours) AS planned_hours +ORDER BY r.week +``` + +--- + +#### 2. Worker Coverage Matrix + +Purpose: +- Show which workers can substitute for critical stations +- Identify staffing risks and certification gaps + +Cypher query: + +```cypher +MATCH (w:Worker)-[:CAN_COVER]->(s:Station) +RETURN + w.name, + collect(s.name) AS coverage_stations +``` + +--- + +#### 3. Bottleneck Alert Dashboard + +Purpose: +- Track projects exceeding planned production hours +- Display highest variance stations and recurring overloads + +Cypher query: + +```cypher +MATCH (p:Project)-[r:OVERLOADED_AT]->(s:Station) +WHERE r.variance_percent > 10 + +RETURN + p.name, + s.name, + r.week, + r.variance_percent + +ORDER BY r.variance_percent DESC +``` + +--- + +#### 4. Similar Project Search + +Purpose: +- Find historically similar projects using vector search +- Compare station usage and execution efficiency + +Cypher query: + +```cypher +CALL db.index.vector.queryNodes( + 'project_embeddings', + 5, + $embedding +) +YIELD node, score + +RETURN node.name, score +ORDER BY score DESC +``` + +--- + +### Implementation Plan + +For Level 6, I would: + +1. Load the CSV datasets into Neo4j +2. Create graph nodes and relationships using Cypher import scripts +3. Compute overload and variance metrics during ingestion +4. Generate embeddings for project descriptions +5. Build a Streamlit dashboard connected to Neo4j +6. Visualize bottlenecks, staffing coverage, and project similarity +7. Add alert monitoring for recurring station overloads + +The graph structure enables operational analysis that would be difficult to model efficiently using relational joins alone, especially when tracking staffing substitutions, shared station dependencies, and cascading production bottlenecks. + +--- + +## Conclusion + +This graph-based approach models the factory as an interconnected operational system rather than isolated relational tables. Combining graph traversal with vector similarity enables more intelligent production planning, staffing analysis, bottleneck detection, and historical project comparison. \ No newline at end of file diff --git a/submissions/yashika-verma/level5/notes.md b/submissions/yashika-verma/level5/notes.md new file mode 100644 index 000000000..56c2d22dd --- /dev/null +++ b/submissions/yashika-verma/level5/notes.md @@ -0,0 +1,98 @@ +# Dataset Inspection Notes + +## factory_production.csv + +Observed columns: +- project_id +- product_type +- station_code +- station_name +- week +- planned_hours +- actual_hours + +Key observations: +- Multiple projects use the same stations +- Products move through several production stations +- Actual hours sometimes exceed planned hours +- Weekly production flow is important for bottleneck analysis + +Possible graph entities: +- Project +- Product +- Station +- Week + +Possible relationship properties: +- planned_hours +- actual_hours +- variance_percent +- week + + +--- + +## factory_workers.csv + +Observed columns: +- worker_name +- primary_station +- certifications +- role +- cover_stations + +Key observations: +- Workers can cover multiple stations +- Certifications determine substitution capability +- Some stations depend on a small number of workers + +Possible graph entities: +- Worker +- Certification +- Station + +Possible relationships: +- PRIMARY_OPERATOR_AT +- CAN_COVER +- HAS_CERTIFICATION + + +--- + +## factory_capacity.csv + +Observed columns: +- week +- station +- planned_capacity +- actual_demand +- deficit + +Key observations: +- Some stations exceed weekly capacity +- Capacity deficits vary across weeks +- Weekly overload patterns can trigger alerts + +Possible graph entities: +- Capacity +- Week +- Station +- Alert + +Possible relationships: +- HAS_CAPACITY +- OVERLOADED_AT +- TRIGGERED_FOR + + +--- + +# Initial Graph Modeling Thoughts + +The system naturally fits a graph structure because: +- projects connect to products and stations +- workers connect to certifications and coverage stations +- weekly capacity creates temporal operational dependencies +- bottlenecks propagate across multiple connected entities + +Graph traversal makes staffing impact and overload analysis easier than multi-table relational joins. \ No newline at end of file diff --git a/submissions/yashika-verma/level5/schema.md b/submissions/yashika-verma/level5/schema.md new file mode 100644 index 000000000..c13e1109d --- /dev/null +++ b/submissions/yashika-verma/level5/schema.md @@ -0,0 +1,119 @@ +# Factory Knowledge Graph Schema + +```mermaid +graph TD + +%% ========================= +%% CORE PRODUCTION FLOW +%% ========================= + +Project -->|PRODUCES| Product +Product -->|PROCESSED_AT| Station +Project -->|USES_STATION| Station +Project -->|SCHEDULED_IN| Week + +%% ========================= +%% WORKERS + COVERAGE +%% ========================= + +Worker -->|PRIMARY_OPERATOR_AT| Station +Worker -->|CAN_COVER| Station +Worker -->|HAS_CERTIFICATION| Certification + +%% ========================= +%% CAPACITY + LOAD +%% ========================= + +Station -->|HAS_WEEKLY_CAPACITY| Week +Project -->|OVERLOADED_AT| Station + +%% ========================= +%% ALERTING +%% ========================= + +Alert -->|TRIGGERED_FOR| Project +Alert -->|AT_STATION| Station +Alert -->|IN_WEEK| Week +``` + +--- + +# Node Labels + +| Node Label | Description | Source CSV | +|---|---|---| +| Project | Construction/manufacturing project | factory_production.csv | +| Product | Product type (IQB, SB, etc.) | factory_production.csv | +| Station | Production station/work area | factory_production.csv | +| Worker | Factory worker/operator | factory_workers.csv | +| Certification | Worker skills/certifications | factory_workers.csv | +| Week | Production week (w1–w8) | production + capacity CSV | +| Alert | Bottleneck/overload detection node | derived | + +--- + +# Relationship Types + +| Relationship | Meaning | +|---|---| +| PRODUCES | Project produces a product type | +| PROCESSED_AT | Product moves through a station | +| USES_STATION | Project requires a station | +| SCHEDULED_IN | Project active during a week | +| PRIMARY_OPERATOR_AT | Worker's main station | +| CAN_COVER | Worker can substitute at station | +| HAS_CERTIFICATION | Worker certifications | +| HAS_WEEKLY_CAPACITY | Station weekly production capacity | +| OVERLOADED_AT | Project exceeded planned hours | +| TRIGGERED_FOR | Alert linked to project | +| AT_STATION | Alert linked to station | +| IN_WEEK | Alert linked to week | + +--- + +# Relationship Properties + +## Example 1 — Project overload tracking + +```text +(:Project)-[:OVERLOADED_AT { + planned_hours: 35.0, + actual_hours: 42.5, + variance_percent: 21.4, + week: "w4" +}]->(:Station) +``` + +--- + +## Example 2 — Worker station coverage + +```text +(:Worker)-[:CAN_COVER { + coverage_type: "backup", + hours_per_week: 40 +}]->(:Station) +``` + +--- + +## Example 3 — Weekly station capacity + +```text +(:Station)-[:HAS_WEEKLY_CAPACITY { + total_capacity: 480, + total_planned: 612, + deficit: -132, + overtime_hours: 40 +}]->(:Week) +``` + +--- + +# Design Rationale + +The schema models factory operations as interconnected production, staffing, and capacity relationships. Projects produce products that flow through stations across weekly schedules, while workers and certifications represent staffing flexibility and operational dependencies. + +Graph relationships capture production flow, worker substitution capability, and overload propagation between shared stations. Relationship properties store operational metrics such as planned hours, actual hours, weekly variance, and capacity deficits, enabling bottleneck analysis and workforce substitution queries. + +This graph-based structure makes it easier to analyze cascading operational effects, recurring production bottlenecks, staffing risks, and historical production performance compared to traditional relational joins. \ No newline at end of file From 1592c6848bf3857e73d72e5a281540802b324e1a Mon Sep 17 00:00:00 2001 From: Yashika Verma Date: Wed, 13 May 2026 14:54:53 +0800 Subject: [PATCH 2/3] Complete Level 6 factory knowledge graph dashboard --- submissions/yashika-verma/level6/.env.example | 0 submissions/yashika-verma/level6/.gitignore | 6 + submissions/yashika-verma/level6/README.md | 65 ++ submissions/yashika-verma/level6/app.py | 565 ++++++++++++++++++ .../level6/data/factory_capacity.csv | 9 + .../level6/data/factory_production.csv | 69 +++ .../level6/data/factory_workers.csv | 15 + submissions/yashika-verma/level6/graph.png | Bin 0 -> 178326 bytes .../yashika-verma/level6/requirements.txt | 5 + .../yashika-verma/level6/seed_graph.py | 278 +++++++++ 10 files changed, 1012 insertions(+) create mode 100644 submissions/yashika-verma/level6/.env.example create mode 100644 submissions/yashika-verma/level6/.gitignore create mode 100644 submissions/yashika-verma/level6/README.md create mode 100644 submissions/yashika-verma/level6/app.py create mode 100644 submissions/yashika-verma/level6/data/factory_capacity.csv create mode 100644 submissions/yashika-verma/level6/data/factory_production.csv create mode 100644 submissions/yashika-verma/level6/data/factory_workers.csv create mode 100644 submissions/yashika-verma/level6/graph.png create mode 100644 submissions/yashika-verma/level6/requirements.txt create mode 100644 submissions/yashika-verma/level6/seed_graph.py diff --git a/submissions/yashika-verma/level6/.env.example b/submissions/yashika-verma/level6/.env.example new file mode 100644 index 000000000..e69de29bb diff --git a/submissions/yashika-verma/level6/.gitignore b/submissions/yashika-verma/level6/.gitignore new file mode 100644 index 000000000..717be2ca7 --- /dev/null +++ b/submissions/yashika-verma/level6/.gitignore @@ -0,0 +1,6 @@ +.env +.streamlit/secrets.toml +venv/ +.vscode/ +.DS_Store +__pycache__/ \ No newline at end of file diff --git a/submissions/yashika-verma/level6/README.md b/submissions/yashika-verma/level6/README.md new file mode 100644 index 000000000..257516559 --- /dev/null +++ b/submissions/yashika-verma/level6/README.md @@ -0,0 +1,65 @@ +# Factory Knowledge Graph Dashboard + +A Streamlit + Neo4j dashboard for analyzing factory production planning, staffing coverage, station overloads, and capacity bottlenecks. + +## Features + +- Project variance tracking +- Production station load analysis +- Capacity deficit monitoring +- Worker coverage analysis +- Graph-based operational insights +- Self-test validation system + +## Tech Stack + +- Neo4j AuraDB +- Streamlit +- Plotly +- pandas +- Python + +## Dataset + +The dashboard uses: +- factory_production.csv +- factory_workers.csv +- factory_capacity.csv + +## Run Locally + +```bash +pip install -r requirements.txt +streamlit run app.py +``` + +## Neo4j Configuration + +Create `.streamlit/secrets.toml` + +```toml +NEO4J_URI = "your-uri" +NEO4J_USER = "neo4j" +NEO4J_PASSWORD = "your-password" +``` + +## Graph Visualization + +![Graph](graph.png) + +## Graph Architecture + +### Node Labels +- Project +- Product +- Station +- Worker +- Certification +- Week + +### Relationship Types +- SCHEDULED_AT +- USES_STATION +- CAN_COVER +- HAS_CERTIFICATION +- ASSIGNED_TO \ No newline at end of file diff --git a/submissions/yashika-verma/level6/app.py b/submissions/yashika-verma/level6/app.py new file mode 100644 index 000000000..cebdc9660 --- /dev/null +++ b/submissions/yashika-verma/level6/app.py @@ -0,0 +1,565 @@ +import streamlit as st +from neo4j import GraphDatabase +import pandas as pd +import plotly.express as px + +# ========================= +# PAGE CONFIG +# ========================= + +st.set_page_config( + page_title="Factory Knowledge Graph Dashboard", + layout="wide" +) + +# ========================= +# NEO4J CONNECTION +# ========================= + +URI = st.secrets["NEO4J_URI"] +USER = st.secrets["NEO4J_USER"] +PASSWORD = st.secrets["NEO4J_PASSWORD"] + +driver = GraphDatabase.driver( + URI, + auth=(USER, PASSWORD) +) + +# ========================= +# TITLE +# ========================= + +st.title( + "🏭 Factory Knowledge Graph Dashboard" +) +st.info(""" +Key Findings: +- 2 projects exceeded overload thresholds +- P04 has the highest variance +- Multiple deficit weeks indicate capacity imbalance +""") + +# ========================= +# SIDEBAR +# ========================= + +page = st.sidebar.radio( + "Navigation", + [ + "Project Overview", + "Station Load", + "Capacity Tracker", + "Worker Coverage", + "Self-Test" + ] +) + +# ========================= +# PAGE 1 — PROJECT OVERVIEW +# ========================= + +if page == "Project Overview": + + st.header("📦 Project Overview") + + query = """ + MATCH (p:Project)-[r:SCHEDULED_AT]->(:Station) + + RETURN + p.id AS project, + SUM(r.planned_hours) AS planned_hours, + SUM(r.actual_hours) AS actual_hours, + ROUND( + ( + ( + SUM(r.actual_hours) + - SUM(r.planned_hours) + ) + / SUM(r.planned_hours) + ) * 100, + 2 + ) AS variance_percent + """ + + with driver.session() as session: + + result = session.run(query) + + data = [dict(r) for r in result] + + df = pd.DataFrame(data) + + df = df.round(2) + + def classify_variance(v): + + if v >= 4: + return "HIGH" + + elif v >= 2: + return "MEDIUM" + + return "LOW" + + df["severity"] = df[ + "variance_percent" + ].apply(classify_variance) + + # ========================= + # METRICS + # ========================= + + col1, col2, col3 = st.columns(3) + + col1.metric( + "Projects", + len(df) + ) + + col2.metric( + "Total Planned Hours", + round( + df["planned_hours"].sum(), + 1 + ) + ) + + col3.metric( + "Average Variance %", + round( + df["variance_percent"].mean(), + 2 + ) + ) + + # ========================= + # TABLE HIGHLIGHTING + # ========================= + + def highlight_variance(val): + + if val > 3: + return "background-color: red" + + return "" + + styled_df = df.style.map( + highlight_variance, + subset=["variance_percent"] + ) + + styled_df = styled_df.format({ + "planned_hours": "{:.1f}", + "actual_hours": "{:.1f}", + "variance_percent": "{:.2f}", + "severity": "{}" + }) + + st.dataframe( + styled_df, + use_container_width=True + ) + + # ========================= + # TOP OVERLOADED PROJECTS + # ========================= + + st.subheader( + "Top Overloaded Projects" + ) + + top_df = df.sort_values( + by="variance_percent", + ascending=False + ).head(5) + + top_df = top_df.round(2) + + st.dataframe( + top_df, + use_container_width=True + ) + + highest = top_df.iloc[0] + + st.warning( + f"{highest['project']} exceeded planned " + f"hours by {highest['variance_percent']}%" + ) + st.subheader("🚨 Critical Alerts") + + critical_projects = df[ + df["variance_percent"] > 3 + ] + + for _, row in critical_projects.iterrows(): + + st.error( + f"{row['project']} exceeded planned hours by " + f"{row['variance_percent']}%" + ) + + # ========================= + # OPERATIONAL INSIGHTS + # ========================= + + st.subheader("Operational Insights") + + overloaded_count = len( + df[df["variance_percent"] > 3] + ) + + st.markdown(f""" + - {overloaded_count} projects exceeded the variance threshold + - {highest['project']} currently has the highest overload variance + - Production scheduling may require capacity rebalancing + """) + +# ========================= +# PAGE 2 — STATION LOAD +# ========================= + +elif page == "Station Load": + + st.header("📊 Station Load") + + query = """ + MATCH (p:Project)-[r:SCHEDULED_AT]->(s:Station) + + RETURN + s.name AS station, + r.week AS week, + SUM(r.planned_hours) AS planned_hours, + SUM(r.actual_hours) AS actual_hours + """ + + with driver.session() as session: + + result = session.run(query) + + data = [dict(r) for r in result] + + df = pd.DataFrame(data) + + df = df.round(2) + + fig = px.bar( + df, + x="week", + y="actual_hours", + color="station", + barmode="group", + hover_data=["planned_hours"] + ) + + st.plotly_chart( + fig, + use_container_width=True + ) + + highest_station = df.groupby( + "station" + )["actual_hours"].sum().idxmax() + + st.info( + f"{highest_station} currently has the highest production load." + ) + +# ========================= +# PAGE 3 — CAPACITY TRACKER +# ========================= + +elif page == "Capacity Tracker": + + st.header("⚠ Capacity Tracker") + + query = """ + MATCH (w:Week) + + RETURN + w.name AS week, + w.total_capacity AS total_capacity, + w.total_planned AS total_planned, + w.deficit AS deficit + + ORDER BY week + """ + + with driver.session() as session: + + result = session.run(query) + + data = [dict(r) for r in result] + + df = pd.DataFrame(data) + + df = df.round(2) + + st.dataframe( + df, + use_container_width=True + ) + + fig = px.line( + df, + x="week", + y=["total_capacity", "total_planned"], + markers=True + ) + + st.plotly_chart( + fig, + use_container_width=True + ) + + fig2 = px.area( + df, + x="week", + y="deficit" + ) + + st.plotly_chart( + fig2, + use_container_width=True + ) + + deficit_df = df[ + df["deficit"] < 0 + ] + + st.subheader("Deficit Weeks") + + st.dataframe( + deficit_df, + use_container_width=True + ) + + worst_week = deficit_df.sort_values( + by="deficit" + ).iloc[0] + + st.error( + f"{worst_week['week']} had the largest " + f"capacity deficit of {worst_week['deficit']} hours." + ) + +# ========================= +# PAGE 4 — WORKER COVERAGE +# ========================= + +elif page == "Worker Coverage": + + st.header("👷 Worker Coverage") + + query = """ + MATCH (w:Worker)-[:CAN_COVER]->(s:Station) + + RETURN + s.name AS station, + collect(w.name) AS workers, + count(w) AS coverage_count + + ORDER BY coverage_count ASC + """ + + with driver.session() as session: + + result = session.run(query) + + data = [dict(r) for r in result] + + df = pd.DataFrame(data) + + st.dataframe( + df, + use_container_width=True + ) + + risky_df = df[ + df["coverage_count"] <= 1 + ] + + st.subheader( + "Single Point of Failure Stations" + ) + + st.dataframe( + risky_df, + use_container_width=True + ) + + st.warning( + f"{len(risky_df)} stations have limited backup coverage." + ) + + lowest_station = risky_df.iloc[0] + + st.error( + f"{lowest_station['station']} has the lowest worker redundancy." + ) + + +# ========================= +# PAGE 5 — SELF TEST +# ========================= + +elif page == "Self-Test": + + st.header("✅ Self-Test") + + checks = [] + + try: + + with driver.session() as s: + s.run("RETURN 1") + + checks.append( + ( + "Neo4j connected", + True, + 3 + ) + ) + + except: + + checks.append( + ( + "Neo4j connected", + False, + 3 + ) + ) + + with driver.session() as s: + + result = s.run( + "MATCH (n) RETURN count(n) AS c" + ).single() + + node_count = result["c"] + + checks.append( + ( + f"{node_count} nodes (min: 50)", + node_count >= 50, + 3 + ) + ) + + result = s.run( + "MATCH ()-[r]->() RETURN count(r) AS c" + ).single() + + rel_count = result["c"] + + checks.append( + ( + f"{rel_count} relationships (min: 100)", + rel_count >= 100, + 3 + ) + ) + + result = s.run( + """ + CALL db.labels() + YIELD label + RETURN count(label) AS c + """ + ).single() + + label_count = result["c"] + + checks.append( + ( + f"{label_count} node labels (min: 6)", + label_count >= 6, + 3 + ) + ) + + result = s.run( + """ + CALL db.relationshipTypes() + YIELD relationshipType + RETURN count(relationshipType) AS c + """ + ).single() + + rel_types = result["c"] + + checks.append( + ( + f"{rel_types} relationship types (min: 8)", + rel_types >= 8, + 3 + ) + ) + + result = s.run(""" + MATCH (p:Project)-[r:SCHEDULED_AT]->(s:Station) + + WHERE r.variance_percent > 3 + + RETURN + p.id AS project, + s.name AS station, + r.planned_hours AS planned, + r.actual_hours AS actual + + LIMIT 10 + """) + + rows = [dict(r) for r in result] + + checks.append( + ( + f"Variance query: {len(rows)} results", + len(rows) > 0, + 5 + ) + ) + + total = 0 + + for text, passed, score in checks: + + if passed: + + st.success( + f"✅ {text} — {score}/{score}" + ) + + total += score + + else: + + st.error( + f"❌ {text} — 0/{score}" + ) + + st.divider() + + if total == 20: + + st.success( + f"SELF-TEST SCORE: {total}/20" + ) + + else: + + st.warning( + f"SELF-TEST SCORE: {total}/20" + ) + +# ========================= +# FOOTER +# ========================= + +st.divider() + +st.caption( + "Built using Neo4j, Streamlit, Plotly, and factory production datasets." +) \ No newline at end of file diff --git a/submissions/yashika-verma/level6/data/factory_capacity.csv b/submissions/yashika-verma/level6/data/factory_capacity.csv new file mode 100644 index 000000000..795ff52f0 --- /dev/null +++ b/submissions/yashika-verma/level6/data/factory_capacity.csv @@ -0,0 +1,9 @@ +week,own_staff_count,hired_staff_count,own_hours,hired_hours,overtime_hours,total_capacity,total_planned,deficit +w1,10,2,400,80,0,480,612,-132 +w2,10,2,400,80,40,520,645,-125 +w3,10,2,400,80,0,480,398,82 +w4,10,2,400,80,20,500,550,-50 +w5,10,2,400,80,30,510,480,30 +w6,9,2,360,80,0,440,520,-80 +w7,10,2,400,80,40,520,600,-80 +w8,10,2,400,80,20,500,470,30 \ No newline at end of file diff --git a/submissions/yashika-verma/level6/data/factory_production.csv b/submissions/yashika-verma/level6/data/factory_production.csv new file mode 100644 index 000000000..ca6ce43e1 --- /dev/null +++ b/submissions/yashika-verma/level6/data/factory_production.csv @@ -0,0 +1,69 @@ +project_id,project_number,project_name,product_type,unit,quantity,unit_factor,station_code,station_name,etapp,bop,week,planned_hours,actual_hours,completed_units +P01,4501,Stålverket Borås,IQB,meter,600,1.77,011,FS IQB,ET1,BOP1,w1,48.0,45.2,28 +P01,4501,Stålverket Borås,IQB,meter,600,1.77,012,Förmontering IQB,ET1,BOP1,w1,32.0,35.5,25 +P01,4501,Stålverket Borås,IQB,meter,600,1.77,013,Montering IQB,ET1,BOP1,w1,28.0,26.0,22 +P01,4501,Stålverket Borås,IQB,meter,600,1.77,014,Svets o montage IQB,ET1,BOP1,w1,35.0,38.2,20 +P01,4501,Stålverket Borås,SB,styck,40,4.0,018,SB B/F-hall,ET1,BOP1,w1,16.0,14.5,4 +P01,4501,Stålverket Borås,SP,styck,180,2.0,019,SP B/F-hall,ET1,BOP1,w1,12.0,13.0,7 +P01,4501,Stålverket Borås,IQB,meter,600,1.77,011,FS IQB,ET1,BOP1,w2,48.0,50.0,32 +P01,4501,Stålverket Borås,IQB,meter,600,1.77,012,Förmontering IQB,ET1,BOP1,w2,32.0,30.0,28 +P01,4501,Stålverket Borås,IQP,styck,90,2.80,015,Montering IQP,ET1,BOP2,w2,25.0,28.0,9 +P01,4501,Stålverket Borås,SR,styck,8,45.0,021,SR B/F-hall,ET1,BOP2,w2,40.0,42.0,1 +P02,4502,Kontorshus Mölndal,IQB,meter,350,1.50,011,FS IQB,ET1,BOP1,w1,30.0,28.0,20 +P02,4502,Kontorshus Mölndal,IQB,meter,350,1.50,012,Förmontering IQB,ET1,BOP1,w1,22.0,24.5,18 +P02,4502,Kontorshus Mölndal,IQB,meter,350,1.50,013,Montering IQB,ET1,BOP1,w1,18.0,17.0,16 +P02,4502,Kontorshus Mölndal,IQP,styck,70,2.70,015,Montering IQP,ET1,BOP1,w1,19.0,21.0,7 +P02,4502,Kontorshus Mölndal,SD,styck,30,3.00,018,SB B/F-hall,ET1,BOP1,w1,9.0,8.5,3 +P02,4502,Kontorshus Mölndal,IQB,meter,350,1.50,011,FS IQB,ET1,BOP1,w2,30.0,32.0,24 +P02,4502,Kontorshus Mölndal,IQB,meter,350,1.50,014,Svets o montage IQB,ET1,BOP1,w2,25.0,23.0,20 +P02,4502,Kontorshus Mölndal,SP,styck,120,1.75,019,SP B/F-hall,ET1,BOP2,w2,14.0,15.5,8 +P03,4503,Lagerhall Jönköping,IQB,meter,900,1.89,011,FS IQB,ET1,BOP1,w1,72.0,70.0,40 +P03,4503,Lagerhall Jönköping,IQB,meter,900,1.89,012,Förmontering IQB,ET1,BOP1,w1,48.0,52.0,35 +P03,4503,Lagerhall Jönköping,IQB,meter,900,1.89,013,Montering IQB,ET1,BOP1,w1,38.0,36.5,30 +P03,4503,Lagerhall Jönköping,IQB,meter,900,1.89,014,Svets o montage IQB,ET1,BOP1,w1,42.0,48.0,28 +P03,4503,Lagerhall Jönköping,SB,styck,60,6.00,018,SB B/F-hall,ET1,BOP1,w1,36.0,38.0,6 +P03,4503,Lagerhall Jönköping,IQB,meter,900,1.89,011,FS IQB,ET1,BOP1,w2,72.0,75.0,45 +P03,4503,Lagerhall Jönköping,IQP,styck,110,2.90,015,Montering IQP,ET1,BOP2,w2,32.0,30.0,11 +P03,4503,Lagerhall Jönköping,IQB,meter,900,1.89,016,Gjutning,ET1,BOP2,w2,28.0,35.0,8 +P03,4503,Lagerhall Jönköping,IQB,meter,900,1.89,017,Målning,ET1,BOP2,w3,24.0,22.0,20 +P04,4504,Parkering Helsingborg,IQB,meter,450,1.65,011,FS IQB,ET1,BOP1,w1,38.0,36.0,24 +P04,4504,Parkering Helsingborg,IQB,meter,450,1.65,012,Förmontering IQB,ET1,BOP1,w1,25.0,27.0,20 +P04,4504,Parkering Helsingborg,IQB,meter,450,1.65,013,Montering IQB,ET1,BOP1,w1,20.0,19.0,18 +P04,4504,Parkering Helsingborg,IQP,styck,55,2.85,015,Montering IQP,ET1,BOP1,w1,16.0,18.0,6 +P04,4504,Parkering Helsingborg,SB,styck,25,7.50,018,SB B/F-hall,ET1,BOP1,w1,19.0,22.0,3 +P04,4504,Parkering Helsingborg,IQB,meter,450,1.65,011,FS IQB,ET1,BOP1,w2,38.0,40.0,28 +P04,4504,Parkering Helsingborg,SP,styck,100,2.00,019,SP B/F-hall,ET1,BOP2,w2,12.0,11.0,6 +P04,4504,Parkering Helsingborg,SR,styck,12,120.0,021,SR B/F-hall,ET1,BOP2,w2,60.0,65.0,1 +P05,4505,Sjukhus Linköping ET2,IQB,meter,1200,1.85,011,FS IQB,ET2,BOP3,w1,95.0,90.0,50 +P05,4505,Sjukhus Linköping ET2,IQB,meter,1200,1.85,012,Förmontering IQB,ET2,BOP3,w1,65.0,68.0,42 +P05,4505,Sjukhus Linköping ET2,IQB,meter,1200,1.85,013,Montering IQB,ET2,BOP3,w1,50.0,48.0,38 +P05,4505,Sjukhus Linköping ET2,IQB,meter,1200,1.85,014,Svets o montage IQB,ET2,BOP3,w1,58.0,62.0,35 +P05,4505,Sjukhus Linköping ET2,IQP,styck,150,2.88,015,Montering IQP,ET2,BOP3,w1,30.0,33.0,10 +P05,4505,Sjukhus Linköping ET2,SB,styck,50,5.00,018,SB B/F-hall,ET2,BOP3,w1,25.0,28.0,5 +P05,4505,Sjukhus Linköping ET2,SD,styck,45,2.75,018,SB B/F-hall,ET2,BOP3,w1,12.0,11.5,4 +P05,4505,Sjukhus Linköping ET2,IQB,meter,1200,1.85,011,FS IQB,ET2,BOP3,w2,95.0,98.0,55 +P05,4505,Sjukhus Linköping ET2,IQB,meter,1200,1.85,016,Gjutning,ET2,BOP3,w2,35.0,40.0,12 +P05,4505,Sjukhus Linköping ET2,IQB,meter,1200,1.85,017,Målning,ET2,BOP3,w2,28.0,26.0,25 +P05,4505,Sjukhus Linköping ET2,SR,styck,20,274.0,021,SR B/F-hall,ET2,BOP3,w3,120.0,115.0,2 +P06,4506,Skola Uppsala,IQB,meter,500,1.60,011,FS IQB,ET1,BOP1,w2,40.0,38.0,26 +P06,4506,Skola Uppsala,IQB,meter,500,1.60,012,Förmontering IQB,ET1,BOP1,w2,28.0,30.0,22 +P06,4506,Skola Uppsala,IQB,meter,500,1.60,013,Montering IQB,ET1,BOP1,w2,22.0,20.0,18 +P06,4506,Skola Uppsala,IQP,styck,80,2.75,015,Montering IQP,ET1,BOP1,w2,22.0,24.0,8 +P06,4506,Skola Uppsala,SB,styck,35,4.50,018,SB B/F-hall,ET1,BOP1,w2,16.0,18.0,4 +P06,4506,Skola Uppsala,SP,styck,140,1.50,019,SP B/F-hall,ET1,BOP2,w3,14.0,12.0,10 +P07,4507,Idrottshall Västerås,HSQ,meter,400,2.05,011,FS IQB,ET1,BOP1,w1,45.0,42.0,22 +P07,4507,Idrottshall Västerås,HSQ,meter,400,2.05,012,Förmontering IQB,ET1,BOP1,w1,30.0,33.0,18 +P07,4507,Idrottshall Västerås,HSQ,meter,400,2.05,014,Svets o montage IQB,ET1,BOP1,w1,35.0,32.0,16 +P07,4507,Idrottshall Västerås,SB,styck,45,3.50,018,SB B/F-hall,ET1,BOP1,w1,16.0,18.0,5 +P07,4507,Idrottshall Västerås,HSQ,meter,400,2.05,011,FS IQB,ET1,BOP1,w2,45.0,48.0,26 +P07,4507,Idrottshall Västerås,HSQ,meter,400,2.05,016,Gjutning,ET1,BOP2,w2,20.0,22.0,5 +P07,4507,Idrottshall Västerås,HSQ,meter,400,2.05,017,Målning,ET1,BOP2,w3,18.0,16.0,15 +P08,4508,Bro E6 Halmstad,IQB,meter,800,1.80,011,FS IQB,ET1,BOP1,w1,65.0,62.0,36 +P08,4508,Bro E6 Halmstad,IQB,meter,800,1.80,012,Förmontering IQB,ET1,BOP1,w1,42.0,45.0,30 +P08,4508,Bro E6 Halmstad,IQB,meter,800,1.80,013,Montering IQB,ET1,BOP1,w1,35.0,38.0,25 +P08,4508,Bro E6 Halmstad,IQB,meter,800,1.80,014,Svets o montage IQB,ET1,BOP1,w1,40.0,44.0,22 +P08,4508,Bro E6 Halmstad,SP,styck,200,2.50,019,SP B/F-hall,ET1,BOP1,w1,20.0,18.0,8 +P08,4508,Bro E6 Halmstad,IQB,meter,800,1.80,011,FS IQB,ET1,BOP1,w2,65.0,68.0,42 +P08,4508,Bro E6 Halmstad,IQP,styck,95,2.93,015,Montering IQP,ET1,BOP2,w2,28.0,30.0,10 +P08,4508,Bro E6 Halmstad,IQB,meter,800,1.80,016,Gjutning,ET1,BOP2,w3,22.0,25.0,8 +P08,4508,Bro E6 Halmstad,SR,styck,15,180.0,021,SR B/F-hall,ET1,BOP2,w3,90.0,85.0,2 \ No newline at end of file diff --git a/submissions/yashika-verma/level6/data/factory_workers.csv b/submissions/yashika-verma/level6/data/factory_workers.csv new file mode 100644 index 000000000..3110285cc --- /dev/null +++ b/submissions/yashika-verma/level6/data/factory_workers.csv @@ -0,0 +1,15 @@ +worker_id,name,role,primary_station,can_cover_stations,certifications,hours_per_week,type +W01,Erik Lindberg,Operator,011,"011,012","MIG/MAG,TIG,ISO 9606",40,permanent +W02,Anna Berg,Operator,011,"011,014","MIG/MAG,TIG",40,permanent +W03,Lars Jensen,Operator,012,"012,013","Surface treatment,CE marking",40,permanent +W04,Maria Stone,Operator,013,"013","Blasting,Surface protection",40,permanent +W05,Johan Peters,Operator,014,"014,015","Hydraulics,Mechanics,Crane",40,permanent +W06,Karen Nilsen,Inspector,015,"015","SIS,SS-EN 1090,NDT",40,permanent +W07,Per Hansen,Operator,016,"016,017","Casting,Formwork",40,permanent +W08,Sofia Arden,Operator,017,"017","Surface treatment,Spray painting",40,permanent +W09,Magnus Stone,Operator,018,"018,019","Sheet metal,Assembly",40,permanent +W10,Elin Frank,Operator,019,"019,018","Assembly,Welding",32,permanent +W11,Victor Elm,Foreman,all,"011,012,013,014,015,016,017,018,019,021","Leadership,CE,ISO 9001",45,permanent +W12,Lena Dale,Quality Manager,015,"015","ISO 9001,SS-EN 1090,Audit",40,permanent +W13,Ahmed Hassan,Operator,011,"011","MIG/MAG",40,hired +W14,Petra Steen,Operator,012,"012,013","Surface treatment",40,hired \ No newline at end of file diff --git a/submissions/yashika-verma/level6/graph.png b/submissions/yashika-verma/level6/graph.png new file mode 100644 index 0000000000000000000000000000000000000000..4a8d8dac1133b757951996ad0594dbd21bd7128c GIT binary patch literal 178326 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 0: + + variance = ( + ( + row["actual_hours"] + - row["planned_hours"] + ) + / row["planned_hours"] + ) * 100 + + tx.run(""" + MERGE (p:Project { + id: $project_id + }) + + MERGE (prod:Product { + name: $product + }) + + MERGE (s:Station { + code: $station_code + }) + + SET s.name = $station_name + + MERGE (w:Week { + name: $week + }) + + MERGE (e:Etapp { + name: $etapp + }) + + MERGE (p)-[:PRODUCES]->(prod) + + MERGE (prod)-[:PROCESSED_AT]->(s) + + MERGE (p)-[:USES_STATION]->(s) + + MERGE (p)-[:PART_OF_ETAPP]->(e) + + MERGE (p)-[:SCHEDULED_IN]->(w) + + MERGE (p)-[r:SCHEDULED_AT { + week: $week + }]->(s) + + SET r.planned_hours = $planned_hours, + r.actual_hours = $actual_hours, + r.variance_percent = $variance, + r.overloaded = $variance > 3 + """, + project_id=row["project_id"], + product=row["product_type"], + station_code=row["station_code"], + station_name=row["station_name"], + week=row["week"], + etapp=row["etapp"], + planned_hours=float(row["planned_hours"]), + actual_hours=float(row["actual_hours"]), + variance=round(variance, 2) + ) + +# ========================= +# LOAD WORKERS +# ========================= + +def load_workers(tx): + + for _, row in workers_df.iterrows(): + + tx.run(""" + MERGE (w:Worker { + id: $worker_id + }) + + SET w.name = $worker_name, + w.role = $role, + w.hours_per_week = $hours_per_week, + w.type = $worker_type + + MERGE (s:Station { + name: $primary_station + }) + + MERGE (w)-[:WORKS_AT]->(s) + """, + worker_id=row["worker_id"], + worker_name=row["name"], + role=row["role"], + hours_per_week=float(row["hours_per_week"]), + worker_type=row["type"], + primary_station=row["primary_station"] + ) + + # CAN COVER STATIONS + + if pd.notna(row["can_cover_stations"]): + + stations = str( + row["can_cover_stations"] + ).split(",") + + for station in stations: + + tx.run(""" + MERGE (w:Worker { + id: $worker_id + }) + + MERGE (s:Station { + name: $station_name + }) + + MERGE (w)-[:CAN_COVER]->(s) + """, + worker_id=row["worker_id"], + station_name=station.strip() + ) + + # CERTIFICATIONS + + if pd.notna(row["certifications"]): + + certs = str( + row["certifications"] + ).split(",") + + for cert in certs: + + tx.run(""" + MERGE (w:Worker { + id: $worker_id + }) + + MERGE (c:Certification { + name: $cert_name + }) + + MERGE (w)-[:HAS_CERTIFICATION]->(c) + """, + worker_id=row["worker_id"], + cert_name=cert.strip() + ) + + # EXTRA RELATIONSHIP TYPE + + tx.run(""" + MATCH (p:Project) + WITH p LIMIT 1 + + MERGE (w:Worker { + id: $worker_id + }) + + MERGE (w)-[:ASSIGNED_TO]->(p) + """, + worker_id=row["worker_id"] + ) + +# ========================= +# LOAD CAPACITY +# ========================= + +def load_capacity(tx): + + for _, row in capacity_df.iterrows(): + + tx.run(""" + MERGE (w:Week { + name: $week + }) + + SET w.own_staff_count = $own_staff, + w.hired_staff_count = $hired_staff, + w.overtime_hours = $overtime, + w.total_capacity = $total_capacity, + w.total_planned = $total_planned, + w.deficit = $deficit + """, + week=row["week"], + own_staff=int(row["own_staff_count"]), + hired_staff=int(row["hired_staff_count"]), + overtime=float(row["overtime_hours"]), + total_capacity=float(row["total_capacity"]), + total_planned=float(row["total_planned"]), + deficit=float(row["deficit"]) + ) + +# ========================= +# EXECUTE LOAD +# ========================= + +with driver.session() as session: + + session.execute_write( + create_constraints + ) + + session.execute_write( + load_production + ) + + session.execute_write( + load_workers + ) + + session.execute_write( + load_capacity + ) + +print("Graph successfully loaded!") \ No newline at end of file From 961ad2029e0b04b583610a858b31fda4bf3401b7 Mon Sep 17 00:00:00 2001 From: Yashika Verma Date: Wed, 13 May 2026 15:01:38 +0800 Subject: [PATCH 3/3] Remove vscode settings --- .vscode/settings.json | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 2efadefda..000000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "workbench.colorTheme": "Visual Studio Dark" -} \ No newline at end of file