问题描述
Semantic Mediawiki 有没有办法存储和使用相对日期?
我想在 Semantic Mediawiki 中存储家谱数据,有时会有类似的信息:»2021 年 1 月 10 日,已故杰克的儿子约翰与玛丽结婚。« 现在我知道杰克在 2021 年 1 月 10 日之前去世了。有什么方法可以在日期属性中存储(和查询)此类信息 - 2021-01-10 之前 - 就像 GEDCOM 格式一样?
解决方法
要存储此类数据,您可以定义 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}}
。