US2004216030A1PendingUtilityA1
Method and system for deriving a transformation by referring schema to a central model
Priority: May 25, 2001Filed: Jan 15, 2002Published: Oct 28, 2004
Est. expiryMay 25, 2021(expired)· nominal 20-yr term from priority
G06F 16/25Y10S707/99944G06F 16/84Y10S707/99943
42
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
A method for transforming data from one data schema to another including receiving a source data schema and a target data schema, mapping the source data schema into an ontology model, mapping the target data schema into the ontology model, and deriving a transformation for transforming data conforming to the source data schema into data conforming to the target data schema, using the ontology model. A system is also described and claimed.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method for deriving transformations for transforming data from one data schema to another, comprising:
receiving a source data schema and a target data schema; mapping the source data schema into an ontology model; mapping the target data schema into the ontology model; and deriving a transformation for transforming data conforming to the source data schema into data conforming to the target data schema, using the ontology model.
2 . The method of claim 1 further comprising converting at least one of the source data schema and the target schema from an external format to an internal format.
3 . The method of claim 1 further comprising receiving the ontology model.
4 . The method of claim 3 further comprising converting the ontology model from an external format to an internal format.
5 . The method of claim 1 further comprising generating the ontology model.
6 . The method of claim 5 further comprising receiving an initial ontology model, wherein said generating generates the ontology model from the initial ontology model.
7 . The method of claim 6 further comprising converting the initial ontology model from an external format to an internal format.
8 . The method of claim 1 further comprising generating executable program code that transforms data conforming to the source data schema into data conforming to the target data schema.
9 . The method of claim 1 wherein the source data schema is a source table schema describing source data tables, wherein the target data schema is a target table schema describing target data tables, and wherein the source table schema and the target table schema each describes at least one table having columns.
10 . The method of claim 9 wherein the source table schema is a source relational database schema describing source relational database tables, wherein the target table schema is a target relational database schema describing target relational database tables, and wherein the transformation is an SQL query.
11 . The method of claim 10 wherein said mapping a source data schema and said mapping a target data schema each comprise:
identifying at least one class in the ontology model corresponding to at least one table; and
identifying at least one property or composition of properties in the ontology model corresponding to at least one table column.
12 . The method of claim 11 wherein said deriving comprises:
labeling properties of the ontology model with symbols;
converting at least one column in the source relational database schema into at least one source symbol;
converting at least one column in the target relational database schema into at least one target symbol; and
expressing the at least one target symbol in terms of at least one source symbol.
13 . The method of claim 12 wherein said expressing uses expressions involving composition of properties.
14 . The method of claim 12 wherein at least one dependency exists among properties in the ontology model, and wherein said deriving further comprises translating the at least one dependency among properties in the ontology model as at least one dependency between target relational database columns and source relational database columns, and wherein said expressing incorporates the at least one dependency between target relational database columns and source relational database columns.
15 . The method of claim 14 wherein said expressing uses expressions involving arithmetic operations.
16 . The method of claim 14 wherein said expressing uses expressions involving character string operations.
17 . The method of claim 10 further comprising applying the query to at least one source relational database table to populate at least one target relational database table.
18 . The method of claim 17 wherein the at least one source relational database table reside in a single database.
19 . The method of claim 17 wherein the at least one source relational database table reside in multiple databases.
20 . The method of claim 1 wherein the source data schema is a source document schema describing source documents, and wherein the target data schema is a target document schema describing target documents.
21 . The method of claim 20 wherein the source document schema is a source DTD describing source XML documents, wherein the target document schema is a target DTD describing target XML documents, and wherein the source DTD and the target DTD each describes at least one XML element or XML attribute.
22 . The method of claim 21 wherein the transformation is an XQuery.
23 . The method of claim 21 wherein the transformation is an XSLT script.
24 . The method of claim 20 wherein the source document schema is a source XML schema describing source XML documents, wherein the target document schema is a target XML schema describing target XML documents, and wherein the source XML schema and the target XML schema each describes at least one XML complexType having at least one XML element or XML attribute.
25 . The method of claim 24 wherein the transformation is an XQuery.
26 . The method of claim 24 wherein the transformation is an XSLT script.
27 . The method of claim 24 wherein said mapping a source data schema and said mapping a target data schema each comprise:
identifying at least one class in the ontology model corresponding to at least one XML complexType; and
identifying at least one property or composition of properties in the ontology model corresponding to at least one XML element or XML attribute.
28 . The method of claim 24 wherein said deriving comprises expressing XML elements and XML attributes of the target XML schema in terms of XML elements and XML attributes of the source XML schema.
29 . The method of claim 28 wherein said expressing is performed recursively through XPath paths.
30 . The method of claim 27 wherein at least one dependency exists among properties in the ontology model, and wherein said deriving further comprises translating the at least one dependency among properties in the ontology model as at least one dependency between target XML elements and source XML elements.
31 . The method of claim 26 further comprising applying the XSLT script to at least one source XML document to generate at least one target XML document.
32 . The method of claim 31 wherein the at least one source XML document reside in a single database.
33 . The method of claim 31 wherein the at least one source XML document reside in multiple databases.
34 . A system for deriving transformations for transforming data from one data schema to another, comprising:
a schema receiver receiving a source data schema and a target data schema; a mapping processor mapping a data schema into an ontology model; and a transformation processor deriving a transformation for transforming data conforming to the source data schema into data conforming to the target data schema, based on respective source and target mappings generated by said mapping processor for mapping said source data schema and said target data schema into a common ontology model.
35 . The system of claim 34 further comprising a schema format convertor, converting at least one of the source data schema and the target data schema from an external format to an internal format.
36 . The system of claim 34 further comprising an ontology receiver receiving the ontology model.
37 . The system of claim 36 further comprising an ontology format convertor, converting the ontology model from an external format to an internal format.
38 . The system of claim 34 further comprising an ontology builder generating the ontology model.
39 . The system of claim 38 further comprising an ontology receiver receiving an initial ontology model, wherein said ontology builder generates the ontology model from the initial ontology model.
40 . The system of claim 39 further comprising an ontology format convertor, converting the initial ontology model from an external format to an internal format.
41 . The system of claim 34 further comprising a program code generator generating executable program code that transforms data conforming to the source data schema into data conforming to the target data schema.
42 . The system of claim 34 wherein the source data schema is a source table schema describing source data tables, wherein the target data schema is a target table schema describing target data tables, and wherein the source table schema and the target table schema each describes at least one data table having columns.
43 . The system of claim 42 wherein the source table schema is a source relational database schema describing source relational database tables, wherein the target table schema is a target relational database schema describing target database tables, and wherein the transformation is an SQL query.
44 . The system of claim 43 wherein said mapping processor comprises:
a class identifier identifying at least one class in the common ontology model corresponding to at least one table; and
a property identifier identifying at least one property or composition of properties in the common ontology model corresponding to at least one table column.
45 . The system of claim 44 wherein said property identifier presents a user with a choice of at least one property in the common ontology model that may correspond to a given table column.
46 . The system of claim 45 wherein the choice of at least one property only includes properties having targets that are compatible with a data type of the given table column.
47 . The system of claim 46 wherein, for a given table column that is a foreign key to a foreign table, the choice of at least one property only includes properties whose target is a class corresponding to the foreign table.
48 . The system of claim 43 wherein said transformation processor comprises:
an ontology labeller labeling properties of the common ontology model with symbols;
a column converter converting at least one column in the source relational database schema into at least one source symbol, and converting at least one column in the target relational database schema into at least one target symbol; and
a symbol processor expressing the at least one target symbol in terms of at least one source symbol.
49 . The system of claim 48 wherein said symbol processor uses expressions involving composition of properties.
50 . The system of claim 48 wherein at least one dependency exists among properties in the ontology model, and wherein said transformation processor further comprises a dependency processor translating the at least one dependency among properties in the ontology model as at least one dependency between target relational database columns and source relational database columns, and wherein said symbol processor incorporates the at least one dependency between target relational database columns and source relational database columns.
51 . The system of claim 50 wherein said symbol processor uses expressions involving arithmetic operations.
52 . The system of claim 50 wherein said symbol processor uses expressions involving character string operations.
53 . The system of claim 43 further comprising:
a data receiver receiving at least one source relational database table; and
a data processor applying the query to the at least one source relational database table to populate at least one target relational database table.
54 . The system of claim 53 wherein the at least one source relational database table reside in a single database.
55 . The system of claim 53 wherein the at least one source relational database table resides in multiple databases.
56 . The system of claim 34 wherein the source data schema comprises a source document schema describing source documents, and wherein the target data schema comprises a target document schema describing target documents.
57 . The system of claim 56 wherein the source document schema is a source DTD describing source XML documents, wherein the target document schema is a target DTD describing target XML documents, and wherein the source DTD and the target DTD each describes at least one XML element or XML attribute.
58 . The system of claim 57 wherein the transformation is an XQuery.
59 . The system of claim 57 wherein the transformation is an XSLT script.
60 . The system of claim 56 wherein the source document schema comprises a source XML schema that describes XML source documents, wherein the target document schema comprises a target XML schema that describes XML target documents, and wherein the source XML schema and the target XML schema each comprises at least one XML complexType having at least one XML element or XML attribute.
61 . The system of claim 60 wherein the transformation is an XQuery.
62 . The system of claim 60 wherein the transformation is an XSLT script.
63 . The system of claim 60 wherein said mapping processor comprises:
a class identifier identifying at least one class in the ontology model corresponding to at least one XML complexType; and
an property identifier identifying at least one property or composition of properties in the ontology model corresponding to at least one XML element or XML attribute.
64 . The system of claim 60 wherein said transformation processor comprises an XML processor expressing XML elements and XML attributes of said target XML schema in terms of XML elements and XML attributes of said source XML schema.
65 . The system of claim 64 wherein said XML processor operates recursively through XPath paths.
66 . The system of claim 64 wherein at least one dependency exists among properties in the ontology model, and wherein said transformation processor further comprises a dependency processor translating the at least one dependency among properties in the ontology model as at least one dependency between target XML elements or attributes, and source XML elements or attributes, and wherein said XML processor incorporates the at least one dependency between target XML elements or attributes, and source XML elements or attributes.
67 . The system of claim 60 further comprising
a data receiver receiving at least one source XML document; and
a data processor applying the XSLT script to the at least one source XML document to generate at least one target XML document.
68 . The system of claim 67 wherein the at least one source XML document reside in a single database.
69 . The system of claim 67 wherein the at least one source XML document reside in multiple databases.
70 . A method for building an ontology model into which data schema can be embedded, comprising:
receiving at least one data schema; and building an ontology model into which the at least one data schema can be embedded.
71 . The method of claim 70 further comprising converting at least one of the at least one data schema from an external format to an internal format.
72 . The method of claim 70 wherein the at least one data schema is at least one table schema describing data tables having columns.
73 . The method of claim 72 wherein the at least one table schema is at least one relational database schema describing relational database tables.
74 . The method of claim 73 wherein said building an ontology model comprises:
providing an initial ontology model;
adding classes to the initial ontology model corresponding to tables described in the at least one relational database schema; and
adding properties to the initial ontology model corresponding to columns described in the at least one relational database schema.
75 . The method of claim 74 wherein the initial ontology model is empty.
76 . The method of claim 74 wherein the initial ontology model is non-empty.
77 . The method of claim 76 further comprising converting the initial ontology model from an external format to an internal format.
78 . The method of claim 74 wherein said adding classes is performed by a computer in conjunction with a user.
79 . The method of claim 78 wherein said adding classes prompts a user to add a class to the ontology model when there is a table described in the at least one relational database schema that does not correspond to an existing class in the ontology model.
80 . The method of claim 74 wherein said adding classes is performed automatically by a computer.
81 . The method of claim 80 wherein said adding classes automatically adds a class to the ontology model when there is a table described in the at least one relational database schema that does not correspond to an existing class in the ontology model.
82 . The method of claim 74 wherein said adding properties is performed by a computer in conjunction with a user.
83 . The method of claim 82 wherein said adding properties prompts a user to add a property to the ontology model when there is a table column described in the at least one relational database schema that does not correspond to an existing property or composition of properties in the ontology model.
84 . The method of claim 74 wherein said adding properties is performed automatically by a computer.
85 . The method of claim 84 wherein said adding properties automatically adds a property to the ontology model when there is a table column described in the at least one relational database schema that does not correspond to an existing property or composition of properties in the ontology model.
86 . The method of claim 70 wherein said building an ontology model comprises inferring inheritance relationships between classes in the ontology model based on relationships between tables described in the at least one relational database schema.
87 . The method of claim 86 wherein a first class in the ontology model is inferred to inherit from a second class in the ontology model when a table corresponding to the first class has a primary key that is a foreign key to a table corresponding to the second class.
88 . The method of claim 86 wherein said inferring inheritance relationships includes prompting a user to confirm an inferred inheritance relationship.
89 . The method of claim 70 wherein the at least one data schema is at least one document schema describing documents.
90 . The method of claim 89 wherein the at least one document schema is an XML schema describing XML documents having at least one XML complexType with at least one XML element or XML attribute.
91 . The method of claim 90 wherein said building an ontology model comprises:
providing an initial ontology model;
adding classes to the initial ontology model corresponding to XML complexTypes described in the at least one XML schema; and
adding properties to the initial ontology model corresponding to XML elements and XML attributes described in the at least one XML schema.
92 . The method of claim 91 wherein the initial ontology model is empty.
93 . The method of claim 92 wherein the initial ontology model is non-empty.
94 . The method of claim 91 wherein said adding classes is performed by a computer in conjunction with a user.
95 . The method of claim 94 wherein said adding classes prompts a user to add a class to the ontology model when there is an XML complexType described in the at least one XML schema that does not correspond to an existing class in the ontology model.
96 . The method of claim 91 wherein said adding classes is performed-automatically by a computer.
97 . The method of claim 96 wherein said adding classes automatically adds a class to the ontology model when there is an XML complexType described in the at least one XML schema that does not correspond to an existing class in the ontology model.
98 . The method of claim 91 wherein said adding properties is performed by a computer in conjunction with a user.
99 . The method of claim 98 wherein said adding properties prompts a user to add a property to the ontology model when there is an XML element or an XML attribute described in the at least one XML schema that does not correspond to an existing property or composition of properties in the ontology model.
100 . The method of claim 91 wherein said adding properties is performed automatically by a computer.
101 . The method of claim 100 wherein said adding properties automatically adds a property to the ontology model when there is an XML element or an XML attribute described in the at least one relational database schema that does not correspond to an existing property or composition of properties in the ontology model.
102 . A system for building an ontology model into which data schema can be embedded, comprising:
a schema receiver receiving at least one data schema; and a model builder building an ontology model into which the at least one data schema can be embedded.
103 . The system of claim 102 further comprising a schema format convertor, converting at least one of the at least one data schema from an external format to an internal format.
104 . The system of claim 102 wherein the at least one data schema is at least one table schema describing data tables having columns.
105 . The system of claim 104 wherein the at least one table schema is at least one relational database schema describing relational database tables.
106 . The system of claim 105 further comprising an ontology receiver receiving an initial ontology model, and wherein said model builder comprises:
a class adder adding classes to the initial ontology model corresponding to tables described in the at least one relational database schema; and
a property adder adding properties to the initial ontology model corresponding to table columns described in the at least one relational database schema.
107 . The system of claim 106 wherein the initial ontology model is empty.
108 . The system of claim 106 wherein the initial ontology model is non-empty.
109 . The system of claim 108 further comprising an ontology format convertor, converting the initial ontology model from an external format to an internal format.
110 . The system of claim 106 wherein said class adder is guided by a user in conjunction with a computer.
111 . The system of claim 110 wherein said class adder prompts a user to add a class to the ontology model when there is a table described in the at least one relational database schema that does not correspond to an existing class in the ontology model.
112 . The system of claim 106 wherein said class adder is automatically guided by a computer.
113 . The system of claim 112 wherein said class adder automatically adds a class to the ontology model when there is a table described in the at least one relational database schema that does not correspond to an existing class in the ontology model.
114 . The system of claim 106 wherein said property adder is guided by a user in conjunction with a computer.
115 . The system of claim 114 wherein said property adder prompts a user to add a property to the ontology model when there is a table column described in the at least one relational database schema that does not correspond to an existing property or composition of properties in the ontology model.
116 . The system of claim 106 wherein said property adder is automatically guided by a computer.
117 . The system of claim 116 wherein said property adder automatically adds a property to the ontology model when there is a table column described in the at least one relational database schema that does not correspond to an existing property or composition of properties in the ontology model.
118 . The system of claim 105 wherein said model builder comprises an inheritance processor inferring inheritance relationships between classes in the ontology model based on relationships between tables in the at least one relational database schema.
119 . The system of claim 118 wherein said inheritance processor infers that a first class in the ontology model inherits from a second class in the ontology model when a table corresponding to the first class has a primary key that is a foreign key to a table corresponding to the second class.
120 . The system of claim 118 wherein said model builder ensures that classes corresponding to tables in the at least one relational database schema obey the inferred inheritance relationships.
121 . The system of claim 120 wherein said inheritance processor prompts a user to confirm an inferred inheritance relationship.
122 . The system of claim 102 wherein the at least one data schema comprises at least one document schema describing documents.
123 . The system of claim 122 wherein the at least one document schema comprises at least one XML schema that describes XML documents, wherein having at least one XML complexType with at least one XML element or XML attribute.
124 . The system of claim 123 further comprising an ontology receiver receiving an initial ontology model, and wherein said model builder comprises:
a class adder adding classes to the initial ontology model corresponding to XML complexTypes described in the at least one XML schema; and
a property adder adding properties to the initial ontology model corresponding to table columns in the at least one relational database schema.
125 . The system of claim 124 wherein the initial ontology model is empty.
126 . The system of claim 124 wherein the initial ontology model is non-empty.
127 . The system of claim 124 wherein said class adder is guided by a user in conjunction with a computer.
128 . The system of claim 127 wherein said class adder prompts a user to add a class to the ontology model when there is an XML complexType described in the at least one XML schema that does not correspond to an existing class in the ontology model.
129 . The system of claim 124 wherein said class adder is automatically guided by a computer.
130 . The system of claim 129 wherein said class adder automatically adds a class to the ontology model when there is an XML complexType described in the at least one XML schema that does not correspond to an existing class in the ontology model.
131 . The system of claim 124 wherein said property adder is guided by a user in conjunction with a computer.
132 . The system of claim 131 wherein said property adder prompts a user to add a property to the ontology model when there is an XML element or XML attribute described in the at least one XML schema that does not correspond to an existing property or composition of properties in the ontology model.
133 . The system of claim 124 wherein said property adder is automatically guided by a computer.
134 . The system of claim 133 wherein said property adder automatically adds a property to the ontology model when there is an XML element or XML attribute described in the at least one XML schema that does not correspond to an existing property or composition of properties in the ontology model.
135 . An article of manufacture including one or more computer-readable media that embody a program of instructions for transforming data from one schema to another, wherein the program of instructions, when executed by a processing system, causes the processing system to:
receive a source data schema and a target data schema; map the source data schema into an ontology model; map the target data schema into the ontology model; and derive a transformation for transforming data conforming to the source data schema into data conforming to the target relational database schema, using the ontology model.
136 . The article of claim 135 wherein the one or more computer-readable media include one or more non-volatile storage devices.
137 . The article of claim 135 wherein the one or more compute-readable media include a carrier wave modulated with a data signal.
138 . An article of manufacture including one or more computer-readable media that embody a program of instructions for building a common ontology model into which data schema can be embedded, wherein the program of instructions, when executed by a processing system, causes the processing system to:
receive at least one data schema; and build an ontology model into which the at least one data schema can be embedded.
139 . The article of claim 138 wherein the one or more computer-readable media include one or more non-volatile storage devices.
140 . The article of claim 138 wherein the one or more compute-readable media include a carrier wave modulated with a data signal.Join the waitlist — get patent alerts
Track US2004216030A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.