Learning from Structured Data