Skip to content

Conversation

@bramcomyn
Copy link

No description provided.

@woutslabbinck woutslabbinck changed the base branch from development to feat/odrl September 18, 2025 09:34
Comment on lines +16 to +18
Future implementations should aim to make the swapping of controllers as easily configurable as possible.
A single `configuration` object that is tailored to the needs of each controller should be sufficient.
The current implementation simply passes the URL of the authorization server for the `ODRLController`.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Future work should actually have this discoverable.
In the sense that there should be a document tied to the identity of the user (speaking WebID terms, the WEbid Profile Document).
In that document the URLs of different authorization servers + mechanism should be elaborated (or the mechanisms of authorization should be mentioned through the /.well-known/ route.

Comment on lines +23 to +27
Please provide your own WebID for authorization:
What do you want to name your policy?
Please enter the URL to the resource:
Please provide the WebID for the assignee:
Enter actions to associate (comma separated). Options: read, write, append, create, control: read
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could you fill in the variables from the policy to make it clear?

Comment on lines +61 to +83
for (const action of actions) {
const rule = getRandomName();

rules.push(`
ex:${rule} a odrl:Permission ;
odrl:action odrl:${action} ;
odrl:target <${target}> ;
odrl:assignee <${assignee}> ;
odrl:assigner <${webid}> .`);

ruleRefs.push(`ex:${rule}`);
}

const body = `
@prefix ex: <http://example.org/>.
@prefix odrl: <http://www.w3.org/ns/odrl/2/> .
@prefix dct: <http://purl.org/dc/terms/>.

ex:${policy} a odrl:Agreement ;
${ruleRefs.map(r => `odrl:permission ${r} ;`).join("\n ")}
odrl:uid ex:${policy} .
${rules.join("\n")}
`;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think at this point, using N3 store and writer would make it easier than doing the manual writing of turtle.

bramcomyn and others added 3 commits September 18, 2025 12:48
Co-authored-by: Wout Slabbinck <wout.slabbinck@gmail.com>
Co-authored-by: Wout Slabbinck <wout.slabbinck@gmail.com>
Co-authored-by: Wout Slabbinck <wout.slabbinck@gmail.com>

## Use Case

We'll be looking into the use case of getting permission such that later we can access the resource using the UMA protocol.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
We'll be looking into the use case of getting permission such that later we can access the resource using the UMA protocol.
We'll be looking into the use case of requesting access such that later we can access the resource using the UMA protocol.

We'll be looking into the use case of getting permission such that later we can access the resource using the UMA protocol.
This resource is managed by a Resource Server (RS).
The Resource Owner (RO) can alter the policies on their resources via the Authorization Server (AS).
The AS enforces the policies set by the RO when the RP interacts with the RS (possibly through a Client).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The AS enforces the policies set by the RO when the RP interacts with the RS (possibly through a Client).
The AS enforces the policies set by the RO when the RP interacts with the RS using a UMA compliant Client.

Copy link
Collaborator

@woutslabbinck woutslabbinck left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've added some extra comments to the documentation.

Comment on lines +16 to +18
<!-- TODO: this visualization is not completely correct and should be updated -->

![use case visualization](./use_case.png)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you update the figure?

Comment on lines +113 to +114
This **PATCH** should include a body of format `application/sparql-update`, which uses a **DELETE/INSERT** statement to update the request's status to either `req:accepted` or `req:denied`.
In our use case, this message should look like this:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Highlight that these are the only triples that can be updated


## Data Space Contract Negotiation Protocol flow

This section explains the message flow for the second option: using the [Data Space Contract Negotiation Procotol](https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/2025-1-RC4/#negotiation-protocol). Important to note is that this document is not an official W3C Membership consensus.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This section explains the message flow for the second option: using the [Data Space Contract Negotiation Procotol](https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/2025-1-RC4/#negotiation-protocol). Important to note is that this document is not an official W3C Membership consensus.
This section explains the message flow for the second option: using the [Data Space Contract Negotiation Procotol](https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/2025-1-RC4/#negotiation-protocol) (DSCNP). Important to note is that this document is not an official W3C Membership consensus.

@woutslabbinck woutslabbinck reopened this Oct 12, 2025
@woutslabbinck woutslabbinck merged commit b0a2ea3 into SolidLabResearch:feat/odrl Oct 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants