2. A method according to claim 1 , further comprising: storing a plurality of datasets at the database server, each dataset having an associated node ID; and storing one or more vocabularies at the database server, each vocabulary for use in classifying datasets, and storing attributes associated with a dataset indexed by node ID, wherein each attribute comprises spatial data or references an element within a vocabulary.
3. A method according to claim 2 , wherein performing a search of the database server by comparing each temporary table with a pre-existing table stored in the database server to identify any datasets satisfying the input query comprises: joining each temporary table with a pre-existing table stored in the database server to identify node IDs of datasets satisfying a term in the input query; and where there is more than one temporary table, combining the results of the joining operations to identify node IDs of datasets satisfying the complete input query.