在JSON-LD扩展中将值设置为对象

时间:2016-03-11 08:41:32

标签: json data-conversion expansion json-ld linked-data

我尝试将JSON转换为JSON-LD,并想知道我是否可以使用JSON-LD扩展算法来创建转换器。然后我可以将我的模式指定为上下文并运行扩展算法来进行转换。问题是我无法弄清楚如何在上下文中定义新的值对象,以便扩展算法可以工作。

假设我有这个:

{
  "timestamp": "2016-01-08T11:01:38Z"
}

我希望得到这个:

{
  "prefix:time": {"prefix:start": "2016-01-08T11:01:38Z"}
}

我使用JSON-LD游乐场尝试过这样的事情:

{
  "@context": {
    "timestamp": {
      "@id": "prefix:time",
      "@value": {"prefix:start": "@value"}
    }
  },
  "timestamp": "2016-01-08T11:01:38Z"
}

但扩展后的结果如下:

[
  {
    "prefix:time": [
      {
        "@value": "2016-01-08T11:01:38Z"
      }
    ]
  }
]

有没有办法使用JSON-LD扩展(或其他)算法将值替换为新的JSON对象?

1 个答案:

答案 0 :(得分:1)

这个Jolt变换执行你描述的变换。

In [34]: translate(sorted_matching_words[-1][0])
king
Out[34]: u'king'

您可以在http://jolt-demo.appspot.com/

试用