# RecRules - a Hybrid Semantic Recommender System of IF-THEN RulesRecRules is a hybrid semantic recommender system of IF-THEN rules. Through a mixed content and collaborative approach, the goal of RecRules is to recommend rules by functionality: it suggests rules based on their final purposes, thus overcoming details like manufacturers and brands. The algorithm uses a semantic reasoning process to enrich rules with semantic information, with the aim of uncovering hidden connections between rules in terms of shared functionality. Then, it builds a collaborative semantic graph, and it exploits different types of path-based features to train a learning to rank algorithm and compute top-N recommendations. Currently, RecRules support [IFTTT](https://ifttt.com/) rules by leveraging on the [EUPont](http://elite.polito.it/ontologies/eupont-ifttt.owl) ontology.The algorithm is implemented in Java, and it exploits [lodreclib](https://github.com/sisinflab/lodreclib).