oldaplib 0.3.29__py3-none-any.whl → 0.4.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,6 +12,9 @@
12
12
 
13
13
  :admin {
14
14
 
15
+ #
16
+ # add to prohjects for testing
17
+ #
15
18
  :HyperHamlet a :Project ;
16
19
  dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
17
20
  dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
@@ -34,15 +37,42 @@
34
37
  rdfs:comment "Elite network between Switzerland and Great Britain"@en ;
35
38
  :projectStart "2023-07-01"^^xsd:date .
36
39
 
37
- hyha:HyperHamletMember a :PermissionSet ;
40
+ #
41
+ # add roles for the two test projects
42
+ #
43
+ hyha:HyperHamletMember a :Role ;
38
44
  dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
39
45
  dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
40
46
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
41
47
  dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
42
- rdfs:label "HyHaUpdate"@en, "HyHaUpdate"@de, "HyHaUpdate"@fr, "HyHaUpdate"@it ;
43
- :givesPermission :DATA_UPDATE ;
48
+ rdfs:label "Team HyperHamlet"@en, "Team HyperHamlet"@de, "Équipe HyperHamlet"@fr, "Team HyperHamlet"@it ;
44
49
  :definedByProject :HyperHamlet .
45
50
 
51
+ britnet:BritnetEditor a :Role ;
52
+ dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
53
+ dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
54
+ dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
55
+ dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
56
+ rdfs:label "Team SwissBritNet Editor"@en, "Team SwissBritNet Editor"@de, "Équipe SwissBritNet Editor"@fr, "Team SwissBritNet Editor"@it ;
57
+ :definedByProject <http://www.salsah.org/version/2.0/SwissBritNet> .
58
+
59
+ #
60
+ # Add additional projects admin permissions and roles/default data permissions to user "rosenth"
61
+ #
62
+ <https://orcid.org/0000-0003-1681-4036> :inProject :HyperHamlet .
63
+ <<<https://orcid.org/0000-0003-1681-4036> :inProject :HyperHamlet>> :hasAdminPermission :ADMIN_RESOURCES .
64
+ <https://orcid.org/0000-0003-1681-4036> :hasRole hyha:HyperHamletMember .
65
+ <<<https://orcid.org/0000-0003-1681-4036> :hasRole hyha:HyperHamletMember>> :hasDefaultDataPermission :DATA_PERMISSIONS .
66
+
67
+ <https://orcid.org/0000-0003-1681-4036> :inProject <http://www.salsah.org/version/2.0/SwissBritNet> .
68
+ <<<https://orcid.org/0000-0003-1681-4036> :inProject <http://www.salsah.org/version/2.0/SwissBritNet>>> :hasAdminPermission
69
+ :ADMIN_USERS, :ADMIN_ROLES, :ADMIN_RESOURCES, :ADMIN_MODEL, :ADMIN_CREATE, :ADMIN_LISTS .
70
+ <https://orcid.org/0000-0003-1681-4036> :hasRole britnet:BritnetEditor .
71
+ <<<https://orcid.org/0000-0003-1681-4036> :hasRole britnet:BritnetEditor>> :hasDefaultDataPermission :DATA_DELETE .
72
+
73
+ #
74
+ # Add more test users
75
+ #
46
76
  <urn:uuid:3c9bdb26-2451-443c-9ece-edf285639dcc> a oldap:User ;
47
77
  dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
48
78
  dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
@@ -54,15 +84,12 @@
54
84
  schema:email "lukas.rosenthaler@unibas.ch"^^xsd:string ;
55
85
  :credentials "$2b$12$i2MZSo1p6sYGnMRFxjP8dempYr6p5/HDa93Dm3cMglqUpfQ4bSdgy"^^xsd:string ; # SwissBritNet
56
86
  :inProject <http://www.salsah.org/version/2.0/SwissBritNet> ;
57
- :hasPermissions :GenericRestricted, :GenericView ;
87
+ :hasRole :Unknown, hyha:HyperHamletMember, britnet:BritnetEditor ;
58
88
  :isActive true .
59
89
 
60
90
  <<<urn:uuid:3c9bdb26-2451-443c-9ece-edf285639dcc> :inProject <http://www.salsah.org/version/2.0/SwissBritNet>>>
61
- :hasAdminPermission :ADMIN_USERS, :ADMIN_PERMISSION_SETS, :ADMIN_RESOURCES, :ADMIN_CREATE, :ADMIN_LISTS .
62
-
63
- <<<https://orcid.org/0000-0003-1681-4036> :inProject :HyperHamlet>> :hasAdminPermission :ADMIN_RESOURCES .
64
- <<<https://orcid.org/0000-0003-1681-4036> :inProject <http://www.salsah.org/version/2.0/SwissBritNet>>> :hasAdminPermission
65
- :ADMIN_USERS, :ADMIN_PERMISSION_SETS, :ADMIN_RESOURCES, :ADMIN_MODEL, :ADMIN_CREATE, :ADMIN_LISTS .
91
+ :hasAdminPermission :ADMIN_USERS, :ADMIN_ROLES, :ADMIN_RESOURCES, :ADMIN_CREATE, :ADMIN_LISTS .
92
+ <<<urn:uuid:3c9bdb26-2451-443c-9ece-edf285639dcc> :hasRole britnet:BritnetEditor>> :hasDefaultDataPermission :DATA_VIEW .
66
93
 
67
94
  <https://orcid.org/0000-0003-1485-4923> a oldap:User ;
68
95
  dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
@@ -75,10 +102,14 @@
75
102
  schema:email "peter.fornaro@unibas.ch"^^xsd:string ;
76
103
  :credentials "$2b$12$jWCJZ.qdXE9MSCPdUc0y4.9swWYJcgLZn0ePtRTu/7U8qH/OXXkB2"^^xsd:string ;
77
104
  :inProject :HyperHamlet ;
78
- :hasPermissions :GenericView ;
105
+ :hasRole :Unknown, hyha:HyperHamletMember ;
79
106
  :isActive true .
80
107
 
108
+ <<<https://orcid.org/0000-0003-1485-4923> :inProject :HyperHamlet>> :hasAdminPermission :ADMIN_RESOURCES, :ADMIN_CREATE, :ADMIN_LISTS .
109
+
81
110
  <<<https://orcid.org/0000-0003-1485-4923> :inProject :HyperHamlet>> :hasAdminPermission :ADMIN_RESOURCES .
111
+ <<<https://orcid.org/0000-0003-1485-4923> :hasRole :Unknown>> :hasDefaultDataPermission :DATA_VIEW .
112
+ <<<https://orcid.org/0000-0003-1485-4923> :hasRole hyha:HyperHamletMember>> :hasDefaultDataPermission :DATA_UPDATE .
82
113
 
83
114
  <https://orcid.org/0000-0002-7403-9595> a oldap:User ;
84
115
  dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
@@ -91,11 +122,31 @@
91
122
  schema:email "ina.habermann@unibas.ch"^^xsd:string ;
92
123
  :credentials "*"^^xsd:string ;
93
124
  :inProject <http://www.salsah.org/version/2.0/SwissBritNet> ;
94
- :hasPermissions :GenericRestricted ;
125
+ :hasRole :Unknown, hyha:HyperHamletMember, britnet:BritnetEditor ;
95
126
  :isActive true .
96
127
 
97
128
  <<<https://orcid.org/0000-0002-7403-9595> :inProject <http://www.salsah.org/version/2.0/SwissBritNet>>> :hasAdminPermission :ADMIN_RESOURCES .
98
129
 
130
+ <<<https://orcid.org/0000-0002-7403-9595> :hasRole :Unknown>> :hasDefaultDataPermission :DATA_VIEW .
131
+ <<<https://orcid.org/0000-0002-7403-9595> :hasRole hyha:HyperHamletMember>> :hasDefaultDataPermission :DATA_UPDATE .
132
+ <<<https://orcid.org/0000-0002-7403-9595> :hasRole britnet:BritnetEditor>> :hasDefaultDataPermission :DATA_UPDATE .
133
+
134
+ <https://orcid.org/0000-0001-9277-3921> a oldap:User ;
135
+ dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
136
+ dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
137
+ dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
138
+ dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
139
+ :userId "bugsbunny"^^xsd:NCName ;
140
+ schema:familyName "Bunny"^^xsd:string ;
141
+ schema:givenName "Bugs"^^xsd:string ;
142
+ schema:email "bugs.bunny@warnerbrothers.com"^^xsd:string ;
143
+ :credentials "$2b$12$YK2g0KFvkelCZwCcE38UguIE/3aMPjO4XIX.9FJgYJoz2m.5sDlZK"^^xsd:string ; # "DuffyDuck"
144
+ :inProject :HyperHamlet ;
145
+ :hasRole :Unknown ;
146
+ :isActive false .
147
+
148
+ <<<https://orcid.org/0000-0001-9277-3921> :hasRole :Unknown>> :hasDefaultDataPermission :DATA_RESTRICTED .
149
+
99
150
  }
