You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
125 lines
4.6 KiB
125 lines
4.6 KiB
@prefix dc: <http://purl.org/dc/elements/1.1/> .
|
|
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
|
|
@prefix gen: <http://www.w3.org/2006/gen/ont#>.
|
|
@prefix foaf: <http://xmlns.com/foaf/0.1/>.
|
|
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
|
@keywords is, a, of.
|
|
@prefix : <http://www.w3.org/ns/auth/acl#>.
|
|
|
|
# Design Issue: Use classes of agents or use sioc:member of group?
|
|
|
|
<> dc:title "Basic Access Control ontology";
|
|
rdfs:comment """Defines the element of Authorization and its essential properties,
|
|
and also some classes of access such as read and write. """.
|
|
|
|
|
|
|
|
Authorization a rdfs:Class;
|
|
rdfs:label "authorization";
|
|
rdfs:comment """An element of access control,
|
|
allowing agent to agents access of some kind to resources or classes of resources""".
|
|
|
|
agent a rdf:Property;
|
|
rdfs:label "agent";
|
|
rdfs:comment "A person or social entity to being given the right";
|
|
rdfs:domain Authorization;
|
|
rdfs:range foaf:Agent.
|
|
|
|
agentClass a rdf:Property;
|
|
rdfs:label "agent";
|
|
rdfs:comment "A class of persons or social entities to being given the right";
|
|
rdfs:domain Authorization;
|
|
rdfs:range rdfs:Class. # Must be subclass of foaf:Agent.
|
|
# For public access, use foaf:Agent.
|
|
|
|
accessTo
|
|
a rdf:Property;
|
|
rdfs:label "to";
|
|
rdfs:comment "The information resource to which access is being granted.";
|
|
rdfs:domain Authorization;
|
|
rdfs:range gen:InformationResource.
|
|
|
|
accessToClass
|
|
a rdf:Property;
|
|
rdfs:label "to all in";
|
|
rdfs:comment "A class of information resources to which access is being granted.";
|
|
rdfs:domain Authorization;
|
|
rdfs:range rdfs:Class.
|
|
|
|
defaultForNew
|
|
a rdf:Property;
|
|
rdfs:label "default access for new things in";
|
|
rdfs:comment "A directory for which this authorization is used for new files in the directory.";
|
|
rdfs:domain Authorization.
|
|
|
|
mode
|
|
a rdf:Property;
|
|
rdfs:label "access mode";
|
|
rdfs:comment "A mode of access such as read or write.";
|
|
rdfs:domain Authorization;
|
|
rdfs:range rdfs:Class.
|
|
|
|
#################################### Access modes
|
|
|
|
Access a rdfs:Class;
|
|
label "access"@en;
|
|
rdfs:comment """Any kind of access to a resource. Don't use this, use R W and RW""".
|
|
|
|
Read a rdfs:Class;
|
|
rdfs:label "read"@en;
|
|
rdfs:subClassOf Access;
|
|
rdfs:comment """The class of read operations""".
|
|
|
|
Write a rdfs:Class;
|
|
rdfs:subClassOf Access;
|
|
rdfs:label "write"@en.
|
|
|
|
Append a rdfs:Class;
|
|
rdfs:subClassOf Access, Write;
|
|
rdfs:label "append"@en;
|
|
rdfs:comment """Append accesses are specific write access which only add information, and do not remove information.
|
|
For text files, for example, append access allows bytes to be added onto the end of the file.
|
|
For RDF graphs, Append access allows adds triples to the graph but does not remove any.
|
|
Append access is useful for dropbox functionality.
|
|
Dropbox can be used for link notification, which the information added is a notification
|
|
that a some link has been made elsewhere relevant to the given resource.
|
|
""".
|
|
|
|
Control a rdfs:Class;
|
|
rdfs:subClassOf Access;
|
|
rdfs:label "control"@en;
|
|
rdfs:comment """Allows read/write access to the ACL for the resource(s)""".
|
|
|
|
#ReadWrite a rdfs:Class;
|
|
# rdfs:label "read, write"@en.
|
|
# rdfs:subClassOf Access; is subClassOf of Read, Write. # Any action in R or W is in RW
|
|
# Initial implementations will NOT do RDFS inference and so one should NOT use superclasses like this
|
|
# in ACL files.
|
|
#
|
|
# Question -- should we allow read of the ACL by anyone with Read for the resource?
|
|
|
|
|
|
|
|
# Linking a resource to its access control information
|
|
accessControl
|
|
a rdf:Property;
|
|
rdfs:label "access control";
|
|
rdfs:subPropertyOf rdfs:seeAlso;
|
|
rdfs:comment """The Access Control file for this information resource.
|
|
This may of course be a virtual resorce implemented by the access control system.
|
|
Note also HTTP's header Link: foo.meta ;rel=meta can be used for this.""";
|
|
rdfs:domain gen:InformationResource;
|
|
rdfs:range gen:InformationResource.
|
|
|
|
######################## Ownership
|
|
|
|
owner a rdf:Property;
|
|
rdfs:label "owner"@en;
|
|
rdfs:range foaf:Agent;
|
|
rdfs:comment """The person or other agent which owns this.
|
|
For example, the owner of a file in a filesystem.
|
|
There is a sense of right to control. Typically defaults to the agent who craeted
|
|
something but can be changed.""".
|
|
|
|
|
|
# ENDS
|