Core domain
Agency infrastructure
Location hierarchy
Call type alignment
Prediction
Supporting
Object property
Inverse / derived
Scroll to zoom · drag to pan · drag nodes to rearrange

Data foundation

7.2Mrows processed
3.3Mincidents
141Mtotal triples
23.8%multi-agency
9,597hotspot locations

Results — Knowledge graph vs flat table

Multi-agency escalation
+79.6%Accuracy
KG achieves 100% accuracy vs 83.9% flat. The graph traverses Response → Unit → Agency to know exactly which agencies responded.
agency_countis_multi_agency
Resolution time
+4.3%RMSE improvement
MAE drops from 24.75 to 23.94 minutes. Graph-derived response times and location history improve prediction.
avg_response_timelocation_prior_count
Severity classification
−2.2%accuracy delta
Flat model slightly wins at 86.9% accuracy. Severity signal already exists in priority and response count.
signal already in flat features
Key insight: The knowledge graph's value is not universal — it shines when the prediction depends on relationships between entities that don't exist in a flat table. The real value is infrastructural: the same graph powers all three models, answers ad-hoc SPARQL queries, and grows without schema changes.

Knowledge graph stack

4

Predictive models

user-defined
Constrained logistic regression + random forest. Three targets: severity, multi-agency, resolution time.
SeverityMulti-agency?Resolution time
3

Enrichment

user-defined
Added via APIs using location + timestamp.
Weather (NOAA)Census / ACSZoningEvents
2

Inference

Derived via SHACL rules and inverse paths. Same CAD number links all agencies.
Incident → responsesCross-agency alignmentLocation historyisMultiAgency
1

Foundation

published
Ontology + instance data. All datasets share the same URIs.
owl:Class defssh:NodeShapeSHACL validationFire calls ~700KPolice dispatchEMS

Property reference

ClassObject properties (→ target)Key datatype properties
IncidenthasResponse → Response · hasCallType → CallType · hasLocation → Location · hasSeverity → SeverityLevelcadNumber · receivedTimestamp · priorityCode · responseCount · totalResolutionMinutes
ResponseresponseTo → Incident · hasUnit → UnitdispatchTimestamp · onSceneTimestamp · responseTimeMinutes
UnitbelongsToAgency → AgencyunitId · unitType
Agencytitle
CallTyperealizationOf → IncidentConcept · hasAgency → Agency
IncidentConceptdescription
LocationinNeighborhood → Neighborhood · inStationArea → StationAreaaddress · latitude · longitude · zipCode
PredictionSethasPrediction → PredictionmodelName · featureSet · accuracy
PredictionpredictsIncident → IncidentpredictedProbability · predictedClass