public function unincludeRole(core_kernel_classes_Resource $role, core_kernel_classes_Resource $roleToUninclude)
    {
    	$includesRoleProperty = new core_kernel_classes_Property(GenerisRdf::PROPERTY_ROLE_INCLUDESROLE);
    	$role->removePropertyValues($includesRoleProperty, array('like' => false, 'pattern' => $roleToUninclude->getUri()));

    	// invalidate cache for the role.
    	if (GENERIS_CACHE_USERS_ROLES == true){
    		core_kernel_users_Cache::removeIncludedRoles($role);
    		
    		// For each roles that have $role for included role,
    		// remove the cache entry.
    		foreach ($this->getAllRoles() as $r){
    			$includedRoles = $this->getIncludedRoles($r);
    			
    			if (array_key_exists($role->getUri(), $includedRoles)){
    				core_kernel_users_Cache::removeIncludedRoles($r);
    			}
    		}
    	}
    	
    }