Search system and method based on multiple ontologies
First Claim
1. A method for information retrieval using fuzzy queries in a distributed computer database system having a plurality of home nodes and a plurality of query nodes connected by a network, said method comprising the steps of:
- A) selecting a first one of said plurality of home nodes;
B) extracting, by said selected home node, a plurality of features and a plurality of target ontology identifiers from a query by a user;
C) fragmenting the extracted features into query feature fragments;
D) hashing, by said selected home node, each said query feature fragments of said plurality of query features fragement, said hashed query feature fragment having a first portion and a second portion;
E) transmitting, by said selected home node, each said hashed query feature fragment of said plurality of query feature fragments and said plurality of target ontology identifiers to a respective one of said plurality of query nodes indicated by said first portion of each said hashed query feature fragment;
F) using by said query node, said second portion of said respective hashed query feature fragment to access data according to a local hash table located on said query node;
G) using by said query node, said plurality of target ontology identifiers and said accessed data according to said respective hashed query feature fragment, to extract a plurality of hashed feature fragments and a plurality of object identifiers;
H) transmitting, by said query node, each said hashed feature of said plurality of hashed feature fragments and said plurality of target ontology identifiers to a respective one of said plurality of query nodes indicated by said first portion of each said hashed feature; and
I) returning, by each said query node accessing data according to said respective hashed feature, a plurality of object identifiers corresponding to said accessed data to said selected home node.
2 Assignments
0 Petitions
Accused Products
Abstract
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.
267 Citations
22 Claims
-
1. A method for information retrieval using fuzzy queries in a distributed computer database system having a plurality of home nodes and a plurality of query nodes connected by a network, said method comprising the steps of:
-
A) selecting a first one of said plurality of home nodes;
B) extracting, by said selected home node, a plurality of features and a plurality of target ontology identifiers from a query by a user;
C) fragmenting the extracted features into query feature fragments;
D) hashing, by said selected home node, each said query feature fragments of said plurality of query features fragement, said hashed query feature fragment having a first portion and a second portion;
E) transmitting, by said selected home node, each said hashed query feature fragment of said plurality of query feature fragments and said plurality of target ontology identifiers to a respective one of said plurality of query nodes indicated by said first portion of each said hashed query feature fragment;
F) using by said query node, said second portion of said respective hashed query feature fragment to access data according to a local hash table located on said query node;
G) using by said query node, said plurality of target ontology identifiers and said accessed data according to said respective hashed query feature fragment, to extract a plurality of hashed feature fragments and a plurality of object identifiers;
H) transmitting, by said query node, each said hashed feature of said plurality of hashed feature fragments and said plurality of target ontology identifiers to a respective one of said plurality of query nodes indicated by said first portion of each said hashed feature; and
I) returning, by each said query node accessing data according to said respective hashed feature, a plurality of object identifiers corresponding to said accessed data to said selected home node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
A) determining, by said home node, a measure of similarity between said accessed data and said query; and
B) returning to said user, by said home node, accessed data having a predetermined degree of similarity, subsequent to the step of returning said plurality of object identifiers.
-
-
4. The method of claim 3 wherein said measure of similarity is determined by a similarity function based on:
-
A) features possessed by both the said accessed data and the said query; and
B) features possessed only by the said query.
-
-
5. The method of claim 1, wherein the using step comprises using by said query node, said second portion of said respective hashed query feature to access a plurality of object identifiers and a plurality of hashed features according to a local hash table located on said query node, each said object identifier having a first portion and a second portion;
- and the method further comprises
A) transmitting, by said selected home node, each said object identifier of said plurality of object identifiers to a respective one of said plurality of object nodes indicated by said first portion of each said object identifier;
B) using by said object node, said second portion of said respective object node to access data according to a local object table located on said object node; and
C) returning, by each said object node accessing data according to said respective object identifier, an object location, and object features to said selected home node.
- and the method further comprises
-
6. The method of claim 5 further comprising the step of receiving, at said home node, said query from said user, prior to the step of extracting features from said query.
-
7. The method of claim 6 further comprising the steps of:
-
A) determining, by said home node, a measure of similarity between said accessed data and said query; and
B) returning to said user, by said home node, accessed data having a predetermined degree of similarity, subsequent to the step of returning said object location and auxiliary data.
-
-
8. The method of claim 7 wherein said measure of similarity is determined by a similarity function based on:
-
A) features possessed by both the said accessed data and the said query;
B) features possessed only by the said query; and
C) features possessed only by said accessed data.
-
-
9. A method of storing objects or locations of objects in a manner which is conducive to information retrieval using fuzzy queries in a distributed computer database system having a plurality of home nodes and a plurality of query nodes connected by a network, said method comprising the steps of:
-
A) selecting a first one of said plurality of home nodes;
B) extracting, by said selected home node, a plurality of features from an object submitted by a user;
C) fragmenting the extracted object features into object feature fragments;
D) hashing, by said selected home node, each said object feature fragment of said plurality of object feature fragments, said hashed object feature fragment having a first portion and a second portion;
E) transmitting, by said selected home node, each said hashed object feature fragment of said plurality of hashed feature fragments to a respective one of said plurality of query nodes indicated by said first portion of each said hashed object feature;
F) using, by said query node, said second portion of said respective hashed object feature fragment to store data according to a local hash table located on said query node; and
G) applying, by said query node, any applicable ontology mappings to said hashed object feature fragment and storing data in said local hash table located on said query node. - View Dependent Claims (10, 11)
A) selecting, by said selected home node, a unique object identifier for an object selected by a user, said object identifier having a first portion and a second portion;
B) using the first portion of said object identifier to select one of said plurality of object nodes;
C) transmitting, by said selected home node, the location of the said object, the said plurality of object features of the said object to a respective one of said plurality of object nodes indicated by said first portion of each object identifier; and
D) using, by said object node, said second portion of said object identifier to store data according to a local object table located on said object node.
-
-
12. A distributed computer database system having an information retrieval tool for handling queries from a user comprising:
-
A) a plurality of home nodes; and
B) a plurality of query nodes;
C) said plurality of home nodes and said plurality of query nodes connected by a network;
D) wherein each said home node, upon receiving a query from a user, extracts a plurality of features and a plurality of target ontology identifiers from said query, fragments each said extracted query features into a plurality of query feature fragments, hashes each said query feature fragment of said plurality of query feature fragments into a hashed query feature fragment having a first portion and a second portion, and transmits each said hashed query feature fragment and said plurality of target ontology identifiers to a respective one of said plurality of query nodes indicated by said first portion of said hashed query feature fragment, E) wherein each said query node uses said second portion of said hashed query feature fragment to access data according to a local hash table located on said query node, F) further wherein each said query node uses said plurality of target ontology identifiers and said accessed data to extract a plurality of hashed feature fragments and a plurality of object identifiers, and transmits each said hashed feature fragment of said plurality of hashed features and said plurality of target ontology identifiers to a respective one of said plurality of query nodes indicated by said first portion of said hashed feature, and returns said plurality of object identifiers corresponding to said accessed data to said home node. - View Dependent Claims (13, 14)
A) features possessed by both the said accessed data and the said query; and
B) features possessed only by the said query.
-
-
15. A distributed computer database system for storage and retrieval of information objects or locations of information objects, comprising
A) plurality of home nodes; - and
B) a plurality of query nodes;
C) said plurality of home nodes and said plurality of query nodes connected by a network;
D) wherein each said home node, upon receiving an object from a user, extracts a plurality of features from said object, fragments each said feature into a plurality of object feature fragments, hashes each said object feature fragment of said plurality of object feature fragments into a hashed object feature fragment having a first portion and a second portion, and transmits each said hashed object feature fragment to a respective one of said plurality of query nodes indicated by said first portion of said hashed object feature fragment, and E) wherein each said query node uses said second portion of said hashed object feature fragment to store objects or locations of objects and hashed feature fragments defined by ontology mappings, according to a local hash table located on said query node.
- and
-
16. A distributed computer database system having an information retrieval tool for handling queries from a user, comprising:
-
A) a plurality of home nodes; and
B) a plurality of query nodes;
C) said plurality of home nodes and said plurality of query nodes connected by a network;
D) each said home node, upon receiving a command from a user, enqueuing a predetermined task in response to said command, E) a query task enqueued being resultant in, in response to a query command from said user, extracting a plurality of features and a plurality of target ontology identifiers from a query contained in said query command, fragmenting each said feature into a query feature fragment, hashing each said query feature fragment of said plurality of query feature fragments into a hashed query feature fragment having a first portion and a second portion, and transmitting a query message containing each said hashed query feature fragment and said plurality of target ontology identifiers to a respective one of said plurality of query nodes indicated by said first portion of said hashed query feature fragment, F) said query node, upon receipt of said query message, using said second portion of said hashed query feature fragment to access data according to a local hash table located on said query node, said data being composed of a plurality of object identifiers and a plurality of hashed feature fragments, transmitting a message returning a plurality of object identifiers corresponding to said accessed data to said home node, and for each hashed feature fragment of said plurality of hashed feature fragments, transmitting a message containing said hashed feature fragment and said plurality of target ontology identifiers to a respective one of said plurality of query nodes indicated by said first portion of said hashed feature fragment.
-
-
17. A distributed computer database system for storage and retrieval of information, comprising:
-
A) a plurality of home nodes; and
B) a plurality of query nodes;
p1 C) said plurality of home nodes and said plurality of query nodes connected by a network;
D) each said home node, upon receiving a command from a user, enqueuing a predetermined task in response to said command, E) an insert task enqueued, in response to an insert command from said user, extracting a plurality of features from an object contained in said insert command, fragmenting each said object feature into a plurality of object feature fragment;
hashing each said object feature fragment of said plurality of object feature fragments into a hashed object feature fragment having a first portion and a second portion, and transmitting an insert message containing each said hashed object feature fragment to a respective one of said plurality of query nodes indicated by said first portion of said hashed object feature fragment,F) said query node, upon receipt of said insert message, using said second portion of said hashed object feature fragment to store data according to a local hash table located on said query node, and using any ontology mappings applicable to said hashed object feature fragment to store data in said local hash table located on said query node.
-
-
18. A method of storing ontology mappings in a manner which is conducive to information retrieval using fuzzy queries, said method comprising the steps of:
-
A) transmitting, by a home node, an ontology mapping to a plurality of query nodes;
B) using, by each said query node, said ontology mapping to map all features to which said ontology mapping is applicable and which are stored in a local hash table located on said query node; and
C) storing said ontology mapping in a local ontology mapping table located on said query node. - View Dependent Claims (19)
-
-
20. A distributed computer database system for storage and retrieval of information objects or locations of information objects, comprising
A) a home node for receiving an ontology mapping from a user, and transmitting said ontology mapping to a plurality of query nodes, and B) each said query node using said ontology mapping to map all features to which said ontology mapping is applicable and which are stored in a local hash table located on said query node, and to store said ontology mapping in a local ontology mapping table located on said query node.
-
21. A computer program product for processing a query for word based and non-word based retrieval of information from a database, the computer program product comprising a computer-executable program embodied on a computer-readable medium, the computer-executable program comprising:
-
A) a first code portion for extracting a number of features and a number of target ontology identifiers from the query;
B) a second code portion for fragmenting each of the features into a number of feature fragments;
C) a third code portion for hashing each of the feature fragments into hashed feature fragments; and
D) a fourth code portion for use in accessing a hash table for obtaining object identifiers therefrom for use in obtaining information from the database that both corresponds to target ontologies identified by the ontology identifiers and is relevant to the query.
-
-
22. An information indexing system for indexing information for facilitated retrieval from a database, the system comprising:
-
A) a first mechanism for extracting a number of features and a number of target ontology identifiers from the query;
B) a second mechanism coupledwith the first mechanism for fragmenting each of the features into a number of feature fragments;
C) a third mechanism coupledwith the second mechanism for hashing each of the feature fragments into hashed feature fragments; and
D) a fourth mechanism coupled with the third mechanism for accessing a hash table for obtaining object identifiers therefrom for use in obtaining information from the database that both corresponds to target ontologies identified by the ontology identifiers and is relevant to the query.
-
Specification