Project models in Neo4j: one waste-removal example
These historical examples compare ways to describe the same small project. Identify the waste so it is understood; prepare an extraction plan so it is agreed; commission suppliers so they are ready; then remove the waste so none remains on site.
What should the graph make explicit: the work, the conditions it produces, the people involved, or schedule fields? The repository contains nine Cypher files with seven distinct contents, plus diagrams. They are graph-construction examples from 2020, with differing scope and detail.

Seven views to compare
-
Tasks as nodes. Script · Diagram. Four named activities form a chain of
permitsrelationships. This gives a compact account of what follows what. The conditions explaining those dependencies, role allocations and durations are absent. -
States as nodes. Script · Diagram. Four achieved conditions are joined by
transitions_with_task. The view foregrounds what must become true. The relationships carry no task names, and the initial act of identifying waste has no separate representation. The.cypher.textfile duplicates this script. -
Tasks and states together. Script · Diagram. Tasks
causestates; statespermitlater tasks. This exposes the condition between consecutive activities. The relationship names express the model’s intended meaning; the file does not check whether a condition holds or a task may execute. Roles and timing remain absent. -
Tasks, states and resources. Script · Diagram. Operator, Engineer, Project_manager and Supplier connect to tasks through
allocated_to. The Supplier participates in both commissioning and removal. These links show involvement, without quantities, availability, calendars, cost or capacity constraints. -
Add direct task dependencies. Script · Diagram. Direct task-to-task
permitsedges sit beside the task–state–task paths. They make the activity sequence easier to follow, while duplicating relationships that a maintained model would need to keep consistent. No derivation or consistency check is supplied. The.cypher.txtfile duplicates this script. -
Petri-net-shaped fragment. Script · Diagram. Only the first two tasks appear, as transitions; roles and states become places with token properties. There is no firing engine. Both state places already contain one token. The
Waste understoodinput storesConsumed_tokens:0: zero consumption alone does not specify a requirement to test token presence. A read arc explicitly tests without consuming. Resource units and whether resources should be returned remain unresolved; no return arcs are present. This fragment does not demonstrate executable prerequisite or resource control. -
Stored schedule attributes. Script · Related structure diagram. Start/Finish nodes and duration, earliest/latest dates and slack are added. The file imports the numbers; it contains no scheduling algorithm. The related diagram omits these additions.
Scope and other retained material
The scripts use historical constraint syntax; compatibility with current Neo4j has not been verified. No resource-constrained scheduling, simulation or optimisation result is established here.
Highways delay prediction: a separate notebook
Historical idea: August 2020; synthetic reconstruction executed 4 October 2026.
Read the pictured guide in the Library · Open the synthetic notebook
Could completed activities help predict finish variance for work that has not started? The earlier Highways exploration asked what information would exist at prediction time, tried classification and regression, and warned about leakage. Its source data was absent and its validation unfinished; the original analysis has not been reproduced.
The public notebook now replaces all original project records, outputs and plots with an invented access-road example. A fixed seed creates 300 completed and 60 not-started activities. The first 240 completed activities fit the models; the later 60 check them against simple baselines. Not-started outcomes remain unknown. All displayed numbers and plots were newly executed on 4 October 2026 and are labelled synthetic.
The reconstruction retains the historical question while making units, prediction-time inputs, held-out checking and activity-ID alignment explicit. The models are transparent NumPy classifier and regressor constructions, not a replay of the original DABL experiment. Success under an invented data-generation rule does not demonstrate real-project accuracy or useful management decisions. This tabular exercise remains separate from the graph-model examples above.
The downloadable historical README captured on 3 October 2026 records earlier guidance; its notebook-preservation wording predates this replacement. The notebook link now opens the synthetic edition.
Other retained files
The repository also preserves an earlier activity-schema picture, a tasks-and-resources-only diagram, an Apple Pages note, a saved Quora PDF, and separate Browning-letter data and images. The Pages note and PDF have not been reviewed for this guide.