为给定的@context 扩展 json-ld

Contextualize expanded json-ld for a given @context

扩展算法 https://www.w3.org/TR/json-ld-api/#expansion 使用其 @context 扩展 json-ld 文档。

是否还有一个"reverse"算法,给定扩展的json-ld文档和上下文定义(IRI或文档),将生成json-ld,其中根据上下文定义,绝对 IRI、空白节点标识符或关键字是 "compacted"?

我在 https://github.com/jsonld-java/jsonld-java 或 json-ld 上找不到它。org/spec/latest/json-ld-api/

JSON-LD API 中的压缩算法做了很多事情。非文档相关 IRI 被压缩为与上下文中的定义一致的术语或前缀名称。对于文档相关的 IRI(例如 @id 的值),如果在上下文中包含 @base,则 IRI 将相对于该基创建。在您的上下文中无需硬编码@base 即可使 IRI 具有相关性。处理器可能包含一种机制,可以将基数传递到压缩算法中,从而在不使用 @base 的情况下执行此操作;我不能说 jsonld-java 是做什么的。在 Ruby JSON-LD gem 中,紧凑算法接受一个基本选项来执行此操作。