zelph is an open-source semantic network reasoning engine that performs bottom-up forward chaining over a unified graph. Its key characteristic is radical homoiconicity: rules, predicates, numbers, and facts are all nodes in the same subject–predicate–object graph. Computation emerges from rule-driven inference over this topology.
Features:
- Bottom-up forward chaining to a least fixed point (Datalog-style)
- Predicates as first-class graph nodes, enabling meta-rules (e.g., a single generic rule for transitivity or symmetry)
- Negation as failure (stratified NAF semantics)
- Inequality constraints (!=) as guard filters on variable bindings
- Deep unification over arbitrarily nested graph structures
- Fresh variables for constructive existential quantification
- Rule-based arbitrary-precision arithmetic using cons-list digit representations
- Embedded Janet (Lisp dialect) scripting layer for programmatic fact/ rule generation
- Wikidata import and large-scale ontology consistency checking
A detailed introduction from a logic programming perspective, including a video walkthrough with live demonstrations and comparisons to Prolog, Datalog, Lean, and Lisp, is available at: <https://acrion.github.io/zelph/logic/>
zelph is written in C++, runs on Linux, macOS, and Windows, and is licensed under AGPL v3.
GitHub: https://github.com/acrion/zelph<https://github.com/acrion/zelph>
Project site: https://zelph.org<https://zelph.org>
Documentation: https://acrion.github.io/zelph/
Communicated by Stefan Zipproth, independent software developer, Switzerland.
