如何在 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
的范围限定为 属性.
我从 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
的范围限定为 属性.