The goal of the European Data Grid Project is the development of a novel environment to support globally distributed scientific exploration involving multi-PetaByte datasets. The project will devise and develop middleware solutions and testbeds capable of scaling to handle many PetaBytes of distributed data, tens of thousands of resources (processors, disks, etc.), and thousands of simultaneous users. The scale of the problem and the distribution of the resources and user community preclude straightforward replication of the data at different sites, while the aim of providing a general purpose application environment precludes distributing the data using static policies. We will construct this environment by combining and extending newly emerging "Grid" technologies to manage large distributed datasets in addition to computational elements. A consequence of this project will be the emergence of fundamental new modes of scientific exploration, as access to fundamental scientific data is no longer constrained to the producer of that data. While the project focuses on scientific applications such as High Energy Physics, Earth Sciences and Bio-Informatics, issues of sharing data are germane to many applications and thus the project has a potential impact on future industrial and commercial activities.