Patent ID: 8122053

Claim:
A method of normalizing a queried field in a structured relational database using a first threshold value, a second threshold value and a third threshold value, the method comprising steps of: (a) in response to a query of a bibliographic field in a structured relational database, the query including a query value, identifying one or more candidate records in the structured relational database, in which each of the one or more candidate records has a value in a corresponding bibliographic field that is similar to the query value based on the first threshold value; (b) selecting a candidate record from the one or more candidate records; (c) for the selected candidate record, generating a similarity weight reflecting the similarity of the value in the corresponding bibliographic field to the query value, the similarity weight being based on the value in the corresponding bibliographic field of the selected candidate record in conjunction with values in the corresponding bibliographic field of each of other of the one or more candidate records in relation to values in related fields of the selected candidate record and related fields in records related to the selected candidate record; (d) if the similarity weight of the selected candidate record is less than the second threshold value and if there remain candidate records that have not been selected from the one or more candidate records: selecting one of the candidate records that have not been selected, and repeating steps (c) and (d); (e) else if the similarity weight of the selected candidate record is greater than or equal to the second threshold value: returning the selected candidate record in response to the query, storing the value of the corresponding bibliographic field of the selected candidate record into an existing entry in the database, and reconciling the value of the corresponding bibliographic field of each of the one or more candidate records to use the value of the corresponding bibliographic field of the selected candidate record; (f) else: prioritizing the one or more candidate records based on the similarity weight of each candidate record, and if the similarity weight of the highest priority candidate record is greater than or equal to the third threshold value: returning the highest priority candidate record in response to the query, storing the value of the corresponding bibliographic field of the highest priority candidate record into an existing entry in the database, and reconciling the value of the corresponding bibliographic field of each of the one or more candidate records to use the value of the corresponding bibliographic field of the highest priority candidate record, else: creating a new entry in the database in response to the query, the query value being stored in the new entry.