100
151
 
101
152
  hyha:shacl {
@@ -25,9 +25,9 @@
25
25
  rdfs:label "ADMIN_USERS"@en ;
26
26
  rdfs:comment "add/modify/delete users."@en .
27
27
 
28
- :ADMIN_PERMISSION_SETS a :AdminPermission ;
29
- rdfs:label "ADMIN_PERMISSION_SETS"@en ;
30
- rdfs:comment "Add/change/remove permission sets"@en .
28
+ :ADMIN_ROLES a :AdminPermission ;
29
+ rdfs:label "ADMIN_ROLES"@en ;
30
+ rdfs:comment "Add/change/remove roles"@en .
31
31
 
32
32
  :ADMIN_RESOURCES a :AdminPermission ;
33
33
  rdfs:label "ADMIN_RESOURCES"@en ;
@@ -106,40 +106,12 @@
106
106
  #==================================================================
107
107
  # Define default permission sets here
108
108
  #
109
- :GenericRestricted a :PermissionSet ;
109
+ :Unknown a :Role ;
110
110
  dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
111
111
  dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
112
112
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
113
113
  dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
114
- rdfs:label "Restricted"@en, "Restricted"@de, "Restricted"@fr, "Restricted"@it ;
115
- :givesPermission :DATA_RESTRICTED ;
116
- :definedByProject :SystemProject .
117
-
118
- :GenericView a :PermissionSet ;
119
- dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
120
- dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
121
- dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
122
- dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
123
- rdfs:label "GenericView"@en, "GenericView"@de, "GenericView"@fr, "GenericView"@it ;
124
- :givesPermission :DATA_VIEW ;
125
- :definedByProject :SystemProject .
126
-
127
- :GenericExtend a :PermissionSet ;
128
- dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
129
- dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
130
- dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
131
- dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
132
- rdfs:label "GenericExtend"@en, "GenericExtend"@de, "GenericExtend"@fr, "GenericExtend"@it ;
133
- :givesPermission :DATA_EXTEND ;
134
- :definedByProject :SystemProject .
135
-
136
- :GenericUpdate a :PermissionSet ;
137
- dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
138
- dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
139
- dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
140
- dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
141
- rdfs:label "GenericUpdate"@en, "GenericUpdate"@de, "GenericUpdate"@fr, "GenericUpdate"@it ;
142
- :givesPermission :DATA_UPDATE ;
114
+ rdfs:label "Unknown user"@en, "Unbekannte(r) Nutzer:in"@de, "Utilisateur inconnu"@fr, "Utenti sconosciuti"@it ;
143
115
  :definedByProject :SystemProject .
144
116
 
145
117
  #==================================================================
@@ -156,13 +128,13 @@
156
128
  schema:givenName "Lukas"^^xsd:string ;
157
129
  schema:email "lukas.rosenthaler@unibas.ch"^^xsd:string ;
158
130
  :credentials "$2b$12$jWCJZ.qdXE9MSCPdUc0y4.9swWYJcgLZn0ePtRTu/7U8qH/OXXkB2"^^xsd:string ;
159
- :inProject :SystemProject, :HyperHamlet, <http://www.salsah.org/version/2.0/SwissBritNet>, :SharedProject ;
160
- :hasPermissions :GenericRestricted, :GenericView ;
131
+ :inProject :SystemProject, :SharedProject ;
132
+ :hasRole :Unknown ;
161
133
  :isActive true .
162
134
 
163
135
  <<<https://orcid.org/0000-0003-1681-4036> :inProject :SystemProject>> :hasAdminPermission :ADMIN_OLDAP .
164
- <<<https://orcid.org/0000-0003-1681-4036> :inProject :SharedProject>> :hasAdminPermission
165
- :ADMIN_RESOURCES, :ADMIN_MODEL, :ADMIN_LISTS .
136
+ <<<https://orcid.org/0000-0003-1681-4036> :inProject :SharedProject>> :hasAdminPermission :ADMIN_OLDAP .
137
+ <<<https://orcid.org/0000-0003-1681-4036> :hasRole :Unknown>> :hasDefaultDataPermission :DATA_PERMISSIONS .
166
138
 
167
139
 
168
140
  <urn:uuid:7e56b6c4-42e5-4a9d-94cf-d6e22577fb4b> a oldap:User ;
@@ -175,20 +147,9 @@
175
147
  schema:givenName "John"^^xsd:string ;
176
148
  schema:email "john.doe@nowhere.com"^^xsd:string ;
177
149
  :credentials "*"^^xsd:string ;
178
- :hasPermissions :GenericRestricted ;
150
+ :hasRole :Unknown ;
179
151
  :isActive true .
180
152
 
181
- <https://orcid.org/0000-0001-9277-3921> a oldap:User ;
182
- dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
183
- dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
184
- dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
185
- dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
186
- :userId "bugsbunny"^^xsd:NCName ;
187
- schema:familyName "Bunny"^^xsd:string ;
188
- schema:givenName "Bugs"^^xsd:string ;
189
- schema:email "bugs.bunny@warnerbrothers.com"^^xsd:string ;
190
- :credentials "$2b$12$YK2g0KFvkelCZwCcE38UguIE/3aMPjO4XIX.9FJgYJoz2m.5sDlZK"^^xsd:string ; # "DuffyDuck"
191
- :inProject :HyperHamlet ;
192
- :hasPermissions :GenericView ;
193
- :isActive false .
153
+ <<<urn:uuid:7e56b6c4-42e5-4a9d-94cf-d6e22577fb4b> :hasRole :Unknown>> :hasDefaultDataPermission :DATA_RESTRICTED .
154
+
194
155
  }
