Skip to content

Confusing behavior of compaction with mandated context #202

@woutermont

Description

@woutermont

While tryint to combine Solid-OIDC config with SAI app identity statements in the JSON-LD Playground, I stumbled upon the following practical annoyance, which I could only circumvent by diverting from the mandated JSON-LD context.

Starting from the example Client ID Document in 5.1, I expanded it with the context, and added some other statements, e.g. "http://foo": [{ "@id": "http:/bar" }]. However, when compacting the result again, such a statement becomes the "http://foo": [{ "client_id": "http:/bar" }]. While semantically correct (see below), this is of course extremely confusing to work with. It is due to the following part of the context:

"client_id": {
    "@id": "@id",
    "@type": "@id"
}

This creates an allias for @id, and was probably meant to remove the need of "redundantly" adding the Client Identifier twice (once as @id and once as client_id). While I am partial to the semantic elegance of this construct, the resulting behavior makes it all quite confusing. I would be in favor of changing that line of the context to "@id": "oidc:client_id".

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions