This repository is created for the Storing Data in a Knowledge Graph project in the Designing Technology module at FAU.
The project has the following two main deliverables:
1. Knowledge Graph
2. Data Scheme
This document contains the proposed implementation of a Knowledge Graph schema designed to streamline industrial maintenance workflows. It includes entities, relationships, as well as described folder structre for orientation.
Machine: Machinery or devices used in production.Part: Components that belong to machines and may require maintenance or replacement.Supervisor: Oversees workers and assigns tasks.Worker: Performs maintenance tasks, reports issues, and applies solutions.Manual: Documentation that provides instructions for tasks, machines, and useful for solutions.Report: A document detailing an issue, task, or resolution.Error: A malfunction, issue, or problem affecting machines or parts.Task: A maintenance or repair action assigned to a worker.Solution: Actions, tools, and materials used to fix errors.Multimedia: Images, videos, audio or text used to document reports, tasks, and solutions.
-
Machine Relationships
(:Machine)-[:HAS_PART]->(:Part)→ A machine is composed of parts.(:Machine)-[:DESCRIBED_IN]->(:Manual)→ A machine is documented in a manual.(:Machine)-[:MENTIONED_IN]->(:Multimedia)→ A machine appears in multimedia.(:Machine)-[:TARGETED_BY]->(:Task)→ A task is assigned to a machine.(:Machine)-[:AFFECTS]->(:Error)→ A machine causes an error.(:Machine)-[:REPORTED_IN]->(:Report)→ A machine is mentioned in a report.
-
Part Relationships
(:Part)-[:USED_IN]->(:Machine)→ A part is used in a machine.(:Part)-[:SUB_PART_OF]->(:Part)→ A part is a sub-component of another part.(:Part)-[:AFFECTS]->(:Error)→ A part causes an error.(:Part)-[:REPORTED_IN]->(:Report)→ A part is mentioned in a report.(:Part)-[:TARGETED_BY]->(:Task)→ A part is involved in a task.(:Part)-[:MENTIONED_IN]->(:Multimedia)→ A part appears in multimedia.
-
Supervisor Relationships
(:Supervisor)-[:SUPERVISES]->(:Worker)→ A supervisor oversees a worker.(:Supervisor)-[:ASSIGNS]->(:Task)→ A supervisor assigns a task.(:Supervisor)-[:ACCEPTS]->(:Report)→ A supervisor accepts a report.(:Supervisor)-[:CONFIRMS]->(:Solution)→ A supervisor confirms a solution.
-
Worker Relationships
(:Worker)-[:SUPERVISED_BY]->(:Supervisor)→ A worker is supervised by a supervisor.(:Worker)-[:ASSIGNED_TO]->(:Task)→ A worker is assigned a task.(:Worker)-[:REPORTS]->(:Error)→ A worker reports an error.(:Worker)-[:COMPILES]->(:Report)→ A worker compiles a report.(:Worker)-[:APPLIES]->(:Solution)→ A worker applies a solution.
-
Manual Relationships
(:Manual)-[:APPLIES_TO]->(:Machine)→ A manual applies to a machine.(:Manual)-[:COVERS]->(:Task)→ A manual provides documentation for a task.(:Manual)-[:REFERRED_BY]->(:Report)→ A manual is referenced in a report.
-
Report Relationships
(:Report)-[:RELATES_TO]->(:Machine)→ A report relates to a machine.(:Report)-[:RELATES_TO]->(:Part)→ A report relates to a part.(:Report)-[:ACCEPTED_BY]->(:Supervisor)→ A report is accepted by a supervisor.(:Report)-[:COMPILED_BY]->(:Worker)→ A report is compiled by a worker.(:Report)-[:REFERENCES]->(:Manual)→ A report references a manual.(:Report)-[:MENTIONS]->(:Error)→ A report mentions an error.(:Report)-[:CONTAINS]->(:Multimedia)→ A report contains multimedia.
-
Error Relationships
(:Error)-[:CAUSED_BY]->(:Machine)→ An error is caused by a machine.(:Error)-[:CAUSED_BY]->(:Part)→ An error is caused by a part.(:Error)-[:FIXED_BY]->(:Worker)→ An error is fixed by a worker.(:Error)-[:SOLVED_BY]->(:Solution)→ An error is solved by a solution.(:Error)-[:MENTIONED_IN]->(:Report)→ An error is mentioned in a report.(:Error)-[:CONTAINS]->(:Multimedia)→ An error contains multimedia.
-
Task Relationships
(:Task)-[:TARGETS]->(:Machine)→ A task targets a machine.(:Task)-[:TARGETS]->(:Part)→ A task targets a part.(:Task)-[:USES_DOCUMENTATION_FROM]->(:Manual)→ A task is covered by a manual.(:Task)-[:ASSIGNED_TO]->(:Worker)→ A task is assigned to a worker.(:Task)-[:ASSIGNED_BY]->(:Supervisor)→ A task is assigned by a supervisor.(:Task)-[:CONTAINS]->(:Multimedia)→ A task contains multimedia.
-
Solution Relationships
(:Solution)-[:SOLVES]->(:Error)→ A solution solves an error.(:Solution)-[:REUSES_SOLUTION_OF]->(:Solution)→ A solution reuses another solution.(:Solution)-[:USES]->(:Multimedia)→ A solution uses multimedia.(:Solution)-[:APPLIED_BY]->(:Worker)→ A solution is applied by a worker.(:Solution)-[:CONFIRMED_BY]->(:Supervisor)→ A solution is confirmed by a supervisor.
-
Multimedia Relationships
(:Multimedia)-[:DOCUMENTS]->(:Error)→ Multimedia documents an error.(:Multimedia)-[:INCLUDED_IN]->(:Report)→ Multimedia is included in a report.(:Multimedia)-[:INCLUDED_IN]->(:Task)→ Multimedia is included in a task.(:Multimedia)-[:USED_IN]->(:Solution)→ Multimedia is used in a solution.(:Multimedia)-[:MENTIONS]->(:Machine)→ Multimedia mentions a machine.(:Multimedia)-[:MENTIONS]->(:Part)→ Multimedia mentions a part.
scripts/json_2report.py- Import bulk initial data to Knowledge Graph.apache_2json.py- Import data from ongoing streamline processes.
SyntheticData/- Synthetic .json files generated with the help of ChatGPT to mimic data import. .xlsx file of written data schema.exampleScenarios/- Images from Neo4j Aura to demonstrate schema of example use case scenarios.archive/- To store outdated methods.scripts/data/ideas
