引用JSON-LD中先前定义的项目



我正努力为我的网站正确定义JSON-LD。我不确定的一点是如何引用以前定义的JSON-LD项,而不必复制和粘贴它们。

我知道每个项目都可以被赋予一个@id属性,但我应该如何正确利用它(如果我可以的话(?

例如,假设我创建了一个Organization项目,其中@idhttps://example.com/#Organization。当我需要再次引用该项时,只需再次指定@id,是否正确?

此外,我认为即使在我引用的页面上没有定义项目,我也可以这样做,这是正确的吗?

Organization项目类型的情况下,我的理解是,您应该只在主页上声明它,而不是在每个页面上声明它。因此,如果用户当前在产品页面上,并且我想引用该组织,那么它还没有在我所在的页面上定义,而是在其他地方声明的。

在不同的地方使用相同的@id可以让你对同一件事发表声明,这是正确的。事实上,作为Framing的一部分使用的JSON-LD Flattening算法将所有这些合并在一个节点对象中。

JSON-LD是链接数据的一种格式,可以合理地说,在不同位置(页面(上对同一资源所做的陈述可以合并在一起,如果你从多个位置的信息中形成知识图,这实际上就是你正在做的。知识图通常会将JSON-LD(或其他等效的语法表示(简化为RDF三元组/四元组,其中每个"页面"有效地定义了一个图,可以将其组合以创建更大的数据集。然后,您可以以不同的方式查询数据集以检索信息,这可能会导致合并单独的语句。

然而,大多数应用程序可能会在单个位置查找资源的完整定义。但对于像组织这样的组织,你可以想象可能会产生不同的员工资源,其中存在:Employee :worksFor :Organization这样的关系,这样组织的页面就不会期望同时列出该组织中的每个员工,但可以使用由所有这些独立资源合并而成的更全面的知识图来重建它。

最新更新