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/

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