Flexible database and iterative spatial search process
First Claim
1. A method for iterative spatial searching comprising:
- providing, at a host server, a user interface for spatial searching;
receiving a first user input, at the host server via the user interface, defining a first search specification;
generating an XML string encapsulating the search specification and communicating the XML string to a database server via an interface service running on the host server;
receiving the XML string at the database server;
passing the XML string as a parameter to a stored procedure to generate a temporary table for each term in the search specification, wherein the stored procedure parses the XML string to perform the search;
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, the pre-existing table comprising a plurality of spatial data classified according to one or more vocabularies which are system-defined or user-defined;
returning results comprising the identified datasets and attributes associated with each identified datasetreceiving, at the host server, the results generated by the database server in response to the XML string;
displaying the results to the user in the user interface;
receiving a second user input, at the host server via the user interface, selecting one or more attributes associated with an identified dataset, the second user input iteratively refining the first search specification based on the first search result;
generating a second XML string encapsulating a second search specification, the second search specification comprising the selected one or more attributes, and communicating the second XML string to the database server via the interface servicereceiving, at the database server, a second input query comprising the second XML string;
parsing the second XML string using a stored procedure to generate one or more temporary tables;
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 second input query; and
returning a second set of results comprising the identified datasets and attributes associated with each identified dataset wherein the second set of results are not a subset of the first search.
2 Assignments
0 Petitions
Accused Products
Abstract
A flexible database and iterative spatial search process is described. In an embodiment, a flexible database server is described which takes input queries in the form of XML strings describing a search specification and parses them using a stored procedure. Searching is performed by generating a temporary table for each term in the search specification and then comparing the temporary tables to pre-existing tables within the database to identify datasets that meet the search specification. An application is also described which generates the XML string in response to user input and which displays the results to a user. The application provides a user interface which enables users to select attributes of results, such as the spatial data associated with a dataset, to include in a second search specification and to trigger this new search.
5 Citations
18 Claims
-
1. A method for iterative spatial searching comprising:
-
providing, at a host server, a user interface for spatial searching; receiving a first user input, at the host server via the user interface, defining a first search specification; generating an XML string encapsulating the search specification and communicating the XML string to a database server via an interface service running on the host server; receiving the XML string at the database server; passing the XML string as a parameter to a stored procedure to generate a temporary table for each term in the search specification, wherein the stored procedure parses the XML string to perform the search; 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, the pre-existing table comprising a plurality of spatial data classified according to one or more vocabularies which are system-defined or user-defined; returning results comprising the identified datasets and attributes associated with each identified dataset receiving, at the host server, the results generated by the database server in response to the XML string; displaying the results to the user in the user interface; receiving a second user input, at the host server via the user interface, selecting one or more attributes associated with an identified dataset, the second user input iteratively refining the first search specification based on the first search result; generating a second XML string encapsulating a second search specification, the second search specification comprising the selected one or more attributes, and communicating the second XML string to the database server via the interface service receiving, at the database server, a second input query comprising the second XML string; parsing the second XML string using a stored procedure to generate one or more temporary tables; 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 second input query; and returning a second set of results comprising the identified datasets and attributes associated with each identified dataset wherein the second set of results are not a subset of the first search. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer storage medium storing device-executable instructions that, when executed by a device, cause a device to perform actions for iterative spatial searching comprising:
-
providing, at a host server, a user interface for spatial searching; receiving a first user input, at the host server via the user interface, defining a first search specification; generating an XML string encapsulating the search specification and communicating the XML string to a database server via an interface service running on the host server; receiving the XML string at the database server; passing the XML string as a parameter to a stored procedure to generate a temporary table for each term in the search specification, wherein the stored procedure parses the XML string to perform the search; 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, the pre-existing table comprising a plurality of spatial data classified according to one or more vocabularies which are system-defined or user-defined; returning results comprising the identified datasets and attributes associated with each identified dataset receiving, at the host server, the results generated by the database server in response to the XML string; displaying the results to the user in the user interface; receiving a second user input, at the host server via the user interface, selecting one or more attributes associated with an identified dataset, the second user input iteratively refining the first search specification based on the first search result; generating a second XML string encapsulating a second search specification, the second search specification comprising the selected one or more attributes, and communicating the second XML string to the database server via the interface service receiving, at the database server, a second input query comprising the second XML string; parsing the second XML string using a stored procedure to generate one or more temporary tables; 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 second input query; and returning a second set of results comprising the identified datasets and attributes associated with each identified dataset wherein the second set of results are not a subset of the first search. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
-
13. A system for iterative spatial searching comprising a database server and a host server, wherein the database server comprises:
-
an input arranged to receive a first input query comprising an XML string generated by a spatial search application in response to user input defining a first search specification; a stored procedure arranged to receive an XML string as a parameter and to generate a temporary table for each term in the first search specification, wherein the stored procedure parses the XML string received to perform the search; a processor; memory arranged to store a plurality of datasets and attributes associated with those datasets in a plurality of tables, at least one dataset comprising spatial data classified according to one or more vocabularies which are system-defined or user-defined, and further arranged to store device-executable instructions that, when executed by the processor, direct the database server to perform a search by joining each temporary table with a table stored in the memory to identify any datasets satisfying the input query; an output arranged to return results comprising the identified datasets and attributes associated with each identified dataset; the input further arranged to receive a second input query comprising an XML string generated by a search application in response to user input defining a second search specification, the second search specification iteratively refining the first search specification based on the returned results of the first input query; and the output further arranged to return results based on the second input query which are not a subset of the results returned based on the first input query. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification