MetaModel调研

个人理解

听说过元数据metadata,metadata是data的data,metamodel是model的model,称为元模型。一堆相似的模型,通过功能或者结构可以抽象出共同的部分,就是元模型。例如菜系,川菜是个模型,湘菜、鲁菜、江浙菜、印度菜、泰国菜,都是模型,菜系都是做菜的,菜是基本的元素,菜本身的属性有名字、色、香、味、生成的方法、生成的材料等,每个具体的菜系都可以拿菜的元素找对应具体的值,在这里菜系是模型,菜是元模型。

这里的MetaModel是一个apache的具体的项目,是数据的元模型。mysql、pg、sqlserver、sqlite等是数据库,csv、xls、xml、access等是数据文件,mongdb是nosql,还有java对象等,这些都是关于数据的。我们比较理解数据库,以mysql为例,每个数据都有表、行、列等元素,有select可以有条件where,可以update,表与表之间可以join等操作,这是元模型。MetaModel使用的语言是java,在java中,将这些不同的数据源通过MetaModel访问后成为同一个概念dataContext,类似java程序中的中间件,然后MetaModel提供Query、update等操作对这些dataContext进行操作。


具体元素

dataContext是个大的概念,类似一个csv文件流,一个mysql链接等

schema是table与dataContext中间的一个概念,类似database、schema(pg)、多个sheet,(这个暂时还不确定)

table就是mysql的table,csv文件

column是table的column

row是table的row


具体操作

select、update、delete、insert、join

and( boolean or boolean) 貌似不行


官方例子

Knowledge base and background information about MetaModel:

Some useful examples for learning to code with MetaModel:

  1. examples/CompiledQueries 编译查询
  2. examples/CompositeDataContext 混合dataContext
  3. examples/DataTypeConversion table中列的数据格式转换
  4. examples/PojoDataContext java对象转换成dataContext
  5. examples/SalesforceDataContext salesforce网站业务转换成dataContext
  6. examples/SimpleQueriesToGetStarted 简单查询开始
  7. examples/TraverseSchemaModel 遍历schema
  8. examples/UpdatingData 更新数据
  9. examples/XmlTableMapping xml转换成dataContext中使用mapping的方法


具体的信息,可以看:

http://wiki.apache.org/metamodel/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章