mediawiki - 访问语义媒体维基中同一子对象中的其他属性
问题描述
我在语义媒体维基中使用子属性来存储不同类型的信息,例如日志。这看起来像这样:
{{#subobject:
|Has date = 2020-06-18
|Has log = Diary
|Has tag = Stackoverflow
|Has agenda =
* Done Something
}}
我想做的是在访问日期参数的议程部分中使用#ask 查询,如下所示:
{{#subobject:
|Has date = 2020-06-18
|Has log = Diary
|Has tag = Stackoverflow
|Has agenda =
* The date today is:
{{#ask:
[[Has log::Diary]]
[[Has date::<<Is there a way to access the date of this subobject?>>]]
|?Has date = Date
}}
}}
我知道这是不可能的,因为必须先将文本存储在数据库中以便以后检索它,但我不介意是否必须保存两次或需要其他解决方法。
谢谢!
解决方案
显而易见的解决方案是将此代码包装在模板中,例如Template:Appointment
:
<includeonly>{{#subobject:
|Has date = {{{date|}}}
|Has log = {{{log|}}}
|Has tag = {{{tag|}}}
|Has agenda = {{{agenda|}}}
}}
Also on {{{date|}}} in {{{log|}}}:
{{#ask:
[[Has log::{{{log|}}}]]
[[Has date::{{date|}}}]]
|?Has date = Date
|format = ul
}}
</includeonly>
调用模板就像
{{Appointment
| date = 2020-06-18
| log = Diary
| tag = Stackoverflow
| agenda = <nowiki>
* The date today is:
}}
每当您想将记录添加到日志时。
推荐阅读
- u-sql - 带日期的输入文件路径 ADFV2
- javascript - javascript - 中止脚本执行超时?
- c# - JsonReaderException:解析值时遇到意外字符:<。路径 '',第 0 行,第 0 位置
- mule - 在 DataWeave 中将 XML 映射到 JSON 的嵌套元素
- swift - Firebase 方法错误 - Xcode Swift -
- javascript - Nodemon 崩溃并显示等待文件更改
- python - 在pyspark中指定多列数据类型更改为不同数据类型
- c# - 使用c#(使用Microsoft.SharePoint.Client)在线向sharepoint中的任务添加子任务
- python - 验证后使用 Python 请求下载 CSV 文件
- javascript - 单击时禁用提交按钮不会提交表单