【问题标题】:iCalendar database schemaiCalendar 数据库架构
【发布时间】:2015-01-02 19:45:26
【问题描述】:

在哪里可以找到 iCalendar 数据库架构?我能找到的最好的是xml schema

我想我可以使用它,但这是很多工作,我希望有人已经这样做了。

【问题讨论】:

  • 你能详细说明你在说什么吗?
  • 您好 Evert,感谢您的提问。 iCalendar 是创建日历数据的标准。 en.wikipedia.org/wiki/ICalendar。有一个很好的标准,但我在任何地方都找不到一个很好的简单数据库模式......
  • 我知道 iCalendar 是什么,我为它编写了一个流行的库 :) 您应该详细说明的部分是数据库模式。 iCalendar 通常以字节流的形式传输,因此从这个角度来看,BLOB 是一种用于存储它的合理列类型。
  • 啊,太好了!你写的什么库?所以我的情况是我想要一个日历后端用于 jquery FullCalendar 日历。所以我希望能够查询日历以获取一系列日期并取回事件。问题是日历会变得相当大,我不想每次需要查询时都将整个日历加载到内存中。我也(现在)只需要事件,而不需要日记或其他任何东西。根据我所阅读的内容,我想我会将事件存储在事件表中。该表将具有开始和结束日期,然后...
  • ...将完整事件存储在一个 blob 列中。然后我可以查询一段时间内的事件,将它们加载到DDay ical 的日历中,查询它们的适用日期,并返回一个 json 事件列表。你怎么看?

标签: database-schema icalendar


【解决方案1】:

总结cmets并添加我自己的两分钱:

  • 没有像 iCalendar 数据库架构这样的东西。
  • 由于 iCalendar 只是一些 BLOB,在最简单的情况下,您可以将其存储为单个字符串字段。
  • 由于您想按时间范围进行查询,因此您可能至少需要单独的字段。
  • 重复事件很难正确处理,因为可以使用 iCalendar 的 RRULE 构建许多复杂的事情

【讨论】:

    【解决方案2】:

    如何在基于 ical 规范的 JSON-LD 中构建您的数据库? 示例可以在“事件”选项卡下的here 找到:

    {
      "@context": {
        "ical": "http://www.w3.org/2002/12/cal/ical#",
        "xsd": "http://www.w3.org/2001/XMLSchema#",
        "ical:dtstart": {
          "@type": "xsd:dateTime"
        }
      },
      "ical:summary": "Lady Gaga Concert",
      "ical:location": "New Orleans Arena, New Orleans, Louisiana, USA",
      "ical:dtstart": "2011-04-09T20:00:00Z"
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-17
      • 2010-12-07
      • 1970-01-01
      相关资源
      最近更新 更多