Building a hybrid reactive rule engine for relational and graph reasoning

Mario Fusco, Davide Sottara, István Ráth, Mark Proctor, Mark Proctor

Research output: Chapter in Book/Report/Conference proceedingConference contribution

1 Citation (Scopus)

Abstract

The relational syntax used by Rete rule engines is cumbersome when traversing paths compared to hierarchical or Object-Oriented languages like XPath or Java. Searching the join space for references has performance implications. This paper proposes reactive rule engine enhancements to support both relational and graph reasoning, with improvements at both the language and the engine level. The language will contain both relational and graph constructs that can be used together, within the same rule. The implementation targets Drools, a Java open-source Rete based rule engine, but could be applied to any Rete engine and language of a similar class. Examples are used to describe the language extensions and discuss their behaviour. Benchmarking is used to compare the performance of the two reasoning approaches in different scenarios and provide recommendations on how to optimize a rule base.

Original languageEnglish (US)
Title of host publicationRule Technologies
Subtitle of host publicationFoundations, Tools, and Applications - 9th International Symposium, RuleML 2015, Proceedings
EditorsGeorg Gottlob, Fariba Sadri, Adrian Paschke, Nick Bassiliades, Dumitru Roman
PublisherSpringer Verlag
Pages208-222
Number of pages15
ISBN (Print)9783319215419
DOIs
StatePublished - Jan 1 2015
Event9th International Web Rule Symposium, RuleML 2015 - Berlin, Germany
Duration: Aug 2 2015Aug 5 2015

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume9202
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Other

Other9th International Web Rule Symposium, RuleML 2015
CountryGermany
CityBerlin
Period8/2/158/5/15

Fingerprint

Engine
Reasoning
Engines
Graph in graph theory
Java
XPath
Object-oriented Languages
Rule Base
Object oriented programming
Benchmarking
Open Source
Join
Recommendations
Enhancement
Optimise
Scenarios
Path
Target
Language

Keywords

  • Drools
  • Graph
  • Java
  • Production rule systems
  • Reasoning
  • Relational
  • Rete
  • Rule engine
  • Xpath

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Computer Science(all)

Cite this

Fusco, M., Sottara, D., Ráth, I., Proctor, M., & Proctor, M. (2015). Building a hybrid reactive rule engine for relational and graph reasoning. In G. Gottlob, F. Sadri, A. Paschke, N. Bassiliades, & D. Roman (Eds.), Rule Technologies: Foundations, Tools, and Applications - 9th International Symposium, RuleML 2015, Proceedings (pp. 208-222). (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 9202). Springer Verlag. https://doi.org/10.1007/978-3-319-21542-6_14

Building a hybrid reactive rule engine for relational and graph reasoning. / Fusco, Mario; Sottara, Davide; Ráth, István; Proctor, Mark; Proctor, Mark.

