框架json-ld文件追加儿童

时间:2014-08-18 04:12:23

标签: json node.js json-ld

我试图创建一个框架来包含数组中的每个子节点,因此Detail(参见示例)必须包含其自身内的所有其他节点。

这是我在扩展的JSON-LD中使用的数据的一个例子:

[
 {
   "@id": "A",
   "http://ontology.ayvu.net/#Person": [
     {
       "@value": "101023",
       "@type": "http://www.w3.org/2001/XMLSchema#integer"
     }
   ],
   "http://ontology.ayvu.net/#Detail": [
     {
       "@id": "_:g70157685738360"
     },
     {
       "@id": "_:g70157685722960"
     }
   ]
 },
 {
   "@id": "_:g70157685722960",
   "http://ontology.ayvu.net/#Deuda": [
     {
       "@value": "OFICINA"
     }
   ],
   "http://ontology.ayvu.net/#Detalle": [
     {
       "@value": "100"
       "@type": "http://www.w3.org/2001/XMLSchema#decimal"
     }
   ]
 },
 {
   "@id": "_:g70157685738360",
   "http://ontology.ayvu.net/#Deuda": [
     {
       "@value": "3573.04",
       "@type": "http://www.w3.org/2001/XMLSchema#decimal"
     }
   ],
   "http://ontology.ayvu.net/#Detalle": [
     {
       "@value": "AUTOMOTORES"
     }
   ]
 }

1 个答案:

答案 0 :(得分:3)

以下框架执行此操作(并将默认词汇表设置为http://ontology.ayvu.net/#,以便这些长网址消失):

{
  "@context": {
    "@vocab": "http://ontology.ayvu.net/#"
  },
  "Detail": {}
}

框架确保顶级对象包含Detail属性,以便获得正确的根对象。然后,子项将自动向下移动到JSON树中。

结果如下:

{
  "@context": {
    "@vocab": "http://ontology.ayvu.net/#"
  },
  "@graph": [
    {
      "@id": "A",
      "Person": {
        "@value": "101023"
        "@type": "http://www.w3.org/2001/XMLSchema#integer",
      },
      "Detail": [
        {
          "@id": "_:b0",
          "Detalle": "AUTOMOTORES",
          "Deuda": {
            "@value": "3573.04"
            "@type": "http://www.w3.org/2001/XMLSchema#decimal",
          }
        },
        {
          "@id": "_:b1",
          "Detalle": {
            "@value": "100"
            "@type": "http://www.w3.org/2001/XMLSchema#decimal",
          },
          "Deuda": "OFICINA"
        }
      ]
    }
  ]
}

或住在JSON-LD游乐场:http://tinyurl.com/q844vkd