1. A method for semantic representation of one or more XML language inquiries across relational and non-relational data sources, the method comprising: receiving at least one XML language inquiry; defining a plurality of nodes of a rooted graph structure which represents the at least one XML language inquiry, the rooted graph structure having at least one node object for every operation within the at least one XML language inquiry; translating each of the at least one node objects using intermediate language operators represented by a unique corresponding node type and class, wherein there are multiple node types per class and one class per node type; generating a semantic intermediate language representation having the rooted graph structure, wherein the semantic intermediate language representation explicitly describes a meaning of the one or more XML language inquiries, the semantic intermediate language representation including a tuple operator having three child nodes, the child nodes comprising a list of iterators that construct tuple space, a clause that filters the tuple space, and a clause that produces an outcome of the tuple space, wherein each iterator in the semantic intermediate language representation of a tuple node corresponds to one column in the tuple space, and wherein the semantic intermediate language representation decouples front-end language compilers from back-end query engines that use the semantic intermediate language representation, such that, when used in a compiler system having M front-front end languages and N back-end search engines, has a complexity of M plus N compiler implementations; and effecting a partitioning of the at least one XML language inquiry by distributing one or more portions of the semantic intermediate language representation to corresponding query engines based upon a data source.