语义媒体维基中的相对日期



语义媒体维基中是否有存储和使用相对日期的方法?

我想在语义媒体维基中存储家谱数据,有时会有这样的信息:»2021年1月10日,已故杰克的儿子约翰与玛丽结婚。«现在我知道Jack在2021-01-10之前去世了。有没有任何方法可以像GEDCOM格式一样,在日期属性中存储(和查询(这些信息——2021-01-10之前?

要存储此类数据,可以定义Record数据类型:

属性:相对出生日期

[[Has type::Record]]
[[Has fields::Sign;Date value]]

属性:日期值

[[Has type::Date]]

属性:签名

[[Has type::Text]]
[[Allows value::Before]]
[[Allows value::Exactly]]
[[Allows value::After]]

要存储数据,请使用[[Relative date of birth::Before;January 9th, 1976]]

查询此类数据并非易事。对于确切的日期,请使用{{#ask:[[Relative sate of birth::Exactly;January 9th,1976]]}}。要查询1976年1月9日之前出生的人,需要一个更复杂的查询,或者查询的联合:{{#ask:[[Relative sate of birth::Exactly||Before;<January 9th,1976]]|?Relative date of birth.Date value=date}}

我有一组函数用于;GEDdates";我用两个字段存储日期,一个用于ccyymmdd格式的日期,另一个用于修饰符。如果您没有具体信息,则可以截断日期:ccyy或ccyymm。修饰语是<gt;,c、 -用于GEDCOM中的BEF、AFT、ABT和BTW。在修饰符字段中,-后面跟一个较晚的日期,例如-ccyymm。我最近还使用了Unicode字符表示介于≬(\8812;(之间,这与数据类型更加一致。

这种数据结构提供了所需的所有灵活性。GitHub 上有一些代码示例

最新更新