Algebraic Data Types for Object-oriented Datalog | AMiner