oldaplib 0.3.2__py3-none-any.whl → 0.3.4__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.
Files changed (41) hide show
  1. oldaplib/ontologies/admin-testing.trig +2 -4
  2. oldaplib/ontologies/admin.trig +2 -4
  3. oldaplib/ontologies/oldap.trig +221 -131
  4. oldaplib/ontologies/shared.trig +0 -3
  5. oldaplib/src/datamodel.py +109 -17
  6. oldaplib/src/dtypes/namespaceiri.py +16 -1
  7. oldaplib/src/enums/externalontologyattr.py +22 -0
  8. oldaplib/src/enums/owlpropertytype.py +10 -0
  9. oldaplib/src/enums/projectattr.py +0 -1
  10. oldaplib/src/enums/propertyclassattr.py +3 -1
  11. oldaplib/src/externalontology.py +554 -0
  12. oldaplib/src/hasproperty.py +5 -0
  13. oldaplib/src/helpers/context.py +4 -4
  14. oldaplib/src/helpers/langstring.py +11 -2
  15. oldaplib/src/helpers/observable_dict.py +4 -1
  16. oldaplib/src/helpers/observable_set.py +135 -80
  17. oldaplib/src/helpers/query_processor.py +3 -0
  18. oldaplib/src/model.py +1 -1
  19. oldaplib/src/oldaplist.py +2 -2
  20. oldaplib/src/oldaplistnode.py +2 -2
  21. oldaplib/src/permissionset.py +3 -3
  22. oldaplib/src/project.py +47 -113
  23. oldaplib/src/propertyclass.py +64 -24
  24. oldaplib/src/resourceclass.py +8 -6
  25. oldaplib/src/version.py +1 -1
  26. oldaplib/src/xsd/iri.py +3 -0
  27. oldaplib/src/xsd/xsd_anyuri.py +5 -5
  28. oldaplib/src/xsd/xsd_qname.py +5 -2
  29. oldaplib/test/test_context.py +0 -4
  30. oldaplib/test/test_datamodel.py +50 -1
  31. oldaplib/test/test_dtypes.py +3 -2
  32. oldaplib/test/test_externalontologies.py +175 -0
  33. oldaplib/test/test_project.py +31 -76
  34. oldaplib/test/test_propertyclass.py +93 -6
  35. oldaplib/test/test_resourceclass.py +10 -10
  36. oldaplib/testdata/connection_test.trig +29 -12
  37. oldaplib/testdata/datamodel_test.trig +1 -1
  38. oldaplib/testdata/objectfactory_test.trig +2 -1
  39. {oldaplib-0.3.2.dist-info → oldaplib-0.3.4.dist-info}/METADATA +1 -1
  40. {oldaplib-0.3.2.dist-info → oldaplib-0.3.4.dist-info}/RECORD +41 -38
  41. {oldaplib-0.3.2.dist-info → oldaplib-0.3.4.dist-info}/WHEEL +0 -0
@@ -1,14 +1,12 @@
1
- @prefix dc: <http://purl.org/dc/elements/1.1/> .
2
1
  @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
3
2
  @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
4
3
  @prefix owl: <http://www.w3.org/2002/07/owl#> .
5
4
  @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
5
+ @prefix sh: <http://www.w3.org/ns/shacl#> .
6
6
  @prefix skos: <http://www.w3.org/2004/02/skos/core#> .
7
7
  @prefix schema: <http://schema.org/> .
8
- @prefix sh: <http://www.w3.org/ns/shacl#> .
9
8
  @prefix oldap: <http://oldap.org/base#> .
10
9
  @prefix dcterms: <http://purl.org/dc/terms/> .
11
- @prefix foaf: <http://xmlns.com/foaf/0.1/> .
12
10
 
13
11
  @prefix : <http://oldap.org/base#> .
14
12
 
@@ -23,6 +21,13 @@
23
21
  :statementProperty a sh:Property ;
24
22
  sh:annotationProperty :statementProperty .
