DEALER: An EL++ Description Logic Reasoner in Rust — Architecture, Fuzzy Reasoning, and the Road to Mobile Ontology Intelligence
By Jonathan Borden, M.D. (jonathan@openhealth.org)
Introduction
Ontology reasoning has been traditionally the domain of desktop and server-side systems — complex Java frameworks like Protégé and OWL API dominate the landscape. I know this landscape intimately: in the early 2000s, I served as an invited expert on the W3C OWL Working Group, where I helped design the Web Ontology Language with healthcare’s needs in mind. The challenge then was creating a language expressive enough for clinical terminologies yet decidable enough for practical computation. Two decades later, we have OWL 2 and massive ontologies built on it — SNOMED CT with 350,000+ concepts, GALEN-EL for clinical modeling, Gene Ontology for biology — but the reasoning still happens on servers. As knowledge graphs move to the edge, we encounter a new problem: how do you reason over these semantically rich ontologies on mobile devices and edge servers with sub-second latency and minimal memory footprint?