@@ -0,0 +1,23 @@
1
+ @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
2
+ @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
3
+ @prefix owl: <http://www.w3.org/2002/07/owl#> .
4
+
5
+ @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
6
+ @prefix o: <http://www.ooo.org/ns#> .
7
+
8
+ @prefix : <https://gaga.com/> .
9
+
10
+ :test {
11
+ :Unknown o:hasName "Unknown" .
12
+
13
+ :UserA o:hasName "UserA" ;
14
+ o:hasRole :Unknown .
15
+
16
+ :InstanceA o:hasName "InstanceA" ;
17
+ o:attachedToRole :Unknown .
18
+
19
+ <<:InstanceA o:attachedToRole :Unknown>> o:hasDataPermission 2 .
20
+
21
+ }
22
+
23
+
@@ -1,3 +1,5 @@
1
+ @prefix owl: <http://www.w3.org/2002/07/owl#> .
2
+ @prefix owl: <http://www.w3.org/2002/07/owl#> .
1
3
  @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
2
4
  @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
3
5
  @prefix owl: <http://www.w3.org/2002/07/owl#> .
@@ -39,7 +41,7 @@
39
41
  # This property will be reused wherever we need a namespace IRI
40
42
  #
41
43
  :namespaceIriShape a sh:PropertyShape ;
