Data Structure Mashups, Transformations and Virtualizations
SQLfX® among its advanced capabilities has the capability to perform powerful data structure mashups, transformations and vitualizations at a full interactive nonlinear (multipath) hierarchical processing level. These hierarchical processing capabilities include powerful new ANSI SQL any-to-any hierarchical structure reshaping transformations and unrestricted hierarchical data mashups. In our research of hierarchical transformation, we have clarified the two general types of hierarchical structure transformation operations and assigned them separately to the previously interchangeable terms of Reshaping and Restructuring. This clarifies which transformation process is used since their semantic use and intent is different. These different meanings of structure reshaping and structure restructuring are discussed below. Data Structure Restructuring
SQLfX® among its advanced capabilities has the capability to perform powerful XML hierarchical restructure transformations using ANSI SQL. These are very flexible allowing multiple structure fragments from the input structure to be isolated and then rejoined differently using any of the relationships in the data. The limitation with this restructuring capability is that it requires the SQL join operation to have matching relationships to be present in the data fragments being joined. This does offer the particular capability of utilizing these previously unutilized defined relationships in the data which creates a new semantics in the derived structure. Any-to-Any Data Structure Reshaping
But what if the desired structure form is not supported by data relationship values in the data? XML for example, usually does not contain foreign keys. This is because its contiguous structure does not require foreign keys. This limits an important source of matching relationships. Taking a lesson from an XQuery linear inversion example that does not rely on matching data relationships, we developed an any-to-any structure reshaping technique that works naturally in ANSI SQL to support any reshaping using the natural semantics already in the data structure. The new derived structure retains the same basic semantics of the original structure. This is a different use than restructuring because restructuring creates a new semantics. Using this reshaping capability, SQLfX® is able to invert the typical linear Dept over Emp over Dpndstructureto Dpnd over Emp over Dept. This naturally has the effect of flattening this 1 to M source structure into an M to 1 target structure. When re-inverted by SQLfX®, the input M to 1 structure reverts back to a 1 to M structure and even has the multiple occurrences restored automatically, an automatic renormalization capability. This occurs at every node level correctly. The ANSI SQL standard processing engine performs this reshaping naturally using standard SQL to manipulate the relational rowsets. SQLfX® converts the relational rowset result to a hierarchical node set where the multiple occurrences are also detected and handled properly enabling the XML representation to be output correctly structured. SQLfX® is a full nonlinear hierarchical processor, not limited to linear structures. This means that SQLfX® can also perform any-to-any structure reshaping from linear to nonlinear, nonlinear to linear, and nonlinear to nonlinear. In addition, our reshaping solution can also operate in a polymorphic manner allowing the any-to-any reshaping transformation to accept any input structure and transform it to the same specified target structure using the same SQL transform logic. This means the transformation is not tied to any specific source structure as long as the node type names are the same for the different input source structures.
Unrestricted Structured Data Mashups
A data mashup in XML is hierarchical XML data structures combined hierarchically in any way to form a larger combined hierarchical structure in a meaningful hierarchical manner. This is accomplished in SQLfX® by joining hierarchically modeled structures together hierarchically. Our research has extended the limited standard way hierarchical structures have been combined in the past to allow any node point on the top structure to be joined to any node point in the lower structure which had been previously restricted to the root of the lower structure. This allows the upper and lower structures to be joined anywhere making their mashup unrestricted while maintaining valid hierarchical semantics. SQLfX®’s navigationless query operation means that the user does not need to know the structure of the data being accessed or how the structure requires accessing. This also means that the exact structure of the data is not important to the coding of the mashup, so there is data structure independence in the data mashup. This adds significantly in the ease of use for SQL’s navigationless nonprocedural joins where these new unrestricted mashups in SQLfX® can be effortlessly performed interactively and correctly.
Data Structure Virtualization
Data structure virtualization is very similar to data structure restructuring using data relationships to recombine the data. Data structure restructuring works on a single input structure breaking it apart and reassembling it using data relationships in the structure. This means that the data relationships drive the resulting hierarchical structure. Data structure virtualization extends this to support more than one input structure allowing multiple fragments from multiple input structures in the construction of the virtualized structure.