JSON-LD,有没有办法为@type 的@id 或属性 的值指定默认URI?

JSON-LD, is there any way to specify the default URI for the @id of a @type or the values of a property?

(我已经在 W3/JSON 邮件列表中询问过这个问题,我也会在这里尝试。)

我是 JSON-LD 的新手,尽管我在语义 Web 技术方面有丰富的经验。

我已阅读指南文档 (https://www.w3.org/TR/json-ld/),但我不知道是否支持相关功能:

假设您有 JSON 个 @type Person@type Address 的对象,它们都有 @id 属性 .典型的 API-coming 数据将具有诸如整数或一些内部的、上下文相关的 ID 之类的值。 RDF 将这些值转换为基于前缀的 URI(如 http://www.example.com/Person/123http://www.example.com/Address/xh324m44)是很常见的。

我想做的是指定这些前缀并保持数据告诉 @id = '123',值连接发生在 RDF 序列化阶段(相同的规范可以也做相反的转换)。显然,在这样的用例中,前缀取决于对象的 @type,而 @base 机制是不够的。此外,让这种机制也可用于属性会很有用,例如,将地址 URI 前缀与 "address" JSON 属性.

的值相关联

JSON-LD 中目前似乎没有这个功能,还是我遗漏了什么?有未来扩展的计划吗?

您可以在上下文中使用 @base@id 的值创建 URI 基础,但这不会包含某些内容来自 @type。这听起来像是您可以通过定义 URI 模板并使用变量扩展类型和 ID 来创建 URI 来获得的东西。您可以使用模板语言执行此操作并创建 JSON-LD,但不能直接在 JSON-LD 本身中创建。将来也不太可能成为该语言包含的功能,因为它的应用范围非常狭窄。