Machine learning and symbolic reasoning have been two main approaches to build intelligent systems. Symbolic reasoning has been used in many applications by making use of expressive symbolic representations to encode prior knowledge, conduct complex reasoning and provide explanations. Recently, machine learning has enabled various successful applications by learning from...