3

出生和死亡是否被建模为家谱档案中某个人的事件或该人的属性。每种方法的优缺点是什么?

4

2 回答 2

4

如果您认为每个事件都有与之相关的工件,那么它们确实应该是事件,因此您可以拥有与它们相关联的所有文档等。

另一方面,您能想象一个没有出生/死亡日期作为属性的人员记录吗?你不会想要加入那些给你出生/死亡的事件,这样你就可以按这些日期排序。

所以有优点和缺点,但也有你可以同时拥有的想法。如果您愿意使用未完全规范化的数据库,则可以将它们作为事件,并且对于每个具有出生/死亡事件的人,将这些值复制到属性中。

当然,请记住,您可能有一个人的多个出生/死亡事件,可能有冲突的记录,在这种情况下,只有用户指示的其中一个是该人的出生/日期属性被复制。

于 2012-03-28T08:26:01.023 回答
4

家谱(和家谱软件)中的“事件”通常被认为是在给定时间和地点发生的事情。它们可以是个人的事件,例如出生、死亡、洗礼、入籍、移民等,也可以是家庭(丈夫/妻子)的事件,例如婚姻、订婚、离婚。

“属性”(或“事实”)通常被认为是真实的东西,例如学业成就、部落起源、职业、宗教信仰、头衔。

这些是 GEDCOM 如何定义它们以及它们如何尝试让程序员对其进行编程。

就个人而言,我对“事件”的概念是状态变化的过渡。例如,从某人出生之前到他们还活着。它不需要很短的时间,但可能需要很长时间,例如 World二战是一个事件,而事件可以包含其他事件(例如二战中的特定战役)。

另一个例子是头发颜色,它被认为是一种属性。但是有些人可能生来就有金色的头发,然后掉下来换成棕色的头发,然后随着年龄的增长,头发变成灰色,然后又掉下来。头发颜色是在一定时间内为真的属性,并且随着事件的发生而“模糊”,将其从一个变为另一个。

我对“属性”的概念是它们有时间段。属性是可以被事件改变的状态。例如,“职业”随着“被解雇”事件而改变,“失业”接管,直到“被雇用”事件发生。

所以属性在事件之间,而事件分隔不同的属性。

我基本上要说的是,在我的家谱程序中,我真的不区分事件和属性。我对他们一视同仁。两者都可能包括日期或时间段,事件通常包括地点,而属性通常不包括。

由于它们的相似性,我认为没有必要单独对它们进行建模。

于 2012-03-29T00:34:49.140 回答