我是一些家庭树软件的开发者(用C和Qt编写).在我的一位客户向我邮寄错误报告之前,我没有遇到任何问题.问题是客户有两个孩子和自己的女儿,因此,他因错误而无法使用我的软件.
这些错误是我处理家族图的各种断言和不变量的结果(例如,在走一个循环之后,程序声明X不能同时是Y的父亲和祖父).
如何在不删除所有数据断言的情况下解决这些错误?
解决方法:
看来你(和/或你的公司)对家谱应该是什么有一个根本的误解.
让我澄清一点,我也为一家公司(其中一个产品)的产品组合中的家族树工作,我们一直在努力解决类似的问题.
在我们的案例中,问题,我也假设你的情况,来自GEDCOM格式,这是一个家庭应该是什么样的极端主张.然而,这种格式包含了一些关于家谱真正看起来的严重错误观念.
GEDCOM有许多问题,例如与同性关系,乱伦等不相容……在现实生活中发生的事情比你想象的更频繁(尤其是回到1700-1800时).
我们已经将我们的家谱模型化为现实世界中发生的事件:事件(例如,出生,婚礼,订婚,工会,死亡,收养等).我们对这些没有任何限制,除了逻辑上不可能的(例如,一个不能是一个人自己的父母,关系需要两个人等等)
缺乏验证为我们提供了一个更“现实世界”,更简单,更灵活的解决方案.
至于这个具体的情况,我建议删除断言,因为它们并不普遍存在.
为了显示问题(将出现),我建议根据需要多次绘制相同的节点,通过在选择其中一个副本时点亮所有副本来暗示重复.