Complex-Prolog: A Logic Database Language for Handling Complex Objects