This project has been initiated in Cogcomp group and is an active ongoing collaborative research project. This research is the continuation of Learning based programming idea [1] and its first implementation called Learning Based Java (LBJava) [2]-- which is itself is an active project currently. The main idea in Saul [3] is to extend LBJava to work in relational domains and enable programming for structured output prediction models. Shifting from Java environment to Scala helps moving towards a more declarative problem specification and writing declarative learning based programs. Saul emphasizes on separating the aspect of data modeling and knowledge representation from the configuration of the learning models. Declaring a generic data model allows various learning configurations to exploit arbitrary structural characteristics and global relationships expressed in the data model or in the first order constraints imposed on the output variables. This highlighted issue in Saul has led to investing on a declarative querying language as an important part of Saul's functionality and flexibility in using raw data from heterogeneous resources.