title: Drools query "wildcard"
body: <p>Is it possible to insert facts into a Drools working memory (e.g. constraints on the query) that act as a wildcard?</p>
  
  <p>For example, imagine I have the following rules:</p>
  
  <pre><code>rule "meal_exceptions_1"
      agenda-group "MEAL"
      salience 100
      when
          Meal(id = "Breakfast")
          Person(name == "Sally")
      then
          insert(new Food("Jelly"));
          drools.setFocus("OTHERGRP");
  end 
  
  rule "meal_breakfast"
      agenda-group "MEAL"
      when
          Meal(id == "Breakfast")
      then
          insert(new Food("Cornflakes"));
          drools.setFocus("OTHERGRP");
  end 
  
  rule "meal_dinner"
      agenda-group "MEAL"
      when
          Meal(id == "Dinner")
      then
          insert(new Food("Fish Fingers"));
          drools.setFocus("OTHERGRP");
  end
  </code></pre>
  
  <p>I want to answer the question "what are all the possible foods that could be ordered for breakfast" (maybe I'm ordering in supplies for the kitchen).</p>
  
  <p>I can easily insert a fact, <code>new Meal("Breakfast")</code> to constrain the results to just those that apply for breakfast.  However, my application has no knowledge of which people may have requested exceptions, or even what the whole set of people are.  I want to add another fact along the lines of <code>Person("*")</code>, so that this will match the first rule, even though I don't know (or care!) that it is specifically Sally who has requested a different food.</p>
  
  <p>The desired output is a working memory which contains both Cornflakes and Jelly.  Is it possible to issue such a query without specific knowledge of the potential exceptions?</p>