Claims
- 1. A method for sharing data between hierarchical databases, comprising:
defining, configuring and storing datatypes; defining, configuring and storing hierarchical data structures comprising the datatypes; establishing and storing a lineage for linking related datatypes into families; defining, configuring and storing measures of similarity and similarity match tolerances; defining, configuring and storing match strategies; transforming a source hierarchical data structure to a target hierarchical data structure by determining the similarity between the source and target data structure; and evaluating an effectiveness indicia of match strategies.
- 2. The method of claim 1, further comprising manually defining, configuring and storing mappings between datatype elements.
- 3. The method of claim 1, wherein the step of defining, configuring and storing datatypes comprises reading, writing, and deleting a datatype name, a parent datatype reference, and an element, the element comprising an element name, a datatype reference, a positional reference, an element reference, and an alias name.
- 4. The method of claim 1, wherein the step of defining, configuring and storing hierarchical data structures comprises specifying a parent datatype reference and an element of a datatype having a datatype reference, an element reference and an alias name.
- 5. The method of claim 1, wherein the step of defining, configuring and storing hierarchical data structures comprises nesting datatypes into groups of higher level schema datatypes.
- 6. The method of claim 1, wherein the step of establishing and storing a lineage for linking related datatypes into families comprises locating a common datatype family and locating a common datatype ancestor between a datatype 1 and a datatype 2.
- 7. The method of claim 6, wherein locating a common datatype family between the datatype 1 and the datatype 2 comprises:
walking up a family tree of the datatype 1 to a root; walking up a family tree of the datatype 2 to a root; and determining if the root of datatype 1 is the same as the root of datatype 2.
- 8. The method of claim 1, wherein the step of defining, configuring and storing measures of similarity and similarity match tolerances comprises specifying a comparison algorithm by identifying an algorithm name, an implementation, and implementation parameters.
- 9. The method of claim 1, wherein the step of defining, configuring and storing match strategies comprises specifying comparisons by context, element, data type, and attribute for each of the strategies, and ordering the strategies according to accuracy.
- 10. The method of claim 1, wherein the step of transforming a source hierarchical data structure to a target hierarchical data structure comprises:
receiving a source data element from the source hierarchical data structure and a target data element from the target hierarchical data structure; determining whether the source data element has at least one source child data element and the target data element has at least one target child data element; copying the source data element to the target data element if the source data element has no source child data elements and the target data element has no target child data elements; separating the source data element and applying the separated source data element to at least one target child data element if the source data element has no source child data elements and the target data element has at least one target child data element; concatenating the at least one source child data element into one value and applying the one value to the target data element if the source data element has at least one source child data element and the target data element has no target child target data elements; applying a source child data element to a target child data element when the source child data element matches the target child data element if a source data element has at least one source child data element and a target data element has at least one target child data element; and repeating the previous steps until all target data elements have been examined for each of a group of selected strategies.
- 11. The method of claim 10, wherein the step of separating the source data element further comprises separating the source data elements into tokens and applying the tokens to at least one target child data element.
- 12. The method of claim 10, wherein the step of separating the source data element further comprises using a best-fit algorithm to separate and apply the data.
- 13. The method of claim 2, wherein the step of defining, configuring and storing mappings comprises:
inputting source and target datatypes and retrieving an associated mapping; inputting source and target datatypes and removing an associated mapping; inputting a mapping specification for storing; and inputting source data schema, target data schema, source data, and target data, and retrieve an associated mapping.
- 14. The method of claim 1, wherein the step of evaluating an effectiveness indicia of match strategies comprises:
determining a success value of a context comparison between source and target datatypes based on a mapping between source and target schema; determining a success value of an element comparison between source and target datatypes based on a name comparison of source and target data elements; determining a success value of an attribute comparison between source and target datatypes based on a name comparison of source and target data attributes; determining a success value of a datatype comparison between source and target datatypes based on a lineage comparison of source and target datatypes; determining a success value of a tree structure comparison between source and target datatype tree structures; and aggregating the success values obtained from the comparisons resulting from at least one match strategy to determine an effectiveness indicia for the at least one match strategy.
- 15. A computer program embodied on a computer-readable medium incorporating the method of claim 1.
- 16. A system for sharing data between hierarchical databases, comprising:
a datatype services facility for defining, configuring and storing datatypes and hierarchical data structures, and establishing and storing lineage for linking related datatypes into families; a user-defined mapping services facility for defining, configuring and storing mappings between data elements; a similarity scoring services facility for defining, configuring and storing measures of similarity and similarity match tolerances; and a tree transformation engine for defining, configuring and storing match strategies, transforming a source hierarchical data structure to a target hierarchical data structure by determining the similarity between the source and target data structure, and evaluating an effectiveness indicia of match strategies.
- 17. The system of claim 16, further comprising at least one match strategy from the tree transformation engine that is stored in the similarity scoring services facility.
- 18. The system of claim 16, further comprising a least one match strategy from the similarity services scoring facility that is provided to the tree transformation engine.
- 19. The system of claim 16, wherein each of the match strategies comprise at least one comparison utility selected from the group consisting of a context comparison utility, an element comparison utility, an attribute comparison utility, a datatype lineage comparison utility, and a datatype tree structure comparison utility.
- 20. The system of claim 16, wherein the match strategies are stored in the similarity scoring services facility in descending order by the effectiveness indicia of each match strategy.
- 21. The system of claim 20, wherein the effectiveness indicia is a match strategy accuracy.
- 22. The system of claim 16, wherein a user may explicitly define a match between datatype elements using the user-defined mapping services facility.
- 23. A method for applying data from a first hierarchical data structure to a second hierarchical data structure, comprising:
receiving at least one source element from the first hierarchical data structure and at least one target element from the second hierarchical data structure determining whether source elements and target elements have child elements copying data from a source element to a target element; separating data from a source element and applying the data to at least one child of a target element; comparing a child of a source element to a child of a target element and determining a match; and copying data from a source child element to a target child element where a match is determined.
- 24. The method of claim 23, further comprising receiving a definition and configuration of a datatype from a user.
- 25. The method of claim 23, further comprising receiving a definition and configuration of a source and target datatype mapping from a user.
- 26. The method of claim 23, further comprising receiving a definition and configuration of a match strategy from a user.
- 27. A computer program embodied on a computer-readable medium incorporating the method of claim 23.
- 28. A system for applying data from a first hierarchical data structure to a second hierarchical data structure, comprising:
a means for receiving at least one source element from the first hierarchical data structure and at least one target element from the second hierarchical data structure; a means for determining whether source elements and target elements have child elements a means for copying data from a source element to a target element; a means for separating data from a source element and applying the data to at least one child of a target element; a means for comparing a child of a source element to a child of a target element and determining a match; and a means for copying data from a source child element to a target child element, where a match is determined.
- 29. A computer-readable medium containing a data structure for sharing data between hierarchical databases, comprising:
a source hierarchical data structure comprising source datatypes; a source lineage for linking related source datatypes into families; a target hierarchical data structure comprising target datatypes; a target lineage for linking related target datatypes into families; measures of similarity and similarity match tolerances; match strategies; results of a similarity transformation and an effectiveness indicia of match strategies.
- 30. The computer-readable medium of claim 29, further comprising mappings between source datatype elements and target datatype elements.
- 31. The computer-readable medium of claim 29, wherein the source and target datatypes each comprise a datatype name, a parent datatype reference, and an element.
- 32. The computer-readable medium of claim 31, wherein the element comprises an element name, a datatype reference, a positional reference, an element reference, and an alias name.
- 33. The computer-readable medium of claim 29, wherein the source and target hierarchical data structures each comprise a parent datatype reference and an element of a datatype having a datatype reference, an element reference, and an alias name.
- 34. The computer-readable medium of claim 29, wherein the measures of similarity and similarity match tolerances comprise a comparison algorithm that identifies an algorithm name, an implementation, and implementation parameters.
- 35. The computer-readable medium of claim 29, wherein the match strategies comprise a comparison by context, comparison by element, comparison by data type, and comparison by attribute for each of the strategies, and an ordering of strategies according to accuracy.
- 36. The computer-readable medium of claim 30, wherein the mappings comprise mappings associated with source and target datatypes, mapping specifications, source data schema, target data schema, source data, and target data.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] Referenced-applications
[0002] This application claims the benefit of U.S. Provisional Application 60/214,891, filed Jun. 29, 2000.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60214891 |
Jun 2000 |
US |