EP1057128A1 - Verfahren zur verarbeitung einer abfrage - Google Patents

Verfahren zur verarbeitung einer abfrage

Info

Publication number
EP1057128A1
EP1057128A1 EP99964723A EP99964723A EP1057128A1 EP 1057128 A1 EP1057128 A1 EP 1057128A1 EP 99964723 A EP99964723 A EP 99964723A EP 99964723 A EP99964723 A EP 99964723A EP 1057128 A1 EP1057128 A1 EP 1057128A1
Authority
EP
European Patent Office
Prior art keywords
source
adapter
filter
request
components
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
EP99964723A
Other languages
English (en)
French (fr)
Inventor
Rémy AMOUROUX
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull SA
Institut National de Recherche en Informatique et en Automatique INRIA
Original Assignee
Bull SA
Institut National de Recherche en Informatique et en Automatique INRIA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bull SA, Institut National de Recherche en Informatique et en Automatique INRIA filed Critical Bull SA
Publication of EP1057128A1 publication Critical patent/EP1057128A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • G06F16/24524Access plan code generation and invalidation; Reuse of access plans
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation

Definitions

  • the present invention relates to a method for processing a request.
  • the invention relates more particularly to a request and result transformation method between a client application and a plurality of heterogeneous sources of data by an adapter device of given architecture, specific to each data source, and the given architecture of adapter allowing the implementation of said process.
  • a lot of useful information is locked up in private files, and manual extraction of information, even partially usable, requires a lot of time.
  • the integration of new servers or databases is laborious work and the result is generally inflexible and difficult to understand.
  • the main problems are accessing information where it is, in its original form, transforming it into a usable format and delivering it to the applications that need it.
  • the processing of a customer's request is done by an adapter.
  • a specific adapter is associated with each data source.
  • the present invention therefore aims to overcome the drawbacks of the prior art by proposing a method for processing a request, common to all the adapters.
  • the method according to the invention provides a uniform access interface to information sources such as relational DBMSs (DataBase Management System), system files, "Lotus Notes” databases, document management systems and "Web” servers (WorldWideWeb), for example.
  • the aim of the invention is to propose a method which makes it possible to extract information by working directly, for example, from a report, invitations to tender or similar documents in heterogeneous formats such as HTML (HyperText Markup Language) or ASCII (American Standard Code for Information Interchange), to obtain an object, a publication date or for example the place of a call for tenders published on a server having a determined protocol such as HTTP ( HyperText Transmission Protocol).
  • the proposed method must allow information to be filtered to select useful information, instead of adding another specific function for each application which needs the information.
  • This object is achieved by the fact that the process for processing requests and results between a client and a plurality of heterogeneous sources of data by an adapter device specific to each source, of given architecture, performs the following steps independently:
  • the initialization of the filter chain is carried out from the internal representation of the request and of the filter object.
  • the response object is produced from the filter chain.
  • the response object is returned to the client application to allow it to retrieve the results.
  • metadata concerning the schema of the data in the source, the operators supported by the source and the costs associated with these operators are provided to the client application.
  • Another object of the invention is to propose a given architecture adapter allowing the implementation of said method.
  • the adapter comprises four modules, a coordination module serving as an interface with the client application comprising a connection component and a "response" component, a request transformation module, comprising at at least one analysis component, at least one translation component and one processing construction component, a source communication module comprising a first "source” component and a second "source access filter” component and a transformation of the result comprising third filter components all having the same interface, each module comprises components each having a determined interface.
  • the same application programming interface API
  • the same query language and the same data model in the form of source metadata are used to process each source.
  • the transformation module of the result consists of a set of components chosen from four kinds of thirds filter components, "operator” components applying additional constraints to the response, extraction filters, structure translation filters and response construction filters transforming the response into the data format of the client application.
  • analysis components and / or translation components are stacked.
  • FIG. 1 represents the architecture of an adapter according to the invention and the treatment method of a request.
  • the adapters (1) are based on the transformation of requests and results between an application (6) and a data source (7) by a double process of rewriting the request and transforming the result .
  • An adapter is associated with a source. The adapter is responsible for giving a relational view of the source to which it is attached.
  • the requests coming from the client application (6) are analyzed, then transformed into requests supported by the data source manager (7), the parameters of the request are extracted and used to guide the transformation of the result.
  • the results are transformed by information extraction and restructuring processes.
  • Adapters can be used directly to access data sources from applications.
  • the client application (6) can be any application needing to access a data source in a structured relational form.
  • the architecture of the adapter (1) according to the invention can be broken down into four main modules: a coordination module (2), a request transformation module (3), a result transformation module (4) and a source communication module (5).
  • the coordination module (2) serves as an interface with the client application (6).
  • the coordination module (2) communicates with the client application (6) by exchanging requests and responses with the client application (6).
  • the request transformation module (3) is responsible for analyzing the request received and translating of it in operations supported by the data source manager (7).
  • the result transformation module (4) is responsible for restructuring the results, translating the data types from the source into the data types of the client application (6) in general, and elaboration of the response sent to the client application (6).
  • the adapters offer query features and data models based on relational database technology to provide uniform access to different data sources. This involves translating a database query into a non-database query and translating unstructured results into relational structured results.
  • the communication module (5) with the source is responsible for communication with the source (7) and encapsulates responses in data structures compatible with the source in data structures compatible with the adapter (1). Its role is on the one hand, to send the request to the source and on the other hand, to recover the results that the source (7) returns.
  • Each module is made up of a set of components. The functionality of each module and the various components used to build them will now be described.
  • the modules making up the architecture can be classified into three different layers: the "Client” layer (8), the internal layer
  • the "Client” layer (8) comprises the coordination module (2) and the “Source” layer comprises the communication module (5) with the source.
  • the internal layer (9) of the adapter deals with the content, that is to say with the requests received from the client application and sent to the source (7), and the data received from the source and sent to the client application.
  • the internal layer (9) comprises the transformation module (3) of the request and the transformation module of the result (4).
  • the client application using this configuration file determines the adapter used.
  • the "Client” layer (8) groups the components that deal with the client application at the access level. Its role is to serve as an interface with the client application.
  • the components of the client layer create an interface used by the client application (6).
  • the coordination module (2) of this client layer has four main responsibilities. First, a connection component (21) accepts a request (71) from a client application and passes (72) the request to the request transformation module (3). Second, a "Response" component (22) is used to transfer the result, coming from the transformation module (4) of the result, to the client application (6). Third, it delivers metadata to the client application regarding the schema of the data in the source, the operators of the query with their costs when required. Metadata is data about the structure of the data itself. Fourth, it dynamically initializes and configures the other components of the adapter.
  • the internal layer (9) of the adapter groups the components which deal with data transformation.
  • Two modules are associated with the two main transformations carried out which are the query transformation module (3) and the results transformation module (4).
  • the main functions of the request transformation module (3) are on the one hand, to rewrite the request coming from the coordination module into a request which can be submitted to the data source (7) and on the other hand, d 'initialize the results transformation module (4) which will process the results retrieved from the source (7). This is done in three phases. First, the incoming request is analyzed to identify the elements used, during the elaboration of a request accepted by the source and during the transformation results. These elements are the names of the relation, the attributes of the projection, and the selection or join predicates.
  • This step consisting in establishing an internal representation of the request, is carried out by an analysis component (31).
  • the information made up of these elements is used in a translation component (32) which rewrites the request in a form which can be accepted by the manager of the data source (5).
  • the information is used by a "process builder" component (33) to initialize all the necessary filters.
  • the query submitted to the data source provides a set of responses which is then filtered to produce a correct response to the client application. Passing this set of responses through the filters may be required to extend or increase the request processing capabilities of a data source manager.
  • the analysis of the request, by the component (33) makes it possible to initialize filters according to the needs of the client application.
  • the result transformation module (4) is responsible for extracting the relevant information from the responses obtained by the communication module with the source (5). This module (4) is also responsible for carrying out transformation on these, if necessary, and then for formatting the response to the data format of the client application (6).
  • This module consists of a stack of components (42 to 45) called filters. Passing through this filter chain (46) corresponds to data extraction, verification against the initial request and conversions.
  • the filters of the results transformation module (4) all have the same interface including "open”, “get-next", “close” methods and manipulate the data in the same internal format. Thus, the filters can be chained in any order according to the needs of extraction, verification and conversion. There are four classes of filters.
  • the so-called "operator” filters (42) apply additional constraints to the response returned by the source, corresponding to selection or projection operators for example.
  • So-called extraction filters (43) carry out a chain of information extraction and structuring methods.
  • a structure translation filter (44) can be used to retrieve the data schema. These three types of components can be used several times in the chain with different initializations to carry out transformations which prove impossible by using only one filter.
  • a response construction filter (45) ends the chain. This filter transforms the response from the internal data format of the adapter (1) to the data format of the client application.
  • the “Source” layer (10) groups the components, which manage access from the source (7), in order to send a request to the source and retrieve the results.
  • a first “Source” component (51) accepts requests in the format of the data source originating from the translation component of the request (32).
  • a second component “Source access filter” (52) retrieves the results that the source returns according to the protocol of the source, these results being in the form, in the format and in the coding used by the source. This component (52) transforms these results to send them to the filter chain (46) in the internal format of the internal layer (9) of the adapter.
  • the coordination module (5) with the source (7) has two functions. It sends a request to the data source, for example a SQL (Structured Query Language), or HTTP request. It uses the "filter” interface of the result transformation module (4) to return the next element of the response from the data source in the adapter's internal data format.
  • FIG. 1 A description of the processing by the adapter of requests received from customers will now be made with reference to FIG. 1 in which the continuous arrows with a full head represent the path of a request, of a representation of a request or of 'particular information and the arrows with broken lines and with full head represent the data flow and the arrows with broken lines and with hollow head represent the operations of creation of an object of the process.
  • a client (6) When a client (6) has requests to send to an adapter (1), it opens a connection to the adapter using a "Wapper" interface (annex), and submits the requests to the adapter.
  • the connection component (21) receives the request (71) and transmits the request (72) via the "Analysis" interface to the module (3) for transforming the request.
  • the adapter uses the analysis component (31) of the request forming part of the module (3) for transforming the request to establish an internal representation (73, 74) of the request which it transmits to the translation component (32) in a format compatible with the interface "Request Builder".
  • This internal representation (73, 74) is also compatible with the "Process Builder” interface of the processing component (33).
  • the representation (74) of the request is used by the request translation component (32) to translate the initial request (71) of the client application into a format compatible with the "Source” interface. that the source can understand.
  • the translated request (75) is submitted to the source through a "Source” component (51) of the source layer, and a filter object corresponding to the "Source access filter” component (52) is produced.
  • This filter object (52) realizes the "Filter” interface (represented in appendix 1 by the references 18 and 181 to 184) of the result transformation module.
  • This filter object (52) is the first element of the filter chain which will filter and allow to retrieve the results from the source using the methods "open” (182), “next” (183), “close” (184 ).
  • the adapter uses a component “processing constructor” or “filter initializer” (33), to initialize in the filter chain, the filter or filters necessary to complete the first filtering (52) in order to produce a response compatible with the format of the adapter.
  • the adapter gives this processing constructor (33) on the one hand the internal representation (73) of the request by a function which uses as parameters the results of the "Analysis” interface and on the other hand share, by the arrow referenced (76), the filter object (52) produced by the source component (51.
  • This processing constructor (33) renders a filter chain (46) made up of different filter components (42 to 45)
  • the final phase is the construction of a response object, corresponding to the "Response" component (22).
  • This response object is produced by the connection component (21) using the filter chain (46) that the processing constructor (33) provides it via the link (77).
  • the connection component (21) gives the client application (6) the response object.
  • the client application uses the "Answer” interface (12) of this component (22), comprising "open”, “next” methods, "close”, to retrieve the results in the particular data format of the interface.
  • the following interfaces appearing in appendix 1 and 2 make it possible to submit a request, to retrieve results and to manage an adapter in operation.
  • the notation used for the interfaces is the following "vector getSelectClause (), in which the content in parentheses expresses the parameters used by the function” getSelectClause "and” vector "expresses the form of the result provided by the function used by the interface.
  • This result can be in the form of a chain (string), boolean (boolean), vector (vector) or an object (object)
  • the "Client” layer defines the interfaces and components allowing the use of an adapter.
  • the interfaces of the "Client” layer make it possible to use an adapter locally or remotely.
  • the "Client” layer (8) comprises two specific interfaces, a first interface at the same time of connection (11, appendix 1), called “Wrapper” and adapter administration (13, appendix 1), produced by the connection component (21), and a second "Answer” interface (12) produced by the "response” component (22).
  • first "Wrapper” interface provides the application cl have access to the basic services of an adapter (1).
  • This interface includes a first "query” method (111) which uses an object as an input argument. This "query” method allows you to receive the request from the client application using as an input argument an object representing the request issued by the client application.
  • This "query” method also makes it possible to return (78) to the client application the response object (22) which provides a certain number of functions defined in the "Answer (12) interface.
  • a second method (GetCapability ) (112) of the first "Wrapper" interface does not take any input argument into account.
  • This second method returns a string encoding the list of query operators supported by the adapter and their conditions of use. representing the capabilities of the adapter.
  • the character string describes the operators that the adapter supports and how they can be combined.
  • the operators that can be used are exploration, selection, projection, union and combination operators. Each adapter supports a subset of these operators.
  • a third method (getSchema) (113) of the first "Wrapper" interface takes no input argument into account and returns a character string constituting a list of types.
  • Each type describes the internal representation of a class in the source data schema.
  • Types are constructed using, on the one hand, basic types such as integer, real, boolean, string and, on the other hand, constructors for sets and tuples or "tuples”.
  • a tuple is a list of pairs (attribute-value). The types are defined when the adapter is created.
  • This third method is used to transmit to the client application the structure of the data in the source and thus allow the client application to retrieve the results.
  • a fourth method (getCost) (114) of the first "Wrapper" interface (11) does not take into account any argument and returns a string encoding the cost information associated with each operator. The cost information makes it possible to evaluate the time and the memory size of the result of a query.
  • the client application maintains a cost model in order to select the best execution plan, that is to say the best filter chain.
  • a default cost model is defined on the client application. In order to improve this model, costs are passed from adapters to the client application using the function of the fourth method (getcost) (114).
  • the second "Answer” interface (12, appendix 1) provides the client application (6) with the services to retrieve the results of the request submitted.
  • This interface includes different methods.
  • a first method (getAII) (121) of the second "Answer” interface takes no input and returns a set of "tuples", list of pairs (attribute-value). This function returns a set of all the tuples returned by the source and filtered by the adapter.
  • the second (open) method (122) of the second "Answer” interface takes no input and produces no output. It performs the necessary initialization procedure before the first "tuple” can be sent to the client application.
  • a third method (getNext) (123) of the second "Answer” interface takes no arguments and returns a "Tuple” object.
  • This object sets a "tuple” which is a part of the response to subqueries passed to the response object of the "Response" component (22). If there are no other tuples in the response, it returns a "null”.
  • a fourth (close) method (124) of the second "Answer” interface takes no arguments. It performs cleaning operations. It does nothing if called before an opening call. This function can be called before retrieving the last "tuple”.
  • the third method getnext
  • the "Client” layer (8) includes a third "AdaptaterAdmin” interface (13, appendix 1) making it possible to initialize and configure the components of the adapter according to the access parameters of the source.
  • This third interface provides administration services for managing an adapter during or after initialization.
  • JDBC Java DataBase Connectivity
  • "Java” is a new programming language, designed by the company “Sun”, based on C ++.
  • JDBC is a utility for connecting "Java” to databases.
  • This fourth JDBC interface (14, appendix 1) is a standard SQL database access interface, providing uniform access to a wide range of databases. As the query is an object, this JDBC interface (14) can be used with any type of database provided that there is an underlying translation component. A JDBC manager needs to handle SQL queries, which cannot be done at the interface level.
  • the adapter programmer for the analysis component (31) in the module request transformation (3) is a SQL grammar analyzer
  • the adapter will be fully JDBC compliant.
  • the interfaces are not the same, features found in the interfaces (11, 12, 13) of the "Client" layer described above can be found in the fourth JDBC interface.
  • the various JDBC interfaces listed below, "java. Sql. Driver”, “java. Sql. Connection””java.sql.ResultSet” and “java.sql.DatabaseMetadata” are part of the JDBC standard.
  • the creation of the "java. Sql. Driver” interface (141) replaces the third interface (AdaptaterAdmin) described above. The configuration must be done before connecting the database.
  • the realization of the interface "java. Sql. Connection” (142) plays the same role as the realization of the interface “Wrapper” for the recovery of metadata and the submission of the request.
  • the realization of "java.sql.ResultSet” (143) plays the same role as the realization of the interface "Answer” (12) to retrieve results.
  • the methods to retrieve the adapter capacities and the cost information correspond to methods of the "java.sql.DatabaseMetadata" interface.
  • the request transformation module (9) must contain three elements for each adapter: an analysis component (31), a request translation component (32) and a processing construction component (33) which can each be stackable. So for another client language the adapter will use another analysis component (31 '), another query translation component (32') and another processing construction component (33 '), each adapted to this other language, but uses the same methods that make up interfaces for a given component. Each has its own interface used by the coordination module (2) to finally generate an execution plan, that is to say the filter chain (46), is defined by the "ProcessBuilder” components from the file configuration and information extracted from the request by the analysis component for a received request.
  • a first "Analysis" interface (15) contains the methods that a request analyzer (31) must perform.
  • the query is considered something similar to SQL queries.
  • the request is given to the analyzer (31) at the time of creation or with a first method “setRequest” (151).
  • the format of the request depends on the interface made.
  • the parser must extract different elements from the request and uses the different methods below.
  • a second method “getSelectClause” (152) returns a list (name, alias), of type string, of the projected attributes ("selectclause”).
  • a third method “getFromClause” (153) returns a list (name, alias) of type chain of relations ("from clause”).
  • a fourth “getWhereClause” method (154) returns a predicate describing the selection condition ("where clause”). The format of the predicate depends on the implementation.
  • a fifth method “getGroupByClause” (155) returns a list (name, alias), of type string, of attributes (groupby clause).
  • a sixth method “getHavingClause” (156) returns a predicate using all of the operators used to select the groups (having clause). The format of the predicate depends on the implementation.
  • the analysis of the request can be carried out in phases by stacking different analyzers. A stack (31, 31 ', ...) of analysis components may be necessary to solve conversion problems for example.
  • a second "Request Builder” interface (16) contains the methods that a request translation component (32) must perform.
  • the incoming request is defined as the output of the previously described parser ("select clause", “from clause”, “where clause”, “groupby clause” and “having clause”).
  • the request is given to the translation component at the time of creation or with the "setRequest” (161) method. This method returns the value “true” if all goes well, “false” otherwise.
  • the format of the translated request depends on the type of format that the source can accept.
  • Another method “getTranslatedQuery” (162) returns the translation of the previously given query. In the same way as the analysis components, different translation components (32, 32 ', ...) can be stacked.
  • a third interface "Process builder” (17) contains the signatures of the method that a processing constructor (33) must carry out.
  • the processing constructor (33) needs to produce the execution plan.
  • the processing manufacturer supplies the filter chain (46), which constitutes the main component of the execution plan corresponding to the given request.
  • a first method (171) makes it possible to give the processing constructor (33) the necessary information, extracted by the analysis component (31), to generate the execution plan.
  • a second method (172) makes it possible to give the processing constructor (33) the first filter element of the execution plan. This first element is the filter object corresponding to the "Source access filter” component (52), supplied by the source component (51) after the submission of the translated request, and making it possible to retrieve the results from the source.
  • a third method (173) returns to the connection component (21) the execution plan (77), that is to say the chain (46) of filters calculated for the request.
  • the result transformation module (4) contains interfaces and classes for building a filter chain that processes data from the source before sending it to the client application.
  • the following interfaces and classes are used by each component of this module in order to reduce the dependence of the components and to promote the reuse of these components.
  • Each filter component (42 to 45) must provide a "Filter” interface (18). This interface makes it possible to compose a filter chain (46) by inserting any filter component at any position.
  • a first method "initialize” (181) initializes the filter with the given list of parameters contained in a direct access table (hashtable).
  • a second "open” method (182) opens the stream of data delivered by the chain.
  • a third method “next” (183) returns an object of the class "DataFormat” representing a tuple. This method allows you to take the tuples of the same request one after the other.
  • a fourth "close” method (184) closes the data stream delivered by the chain.
  • a class "DataFormat” defines the structure for processing common data in the adapter. In the case of filters, it corresponds to a list of attribute-value pairs or "tuples" which is transmitted from one filter in the chain to the next filter.
  • a set of methods (61), given by way of example in appendix 2, makes it possible to handle a tuple containing semi-structured data defined by the "DataFormat” class.
  • the result transformation module can include additional interfaces to allow, for example, to perform processing in parallel.
  • the components of the source layer (10) must provide a "Source” interface (62, appendix 2) in order to be used by the connection component (21) of the coordination module to retrieve the information in the form of metadata and to send the request at the source.
  • This interface includes a first method “checkMetadata” (621) which checks the availability of metadata.
  • This interface includes a second method “getMetaData” (622) retrieves the metadata delivered by the source and translates it into something understandable by the upper client layer.
  • a third "sendQuery” method (623) receives a request understandable by the source, produces and returns (76) to the processing constructor (33) a filter object (52) in order to retrieve the results.
  • the source component (51) If the source component (51) is configurable during the operating period, it must provide another interface (63), called the "Admin" interface.
  • This interface includes a first method “setConfig” (631) to give the configuration parameter to the source component.
  • the source component programmer must provide the format and form of this or these parameters.
  • the interface uses a second “getConfig” method (632) to retrieve the configuration parameters available in the adapter.
  • the adapters according to the invention have many advantages. They offer a uniform access interface to heterogeneous sources of information, each interface relying on a minimum number of carefully selected methods.
  • the same application programming interface (API) the same query language and the same data model are used to process each source, even if these sources are completely different in terms of access protocol, query language and the data model. Only the objects to which the methods apply are modified according to the source languages and the languages of the client applications.
  • the definition of a generic architecture with common interfaces for the components included in the adapter modules makes it possible to produce components, for example, connection (21), analyzer (31), translator (32), filter (42 45), processing (33) source (5), reusable. These components can be reused in several adapters without modifications.
  • the composition of reusable components in component chains allows programmers to easily make adapters.
  • the evolution of data sources and the evolution of components can be easily supported by plugging components into chains of components already existing in the adapter or by replacing one component with another.
  • the rapid creation of robust adapters relies on these reusable components.
  • the common architecture according to the invention can be used with libraries of reusable components to create adapter families characterized by a common data manager, for example "Lotus Notes", or to create specialized adapters made for a source of specific data.
  • Three types of components can be distinguished according to their dependence on the data manager of the associated source. This dependency dictates how the components can be reused from one adapter to another. Some components are specific to an adapter and cannot be reused.
  • query building for a WWW depends on the language that this particular source accepts.
  • Some components are common to an adapter family.
  • the HTTP communication module can be reused for all adapters associated with a website-based data source.
  • Some components are common to all adapters.
  • the projection and selection filters applied to data obtained from the source do not depend on the source, and can potentially be reused to build each adapter.
  • the method according to the invention makes it possible to provide "metadata" to the client application to optimize the requests and allow better use of the source.
  • the adapter provides metadata about the source of data, allowing a programmer to build applications that dynamically use this metadata, thus making the applications reusable from completely different sources. This makes building and managing these applications easier.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
EP99964723A 1998-12-28 1999-12-27 Verfahren zur verarbeitung einer abfrage Ceased EP1057128A1 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR9816780A FR2787957B1 (fr) 1998-12-28 1998-12-28 Procede de traitement d'une requete
FR9816780 1998-12-28
PCT/FR1999/003294 WO2000039709A1 (fr) 1998-12-28 1999-12-27 Procede de traitement d'une requete

Publications (1)

Publication Number Publication Date
EP1057128A1 true EP1057128A1 (de) 2000-12-06

Family

ID=9534805

Family Applications (1)

Application Number Title Priority Date Filing Date
EP99964723A Ceased EP1057128A1 (de) 1998-12-28 1999-12-27 Verfahren zur verarbeitung einer abfrage

Country Status (6)

Country Link
US (1) US6704726B1 (de)
EP (1) EP1057128A1 (de)
JP (1) JP2002533842A (de)
CA (1) CA2320891A1 (de)
FR (1) FR2787957B1 (de)
WO (1) WO2000039709A1 (de)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1074925B8 (de) * 1999-08-06 2011-09-14 Ricoh Company, Ltd. Dokumentverwaltungssystem, Informationsverarbeitungsgerät, Dokumentverwaltungsverfahren und rechnerlesbares Aufzeichnungsmedium
US7185016B1 (en) * 2000-09-01 2007-02-27 Cognos Incorporated Methods and transformations for transforming metadata model
US7231433B1 (en) * 2000-01-19 2007-06-12 Reynolds And Reynolds Holdings, Inc. Enterlink for providing a federated business to business system that interconnects applications of multiple companies
US20020156756A1 (en) 2000-12-06 2002-10-24 Biosentients, Inc. Intelligent molecular object data structure and method for application in heterogeneous data environments with high data density and dynamic application needs
US20100223295A1 (en) * 2000-12-06 2010-09-02 Io Informatics, Inc. Applied Semantic Knowledgebases and Applications Thereof
WO2002054171A2 (en) * 2000-12-06 2002-07-11 Biosentients, Inc. System, method, software architecture and business model for an intelligent object based information technology platform
FR2823044B1 (fr) * 2001-03-30 2004-05-21 France Telecom Dispositif et procede d'echange de flux entre un dispositif client et un serveur bases sur un protocole d'adapatation de contenu de fichiers internet de type icap
EP1271342A1 (de) * 2001-04-30 2003-01-02 Sun Microsystems, Inc. Verfahren zum Zugreifen auf die Spalten einer Datenbanktabelle
US6934702B2 (en) * 2001-05-04 2005-08-23 Sun Microsystems, Inc. Method and system of routing messages in a distributed search network
US7171415B2 (en) * 2001-05-04 2007-01-30 Sun Microsystems, Inc. Distributed information discovery through searching selected registered information providers
US7099871B2 (en) * 2001-05-04 2006-08-29 Sun Microsystems, Inc. System and method for distributed real-time search
US6950821B2 (en) * 2001-05-04 2005-09-27 Sun Microsystems, Inc. System and method for resolving distributed network search queries to information providers
US6961723B2 (en) * 2001-05-04 2005-11-01 Sun Microsystems, Inc. System and method for determining relevancy of query responses in a distributed network search mechanism
US7013303B2 (en) * 2001-05-04 2006-03-14 Sun Microsystems, Inc. System and method for multiple data sources to plug into a standardized interface for distributed deep search
US7464072B1 (en) 2001-06-18 2008-12-09 Siebel Systems, Inc. Method, apparatus, and system for searching based on search visibility rules
US20030046276A1 (en) * 2001-09-06 2003-03-06 International Business Machines Corporation System and method for modular data search with database text extenders
US20050154708A1 (en) * 2002-01-29 2005-07-14 Yao Sun Information exchange between heterogeneous databases through automated identification of concept equivalence
US7228306B1 (en) * 2002-12-31 2007-06-05 Emc Corporation Population of discovery data
EP1482418A1 (de) * 2003-05-28 2004-12-01 Sap Ag Verfahren und System zur Verarbeitung von Daten
US8694532B2 (en) * 2004-09-17 2014-04-08 First American Data Co., Llc Method and system for query transformation for managing information from multiple datasets
US8510325B1 (en) 2004-12-30 2013-08-13 Google Inc. Supplementing search results with information of interest
US7769579B2 (en) * 2005-05-31 2010-08-03 Google Inc. Learning facts from semi-structured text
US8468445B2 (en) * 2005-03-30 2013-06-18 The Trustees Of Columbia University In The City Of New York Systems and methods for content extraction
US7587387B2 (en) 2005-03-31 2009-09-08 Google Inc. User interface for facts query engine with snippets from information sources that include query terms and answer terms
US8682913B1 (en) 2005-03-31 2014-03-25 Google Inc. Corroborating facts extracted from multiple sources
US9208229B2 (en) * 2005-03-31 2015-12-08 Google Inc. Anchor text summarization for corroboration
US8996470B1 (en) 2005-05-31 2015-03-31 Google Inc. System for ensuring the internal consistency of a fact repository
US7831545B1 (en) * 2005-05-31 2010-11-09 Google Inc. Identifying the unifying subject of a set of facts
US7827562B1 (en) 2005-06-16 2010-11-02 The Trizetto Group, Inc. System and method for flexible publishing and consumption of data between disparate applications
US8260785B2 (en) 2006-02-17 2012-09-04 Google Inc. Automatic object reference identification and linking in a browseable fact repository
US7464084B2 (en) * 2006-01-30 2008-12-09 International Business Machines Corporation Method for performing an inexact query transformation in a heterogeneous environment
WO2007115254A2 (en) * 2006-03-31 2007-10-11 Visto Corporation System and method for searching disparate datastores via a remote device
US8122026B1 (en) 2006-10-20 2012-02-21 Google Inc. Finding and disambiguating references to entities on web pages
US20080114752A1 (en) * 2006-11-14 2008-05-15 Microsoft Corporation Querying across disparate schemas
US8347202B1 (en) 2007-03-14 2013-01-01 Google Inc. Determining geographic locations for place names in a fact repository
US7970766B1 (en) 2007-07-23 2011-06-28 Google Inc. Entity type assignment
US8874545B2 (en) * 2007-10-19 2014-10-28 Oracle International Corporation Data source-independent search system architecture
US8812435B1 (en) 2007-11-16 2014-08-19 Google Inc. Learning objects and facts from documents
US8266112B1 (en) * 2007-12-19 2012-09-11 Symantec Corporation Techniques for recovery of application level objects
US8606803B2 (en) * 2008-04-01 2013-12-10 Microsoft Corporation Translating a relational query to a multidimensional query
US8745076B2 (en) * 2009-01-13 2014-06-03 Red Hat, Inc. Structured query language syntax rewriting
US10156954B2 (en) * 2010-01-29 2018-12-18 Oracle International Corporation Collapsible search results
US8271435B2 (en) * 2010-01-29 2012-09-18 Oracle International Corporation Predictive categorization
US20110191333A1 (en) * 2010-01-29 2011-08-04 Oracle International Corporation Subsequent Search Results
US9009135B2 (en) * 2010-01-29 2015-04-14 Oracle International Corporation Method and apparatus for satisfying a search request using multiple search engines
US10120913B1 (en) * 2011-08-30 2018-11-06 Intalere, Inc. Method and apparatus for remotely managed data extraction
US9159052B2 (en) * 2012-05-09 2015-10-13 Sap Se Generalizing formats of business data queries and results
EP2728494A1 (de) * 2012-11-05 2014-05-07 Software AG System und Verfahren zum grafischen Erzeugen von Anfragen zu Modelldaten
US9454585B2 (en) * 2013-08-09 2016-09-27 Openlane, Inc. Searching multiple data sources
US10114861B2 (en) * 2014-01-31 2018-10-30 Dell Products L.P. Expandable ad hoc domain specific query for system management
US9619537B2 (en) 2014-04-15 2017-04-11 Sap Se Converting data objects from single- to multi-source database environment
US9971794B2 (en) * 2014-07-08 2018-05-15 Sap Se Converting data objects from multi- to single-source database environment
US20170068712A1 (en) * 2015-09-04 2017-03-09 Palantir Technologies Inc. Systems and methods for database investigation tool
CN106227824A (zh) * 2016-07-25 2016-12-14 四川通发电信股份有限公司 基于零散数据的聚合式推送查询系统
CN106448157A (zh) * 2016-09-05 2017-02-22 天津中兴智联科技有限公司 一种交通数据平台适配器的实现方法及系统
US20190065547A1 (en) * 2017-08-30 2019-02-28 Ca, Inc. Transactional multi-domain query integration
CN110399474B (zh) * 2019-07-18 2023-06-09 腾讯科技(深圳)有限公司 一种智能对话方法、装置、设备及存储介质
US11256709B2 (en) 2019-08-15 2022-02-22 Clinicomp International, Inc. Method and system for adapting programs for interoperability and adapters therefor
CN111078961B (zh) * 2019-12-24 2023-09-15 用友网络科技股份有限公司 多数据源查询驱动系统、方法、装置和存储介质
US11675814B2 (en) 2020-08-07 2023-06-13 Target Brands, Inc. Ad hoc data exploration tool
US11550800B1 (en) * 2020-09-30 2023-01-10 Amazon Technologies, Inc. Low latency query processing and data retrieval at the edge

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0765032A (ja) * 1993-08-27 1995-03-10 Toshiba Corp データベース言語変換機能を持つ情報処理システム
JPH1049410A (ja) * 1996-08-07 1998-02-20 Matsushita Electric Ind Co Ltd 異種データベースアクセス装置
US6212529B1 (en) * 1996-11-13 2001-04-03 Puma Technology, Inc. Synchronization of databases using filters
US5832501A (en) * 1996-12-31 1998-11-03 Apple Computer, Inc. Method and system for filtering file manager attribute values
US5966707A (en) * 1997-12-02 1999-10-12 International Business Machines Corporation Method for managing a plurality of data processes residing in heterogeneous data repositories
US6182064B1 (en) * 1998-03-06 2001-01-30 International Business Machines Corporation Method and system for identifying an object located among a number of multiple interconnected computing systems
US6233586B1 (en) * 1998-04-01 2001-05-15 International Business Machines Corp. Federated searching of heterogeneous datastores using a federated query object
US6546381B1 (en) * 1998-11-02 2003-04-08 International Business Machines Corporation Query optimization system and method
US6134548A (en) * 1998-11-19 2000-10-17 Ac Properties B.V. System, method and article of manufacture for advanced mobile bargain shopping
US6470332B1 (en) * 1999-05-19 2002-10-22 Sun Microsystems, Inc. System, method and computer program product for searching for, and retrieving, profile attributes based on other target profile attributes and associated profiles

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO0039709A1 *

Also Published As

Publication number Publication date
JP2002533842A (ja) 2002-10-08
US6704726B1 (en) 2004-03-09
WO2000039709A1 (fr) 2000-07-06
CA2320891A1 (fr) 2000-07-06
FR2787957A1 (fr) 2000-06-30
FR2787957B1 (fr) 2001-10-05

Similar Documents

Publication Publication Date Title
EP1057128A1 (de) Verfahren zur verarbeitung einer abfrage
Lacy OWL: Representing information using the web ontology language
Roth et al. Don't Scrap It, Wrap It! A Wrapper Architecture for Legacy Data Sources.
EP0702312B1 (de) Vorrichtung zum Erzeugen von objektorientierten Schnittstellen für relationale Datenbanken und von dieser Vorrichtung durchgeführtes Verfahren
FR2832236A1 (fr) Interface graphique de portail web semantique
EP1880325B1 (de) Dynamisches verfahren zur erzeugung von xml-dokumenten aus einer datenbank
JP2001511279A (ja) ネットワーク情報へのアクセスの方法及びシステム
FR2920898A1 (fr) Installation de gestion d'une base de donnees
WO2004017228A2 (fr) Plateforme de type logicielle dediee au referencement de sites du reseau internet
Tang et al. Building data mining solutions with OLE DB for DM and XML for analysis
EP1290578B1 (de) Verfahren zum automatischen und gesicherten suchen von daten mit hilfe eines datenübertragungsnetzwerks
WO2002003245A1 (fr) Procede de stockage d'objets informationnels au format xml dans une base de donnees relationnelle
Corby et al. Beyond classical service clause in federated sparql queries: leveraging the full potential of uri parameters
Lee et al. Integration of disparate information sources: A short survey
Ghawi Ontology-based cooperation of information systems: contributions to database-to-ontology mapping and XML-to-ontology mapping
Kakaletris et al. Spatiotemporal Data-Cube Retrieval and Processing with xWCPS.
Masmoudi Knowledge hypergraph based-approach for multi-source data integration and querying: Application for Earth Observation domain
Langegger et al. SemWIQ–Semantic Web Integrator and Query Engine
FR2880715A1 (fr) Procede et systeme de codage d'un treillis representatif d'une hierarchie d'elements
Lee et al. Towards enterprise-scale ontology management
EP1408428A1 (de) System und Verfahren in der Verarbeitung und Sichtbarmachung von Suchresultaten, produziert durch eine Index-basierte Suchmachine, ein Schnittstellenmodell und entsprechende Metamodelle
Anokhin et al. Resolving Inconsistencies in the Multiplex Multidatabase System
Ezziyyani et al. An Advanced XML Mediator for Heterogeneous Information Systems Based on Application Domain Specification.
FR2816416A1 (fr) Procede d'obtention de donnees par lots
WO2005013145A2 (fr) Procede permettant a un utilisateur de developper des applications informatiques appliquees a des donnees qualifiees dans un systeme de gestion de donnees (sgd)

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20000712

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20081218