Drools evaluates facts which are present in the working memory. But it can also reason over data stored in a relational database. This can be achieved using for example a Hibernate Session to access a relational database and then creating a query. Objects in the resultset can be reasoned over the same way like facts in the working memory. An article, which describes this is available in English, German and Polsih.