code: public static ReasonerQueryImpl create(Conjunction<Statement> pattern, TransactionOLTP tx) {
          ReasonerQueryImpl query = new ReasonerQueryImpl(pattern, tx).inferTypes();
          return query.isAtomic()?
                  new ReasonerAtomicQuery(query.getAtoms(), tx) :
                  query;
      }
docs: create a reasoner query from a conjunctive pattern with types inferred
  @param pattern conjunctive pattern defining the query
  @param tx corresponding transaction
  @return reasoner query constructed from provided conjunctive pattern