A working proof of concept of the paper "Event Knowledge Graph for a Knowledge-Based Design Process Model for Additive Manufacturing" by Guohui Chen, Auwal Haruna, Youze Chen, Lunyong Li, Khandaker Noman, Yongbo Li and Khalid Eliker (Machines 2025, 13, 112, doi:10.3390/machines13020112).
This is an independent, educational re-implementation. All credit for the method, the design process model, and the intake-system case study belongs to the original authors (see Credits & citation). This repo is not affiliated with or endorsed by them or MDPI.
It implements the paper's core, runnable artifacts:
- An Event Knowledge Graph (EKG) persisted in Neo4j, built dynamically with the paper's event-triggered construction (Algorithm 2: event triggering -> path calculation -> triple generation).
- The relationship-aware causality reasoning (Algorithm 1) as a deterministic weighted information-flow that scores node stability and infers AM-capability achievability.
- A manufacturability evaluation engine using the VDI 0-4 scale and the paper's Equations 1-2 (mean / sample standard deviation), reproducing Tables 1 and 2.
- A React web UI that visualizes the 5-step design process, replays the chronological EKG construction (Figure 11), and shows the scores.
Validated on the paper's intake-system case study.
Scope note: this is an end-to-end concept tool. The relationship-aware mechanism is a deterministic approximation of the paper's attention-style embedding (no trained neural network). See docs/paper-mapping.md for the full paper-to-code mapping, assumptions, and simplifications.
cp .env.example .env
make demo # docker compose up --build -d, then prints URLs- Frontend (demo UI): http://localhost:8080
- Backend API docs: http://localhost:8000/docs
- Neo4j Browser: http://localhost:7474 (neo4j / ekgdfampoc)
If ports 8000/8080 are already in use on your machine, set BACKEND_PORT and
FRONTEND_PORT in .env (the frontend reaches the backend over the internal Docker
network, so only these host mappings change).
make venv # create backend/.venv with deps (Python 3.13)
make test # unit tests (no Neo4j needed)
make test-integration # full suite incl. Neo4j-backed tests (needs Neo4j up)See docs/architecture.md. High level:
intake_system.yaml -> EKG Builder (Algo 2) -> Neo4j
Reasoning (Algo 1) ---^
Evaluation (VDI) ----^
Neo4j + engines -> FastAPI -> React (Cytoscape graph + process timeline + score panel)
backend/- FastAPI service, graph builder, reasoning, evaluation, testsbackend/data/intake_system.yaml- the case-study domain knowledge (seed)frontend/- Vite + React + TypeScript demo UIdocs/- architecture and paper-to-code mappingdocker-compose.yml- neo4j + backend + frontend
This project implements the method described in the following open-access paper. All credit for the underlying research, the EKG-based DFAM design process model, the two algorithms, and the intake-system case study belongs to the original authors:
Chen, G.; Haruna, A.; Chen, Y.; Li, L.; Noman, K.; Li, Y.; Eliker, K. Event Knowledge Graph for a Knowledge-Based Design Process Model for Additive Manufacturing. Machines 2025, 13(2), 112. https://doi.org/10.3390/machines13020112
Authors: Guohui Chen, Auwal Haruna, Youze Chen, Lunyong Li, Khandaker Noman, Yongbo Li, Khalid Eliker (Northwestern Polytechnical University and affiliates).
The paper is published by MDPI under the Creative Commons Attribution CC BY 4.0 license. This repository is an independent proof of concept and is not affiliated with or endorsed by the authors or MDPI. See docs/paper-mapping.md for exactly what is faithful to the paper and what is a deliberate simplification.
BibTeX
@article{chen2025ekgdfam,
title = {Event Knowledge Graph for a Knowledge-Based Design Process Model for Additive Manufacturing},
author = {Chen, Guohui and Haruna, Auwal and Chen, Youze and Li, Lunyong and Noman, Khandaker and Li, Yongbo and Eliker, Khalid},
journal = {Machines},
volume = {13},
number = {2},
pages = {112},
year = {2025},
publisher = {MDPI},
doi = {10.3390/machines13020112}
}