42
- sh:targetClass :namespaceIri ;
44
+ sh:path :namespaceIri ;
43
45
  dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
44
46
  dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
45
47
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
@@ -120,7 +122,7 @@
120
122
  #
121
123
  # SHACL definition of the oldap:AdminPermission class. The AdminPermission instances are attached as
122
124
  # RDF*star to the triple that defines to which oldap:project as oldap:User belongs to.
123
- # E.g. <<<https://orcid.org/0000-0003-1681-4036> :inProject :SystemProject>> :hasRights :ADMIN_PROJECT .
125
+ # E.g. <<<https://orcid.org/0000-0003-1681-4036> :inProject :SystemProject>> :hasAdminPermission :ADMIN_PROJECT .
124
126
  #
125
127
  :AdminPermissionShape a sh:NodeShape ;
126
128
  sh:targetClass :AdminPermission ;
@@ -146,10 +148,31 @@
146
148
  sh:uniqueLang true ;
147
149
  ] .
148
150
 
151
+ #
152
+ # Property to assign a admin permission
153
+ # E.g. <<<https://orcid.org/0000-0003-1681-4036> :inProject :SystemProject>> :hasAdminPermission :ADMIN_PROJECT .
154
+ #
149
155
  :hasAdminPermissionShape a sh:PropertyShape ;
