-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
acp:apply* relations are confusing #143
Comments
First I am not sure why there needs to be If we are left with <>
acp:access :podControl ;
acp:accessMembersProtected :podControl . Ie we don't seem to need more than 3
|
Another way to think of the relation is that |
Ok, so on looking at the definition of acp:access a rdf:Property ;
rdfs:label "access"@en ;
rdfs:comment "The access property identifies the access policies that apply to the ACR itself."@en ;
rdfs:range acp:Policy ;
rdfs:isDefinedBy acp: . where the key phrase is that apply to the ACR itself . This means that my suggestion that acp:access is equivalent to my proposed wac:authorizes is incorrect. Because
|
It seems I'm late getting to this an you have potentially come to the answer yourself. acp:access acp:accessProtected acp:accessLocked acp:apply acp:applyProtected
acp:applyLocked Note that this allows configurations where an agent is allowed to add locked policies but not allowed to remove locked policies. |
Thanks for the feedback. I think it would be good to see if one can equate these relations to a few core relations. I'll see if I can come up with something. |
I opened issue 151: Consider ACRs on ACRs, which helps explain how one could get the same functionality but with a simpler architecture. |
I'll close this, and see if by developing issue 151 one can get something simpler. |
I am having difficulty understanding the role of
acp:apply
,acp:applyMembers
,acp:applyMembersProtected
.These all appear in the ACR document. Are they really needed?
Theoretically confusing
In programming terms we find the notion of application when applying arguments to a function. Functions are known in Category Theory as exponential objects, and the
apply
function is also known aseval
. These exist in Categories like Set where objects are Set and morphisms are functions, but not it seems in Rel the category where objects are sets and morphisms are relations, which best models RDF. As we are here working with relations, this concept does not apply, so to speak. So I am not sure what work it is doing...Is it needed, pragmatically?
We find in the use cases document the following example right at the top:
But I don't really see why the first two statements would not be enough, explicity:
<> acp:access :podControl ; acp:accessMembers :podControl .
See for example issue 128 and my comment on adapting the ontology.
Two levels of Access Control: Object and Meta?
It seems that what is going on, is that the role of the apply* statements is really to set the access control rules on the propagated statements. So we seem to have two levels of access control rules.
I think one should make this distinction clear in the doc and ontology - reworking it somewhat - as it is quite confusing currently, as ACP is mixing the object level and the meta level.
If that is the right diagnosis, we could brainstorm to see if there are clearer ways of doing things.
The text was updated successfully, but these errors were encountered: