1

我正在尝试创建一个框架以将每个子节点包含在数组中,因此 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"
     }
   ]
 }

]

4

1 回答 1

4

以下框架执行此操作(并将默认词汇设置为http://ontology.ayvu.net/#使那些长 URL 消失):

{
  "@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

于 2014-08-19T09:13:00.660 回答