1

Is there a way in Semantic Mediawiki to store and use relative dates?

I would like to store genealogical data in Semantic Mediawiki and there is sometimes information like: »On January 10th 2021 John, son of the deceased Jack, married Mary.« Now I know that Jack died BEFORE 2021-01-10. Is there any way to store (and query) such information -- BEFORE 2021-01-10 -- in a date property, just like in GEDCOM format?

4

2 回答 2

1

要存储此类数据,您可以定义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}}​​.

于 2021-01-11T22:19:56.750 回答
0

我有一组“GEDdates”函数我用两个字段存储日期,一个用于 ccyymmdd 格式的日期,另一个用于修饰符。如果您没有详细信息,可以截断日期:ccyy 或 ccyymm。GEDCOM 中的 BEF、AFT、ABT 和 BTW 的修饰符是 <、>、c、-。- 在修饰符字段中后跟较晚的日期,例如 -ccyymm。我最近还在 ≬ (≬) 之间使用了 Unicode 字符,它更符合数据类型。

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

于 2021-11-05T16:42:12.347 回答