150
156
  sh:path :hasAdminPermission ;
157
+ :statementProperty true ;
158
+ dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
159
+ dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
160
+ dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
161
+ dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
151
162
  sh:class :AdminPermission .
152
163
 
164
+ :hasDefaultDataPermissionShape a sh:PropertyShape ;
165
+ sh:path :hasDefaultDataPermission ;
166
+ :statementProperty true ;
167
+ dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
168
+ dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
169
+ dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
170
+ dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
171
+ sh:class :DataPermission .
172
+
173
+ #
174
+ # Data permission shape
175
+ #
153
176
  :DataPermissionShape a sh:NodeShape ;
154
177
  sh:targetClass :DataPermission ;
155
178
  dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
@@ -185,18 +208,48 @@
185
208
  sh:uniqueLang true ;
186
209
  ] .
187
210
 
211
+ # TODO: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
212
+ # SHACL to define a permission sets. A permission set assigns data permissions to both
213
+ # a given user and a given data instance.
214
+ # Let's assume a PermissionSet instance :MyPermSet which I will use. Then I can give the following
215
+ # permissions:
216
+ #
217
+ # <<:MyInstance oldap:attachedToRole :MyRole>> oldap:hasDataPermission :DATA_EXTEND .
218
+ #
219
+ # A user with:
220
+ #
221
+ # :ThisUser oldap:hasRole :MyRole, MyRole2 .
222
+ #
223
+ # we may add default values that are proposed as standard values for creating instances:
224
+ #
225
+ # <<:ThisUser oldap:hasRole :MyRole>> oldap:hasDefaultDataPermission :DATA_EXTEND
226
+ # <<:ThisUser oldap:hasRole :MyRole2>> oldap:hasDefaultDataPermission :DATA_RESTRICTED
227
+ #
228
+ # Thus, the user should have maximal :DATA_VIEW access to the given instance
188
229
  #
189
- # SHACL to define a permission sets. For each resource, there are RDF-triples which define the
190
- # permissions for permission sets.
230
+ # PREFIX : <https://gaga.com/>
231
+ # PREFIX o: <http://www.ooo.org/ns#>
191
232
  #
