A distributed computer database system includes one or more front end
computers and one or more computer nodes interconnected by a network into
a search engine for retrieval of objects processed by a variety of
interrelated ontologies. Each object conforms to a specific ontology. A
query is an object which conforms to a specific ontology, which is to be
used for retrieval of objects conforming to one or more target ontologies.
A query from a user is transmitted to one of the front end computers which
forwards the query to one of the computer nodes, termed the home node, of
the search engine. The home node extracts features from the query,
according to its ontology. These features are then hashed. Each hashed
feature and the list of target ontologies is transmitted to one node on
the network. Each node on the network which receives a hashed feature uses
the hashed feature of the query to perform a search on its respective
partition of the database. The results of the searches of the local
databases are composed of the object identifiers of objects that match the
query and the ontologies within which they were processed, as well as
equivalent hashed features within other ontologies. These other hashed
features are forwarded, as needed, to their respective nodes, and this
process continues until the desired target ontologies are reached. When
the target ontologies are reached, the results of the searches of the
local databases are gathered by the home node. The results of the query
are then computing for each target ontology. This process may be repeated
by the home node to refine the results of the query.