MODELING AND QUERYING RECURSIVE DATA STRUCTURES I : INTRODUCTION