192
- :PermissionSetShape a sh:NodeShape ;
193
- sh:targetClass :PermissionSet ;
233
+ # SELECT ?predicate ?value ?permval
234
+ # WHERE {
235
+ # GRAPH :test {
236
+ # :InstanceA ?predicate ?value ;
237
+ # o:attachedToRole ?role .
238
+ # :UserA o:hasRole ?role .
239
+ # <<:InstanceA o:attachedToRole ?role>> o:dataPermission ?permval .
240
+ # }
241
+ # FILTER(?permval >= 1)
242
+ # }
243
+ #
244
+
245
+ :RoleShape a sh:NodeShape ;
246
+ sh:targetClass :Role ;
194
247
  dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
195
248
  dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
196
249
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
197
250
  dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
198
- rdfs:label "Permission set"@en, "Berechtigungssatz"@de, "Ensemble de permissions"@fr, "Set di permessi"@it ;
199
- rdfs:comment "A set of permissions a user and a resource grants."@en ;
251
+ rdfs:label "Permission role"@en, "Berechtigungsrolle"@de, "Rôle d'autorisation"@fr, "Ruolo di autorizzazione"@it ;
252
+ rdfs:comment "Defines a role regarding data permissions, e.g. Editor, Unknown, Contributor etc."@en ;
200
253
  sh:property [
201
254
  sh:path rdf:type ;
202
255
  ] ;
@@ -224,25 +277,6 @@
224
277
  sh:maxCount 1 ;
225
278
  sh:minCount 1 ;
226
279
  ] ;
227
- sh:property [
228
- sh:path :givesPermission ;
229
- dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
230
- dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
231
- dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
232
- dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
233
- sh:maxCount 1 ;
234
- sh:minCount 1 ;
235
- sh:class :DataPermission ;
236
- sh:in (:DATA_RESTRICTED :DATA_VIEW :DATA_EXTEND :DATA_UPDATE :DATA_DELETE :DATA_PERMISSIONS) ;
237
- sh:name "Data permission"@en,
238
- "Data permission"@de,
239
- "Data permission"@fr,
240
- "Data permission"@it ;
241
- sh:description "Permission type to access a resource"@en,
242
- "Berechtigungstyp für Ressource"@de,
243
- "Type d'autorisation pour accéder à une ressource"@fr,
244
- "Tipo di autorizzazione per accedere a una risorsa"@it ;
245
- ] ;
246
280
  sh:property [
247
281
  sh:path :definedByProject ;
248
282
  dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
@@ -253,10 +287,10 @@
253
287
  sh:maxCount 1 ;
254
288
  sh:class :Project;
255
289
  sh:name "Defined by"@en, "Definiert durch"@de, "Défini par"@fr, "Definito da"@it ;
256
- sh:description "Permission set is define by project"@en,
257
- "Der Berechtigungssatz wird definiert durch das Projekt"@de,
258
- "L'ensemble des autorisations est défini par le projet"@fr,
259
- "Il set di permessi è definito dal progetto"@it ;
290
+ sh:description "Permission role is define by project"@en,
291
+ "Der Berechtigungsrolle wird definiert durch das Projekt"@de,
292
+ "Le rôle d'autorisation est défini par projet."@fr,
293
+ "Il ruolo di autorizzazione è definito dal progetto"@it ;
260
294
  ] ;
261
295
  sh:property [
262
296
  sh:path rdfs:label ;
@@ -511,12 +545,12 @@
511
545
  sh:datatype xsd:boolean ;
512
546
  ] ;
513
547
  sh:property [
514
- sh:path :hasPermissions ;
548
+ sh:path :hasRole ;
515
549
  dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
516
550
  dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
517
551
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
518
552
  dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
519
- sh:class :PermissionSet ;
553
+ sh:class :Role ;
520
554
  ] .
521
555
 
522
556
  :inProjectStatementShape a sh:NodeShape ;
@@ -525,6 +559,12 @@
525
559
  sh:class :AdminPermission ;
526
560
  ] .
527
561
 
562
+ :hasRoleStatementShape a sh:NodeShape ;
563
+ sh:property [
564
+ sh:path :hasDefaultDataPermission ;
565
+ sh:class :DataPermission ;
566
+ ] .
567
+
528
568
  #
