如何在 JSON-LD 中清晰地指定特定于谓词的 URI 范围?

How to cleanly specify predicate-specific URI scopes in JSON-LD?

我从 this JSON-LD document(json-ld 游乐场)开始,那里的肉看起来像这样:

"from": [
  "protein:15718680",
  "protein:157427902"
],
"protein_gene": [
  "gene:522311",
  "gene:3702"
]

现在,"protein_gene" 谓词始终将基因标识符作为值。由于可以有数百个,所以我在 JSON 中真正想要的是:

"from": [ "protein:15718680", "protein:157427902" ], "protein_gene": [ "522311", "3702" ]

到处都没有 "gene" 前缀。可能吗?我得到的最接近的,基于 this SO question, was this (json-ld playground)。它导致谓词值扩展为 IRI,而不是相对 IRI,而是基于 @vocab 的 IRI。但这是不对的,因为我想要一个谓词特定的词汇。

我也知道我可以在嵌入式(本地)上下文中玩花样,我得到了 this(json-ld playground)来工作,但它仍然比我想要的更丑陋.

对于单个 属性,有几种方法可以做到这一点,但不是多个(超过两个,如果有两个,可以使用 @vocab@base) .除了注入上下文之外,无法将 @vocab@base 的范围限定为 属性.