讨论区架构改进

我来为“搜索控制台”中显示的当前检查编写一些伪代码。我认为这将在这些线程中大有帮助。我可以发送 ShExSHACL,但那些可读性差得多。

    if not (IsDeletedContent() OR IsExternalContent())
       then if not ("text" OR "articleBody" OR "sharedContent" OR "image" or "video")
         then report(OneOfThreeRequired("text", "image", "video"))
    if not ("author")
       then Report(Required("author"))
    if not("datePublished")
       then Report(Required("datePublished")

其思想是,如果 DiscussionForumPosting/OP 的内容在当前页面上,则应该有某种形式的内容字段。

如果 DiscussionForumPosting 引用的是不同页面上的内容(例如多页内容的原页面),则可以只包含一个占位符,其中包含任何内容(例如 OP 主题标题),然后引用第一个页面的 URL。这就是 IsExternalContent() 检查,它只是检查 url != page URL。

我们的文档中的第二个示例应该完全模拟这种情况(第 14 页引用了第一页的占位符帖子)。

authordate 在我们的验证规则中目前是必需的。这主要是为了防止需要额外跳转来查找这些数据。您可以至少了解知道 OP 的日期对于理解评论的陈旧程度有多大用处。您能否将包含这些数据的 meta 元素放入其中?我不太担心这些字段会因冗余数据而导致页面臃肿。

7 个赞