IP Library Granted Patent US 6,853,997
Granted Patent B2
US 6,853,997 · App. 09/681,936 · Granted Feb 8, 2005

System and method for sharing, mapping, transforming data between relational and hierarchical databases

Assignee: Infoglide Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,853,997
App. No.
09/681,936
Granted
Feb 8, 2005
Kind
B2
Abstract

The present invention provides a computer-implemented system and method for transforming relational database information into a hierarchical data representation. It provides for data sharing between a relational and hierarchical data structures without requiring the data to be remodeled to fit a common format or convention. While maintaining the relational data in its original format, user may transform and associate the data with a structure compatible with another format definition. The present invention may use XML, HTML and SGML to structure a hierarchical data representation. Object-oriented formats may also be used to structure the data in an intermediary format for transformation into a hierarchical data structure.

Claims (94)

1. A method for sharing data between a relational database and a hierarchical database, comprising:

defining a hierarchical data entity including a plurality of simple and compound elements, comprising:

identifying an entity path and mapped fields in each simple element; and

identifying an entity path, a database name, a database command, and database fields in each compound element;

mapping each of the plurality of elements in the hierarchical data entity to information in a relational dataset contained in a relational database, comprising:

for each compound element, specifying a data source, specifying a database command, executing the database command, receiving database field names from the relational database, and adding the database field names to the compound element;

for each simple element, selecting a database field name in a parent element corresponding to the simple element, and specifying a data transformation algorithm associated with the simple element;

transforming the relational dataset information into corresponding mapped elements in the hierarchical data entity to form a hierarchical data structure; and

accessing data from the hierarchical data structure corresponding to the relational dataset information in the relational database.

2. The method of claim 1 , wherein the step of defining a hierarchical data entity comprises defining a hierarchical data entity including a plurality of elements containing a data entity structure and mapping information.

3. The method of claim 2 , further comprising identifying each of the plurality of elements by an element name without reference to an entity path.

4. The method of claim 1 , wherein the step of defining a hierarchical data entity comprises defining a hierarchical data entity including a plurality of elements containing a data entity structure and defining a hierarchical map structure corresponding to the hierarchical data entity containing mapping information.

5. The method of claim 4 , further comprising identifying each of the plurality of elements by an entity path referencing all parent elements in the entity path.

6. The method of claim 1 , wherein the step of defining a simple element comprises identifying an element name and mapped fields in each simple element.

7. The method of claim 1 , wherein the step of defining a compound element comprises identifying an element name, a database name, a database command, and database fields in each compound element.

8. The method of claim 1 , wherein the step of mapping each of the plurality of elements comprises:

reading the hierarchical data entity;

determining if a root element is present;

ending the mapping process if no root element is present;

mapping each compound element of the plurality of elements if a root element is present; and

mapping each simple element of the plurality of elements if a root element is present.

9. The method of claim 8 , wherein the step of mapping each compound element comprises:

selecting a compound element;

specifying a data source for the compound element;

specifying a database command expression for the compound element;

executing the database command expression;

receiving a dataset containing fieldnames from the data source;

adding the dataset fieldnames to a dataset field list in the compound element for enabling simple elements to map to the information in the dataset; and

repeating the above steps for each compound element.

10. The method of claim 8 , wherein the step of mapping each simple element comprises:

selecting a simple element;

selecting a source dataset fieldname corresponding to the simple element in a dataset field list of a parent element;

specifying data transformation algorithms associated with the simple element; and

repeating the above steps for each simple element.

11. The method of claim 1 , wherein the step of transforming the relational dataset information comprises:

receiving the mapped plurality of elements;

creating a dataset for each compound element of the plurality of elements that contains a database command expression;

opening the dataset for each compound element;

transforming each compound element in the mapped elements starting with the root element of the mapped elements; and

transforming each simple element of the plurality of elements in the mapped elements.

12. The method of claim 11 , wherein the step of transforming each compound element comprises:

selecting a compound element;

locating a dataset that is nearest to a compound element;

creating an instance of the compound element for every record in the dataset; and

repeating the above steps for each compound element.

13. The method of claim 11 , wherein the step of transforming each simple element comprises:

selecting a simple element;

extracting values from each dataset field that map to the simple element

creating a simple element in the hierarchical data structure that corresponds to the simple map element;

transforming data values contained in the dataset fields by transformation algorithms;

adding the transformed values to other values corresponding to the simple map element; and

repeating the above steps for all simple elements.

14. A computer program embodied on a computer-readable medium incorporating the method of claim 1 .

15. A system for sharing data between a relational and a hierarchical database, comprising:

means for defining a hierarchical data entity including a plurality of simple and compound elements, comprising:

means for identifying an entity path and mapped fields in each simple element;