529
569
  # Hierarchical lists are implemented using :List's and :ListNodes. We will use some skos vocabulary
530
570
  #
@@ -678,6 +718,24 @@
678
718
  ] ;
679
719
  sh:closed true .
680
720
 
721
+ ###########################################################################
722
+ # Statment property (RDF#star) for assigning a data permission to a :Thing
723
+ ###########################################################################
724
+ :hasDataPermissionShape a sh:PropertyShape ;
725
+ :statementProperty true ;
726
+ sh:targetClass :hasDataPermission ;
727
+ dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
728
+ dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
729
+ dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
730
+ dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
731
+ sh:name "has data permission"@en ;
732
+ sh:description "Assigns a data permission"@en ;
733
+ sh:class :DataPermission .
734
+
735
+
736
+ ###########################################################################
737
+ # :Thing is a superclass of all instance classes that OLDAP defines
738
+ ###########################################################################
681
739
  :ThingShape a sh:NodeShape ;
682
740
  sh:targetClass :Thing ;
683
741
  dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
@@ -728,12 +786,12 @@
728
786
  sh:datatype xsd:dateTimeStamp ;
729
787
  ] ;
730
788
  sh:property [
731
- sh:path :grantsPermission ;
789
+ sh:path :attachedToRole ;
732
790
  dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
733
791
  dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
734
792
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
735
793
  dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
736
- sh:class :PermissionSet ;
794
+ sh:class :Role ;
737
795
  ] .
738
796
 
739
797
  }
@@ -767,8 +825,11 @@
767
825
  ###############################################################################
768
826
  # Standard Properties that are used everywhere
769
827
  ###############################################################################
770
- :hasAdminPermission a owl:ObjectProperty ;
771
- rdfs:range :AdminPermission .
828
+ # :hasAdminPermission a owl:ObjectProperty ;
829
+ # rdfs:range :AdminPermission .
830
+ #
831
+ # :hasDefaultDataPermission a owl:Objectproperty ;
832
+ # rdfs:range :DataPermission .
772
833
 
773
834
  :namespaceIri a owl:ObjectProperty ;
774
835
  dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
@@ -838,28 +899,20 @@
838
899
  rdfs:domain :Thing ;
839
900
  rdfs:range xsd:dateTimeStamp .
840
901
 
841
- :grantsPermission rdf:type owl:ObjectProperty ;
902
+ :attachedToRole rdf:type owl:ObjectProperty ;
842
903
  dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
843
904
  dcterms:created "2023-11-04T12:00:00Z"^^xsd:dateTime ;
844
905
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
845
906
  dcterms:modified "2023-11-04T12:00:00Z"^^xsd:dateTime ;
846
907
  rdfs:domain :Thing ;
847
- rdfs:range :PermissionSet .
848
-
849
- :givesPermission rdf:type owl:ObjectProperty ;
850
- dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
851
- dcterms:created "2023-11-04T12:00:00Z"^^xsd:dateTime ;
852
- dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
853
- dcterms:modified "2023-11-04T12:00:00Z"^^xsd:dateTime ;
854
- rdfs:domain :PermissionSet ;
855
- rdfs:range :DataPermission .
908
+ rdfs:range :Role .
856
909
 
857
910
  :definedByProject rdf:type owl:ObjectProperty ;
858
911
  dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
859
912
  dcterms:created "2023-11-04T12:00:00Z"^^xsd:dateTime ;
860
913
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
861
914
  dcterms:modified "2023-11-04T12:00:00Z"^^xsd:dateTime ;
862
- rdfs:domain :PermissionSet ;
915
+ rdfs:domain :Role ;
863
916
  rdfs:range :Project .
864
917
 
865
918
 
@@ -899,14 +952,30 @@
899
952
  rdfs:domain :User ;
900
953
  rdfs:range xsd:boolean .
901
954
 
