json-ld 上下文中的@id 和@type 是什么意思?

What does mean @id and @type in json-ld context?

这个语句在 json-ld 上下文中是什么意思?

{
  "@context": {
      "@version": 1.1,
      "id": "@id",
      "type": "@type"
  }
}

{ 
   "@context": {
       "id":   {"@type": "@id", "@id": "@id"},
       "type": {"@type": "@id", "@id": "@type"}
   }
}

我不明白那个表达式是什么意思。

Json-Ld is designed to be interoperable with rdf. Therefore it introduces certain keywords marked with @. This keywords are needed to create rdf-statements 来自 json 文档。

熟悉基本概念的一个很好的起点是尝试 Json-Ld Playground。你会在那里找到一些例子。您可以使用示例创建从一种格式到另一种格式的转换。

去掉“@”字符

'@' 字符可能变得不方便,例如使用 Javascript 时。在这种情况下,可以为“@”关键字定义别名。如您的上下文所示:

{
  "@context": {
      "id": "@id",
      "type": "@type"
  }
}

通过为“@”关键字定义别名,实际的 json 文档更容易被 non-rdf 应用程序使用,同时仍然可以将数据处理为 rdf。