FuN3: Pre-compiling Rules into a High-Level Imperative Language for Top-Down Reasoning

Aus International Center for Computational Logic
Wechseln zu:Navigation, Suche

Toggle side column

FuN3: Pre-compiling Rules into a High-Level Imperative Language for Top-Down Reasoning

William Van WoenselWilliam Van Woensel,  Dörthe ArndtDörthe Arndt,  Jos De RooJos De Roo
FuN3: Pre-compiling Rules into a High-Level Imperative Language for Top-Down Reasoning


William Van Woensel, Dörthe Arndt, Jos De Roo
FuN3: Pre-compiling Rules into a High-Level Imperative Language for Top-Down Reasoning
RuleML+RR Rule Challenge 2025, to appear
  • KurzfassungAbstract
    Semantic Web (SW) rule languages, such as Notation3 (N3), add declarative programming abilities to the SW platform. To execute rule-based programs using top-down reasoning, the program can first be translated into an imperative language. In that case, the latter’s compiler or interpreter can then simply be used to execute the program. We propose a challenge to implement top-down reasoners by pre-compiling rules into imperative functions written in a modern imperative language. The features of modern imperative languages can be used to simplify such a translation. Tackling this challenge can yield development simplicity, compared to typical abstract machine architectures; and allows for an integrated logic and imperative environment, as translated rule functions can be directly called from other imperative code. We propose one solution to this challenge, called fun3, which pre-compiles N3 rules into imperative functions written in Python. We provide initial performance results that show the feasibility of overcoming this challenge while not overly sacrificing performance.
  • Projekt:Project: ScaDS.AI
  • Forschungsgruppe:Research Group: Computational LogicComputational Logic
@inproceedings{WAR2025,
  author    = {William Van Woensel and D{\"{o}}rthe Arndt and Jos De Roo},
  title     = {FuN3: Pre-compiling Rules into a High-Level Imperative Language
               for Top-Down Reasoning},
  booktitle = {RuleML+RR Rule Challenge 2025},
  year      = {2025},
  month     = {September}
}