Query shredding: Efficient relational evaluation of queries over nested multisets (extended version)