Introducing MetaModel


News: Introducing MetaModel

  1. Introducing MetaModel (10 messages)

    MetaModel is an exciting new Open Source component for accessing databases and other datastores without all the fuzz of specialized hacks and query-quirks. MetaModel offers a common domain model for the datastore domain and lets you query your datastore in the same way no matter if it's a database, a comma-separated file, an excel spreadsheet or any other kind of datastore. With MetaModel, dealing with vendor-specific hacks of JDBC-drivers and specialized query syntax is finally over! This is the framework that all applications that has to do with investigating and querying datastores have been waiting for. MetaModel is already being used by the successful Open Source data quality application DataCleaner and more profiled applications are joining. How is this done? The query engine in MetaModel is entirely object-oriented meaning that you specify your queries without putting in arbitrary and error-prone literals that really doesn't belong in the Java language. Queries are translated to deal with the specifics of each kind of datastore so that a query can be used just as well for a CSV-file as a relational database. And you can even create your own mechanisms to translate queries if your type of datastore is not yet included in the MetaModel portfolio. Why do I need it? Because it enforces a better way of interacting with your data, based on accepted standards and type-safe query-writing. The framework is small and simple, yet powerful, making it easy to use and easy to learn. To get started we recommend that you check out the Programming with MetaModel webcast, which gives you the grand overview of MetaModel in a quickie!

    Threaded Messages (10)

  2. Just for curiosity how do you compare this with Hibernate. I have used Hibernate a lot and I feel it does the same thing that you have mentioned. Deepal
  3. One more thing , does this allow me to use DB without creating DAOs ? Deepal
  4. MetaModel does not compare with Hibernate. While Hibernate is used to map objects to datbases, MetaModel is used as a datastore-neutral investigation and query layer. As such Hibernate is suited for information systems that have a domain model whereas MetaModel is suited for applications that investigate and query datastores. Such applications could be database managing applications, ETL tools, data profilers etc.
  5. Kaspar says this, even if he tells us about it himself, does he?
  6. Says what? I don't understand your comment.
    Kaspar says this, even if he tells us about it himself, does he?
  7. Same Kaspar[ Go to top ]

    Could he be asking if you are the same Kaspar that works on the project? I think I would rather there was some editorial from a disinterested editor around the blurb from the project authors. No idea if this is true in this case. The Kaspers the same? Also as a very technical group maybe a hint about the implementation details in the original posting would have been useful. Cheers Sam
  8. Re: Same Kaspar[ Go to top ]

    Yes I am both the founder of the project and "author" of the news-item. That is, I posted my request using the "post news" form on the front page, assuming that wanted news from the community, and taking into account that it was approved for publishing I take it that's quite OK? I will take note that in future statements about the project I should include more technical specs, however I only meant it to be an appetizer and lots of examples are available at the links posted.
  9. Comment about TSS not Kaspar[ Go to top ]

    Kaspar, I definitely did not mean to say that you did anything wrong. I was more wondering if it would be helpful if TSS flagged if the story was from TSS or direct from a contributor etc. In regard to your actual posting. After a skim of the website I've still not got a clue how it actually works. ie if you pull it into a standard form, translate all queries and run them in source specific way... Anyway, would be great if your project worked out as be very handy thing to have.
  10. Re: Comment about TSS not Kaspar[ Go to top ]

    OK, to answer your question on how it works, here's a short explanation. The framework works in different ways, depending on the datastore type, simplified:
    • When using JDBC databases the framework is a wrapper around JDBC. MetaModel generates SQL-99 compliant query-strings and pass them on to the JDBC classes (wrapping Connection, Statement, ResultSet etc.).
    • When using CSV, Excel (and soon XML files) etc. as datastores MetaModel uses a built-in query engine that analyzes the Query-object-model and retrieves the data from these datastores that are natively non-queryable (at least using SQL).
    If you want to know how to do the actual programming, please take a look at the example that we've posted in the developers guide.
  11. MetaModel 1.1 released[ Go to top ]

    Here's a major update to the development of MetaModel: The newest major version have been released, MetaModel 1.1. Here are some of the changes!
    • Support for XML files. XML files are not table-based natively so tags are mapped to an automatically generated table-based model where text-elements, attributes etc. are represented as columns in tables. The tables can be automatically or manually flattened if joining the generated table-model is too cumbersome.
    • MetaModel has changed it's license from Apache License 2.0 to Lesser General Public License (LGPL).
    • Datastores with unstructured column types (such as CSV columns which are all just text-based) can be automatically type-detected and narrowed so that for example columns with only integer values are automatically transformed to Integer objects (and thus allowing functions such as SUM and AVG in corresponding queries).
    • Information (metadata) schemas are now automatically generated for CSV files, Excel spreadsheets and XML files.
    • More databases have been added to our compliancy list.
    Also here are some links to the original resources on these news: