public
Description: A simple permissions ontology for FOAF.
Homepage: http://tommorris.lighthouseapp.com/projects/15368-voperm
Clone URL: git://github.com/tommorris/voperm.git
tommorris (author)
Sat Aug 09 18:10:40 -0700 2008
commit  57e0732f793bd04f423f5ce9adaf39e831278a57
tree    799a8d229b625c0f04eccbf851bc1de46fe808f6
voperm / voperm.n3
100644 74 lines (62 sloc) 3.689 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
@prefix dc: <http://purl.org/dc/elements/1.1/>.
@prefix foaf: <http://xmlns.com/foaf/0.1/>.
@prefix wot: <http://xmlns.com/wot/0.1/>.
@prefix rss: <http://purl.org/rss/1.0/>.
@prefix x: <http://tommorris.org/foaf#>.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix xsd: <http://www.w3.org/2001/XMLSchema-datatypes#>.
@prefix owl: <http://www.w3.org/2002/07/owl#>.
@prefix : <http://tommorris.org/vocab/voperm/> .
 
:PermissibleThing a owl:Class;
  rdfs:label "Permissible thing"@en;
  rdfs:comment "A thing which permissions can be placed upon."@en.
 
# here we define a list of classes that can have permissions set on them.
foaf:PersonalProfileDocument rdfs:subClassOf :PermissibleThing .
sioc:Post rdfs:subClassOf :PermissibleThing .
foaf:Document rdfs:subClassOf :PermissibleThing .
rss:channel a rdfs:subClassOf :PermissibleThing .
rss:item a rdfs:subClassOf :PermissibleThing .
  # by inference, in non-RDF contexts, things which match the semantics of
  # RSS/Atom channel and item should be considered permissible things
 
:hasPermissionProfile owl:ObjectProperty;
  rdfs:label "has permission profile"@en;
  rdfs:domain :PermissibleThing;
  rdfs:range :PermissionProfile.
 
:PermissionProfile a owl:Class;
  rdfs:label "The profile showing what permissions are given for the resource."@en .
 
# Feature 1: Polling Frequency
# User agents should know how often to poll a resource.
:pollFrequency a owl:DatatypeProperty;
  rdfs:label "Poll frequency"@en;
  rdfs:comment "The minimum amount of time that a user agent should allow between polling the resource again."@en;
  rdfs:domain :PermissionProfile;
  rdfs:range xsd:duration .
 
# TODO: property to describe requirements of use of if-modified-else and etags
 
# Feature 2: Syndication restrictions
# User agents should know how to they are allowed to reuse a resource.
:allowsRepublication a owl:DatatypeProperty;
  rdfs:label "Allows republication"@en;
  rdfs:comment "Republication means that one is allowed to take the resource and republish it as a new resource. This is designed in such a way as to allow users to opt-out from 'splogs', even though this will be of perhaps minimal effectiveness"@en;
  rdfs:domain :PermissionProfile;
  rdfs:range xsd:boolean .
 
# TODO: build a private/public distinction
 
# Feature 3: Transmission of user information to commercial partners
# and sponsors
# User agents should know whether or not content is to be reusable for
# sponsorship, advertising and other commercial repurposing.
:allowsCommercialSharing a owl:DatatypeProperty;
  rdfs:label "Allows commercial sharing"@en;
  rdfs:comment "If I were to publish some material on one site, I do not necessarily want it to be used for commercial purposes on other sites."@en;
  rdfs:domain :PermissionProfile;
  rdfs:range xsd:boolean.
 
:banned a owl:ObjectProperty;
  rdfs:label "Banned"@en;
  rdfs:comment "An agent or organization that has been banned from getting access to materials under this policy. This can be used for inference, such that a company could look at this property and see if it matches with their competitors to see whether or not permission to use the resource would likely be given."@en;
  rdfs:domain :PermissionProfile;
  rdfs:range foaf:Organization, foaf:Agent, foaf:Person.
 
:permitted a owl:ObjectProperty;
  rdfs:label "Permitted"@en;
  rdfs:comment "An agent or organization that has been explicitly permitted access to materials under this policy"@en;
  rdfs:domain :PermissionProfile;
  rdfs:range foaf:Organization, foaf:Agent, foaf:Person.
  
# author's note about banned/permitted: http://tommorris.lighthouseapp.com/projects/15368-voperm/tickets/1-unsure-about-banned-permitted