Я хочу записать, что различные источники говорят об исторической фигуре. т.е.
- На сайте Википедии написано, что Сьюзен Б. Энтони родилась 15 февраля 1820 года, и ее любимый цвет - синий
- В книге Век борьбы говорится, что Сьюзен Б. Энтони родилась 12 февраля 1820 года, и ее любимый цвет - красный
- В книге История женского избирательного права говорится, что Сьюзен Б. Энтони родилась 15 февраля 1820 года, ее любимый цвет - красный, и она была второй кузиной Авраама Линкольна
Я также хочу, чтобы исследователи могли выразить свою уверенность, например, в процентах, в отдельных утверждениях, которые делают эти источники. т.е.
- Пользователь А на 90% уверен, что Сьюзен Б. Энтони родилась 15 февраля 1820 года; 75% уверены, что ее любимый цвет - синий, и 30% уверены, что она была двоюродной сестрой с Авраамом Линкольном
- Пользователь B на 30% уверен, что Сьюзен Б. Энтони родилась 12 февраля 1820 года; 60% уверены, что ее любимый цвет был синим, и 10% уверены, что она была двоюродной сестрой с Авраамом Линкольном
Затем я хочу, чтобы у каждого пользователя было видение Сьюзен Б. Энтони, которое показывает ее день рождения, любимый цвет и отношения, которые пользователи считают наиболее вероятными.
Я также хочу использовать хранилище данных реляционной базы данных, и способ, которым я могу думать, состоит в том, чтобы создать отдельную таблицу для каждого отдельного типа атомарного факта, который я хочу, чтобы пользователи могли выразить свою уверенность в. Таким образом, для этого примера будет всего восемь таблиц и три отдельные таблицы для трех отдельных атомарных фактов.
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))
Такое ощущение, что это очень сложно очень быстро, так как на самом деле хочется записать много типов атомных фактов. Есть ли лучшие способы сделать это?
Это, я думаю, та же проблема, которую Мартин Фаулер называет Противоречивые наблюдения .