why no suggestion to a Unified Query Language(UQL)?!


EJB design: why no suggestion to a Unified Query Language(UQL)?!

  1. Once there is info to look up,there should exist a set of query protocol.
    Here let's enumerate some the area:
    1.database,need SQL
    2.EJB,need EJB QL
    3.LDAP,it is said some query standard is proposed
    4.XML,maybe SQL3 is suggested

    So,why there is no Unified Query Language defined,let me call it UQL.or else a lot of spirit wasted.

  2. The reason I think it is a bit difficult to come up with a unified language for querying data repositories (internet registries, RDBMS, ODBMS, directories) is because each of these have a different information model. If a language has to query all these repositories of different natures, it has to be really really generic...and with generalization, you loose capabilities.

    But that does not mean that it is impossible to come up with such a unified language. In fact, people are trying to achieve this albeit on a smaller scale. By the way of example, consider JAXR. It is a Java standard that is still in works under JCP. This standard provides a unified interface to XML registries (ebXML registry, UDDI, eCo Framework, OASIS). So obviously JAXR also consist of capabilities to query these diverse registries but these capabilities are not "least common denominator" in nature. Instead they are very powerful and specific to a particular registry. And how do they achieve this? By categorizing capabilities into several capability profiles. For example, most basic functionalities to manage/query registries (/repositories) are combined in one basic profile, more advanced features are combined into another profile that layers on top of the basic profile, and so on...Thus, functionalities are grouped into profiles. So now, providers would choose what capability level they want to implement; higher the capability level goes, more specific and advanced the API gets.

    I think, something like this can be worked out in order to come up with a unified query language standard that is common for querying any kind of data repository and at the same time very powerful and specific in querying a particular type of repository.

    Just thoughts,
  3. Good thoughts.Layered protocol!!!
    So we can imagine someday we could drawf serveral levels of query protocols just like OSI or TCP/IP network protocols.Regardless it is a directory service or database service,the basic fuctionality is query or look up a single record or a single node.The other high-level functionality maybe grouping info according to different requirements.High-level functionality maybe include as following refering to networking:
    1.security service and access control vs. SSL
    2.cluster and name service vs. route layer such as IP and DNS

    I really enjoy your idea.thanks