Method and system for carrying out searches in a database comprising taxonomic classification of digital information contents
First Claim
1. A method for carrying out, by a data processing system, searches in a database comprising a first plurality of first data items and a second plurality of second data items, wherein the database is structured to enable a generic first data item to be in relationship with one or more of the second data items and to enable a generic second data item to be in relationship with one or more of the first data items, the method comprising:
- based on the database, generating in an internal memory of the data processing system at least one of a first data table structure or a second data table structure, the at least one of the first data table structure or the second data table structure comprising;
a first data table comprising a first plurality of elements, each of the first plurality of elements corresponding to a respective first data item, and the first plurality of elements of the first data table being univocally identified by a respective first index;
a second data table comprising a second plurality of elements, each of the second plurality of elements corresponding to a respective second data item, and the second plurality of elements of the second data table being univocally identified by a respective second index; and
a third data table comprising a third plurality of elements, each of the third plurality of elements being in a univocal relationship with a respective element of the first data table and in a univocal relationship with another respective element of the second data table;
receiving a search string comprising an identifier of a first data item or of a second data item; and
if the search string comprises the identifier of the first data item,accessing at least one element of the first data table based on the search string;
accessing at least one element of the third data table corresponding to the at least one accessed element of the first data table, and retrieving, from the at least one accessed element of the third data table, a second index of at least one corresponding element of the second data table; and
accessing the second data table using said second index for extracting a search result, orif the search string comprises the identifier of the second data item;
accessing at least one element of the second data table based on the search string;
accessing at least one element of the third data table corresponding to the at least one accessed element of the second data table, and retrieving, from the at least one accessed element of the third data table, a first index of at least one corresponding element of the first data table; and
accessing the first data table using said first index for extracting a search result,wherein said accessing the at least one element of the first data table or of the second data table based on the search string comprises converting said search string into at least one corresponding index of the at least one element of the first data table or of the second data table, respectively, based on a hash function.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for carrying out searches in a database by means of a data processing system is provided. The database includes a first plurality of first data items and a second plurality of second data items, a generic first data item being in relationship with one or more second data items and vice versa. In an internal memory of the data processing system, at least one among a first and a second data table structure are generated, each one including: a first and a second data table, each comprising a plurality of elements, each one corresponding to a respective first, respectively second, data item and univocally identified by a respective first, respectively second, index. The first and second data tables include a third data table including a plurality of elements, each one in a univocal relationship with a respective element of the first and second data tables.
28 Citations
10 Claims
-
1. A method for carrying out, by a data processing system, searches in a database comprising a first plurality of first data items and a second plurality of second data items, wherein the database is structured to enable a generic first data item to be in relationship with one or more of the second data items and to enable a generic second data item to be in relationship with one or more of the first data items, the method comprising:
-
based on the database, generating in an internal memory of the data processing system at least one of a first data table structure or a second data table structure, the at least one of the first data table structure or the second data table structure comprising; a first data table comprising a first plurality of elements, each of the first plurality of elements corresponding to a respective first data item, and the first plurality of elements of the first data table being univocally identified by a respective first index; a second data table comprising a second plurality of elements, each of the second plurality of elements corresponding to a respective second data item, and the second plurality of elements of the second data table being univocally identified by a respective second index; and a third data table comprising a third plurality of elements, each of the third plurality of elements being in a univocal relationship with a respective element of the first data table and in a univocal relationship with another respective element of the second data table; receiving a search string comprising an identifier of a first data item or of a second data item; and if the search string comprises the identifier of the first data item, accessing at least one element of the first data table based on the search string; accessing at least one element of the third data table corresponding to the at least one accessed element of the first data table, and retrieving, from the at least one accessed element of the third data table, a second index of at least one corresponding element of the second data table; and accessing the second data table using said second index for extracting a search result, or if the search string comprises the identifier of the second data item; accessing at least one element of the second data table based on the search string; accessing at least one element of the third data table corresponding to the at least one accessed element of the second data table, and retrieving, from the at least one accessed element of the third data table, a first index of at least one corresponding element of the first data table; and accessing the first data table using said first index for extracting a search result, wherein said accessing the at least one element of the first data table or of the second data table based on the search string comprises converting said search string into at least one corresponding index of the at least one element of the first data table or of the second data table, respectively, based on a hash function. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A data processing system comprising:
-
an external memory capable of being adapted to store a database comprising a first plurality of first data items and a second plurality of second data items, wherein the database is structured to enable a generic first data item to be in relationship with one or more of the second data items and to enable a generic second data item to be in relationship with one or more of the first data items; and an internal memory capable of being adapted to store at least one of a first data table structure or a second data table structure based on the database, the at least one of the first data table structure or the second data table structure comprising; a first data table comprising a first plurality of elements, each of the first plurality of elements corresponding to a respective first data item, and the first plurality of elements of the first data table being univocally identified by a respective first index; a second data table comprising a second plurality of elements, each of the second plurality of elements corresponding to a respective second data item, and the second plurality of elements of the second data table being univocally identified by a respective second index; and a third data table comprising a third plurality of elements, each of the third plurality of elements being in a univocal relationship with a respective element of the first data table and in a univocal relationship with another respective element of the second data table, wherein the data table processing system is configured to receive a search string comprising an identifier of a first data item or of a second data item, and to if the search string comprises the identifier of the first data item, access at least one element of the first data table based on the search string, access at least one element of the third data table corresponding to the at least one accessed element of the first data table, and retrieve, from the at least one accessed element of the third data table, a second index of at least one corresponding element of the second data table, and access the second data table using said second index for extracting a search result, or, if the search string comprises the identifier of the second data item; access at least one element of the second data table based on the search string, access at least one element of the third data table corresponding to the at least one accessed element of the second data table, and retrieve, from the at least one accessed element of the third data table, a first index of at least one corresponding element of the first data table, and access the first data table using said first index for extracting a search result, and wherein accessing the at least one element of the first data table or of the second data table based on the search string comprises converting said search string into at least one corresponding index of the at least one element of the first data table or of the second data table, respectively, based on a hash function.
-
-
10. A method for carrying out, by a data processing system, searches in a database comprising a first plurality of first data items and a second plurality of second data items, wherein the database is structured to enable a generic first data item to be in relationship with one or more of the second data items and to enable a generic second data item to be in relationship with one or more of the first data items, the method comprising:
-
based on the database, generating in an internal memory of the data processing system at least one of a first data table structure or a second data table structure, the at least one of the first data table structure or the second data table structure comprising; a first data table comprising a first plurality of elements, each of the first plurality of elements corresponding to a respective first data item, and the first plurality of elements of the first data table being univocally identified by a respective first index; a second data table comprising a second plurality of elements, each of the second plurality of elements corresponding to a respective second data item, and the second plurality of elements of the second data table being univocally identified by a respective second index; and a third data table comprising a third plurality of elements, each of the third plurality of elements being in a univocal relationship with a respective element of the first data table and in a univocal relationship with another respective element of the second data table; receiving a search string comprising an identifier of a first data item or of a second data item; and if the search string comprises the identifier of the first data item, accessing at least one element of the first data table based on the search string; accessing at least one element of the third data table corresponding to the at least one accessed element of the first data table, and retrieving, from the at least one accessed element of the third data table, a second index of at least one corresponding element of the second data table; and accessing the second data table using said second index for extracting a search result, or if the search string comprises the identifier of the second data item; accessing at least one element of the second data table based on the search string; accessing at least one element of the third data table corresponding to the at least one accessed element of the second data table, and retrieving, from the at least one accessed element of the third data table, a first index of at least one corresponding element of the first data table; and accessing the first data table using said first index for extracting a search result, wherein the database is structured in such a way that the second plurality of the second data items is hierarchically arranged, wherein each of the third plurality of elements of the third data table is univocally identified by a corresponding third index, wherein; if the search string comprises the identifier of the first data item, each of the first plurality of elements of the first data table comprises at least one respective bound index corresponding to a set of third indexes, or if the search string comprises the identifier of the second data item, each of the second plurality of elements of the second data table comprises at least one respective bound index corresponding to a set of third indexes, and wherein said accessing the at least one element of the third data table corresponding to the at least one accessed element of the first or second data tables comprises accessing the third plurality of elements of the third data table whose third indexes correspond to the at least one respective bound index of the at least one accessed element of the first or second data tables.
-
Specification