25
23
 
24
+ ###########################################################################
25
+ # Some properties to be reused
26
+ ###########################################################################
27
+
28
+ #
29
+ # is used to indicate the the property is a RDF*Star property for statements about statements
30
+ #
26
31
  :statementPropertyShape
27
32
  a sh:PropertyShape ;
28
33
  sh:path :statementProperty ;
@@ -30,6 +35,79 @@
30
35
  sh:minCount 0 ;
31
36
  sh:maxCount 1 .
32
37
 
38
+ #
39
+ # This property will be reused wherever we need a namespace IRI
40
+ #
41
+ :namespaceIriShape a sh:PropertyShape ;
42
+ sh:targetClass :namespaceIri ;
43
+ dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
44
+ dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
45
+ dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
46
+ dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
47
+ sh:name "Namespace IRI"@en ;
48
+ sh:description "Describes a namespace"@en ;
49
+ sh:nodeKind sh:IRI .
50
+
51
+
52
+ ###########################################################################
53
+ # Node shapes for the OLDAP system
54
+ ###########################################################################
55
+
56
+ #
57
+ # Definition of an external ontology
58
+ #
59
+ :ExternalOntologyShape a sh:NodeShape ;
60
+ sh:targetClass :ExternalOntology ;
61
+ dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
62
+ dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
63
+ dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
64
+ dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
65
+ rdfs:label "External Ontology"@en, "Externe Ontology"@de, "Ontologie externe"@fr, "External Ontology"@it ;
66
+ rdfs:comment "Reference to an external ontology that is being used. Includes prefix and namespace IRI."@en ;
67
+ sh:property [
68
+ sh:path rdf:type ;
69
+ ] ;
70
+ sh:property [
71
+ sh:path dcterms:creator ;
72
+ sh:class :User ;
73
+ sh:maxCount 1 ;
74
+ sh:minCount 1 ;
75
+ ] ;
76
+ sh:property [
77
+ sh:path dcterms:created ;
78
+ sh:datatype xsd:dateTime ;
79
+ sh:maxCount 1 ;
80
+ sh:minCount 1 ;
81
+ ] ;
82
+ sh:property [
83
+ sh:path dcterms:contributor ;
84
+ sh:class :User ;
85
+ sh:maxCount 1 ;
86
+ sh:minCount 1 ;
87
+ ] ;
88
+ sh:property [
89
+ sh:path dcterms:modified ;
90
+ sh:datatype xsd:dateTime ;
91
+ sh:maxCount 1 ;
92
+ sh:minCount 1 ;
93
+ ] ;
94
+ sh:property [
95
+ sh:path :prefix ;
96
+ dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
97
+ dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
98
+ dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
99
+ dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
100
+ sh:datatype xsd:NCName ;
101
+ sh:maxCount 1 ;
102
+ sh:minCount 1 ;
103
+ ] ;
104
+ sh:property :namespaceIriShape ;
105
+ sh:property [
106
+ sh:path :namespaceIri ;
107
+ sh:maxCount 1 ;
108
+ sh:minCount 1 ;
109
+ ] .
110
+
33
111
  #
34
112
  # Define a SHACL property group for all system properties. This info can be used to hide these properties from
35
113
  # a GUI. These properties should be handled by OLDAPLIB...
@@ -90,8 +168,8 @@
90
168
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
91
169
  dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
92
170
  sh:datatype xsd:integer ;
93
- sh:maxCount "1"^^xsd:integer ;
94
- sh:minCount "1"^^xsd:integer ;
171
+ sh:maxCount 1 ;
172
+ sh:minCount 1 ;
95
173
  sh:name "Permission value"@en, "Berechtigungswert"@de, "Valeur de permission"@fr, "Valore di autorizzazione"@it ;
96
174
  ] ;