Rule Technologies: Foundations, Tools, and Applications - 9th International Symposium, RuleML 2015, Proceedings. ed. / Georg Gottlob; Fariba Sadri; Adrian Paschke; Nick Bassiliades; Dumitru Roman. Springer Verlag, 2015. p. 208-222 (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 9202).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Fusco, M, Sottara, D, Ráth, I, Proctor, M & Proctor, M 2015, Building a hybrid reactive rule engine for relational and graph reasoning. in G Gottlob, F Sadri, A Paschke, N Bassiliades & D Roman (eds), Rule Technologies: Foundations, Tools, and Applications - 9th International Symposium, RuleML 2015, Proceedings. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 9202, Springer Verlag, pp. 208-222, 9th International Web Rule Symposium, RuleML 2015, Berlin, Germany, 8/2/15. https://doi.org/10.1007/978-3-319-21542-6_14
Fusco M, Sottara D, Ráth I, Proctor M, Proctor M. Building a hybrid reactive rule engine for relational and graph reasoning. In Gottlob G, Sadri F, Paschke A, Bassiliades N, Roman D, editors, Rule Technologies: Foundations, Tools, and Applications - 9th International Symposium, RuleML 2015, Proceedings. Springer Verlag. 2015. p. 208-222. (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)). https://doi.org/10.1007/978-3-319-21542-6_14
Fusco, Mario ; Sottara, Davide ; Ráth, István ; Proctor, Mark ; Proctor, Mark. / Building a hybrid reactive rule engine for relational and graph reasoning. Rule Technologies: Foundations, Tools, and Applications - 9th International Symposium, RuleML 2015, Proceedings. editor / Georg Gottlob ; Fariba Sadri ; Adrian Paschke ; Nick Bassiliades ; Dumitru Roman. Springer Verlag, 2015. pp. 208-222 (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)).
@inproceedings{5e952f0ef6e945218cddcaf2645a7fcb,
title = "Building a hybrid reactive rule engine for relational and graph reasoning",
abstract = "The relational syntax used by Rete rule engines is cumbersome when traversing paths compared to hierarchical or Object-Oriented languages like XPath or Java. Searching the join space for references has performance implications. This paper proposes reactive rule engine enhancements to support both relational and graph reasoning, with improvements at both the language and the engine level. The language will contain both relational and graph constructs that can be used together, within the same rule. The implementation targets Drools, a Java open-source Rete based rule engine, but could be applied to any Rete engine and language of a similar class. Examples are used to describe the language extensions and discuss their behaviour. Benchmarking is used to compare the performance of the two reasoning approaches in different scenarios and provide recommendations on how to optimize a rule base.",
keywords = "Drools, Graph, Java, Production rule systems, Reasoning, Relational, Rete, Rule engine, Xpath",
author = "Mario Fusco and Davide Sottara and Istv{\'a}n R{\'a}th and Mark Proctor and Mark Proctor",
year = "2015",
month = "1",
day = "1",
doi = "10.1007/978-3-319-21542-6_14",
language = "English (US)",
isbn = "9783319215419",
series = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",
publisher = "Springer Verlag",
pages = "208--222",
editor = "Georg Gottlob and Fariba Sadri and Adrian Paschke and Nick Bassiliades and Dumitru Roman",
booktitle = "Rule Technologies",

}

TY - GEN

T1 - Building a hybrid reactive rule engine for relational and graph reasoning

AU - Fusco, Mario

AU - Sottara, Davide

AU - Ráth, István

AU - Proctor, Mark

AU - Proctor, Mark

PY - 2015/1/1

Y1 - 2015/1/1

N2 - The relational syntax used by Rete rule engines is cumbersome when traversing paths compared to hierarchical or Object-Oriented languages like XPath or Java. Searching the join space for references has performance implications. This paper proposes reactive rule engine enhancements to support both relational and graph reasoning, with improvements at both the language and the engine level. The language will contain both relational and graph constructs that can be used together, within the same rule. The implementation targets Drools, a Java open-source Rete based rule engine, but could be applied to any Rete engine and language of a similar class. Examples are used to describe the language extensions and discuss their behaviour. Benchmarking is used to compare the performance of the two reasoning approaches in different scenarios and provide recommendations on how to optimize a rule base.

AB - The relational syntax used by Rete rule engines is cumbersome when traversing paths compared to hierarchical or Object-Oriented languages like XPath or Java. Searching the join space for references has performance implications. This paper proposes reactive rule engine enhancements to support both relational and graph reasoning, with improvements at both the language and the engine level. The language will contain both relational and graph constructs that can be used together, within the same rule. The implementation targets Drools, a Java open-source Rete based rule engine, but could be applied to any Rete engine and language of a similar class. Examples are used to describe the language extensions and discuss their behaviour. Benchmarking is used to compare the performance of the two reasoning approaches in different scenarios and provide recommendations on how to optimize a rule base.

KW - Drools

KW - Graph

KW - Java

KW - Production rule systems

KW - Reasoning

KW - Relational

KW - Rete

KW - Rule engine

KW - Xpath

UR - http://www.scopus.com/inward/record.url?scp=84951153129&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84951153129&partnerID=8YFLogxK

U2 - 10.1007/978-3-319-21542-6_14

DO - 10.1007/978-3-319-21542-6_14

M3 - Conference contribution

SN - 9783319215419

T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

SP - 208

EP - 222

BT - Rule Technologies

A2 - Gottlob, Georg

A2 - Sadri, Fariba

A2 - Paschke, Adrian

A2 - Bassiliades, Nick

A2 - Roman, Dumitru

PB - Springer Verlag

ER -