我想记录各种来源对历史人物的看法。IE
- 维基百科网站说苏珊·B·安东尼出生于 1820 年 2 月 15 日,她最喜欢的颜色是蓝色
- 《奋斗的世纪》一书中说,苏珊·B·安东尼出生于 1820 年 2 月 12 日,她最喜欢的颜色是红色
- 《妇女选举权史》一书中说,苏珊·B·安东尼生于 1820 年 2 月 15 日,她最喜欢的颜色是红色,是亚伯拉罕·林肯的第二代堂兄。
我还希望研究人员能够表达他们对这些来源提出的个人主张的信心,例如以百分比表示。IE
- 用户 A 有 90% 的把握认为苏珊 B.安东尼出生于 1820 年 2 月 15 日;75% 的人相信她最喜欢的颜色是蓝色,30% 的人相信她是亚伯拉罕·林肯的第二表亲
- 用户 B 有 30% 的把握认为苏珊 B.安东尼出生于 1820 年 2 月 12 日;60% 相信她最喜欢的颜色是蓝色,10% 相信她是亚伯拉罕·林肯的第二代表亲
然后,我希望每个用户都能看到 Susan B. Anthony 的视图,其中显示了她的生日、最喜欢的颜色以及用户认为最有可能真实的关系。
我还想使用关系数据库数据存储,我认为这样做的方式是为我希望用户能够表达他们的信心的每一种原子事实创建一个单独的表。所以对于此示例,总共将有八个表,三个单独的表用于三个单独的原子事实。
Source(id)
Person(id)
Claim(claim_id, source, FOREIGN KEY(source) REFERENCES Source(id) )
Alleged_birth_date(claim_id, person, birth_date, FOREIGN KEY(claim_id) REFERENCES Claim(id), FOREIGN KEY(person) REFERENCES person(id))
Alleged_favorite_color(claim_id, person, color, FOREIGN KEY(claim_id) REFERENCES Claim(id), FOREIGN KEY(person) REFERENCES person(id))
Alleged_kinship(claim_id, person, relationship type, kin, FOREIGN KEY(claim_id) REFERENCES Claim(id), FOREIGN KEY(person) REFERENCES Person(id))
User(id)
Confidence_in_claim(user, claim, confidence, FOREIGN KEY(user) REFERENCES User(id), FOREIGN KEY(claim) REFERENCES claim(id))
这感觉它很快变得非常复杂,因为实际上想要记录很多类型的原子事实。有没有更好的方法来做到这一点?
我认为,这与 Martin Fowler 所说的矛盾观察相同的问题。