means for identifying an entity path, a database name, a database command, and database fields in each compound element;

means for mapping each of the plurality of elements in the hierarchical data entity to information in a relational dataset contained in a relational database, comprising:

for each compound element, means for specifying a data source, specifying a database command, executing the database command, receiving database field names from the relational database, and adding the database field names to the compound element;

for each simple element, means for selecting a database field name in a parent element corresponding to the simple element, and specifying a data transformation algorithm associated with the simple element;

means for transforming the relational dataset information into corresponding mapped elements in the hierarchical data entity to form a hierarchical data structure; and

means for accessing data from the hierarchical data structure corresponding to the relational dataset information in the relational database.

16. The system of claim 15 , wherein the means for defining a hierarchical data entity comprises means for defining a hierarchical data entity including a plurality of elements containing a data entity structure and mapping information.

17. The system of claim 16 , further comprising means for identifying each of the plurality of elements by an element name without reference to an entity path.

18. The system of claim 15 , wherein the means for defining a hierarchical data entity comprises means for defining a hierarchical data entity including a plurality of elements containing a data entity structure and means for defining a hierarchical map structure corresponding to the hierarchical data entity containing mapping information.

19. The system of claim 18 , further comprising means for identifying each of the plurality of elements by an entity path referencing all parent elements in the entity path.

20. A system for sharing data between a relational and hierarchical database, comprising:

a hierarchical data entity having a plurality of simple and compound elements, comprising:

each simple element identifying an entity path and mapped field

each compound element identifying an entity path, a database name, a database command, and database fields;

a mapping of each of the plurality of elements in the hierarchical data entity to information in a relational dataset contained in a relational database comprising:

for each compound element, a specified data source, specified database command, executed database command, received database field names from the relational database, and added database field names to the compound element;

for each simple element, a selected database field name in a parent element corresponding to the simple element, and a specified data transformation algorithm associated with the simple element;

a transformation of the relational dataset information into corresponding mapped elements in the hierarchical data entity for forming a hierarchical data structure; and

a memory containing data from the hierarchical data structure corresponding to the relational dataset information in the relational database.

21. The system of claim 20 , wherein the hierarchical data entity comprises a plurality of elements containing a data entity structure and mapping information.

22. The system of claim 20 , wherein the hierarchical data entity comprises a plurality of elements containing a data entity structure and a hierarchical map structure.

23. The system of claim 20 , wherein each simple element identifies an element name and mapped fields.

24. The system of claim 20 , wherein each compound element identifies an element name, a database name, a database command, and database fields.

25. A computer-readable medium containing a data structure for sharing data between relational and hierarchical databases, comprising:

a hierarchical data structure having a plurality of simple and compound elements stored in the memory;

database commands embedded in the compound elements for accessing information in a relational database;

tabular datasets created in the memory for storing the accessed information from the relational database;

mappings of the plurality of simple and compound elements in the hierarchical data entity to information in relational datasets contained in the relational dataset if a root element is present, comprising:

for each compound element, means for specifying a data source, specifying a database command, executing the database command, receiving database field names from the relational database, and adding the database field names to the compound element;

for each simple element, means for selecting a database field name in a parent element corresponding to the simple element, and specifying a data transformation algorithm associated with the simple element;

transformations of the relational dataset information into corresponding mapped elements in the hierarchical data entity to form a hierarchical data structure; and

a relationship between the elements of the hierarchical data structure the tabular datasets.

26. The computer-readable medium of claim 25 , wherein the compound elements comprise:

an element name property;

a database name property;

a database command expression; and

a database fields property.

27. The computer-readable medium of claim 25 , wherein the simple elements comprise an element name property and a mapped fields property.

Assignments (5)
CHANGE OF NAME Recorded Jan 15, 2014
From: INFOGLIDE CORPORATION
To: INFOGLIDE SOFTWARE CORPORATION
Reel/Frame 032020/0267 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2013
From: INFOGLIDE SOFTWARE CORPORATION
To: FAIR ISAAC CORPORATION
Reel/Frame 030325/0675 →
RELEASE Recorded Oct 28, 2011
From: SILICON VALLEY BANK
To: INFOGLIDE SOFTWARE CORPORATION
Reel/Frame 027145/0197 →
SECURITY AGREEMENT Recorded Nov 3, 2006
From: INFOGLIDE SOFTWARE CORPORATION
To: SILICON VALLEY BANK
Reel/Frame 018480/0587 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2001
From: WOTRING, STEVEN C.; RIPLEY, JOHN R.
To: INFOGLIDE CORPORATION
Reel/Frame 012231/0130 →
Continuity (2)
Provisional Application 6021489200 · Jun 29, 2000
Related Publication 20020010700A1 · Jan 24, 2002