Search code examples
sparqldatalogrdfox

RDFox access view


Can I set view only access to the knowledge graph using RDFox Version 3? (No editing)

I would like to create different user roles and control who can see/edit what right down to the triple level.


Solution

  • Yes, using the access control feature you can assign roles and grant privileges to users, for example you could limit a users privileges to view only.

    For example, you can use the role command and create subcommand to create a new user:

    role create user1
    Enter the password for the new role:
    Confirm the password:    
    A new role was created with name "user1".    
    role create group   
    Enter the password for the new role:    
    Confirm the password:    
    A new role was created with name "group”.    
    

    Then you can grant privileges, for example:

    > grant privileges read,write,grant >datastores|* to user1    
    The privileges 'read,write,grant' over resource specifier ">datastores|*" were granted to the role "user1" (if not already present).    
    

    Or you can revoke privileges, for example:


    > revoke privileges write,grant >datastores|* from user1    
    The privileges 'write,grant' over resource specifier ">datastores|*" were revoked from the role "user1" (if they were present).
    

    If you then use the show subcommand you can see what role and privileges the user has:

    > role show user1
    
    'user1' has the following directly assigned privileges:
    
      Resource specifier |  Allowed access types   
    
      >datastores|*      |  read                   
    
    

    This has resulted in a read only privilege for the user.