902
- :hasPermissions rdf:type owl:ObjectProperty ;
955
+ :hasRole rdf:type owl:ObjectProperty ;
903
956
  dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
904
957
  dcterms:created "2023-11-04T12:00:00Z"^^xsd:dateTime ;
905
958
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
906
959
  dcterms:modified "2023-11-04T12:00:00Z"^^xsd:dateTime ;
907
960
  rdfs:domain :User ;
908
- rdfs:range :PermissionSet .
961
+ rdfs:range :Role .
962
+
963
+ #
964
+ # RDF*Star property to assign an admin permission to a user/project combination
965
+ #
966
+ :hasAdminPermission a rdf:Property, owl:ObjectProperty ; # TODO: May be owl:ObjectProperty interferes and have to be delete
967
+ dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
968
+ dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
969
+ dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
970
+ dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
971
+ rdfs:range :AdminPermission .
909
972
 
973
+ :hasDefaultDataPermission a rdf:Property, owl:ObjectProperty ; # TODO: May be owl:ObjectProperty interferes and have to be delete
974
+ dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
975
+ dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
976
+ dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
977
+ dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
978
+ rdfs:range :DataPermission .
910
979
 
911
980
  ###############################################################################
912
981
  # Properties used for :Project
@@ -960,6 +1029,19 @@
960
1029
  rdfs:domain :OldapListNode ;
961
1030
  rdfs:range xsd:positiveInteger .
962
1031
 
1032
+ ###############################################################################
1033
+ # Properties used for assigning data permission to an instance (RDF*star)
1034
+ ###############################################################################
1035
+
1036
+ #
1037
+ # Example: <<:MyInstance :attachedToRole>> :hasDataPermission :DATA_RESTRICTED .
1038
+ #
1039
+ :hasDataPermission rdf:type rdf:Property, owl:ObjectProperty ;
1040
+ dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
1041
+ dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
1042
+ dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
1043
+ dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
1044
+ rdfs:range :DataPermission .
963
1045
 
964
1046
 
965
1047
  #################################################################
@@ -1063,10 +1145,10 @@
1063
1145
 
1064
1146
 
1065
1147
  #################################################################
1066
- # PermissionSet class (Holding class of resource permissions)
1148
+ # Role class (Holding class of resource permissions)
1067
1149
  #################################################################
1068
1150
 
1069
- :PermissionSet a owl:class ;
1151
+ :Role a owl:class ;
1070
1152
  dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
1071
1153
  dcterms:created "2023-11-04T12:00:00Z"^^xsd:dateTime ;
1072
1154
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
@@ -1096,12 +1178,6 @@
1096
1178
  owl:onDataRange xsd:dateTime ;
1097
1179
  owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
1098
1180
  ],
1099
- [
1100
- rdf:type owl:Restriction ;
1101
- owl:onProperty :givesPermission ;
1102
- owl:onClass :DataPermission ;
1103
- owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ;
1104
- ],
1105
1181
  [
1106
1182
  rdf:type owl:Restriction ;
1107
1183
  owl:onProperty :definedByProject ;
@@ -1269,9 +1345,9 @@
1269
1345
  ] ,
1270
1346
  [
1271
1347
  rdf:type owl:Restriction ;
1272
- owl:onProperty :hasPermissions ;
1348
+ owl:onProperty :hasRole ;
1273
1349
  owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ;
1274
- owl:onClass :PermissionSet
1350
+ owl:onClass :Role
1275
1351
  ] .
1276
1352
 
1277
1353
 
@@ -1427,9 +1503,9 @@
1427
1503
  ] ,
1428
1504
  [
1429
1505
  rdf:type owl:Restriction ;
1430
- owl:onProperty :grantsPermission ;
1506
+ owl:onProperty :attachedToRole ;
1431
1507
  owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ;
1432
- owl:onClass :PermissionSet
1508
+ owl:onClass :Rolse
1433
1509
  ] ;
1434
1510
  rdfs:comment "General super class of all things (resources) in tghe OMAS universe"@en .
1435
1511