97
175
  sh:property [
@@ -125,26 +203,26 @@
125
203
  sh:property [
126
204
  sh:path dcterms:creator ;
127
205
  sh:class :User ;
128
- sh:maxCount "1"^^xsd:integer ;
129
- sh:minCount "1"^^xsd:integer ;
206
+ sh:maxCount 1 ;
207
+ sh:minCount 1 ;
130
208
  ] ;
131
209
  sh:property [
132
210
  sh:path dcterms:created ;
133
211
  sh:datatype xsd:dateTime ;
134
- sh:maxCount "1"^^xsd:integer ;
135
- sh:minCount "1"^^xsd:integer ;
212
+ sh:maxCount 1 ;
213
+ sh:minCount 1 ;
136
214
  ] ;
137
215
  sh:property [
138
216
  sh:path dcterms:contributor ;
139
217
  sh:class :User ;
140
- sh:maxCount "1"^^xsd:integer ;
141
- sh:minCount "1"^^xsd:integer ;
218
+ sh:maxCount 1 ;
219
+ sh:minCount 1 ;
142
220
  ] ;
143
221
  sh:property [
144
222
  sh:path dcterms:modified ;
145
223
  sh:datatype xsd:dateTime ;
146
- sh:maxCount "1"^^xsd:integer ;
147
- sh:minCount "1"^^xsd:integer ;
224
+ sh:maxCount 1 ;
225
+ sh:minCount 1 ;
148
226
  ] ;
149
227
  sh:property [
150
228
  sh:path :givesPermission ;
@@ -152,8 +230,8 @@
152
230
  dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
153
231
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
154
232
  dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
155
- sh:maxCount "1"^^xsd:integer ;
156
- sh:minCount "1"^^xsd:integer ;
233
+ sh:maxCount 1 ;
234
+ sh:minCount 1 ;
157
235
  sh:class :DataPermission ;
158
236
  sh:in (:DATA_RESTRICTED :DATA_VIEW :DATA_EXTEND :DATA_UPDATE :DATA_DELETE :DATA_PERMISSIONS) ;
159
237
  sh:name "Data permission"@en,
@@ -171,8 +249,8 @@
171
249
  dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
172
250
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
173
251
  dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
174
- sh:minCount "1"^^xsd:integer ;
175
- sh:maxCount "1"^^xsd:integer;
252
+ sh:minCount 1 ;
253
+ sh:maxCount 1 ;
176
254
  sh:class :Project;
177
255
  sh:name "Defined by"@en, "Definiert durch"@de, "Défini par"@fr, "Definito da"@it ;
178
256
  sh:description "Permission set is define by project"@en,
@@ -193,29 +271,6 @@
193
271
  sh:uniqueLang true ;
194
272
  ] .
195
273
 
196
- :ExternalOntologyShape a sh:NodeShape ;
197
- sh:targetClass :ExternalOntology ;
198
- dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
199
- dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
200
- dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
201
- dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
202
- rdfs:label "Project"@en, "Projekt"@de, "Projet"@fr, "Progetto"@it ;
203
- rdfs:comment "Metadata about a project"@en ;
204
- sh:property [
205
- sh:path rdf:type ;
206
- ] ;
207
- sh:property [
208
- sh:path :prefix ;
209
- sh:datatype xsd:NCName ;
210
- sh:maxCount "1"^^xsd:integer ;
211
- sh:minCount "1"^^xsd:integer ;
212
- ] ;
213
- sh:property [
214
- sh:path :fullIri ;
215
- sh:datatype xsd:anyURI ;
216
- sh:maxCount "1"^^xsd:integer ;
217
- sh:minCount "1"^^xsd:integer ;
218
- ] .
219
274
 
220
275
  #
221
276
  # SHACl definition for project descriptions. Projects are important definitions because the define the namespaces
@@ -236,26 +291,26 @@
236
291
  sh:property [
237
292
  sh:path dcterms:creator ;
238
293
  sh:class :User ;
239
- sh:maxCount "1"^^xsd:integer ;
240
- sh:minCount "1"^^xsd:integer ;
294
+ sh:maxCount 1 ;
295
+ sh:minCount 1 ;
241
296
  ] ;
242
297
  sh:property [
243
298
  sh:path dcterms:created ;
244
299
  sh:datatype xsd:dateTime ;
245
- sh:maxCount "1"^^xsd:integer ;
246
- sh:minCount "1"^^xsd:integer ;
300
+ sh:maxCount 1 ;
301
+ sh:minCount 1 ;
247
302
  ] ;
248
303
  sh:property [
249
304
  sh:path dcterms:contributor ;
250
305
  sh:class :User ;
251
- sh:maxCount "1"^^xsd:integer ;
252
- sh:minCount "1"^^xsd:integer ;
306
+ sh:maxCount 1 ;
307
+ sh:minCount 1 ;
253
308
  ] ;
254
309
  sh:property [
255
310
  sh:path dcterms:modified ;
256
311
  sh:datatype xsd:dateTime ;
257
- sh:maxCount "1"^^xsd:integer ;
258
- sh:minCount "1"^^xsd:integer ;
312
+ sh:maxCount 1 ;
313
+ sh:minCount 1 ;
259
314
  ] ;
260
315
  sh:property [
261
316
  sh:path rdfs:label ;
@@ -275,8 +330,8 @@
275
330
  dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
276
331
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
277
332
  dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
278
- sh:minCount "1"^^xsd:integer ;
279
- sh:maxCount "1"^^xsd:integer ;
333
+ sh:minCount 1 ;
334
+ sh:maxCount 1 ;
280
335
  sh:datatype xsd:NCName ;
281
336
  sh:name "Project ID"@en, "Projekt ID"@de ;
282
337
  sh:description "A unique NCName identifying the project"@en ;
@@ -285,17 +340,11 @@
285
340
  sh:property [
286
341
  sh:path :externalOntology
287
342
  ] ;
343
+ sh:property :namespaceIriShape ;
288
344
  sh:property [
289
345
  sh:path :namespaceIri ;
290
- dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
291
- dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
292
- dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
293
- dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
294
- sh:minCount "1"^^xsd:integer ;
295
- sh:maxCount "1"^^xsd:integer ;
296
- sh:datatype xsd:anyURI ;
297
- sh:name "Namespace IRI"@en ;
298
- sh:description "The namespace to use for this project."@en ;
346
+ sh:minCount 1 ;
347
+ sh:maxCount 1 ;
299
348
  sh:order "2"^^xsd:decimal ;
300
349
  ] ;
301
350
  sh:property [
@@ -304,8 +353,8 @@
304
353
  dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
305
354
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
306
355
  dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
307
- sh:minCount "1"^^xsd:integer ;
308
- sh:maxCount "1"^^xsd:integer ;
356
+ sh:minCount 1 ;
357
+ sh:maxCount 1 ;
309
358
  sh:name "Start date"@en ;
310
359
  sh:description "The date when the project will start/has started" ;
311
360
  sh:datatype xsd:date ;
@@ -317,18 +366,10 @@
317
366
  dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
318
367
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
319
368
  dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
320
- sh:maxCount "1"^^xsd:integer ;
369
+ sh:maxCount 1 ;
321
370
  sh:datatype xsd:date ;
322
371
  sh:name "The date when the project wll end/has ended"@en ;
323
372
  sh:order "6"^^xsd:decimal ;
324
- ] ;
325
- sh:property [
326
- sh:path :usesExternalOntology ;
327
- dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
328
- dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
329
- dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
330
- dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
331
- sh:class :ExternalOntology ;
332
373
  ] .
333
374
 
334
375
 
@@ -351,8 +392,8 @@
351
392
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
352
393
  dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
353
394
  sh:class :User ;
354
- sh:maxCount "1"^^xsd:integer ;
355
- sh:minCount "1"^^xsd:integer ;
395
+ sh:maxCount 1 ;
396
+ sh:minCount 1 ;
356
397
  ] ;
357
398
  sh:property [
358
399
  sh:path dcterms:created ;
@@ -361,8 +402,8 @@
361
402
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
362
403
  dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
363
404
  sh:datatype xsd:dateTime ;
364
- sh:maxCount "1"^^xsd:integer ;
365
- sh:minCount "1"^^xsd:integer ;
405
+ sh:maxCount 1 ;
406
+ sh:minCount 1 ;
366
407
  ] ;
367
408
  sh:property [
368
409
  sh:path dcterms:contributor ;
@@ -371,8 +412,8 @@
371
412
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
372
413
  dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
373
414
  sh:class :User ;
374
- sh:maxCount "1"^^xsd:integer ;
375
- sh:minCount "1"^^xsd:integer ;
415
+ sh:maxCount 1 ;
416
+ sh:minCount 1 ;
376
417
  ] ;
377
418
  sh:property [
378
419
  sh:path dcterms:modified ;
@@ -381,8 +422,8 @@
381
422
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
382
423
  dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
383
424
  sh:datatype xsd:dateTime ;
384
- sh:maxCount "1"^^xsd:integer ;
385
- sh:minCount "1"^^xsd:integer ;
425
+ sh:maxCount 1 ;
426
+ sh:minCount 1 ;
386
427
  ] ;
387
428
  sh:property [
388
429
  sh:path :userId ;
@@ -390,8 +431,8 @@
390
431
  dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
391
432
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
392
433
  dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
393
- sh:maxCount "1"^^xsd:integer ;
394
- sh:minCount "1"^^xsd:integer ;
434
+ sh:maxCount 1 ;
435
+ sh:minCount 1 ;
395
436
  sh:minLength "3"^^xsd:integer ;
396
437
  sh:maxLength "32"^^xsd:integer ;
397
438
  sh:datatype xsd:NCName ;
@@ -405,8 +446,8 @@
405
446
  sh:datatype xsd:string ;
406
447
  sh:name "Family name"@en, "Familiennamen"@de, "Nom de famillie"@fr, "Nome della famiglia"@it ;
407
448
  sh:description "The family name of some person."@en ;
408
- sh:minCount "1"^^xsd:integer ;
409
- sh:maxCount "1"^^xsd:integer ;
449
+ sh:minCount 1 ;
450
+ sh:maxCount 1 ;
410
451
  ] ;
411
452
  sh:property [
412
453
  sh:path schema:givenName ;
@@ -417,8 +458,8 @@
417
458
  sh:datatype xsd:string ;
418
459
  sh:name "Given name"@en, "Vornamen"@de, "Prénom"@fr, "Nome"@it ;
419
460
  sh:description "The given name of some person"@en ;
420
- sh:minCount "1"^^xsd:integer ;
421
- sh:maxCount "1"^^xsd:integer ;
461
+ sh:minCount 1 ;
462
+ sh:maxCount 1 ;
422
463
  ] ;
423
464
  sh:property [
424
465
  sh:path schema:email ;
@@ -431,8 +472,8 @@
431
472
  sh:message "Email address must be a valid format (user@example.org)." ;
432
473
  sh:name "Email"@en, "Email"@de, "Courriel"@fr, "E-mail"@it ;
433
474
  sh:description "Email address."@en ;
434
- sh:minCount "1"^^xsd:integer ;
435
- sh:maxCount "1"^^xsd:integer ;
475
+ sh:minCount 1 ;
476
+ sh:maxCount 1 ;
436
477
  ] ;
437
478
  sh:property [
438
479
  sh:path :credentials ;
@@ -440,8 +481,8 @@
440
481
  dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
441
482
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
442
483
  dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
443
- sh:minCount "1"^^xsd:integer ;
444
- sh:maxCount "1"^^xsd:integer ;
484
+ sh:minCount 1 ;
485
+ sh:maxCount 1 ;
445
486
  sh:datatype xsd:string ;
446
487
  sh:or (
447
488
  [ sh:pattern "^\\$2[aby]\\$\\d{2}\\$[A-Za-z0-9./]{53}$" ] # bcrypt
@@ -465,8 +506,8 @@
465
506
  dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
466
507
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
467
508
  dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
468
- sh:minCount "1"^^xsd:integer ;
469
- sh:maxCount "1"^^xsd:integer ;
509
+ sh:minCount 1 ;
510
+ sh:maxCount 1 ;
470
511
  sh:datatype xsd:boolean ;
471
512
  ] ;
472
513
  sh:property [
@@ -499,26 +540,26 @@
499
540
  sh:property [
500
541
  sh:path dcterms:creator ;
501
542
  sh:class :User ;
502
- sh:maxCount "1"^^xsd:integer ;
503
- sh:minCount "1"^^xsd:integer ;
543
+ sh:maxCount 1 ;
544
+ sh:minCount 1 ;
504
545
  ] ;
505
546
  sh:property [
506
547
  sh:path dcterms:created ;
507
548
  sh:datatype xsd:dateTime ;
508
- sh:maxCount "1"^^xsd:integer ;
509
- sh:minCount "1"^^xsd:integer ;
549
+ sh:maxCount 1 ;
550
+ sh:minCount 1 ;
510
551
  ] ;
511
552
  sh:property [
512
553
  sh:path dcterms:contributor ;
513
554
  sh:class :User ;
514
- sh:maxCount "1"^^xsd:integer ;
515
- sh:minCount "1"^^xsd:integer ;
555
+ sh:maxCount 1 ;
556
+ sh:minCount 1 ;
516
557
  ] ;
517
558
  sh:property [
518
559
  sh:path dcterms:modified ;
519
560
  sh:datatype xsd:dateTime ;
520
- sh:maxCount "1"^^xsd:integer ;
521
- sh:minCount "1"^^xsd:integer ;
561
+ sh:maxCount 1 ;
562
+ sh:minCount 1 ;
522
563
  ] ;
523
564
  sh:property [
524
565
  sh:path skos:prefLabel ;
@@ -526,7 +567,7 @@
526
567
  dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
527
568
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
528
569
  dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
529
- sh:minCount "1"^^xsd:integer ;
570
+ sh:minCount 1 ;
530
571
  sh:datatype rdf:langString ;
531
572
  sh:uniqueLang true ;
532
573
  sh:order "1"^^xsd:decimal ;
@@ -555,26 +596,26 @@
555
596
  sh:property [
556
597
  sh:path dcterms:creator ;
557
598
  sh:class :User ;
558
- sh:maxCount "1"^^xsd:integer ;
559
- sh:minCount "1"^^xsd:integer ;
599
+ sh:maxCount 1 ;
600
+ sh:minCount 1 ;
560
601
  ] ;
561
602
  sh:property [
562
603
  sh:path dcterms:created ;
563
604
  sh:datatype xsd:dateTime ;
564
- sh:maxCount "1"^^xsd:integer ;
565
- sh:minCount "1"^^xsd:integer ;
605
+ sh:maxCount 1 ;
606
+ sh:minCount 1 ;
566
607
  ] ;
567
608
  sh:property [
568
609
  sh:path dcterms:contributor ;
569
610
  sh:class :User ;
570
- sh:maxCount "1"^^xsd:integer ;
571
- sh:minCount "1"^^xsd:integer ;
611
+ sh:maxCount 1 ;
612
+ sh:minCount 1 ;
572
613
  ] ;
573
614
  sh:property [
574
615
  sh:path dcterms:modified ;
575
616
  sh:datatype xsd:dateTime ;
576
- sh:maxCount "1"^^xsd:integer ;
577
- sh:minCount "1"^^xsd:integer ;
617
+ sh:maxCount 1 ;
618
+ sh:minCount 1 ;
578
619
  ] ;
579
620
  sh:property [
580
621
  sh:path skos:inScheme ;
@@ -582,8 +623,8 @@
582
623
  dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
583
624
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
584
625
  dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
585
- sh:minCount "1"^^xsd:integer ;
586
- sh:maxCount "1"^^xsd:integer ;
626
+ sh:minCount 1 ;
627
+ sh:maxCount 1 ;
587
628
  sh:class :OldapList ;
588
629
  ] ;
589
630
  sh:property [
@@ -592,7 +633,7 @@
592
633
  dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
593
634
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
594
635
  dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
595
- sh:maxCount "1"^^xsd:integer ;
636
+ sh:maxCount 1 ;
596
637
  sh:class :OldapListNode ;
597
638
  ] ;
598
639
  sh:property [
@@ -601,8 +642,8 @@
601
642
  dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
602
643
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
603
644
  dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
604
- sh:minCount "1"^^xsd:integer ;
605
- sh:maxCount "1"^^xsd:integer ;
645
+ sh:minCount 1 ;
646
+ sh:maxCount 1 ;
606
647
  sh:datatype xsd:positiveInteger ;
607
648
  ] ;
608
649
  sh:property [
@@ -611,8 +652,8 @@
611
652
  dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
612
653
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
613
654
  dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
614
- sh:minCount "1"^^xsd:integer ;
615
- sh:maxCount "1"^^xsd:integer ;
655
+ sh:minCount 1 ;
656
+ sh:maxCount 1 ;
616
657
  sh:datatype xsd:positiveInteger ;
617
658
  ] ;
618
659
  sh:property [
@@ -621,7 +662,7 @@
621
662
  dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
622
663
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
623
664
  dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
624
- sh:minCount "1"^^xsd:integer ;
665
+ sh:minCount 1 ;
625
666
  sh:datatype rdf:langString ;
626
667
  sh:uniqueLang true ;
627
668
  sh:order "1"^^xsd:decimal ;
@@ -652,8 +693,8 @@
652
693
  dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
653
694
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
654
695
  dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
655
- sh:maxCount "1"^^xsd:integer ;
656
- sh:minCount "1"^^xsd:integer ;
696
+ sh:maxCount 1 ;
697
+ sh:minCount 1 ;
657
698
  sh:class :User ;
658
699
  ] ;
659
700
  sh:property [
@@ -662,8 +703,8 @@
662
703
  dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
663
704
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
664
705
  dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
665
- sh:maxCount "1"^^xsd:integer ;
666
- sh:minCount "1"^^xsd:integer ;
706
+ sh:maxCount 1 ;
707
+ sh:minCount 1 ;
667
708
  sh:datatype xsd:dateTimeStamp ;
668
709
  ] ;
669
710
  sh:property [
@@ -672,8 +713,8 @@
672
713
  dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
673
714
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
674
715
  dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
675
- sh:maxCount "1"^^xsd:integer ;
676
- sh:minCount "1"^^xsd:integer ;
716
+ sh:maxCount 1 ;
717
+ sh:minCount 1 ;
677
718
  sh:class :User ;
678
719
  ] ;
679
720
  sh:property [
@@ -682,8 +723,8 @@
682
723
  dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
683
724
  dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
684
725
  dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
685
- sh:maxCount "1"^^xsd:integer ;
686
- sh:minCount "1"^^xsd:integer ;
726
+ sh:maxCount 1 ;
727
+ sh:minCount 1 ;
687
728
  sh:datatype xsd:dateTimeStamp ;
688
729
  ] ;
689
730
  sh:property [
@@ -729,6 +770,24 @@
729
770
  :hasAdminPermission a owl:ObjectProperty ;
730
771
  rdfs:range :AdminPermission .
731
772
 
773
+ :namespaceIri a owl:ObjectProperty ;
774
+ dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
775
+ dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
776
+ dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
777
+ dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
778
+ rdfs:domain :ExternalOntology ;
779
+ rdfs:range owl:Thing .
780
+
781
+ ###############################################################################
782
+ # Properties used for extrernal ontologies
783
+ ###############################################################################
784
+ :prefix a owl:DatatypeProperty ;
785
+ dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
786
+ dcterms:created "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
787
+ dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
788
+ dcterms:modified "2023-11-04T12:00:00+00:00"^^xsd:dateTime ;
789
+ rdfs:domain :ExternalOntology ;
790
+ rdfs:range xsd:NCName .
732
791
 
733
792
  ###############################################################################
734
793
  # Properties that are used by the :DataPermission class
@@ -861,14 +920,6 @@
861
920
  rdfs:domain oldap:Project ;
862
921
  rdfs:range xsd:NCName .
863
922
 
864
- :namespaceIri rdf:type owl:DatatypeProperty ;
865
- dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
866
- dcterms:created "2023-11-04T12:00:00Z"^^xsd:dateTime ;
867
- dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
868
- dcterms:modified "2023-11-04T12:00:00Z"^^xsd:dateTime ;
869
- rdfs:domain oldap:Project ;
870
- rdfs:range xsd:anyURI .
871
-
872
923
  :projectStart rdf:type owl:DatatypeProperty ;
873
924
  dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
874
925
  dcterms:created "2023-11-04T12:00:00Z"^^xsd:dateTime ;
@@ -919,6 +970,45 @@
919
970
  # AdminPermission class (template for administrative permissions)
920
971
  #################################################################
921
972
 
973
+ :ExternalOntology rdf:type owl:Class ;
974
+ dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
975
+ dcterms:created "2023-11-04T12:00:00Z"^^xsd:dateTime ;
976
+ dcterms:contributor <https://orcid.org/0000-0003-1681-4036> ;
977
+ dcterms:modified "2023-11-04T12:00:00Z"^^xsd:dateTime ;
978
+ rdfs:subClassOf [
979
+ rdf:type owl:Restriction ;
980
+ owl:onProperty dcterms:creator ;
981
+ owl:onClass :User ;
982
+ owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
983
+ ] , [
984
+ rdf:type owl:Restriction ;
985
+ owl:onProperty dcterms:created ;
986
+ owl:onDataRange xsd:dateTime ;
987
+ owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
988
+ ] , [
989
+ rdf:type owl:Restriction ;
990
+ owl:onProperty dcterms:contributor ;
991
+ owl:onClass :User ;
992
+ owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
993
+ ] , [
994
+ rdf:type owl:Restriction ;
995
+ owl:onProperty dcterms:modified ;
996
+ owl:onDataRange xsd:dateTime ;
997
+ owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
998
+ ] , [
999
+ rdf:type owl:Restriction ;
1000
+ owl:onProperty :prefix ;
1001
+ owl:onDataRange xsd:NCname ;
1002
+ owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
1003
+ ] ,
1004
+ [
1005
+ rdf:type owl:Restriction ;
1006
+ owl:onProperty :namespaceIri ;
1007
+ owl:onClass owl:Thing ;
1008
+ owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
1009
+ ] .
1010
+
1011
+
922
1012
  oldap:AdminPermission rdf:type owl:Class ;
923
1013
  dcterms:creator <https://orcid.org/0000-0003-1681-4036> ;
924
1014
  dcterms:created "2023-11-04T12:00:00Z"^^xsd:dateTime ;
@@ -3,11 +3,8 @@
3
3
  @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
4
4
  @prefix sh: <http://www.w3.org/ns/shacl#> .
5
5
  @prefix owl: <http://www.w3.org/2002/07/owl#> .
6
- @prefix skos: <http://www.w3.org/2004/02/skos/core#> .
7
- @prefix dc: <http://purl.org/dc/elements/1.1/> .
8
6
  @prefix dcterms: <http://purl.org/dc/terms/> .
9
7
  @prefix schema: <http://schema.org/> .
10
- @prefix cidoc: <http://www.cidoc-crm.org/cidoc-crm/> .
11
8
  @prefix oldap: <http://oldap.org/base#> .
12
9
 
13
10