PREFIX acl: <http://www.w3.org/ns/auth/acl#>
PREFIX acls: <http://www.w3.org/ns/auth/acls#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

acls:Authorization EXTRA a {
  $acls:AuthorizationShape (
    a [ acl:Authorization ]
      // rdfs:comment "Denotes this as an acl:Authorization";
    acl:accessTo IRI?
      // rdfs:comment "The subject of this authorization";
    acl:default IRI?
      // rdfs:comment "The container subject of this authorization";
    acl:agent IRI*
      // rdfs:comment "An agent is a person, social entity or software identified by a URI, e.g., a WebID denotes an agent";
    acl:agentGroup IRI*
      // rdfs:comment "Denotes a group of agents being given the access permission"; 
    acl:agentClass [ acl:AuthenticatedAgent foaf:Agent ]*
      // rdfs:comment "An agent class is a class of persons or entities identified by a URI.";
    acl:mode [ acl:Read acl:Write acl:Append acl:Control ]*
      // rdfs:comment "Denotes a class of operations that the agents can perform on a resource.";
  )
}
