我正在为科学合作网站设计一个系统。基本上,针对不同的研究主题有许多不同的数据模型。列,字段类型,列数,映射和结构是不同的。每个现有的数据模型也可以被其他人重用。
方案示例: 一位科学家进来设计一个实验类型A,然后创建数据模型并开始填充数据。然后保存实验类型A的数据模型,可以重复使用,其他人可以选择此模型A并填写没有重新设计的数据。同样,科学家可以设计他们喜欢的任何数据模型。
例如:
实验类型A我们有结构:
-Hypothesis(String target1,String target2, int number1,int number2)
-existingwork(String target1,string target2) //(maps to Hypothesis table)
-Cohorts (int number1,int number2)
-male //(maps to Cohorts table)
-female //(maps to Cohorts table)
-Results (String result1,String result2)
实验类型B我们有结构:
-Hypothesis(BigInt bigint,String name,String target)
-feedback(String feedback) //(maps to Hypothesis table)
-comments(String comment,Date date) //(maps to Hypothesis table)
-ExperimentTarget (int number1,int number2,int number3)
-Healthy //(maps to Cohorts table)
-Unhealthy //(maps to Cohorts table)
-Impact (int impackFactor)
-Conclusion(String conclusion,Date date)
实施此方法的最佳方法是什么?如果我们为每个实验类型创建一个模式,我认为它太重了,不是吗?
我已经考虑过Nosql方法,但看起来映射部分很难(例如,将“现有工作”映射到A类中的“假设”)。
某些图形数据库如http://neo4j.org/怎么样,这可以做到这一点吗?
伙计们,请指教!感谢