def query_factory(obj, sym, factory = false)
      Neo4j::Shared::QueryFactory.create(obj, sym).tap do |factory_instance|
        factory_instance.base_query = factory.blank? ? false : factory.query
      end
    end
def query_factory(obj, sym, factory = false)
      Neo4j::Shared::QueryFactory.create(obj, sym).tap do |factory_instance|
        factory_instance.base_query = factory.blank? ? false : factory.query
      end
    end
Isolates the dependency to the shared class. This has an awareness of Neo4j::Core::Query and will match or create
   based on the current state of the object passed in.