docs: decision record about dynamic JSON-LD context inference#5518
docs: decision record about dynamic JSON-LD context inference#5518wolf4ood wants to merge 1 commit intoeclipse-edc:mainfrom
Conversation
ndr-brt
left a comment
There was a problem hiding this comment.
It looks good generally speaking.
I was wondering if we're putting too much complexity in the json-ld service and if this feature could implemented somewhere else
e.g. could the custom context be set on the ParticipantContext, so that all its interactions on the Management API will use a particular context url, or maybe on the entities directly (the context url is saved along with the asset/policy definition data and used for compaction as well).
|
Storing the For the ParticipantContext not sure we need that for every participant. That would be more |
In fact we do have |
|
EDIT: in that case it wouldn't be a "dataspace profile" because likely the same Assets and the Policies could be offered on different dataspaces, that's a It could look more complicated design-wise, but I think it will set stronger boundaries and avoid potentially ambiguous situations. |
Yeah that's why the offered assets and policy is a CD choices so we cannot assign profile or something to policies. The semantic profile can be easily inferred on input when creating the asset or policies by the users using the right The other approach would be storing that along with the entity or having a "semantic profile" in the management API |
Maybe it's simple as it is: given that an ingested asset/policy can only be interpreted correctly with a specific context, it's necessary for the control-plane to store these contexts as well along with the entity, there's nothing wrong with it, as the entities will need that context in egestion phase. |
|
That's probably the cleaner solution, but it will require major refactoring, on entities, store, |
|
I did a little spike on this. Storing the We'd have to change all the entities that can be customized by storing the
We'd have to change how we manage JSON-LD on those controller. I think we cannot use a generic interceptor that expand and compact but rather going back to managing within the single controller On ingress we'd have to extract the On Egress we'd have to load the entity/entities transform to JsonObject and then compact by calling a variant of It's a major refactor but we can do it in step and only for new controllers v5 for example. Let's discuss if we want to go with this solution |
|
I would put this on hold for now, Since it might require more work and investigation. |
What this PR changes/adds
decision record about dynamic JSON-LD context inference
Why it does that
Briefly state why the change was necessary.
Further notes
List other areas of code that have changed but are not necessarily linked to the main feature. This could be method
signature changes, package declarations, bugs that were encountered and were fixed inline, etc.
Who will sponsor this feature?
Please @-mention the committer that will sponsor your feature.
Linked Issue(s)
Closes # <-- insert Issue number if one exists
Please be sure to take a look at the contributing guidelines and our etiquette for pull requests.