-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathpico.ttl
1385 lines (1287 loc) · 70.1 KB
/
pico.ttl
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# Version: 20230921
@prefix : <https://personsincontext.org/model#> . # TODO: Or change to hash namespace in stead of slash namespace?
@prefix picot: <https://terms.personsincontext.org/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix vann: <http://purl.org/vocab/vann/> . # vocabulary for annotating vocabulary descriptions
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix pnv: <https://w3id.org/pnv#> .
@prefix sdo: <https://schema.org/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix qb: <http://purl.org/linked-data/cube#> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .
########################################################################################################################
# ontology
########################################################################################################################
<https://personsincontext.org/model>
a owl:Ontology ;
rdfs:label "Persons in Context"@en ;
sdo:publisher <https://cbg.nl> ;
dcterms:creator "Jeroen Balkenende", "Bob Coret", "Mark Lindeman", "Pieter Woltjer",
"Ivo Zandhuis" ; # pyLODE werkt nog niet goed met agents in Supermodel mode
# dcterms:creator [
# sdo:name "Pieter Woltjer"@en ;
# sdo:affiliation
# [
# sdo:name "CBG|Center for family history"@en ;
# sdo:url "https://cbg.nl"
# ] ;
# sdo:email "[email protected]"
# ] ,
# [
# sdo:name "Jeroen Balkenende"@en ;
# sdo:affiliation
# [
# sdo:name "CBG|Center for family history"@en ;
# sdo:url "https://cbg.nl"
# ] ;
# ] ,
# [
# sdo:name "Bob Coret"@en ;
# sdo:url <https://bob.coret.org/>
# ] ,
# [
# sdo:name "Mark Lindeman"@en ;
# sdo:url "https://lindeman.it/"
# ] ,
# [
# sdo:name "Ivo Zandhuis"@en ;
# sdo:url "https://ivozandhuis.nl/"
# ] ;
dcterms:contributor "Rick Companje", "Rick Mourits", "Micon Schorsij", "Richard Zijdeman" ;
# dcterms:contributor [
# sdo:Name "Rick Companje"@en
# ] ,
# [
# sdo:Name "Rick Mourits"@en ;
# sdo:affiliation
# [
# sdo:name "International Institute Of Social History (IISH)" ;
# sdo:url "https://iisg.amsterdam/"
# ]
# ] ,
# [
# sdo:Name "Micon Schorsij"@en ;
# sdo:affiliation
# [
# sdo:name "NIOD Instituut voor Oorlogs-, Holocaust- en Genocidestudies" ;
# sdo:url "https://www.niod.nl/"
# ]
# ] ,
# [
# sdo:Name "Richard Zijdeman"@en ;
# sdo:affiliation
# [ sdo:name "International Institute Of Social History (IISH)" ;
# sdo:url "https://iisg.amsterdam/"
# ]
# ] ;
dcterms:created "2023-09-21"^^xsd:date ;
dcterms:modified "2024-04-25"^^xsd:date ;
dcterms:license "https://creativecommons.org/licenses/by-sa/4.0/"^^xsd:anyURI ;
dcterms:rights <https://cbg.nl> ;
vann:preferredNamespacePrefix "picom" ;
owl:versionInfo "1.0"@en ;
owl:priorVersion "0.9"@en ;
skos:definition """Persons in Context, abbreviated as PiCo, is a knowledge model for annotating and
publishing person observations from historical sources.
A main characteristic of PiCo is the distinction between Person observations
(person data as found on a Source) and Person reconstructions
(groupings of Person observations, created by the process of matching Person
observations).
PiCo makes use of existing ontologies where possible and adds its own classes
and properties when required.
"""@en ;
skos:historyNote """Persons in Context is developed by the CBG|Center for family
history as a successor of the XML standard A2A for annotating historical person
data. Cultural heritage institutions in the Netherlands are encouraged to move to
PiCo.
PiCo was developed in collaboration with technical and domain experts.
The first version of PiCo was reviewed by a selected group of Dutch archivists and
scientists. PiCo is maintained by the PiCo Maintenance Group.
"""@en ;
sdo:codeRepository "https://github.com/CBG-Centrum-voor-familiegeschiedenis/PiCo/"^^xsd:anyURI ;
sdo:workExample [ a sdo:ImageObject ;
sh:order 0 ;
sdo:caption "Schematic overview" ;
sdo:contentUrl "../web_images/pico_overview.svg"^^xsd:anyURI ;
sdo:description "Schematic overview of the model." ;
sdo:encodingFormat "image/svg+xml" ;
sdo:name "Model overview" ] ;
.
########################################################################################################################
# Classes
########################################################################################################################
prov:Activity
a owl:Class ;
rdfs:label "Activity"@en ;
# rdfs:isDefinedBy prov: ; # pyLODE does not seem to render isDefinedBy correctly for classes, so I leave it out
skos:definition "The Activity that generated a PersonReconstruction" ;
skos:scopeNote """A Person Reconstruction can either be created by a human researcher or by a software algorithm.
In case of a human-made reconstruction, provide information about the time, place and knowledge-
input. In case of a software algorithm, provide information about the name, version and
configuration settings of the program.
"""@en ;
.
prov:Agent
a owl:Class ;
rdfs:label "Agent"@en ;
# rdfs:isDefinedBy prov: ; # pyLODE does not seem to render isDefinedBy correctly for classes, so I leave it out
skos:definition "The agent (person or organisation) that is responsible for the creation of a person reconstruction." ;
sdo:workExample [ a sdo:TextObject ;
sh:order 0 ;
sdo:encodingFormat "text/turtle" ;
sdo:name "Example of an Agent responsible for an Activity" ;
sdo:text """
cbg:reconstruction_activity_01
a prov:Activity ;
prov:wasAssociatedWith cbg:reconstruction_agent_01 ;
prov:startedAtTime "2024-05-24T00:00:00"^^xsd:dateTime ;
prov:endedAtTime "2024-05-24T00:00:00"^^xsd:dateTime .
cbg:reconstruction_agent_01
a prov:Agent ;
sdo:name "CBG|Center for Family History" ;
sdo:url <https://cbg.nl> .
""" ] ;
.
:Person
a owl:Class ;
rdfs:label "Person"@en ;
skos:definition "A Person is a human being whose individual existence can somehow be documented."@en ;
skos:scopeNote """Container class for Person observation and Person reconstruction. Not to be used directly in
PiCo resources.
"""@en ;
rdfs:subClassOf pnv:Person ;
rdfs:subClassOf prov:Entity ;
.
:PersonObservation
a owl:Class ;
rdfs:label "PersonObservation"@en ; #, "Persoonsvermelding"@nl ;
skos:definition "A Person observation is a person that can be observed on a Source"@en ;
skos:scopeNote """A person observation represents how a person is recorded on a Source. Therefore, it must
always be related to a source. Person observations closely reflect data as it appears in the
source, that is, with the age, occupation, and spelling of the person's name recorded as in the
record. A notable exception are dates where the creator of the person observation is encouraged
to write down the date according to the YMD ISO 8601 date standard (for example: '1802-07-29'),
even though the source probably lists the date in a DMY or MDY format or another calendar
entirely. Information on the original entry can be stored using an optional triple.
"""@en ;
rdfs:subClassOf :Person ;
# owl:equivalentClass <https://w3id.org/roar#PersonObservation> ; # komt (nog) niet in de HTML van 'pylode -p supermodel'. Wel in de ontpub versie.
sdo:workExample [ a sdo:ImageObject ;
sh:order 0 ;
sdo:caption "Schematic overview of a PersonObservation" ;
sdo:contentUrl "../web_images/pico_personobservation.svg"^^xsd:anyURI ;
sdo:description "Schematic overview of a person observation." ;
sdo:encodingFormat "image/svg+xml" ;
sdo:name "PersonObservation overview" ] ;
sdo:workExample [ a sdo:TextObject ;
sdo:description "Example of two Person Observations from the same source" ;
sdo:encodingFormat "text/turtle" ;
sdo:name "Person observation example" ;
sdo:text """
afr:geboorteregister_1858_po_1
a :PersonObservation ;
prov:hadPrimarySource afr:geboorteregiser_1858 ;
sdo:name "Abe Bos" ;
sdo:familyName "Bos" ;
sdo:givenName "Abe" ;
sdo:birthDate "21 Junij 1858"^^xsd:string ;
sdo:birthDate "1858-06-21"^^xsd:date ;
sdo:birthPlace "Joure" ;
sdo:gender sdo:Male ;
:hasRole picot:roles/575 ; # child
sdo:parent afr:geboorteregiser_1858_po_2, afr:geboorteregiser_1858_po_3 .
afr:geboorteregiser_1858_po_2
a :PersonObservation ;
prov:hadPrimarySource afr:geboorteregiser_1858 ;
sdo:name "Sjouke Abes Bos" ;
sdo:familyName "Bos" ;
sdo:givenName "Sjouke" ;
:hasAge "30"^^xsd:decimal ;
sdo:hasOccupation "klokmakersknecht" ;
sdo:address "Joure" ;
sdo:gender sdo:Male ;
sdo:spouse afr:geboorteregiser_1858_po_3 ;
sdo:children afr:geboorteregiser_1858_po_1 ;
:hasRole picot:roles/489 . # declarant
""" ] ;
.
:PersonReconstruction
a owl:Class ;
rdfs:label "PersonReconstruction"@en ; #, "Persoonsreconstructie"@nl ;
skos:definition """A Person reconstruction is the result of modelling one or multiple PersonObservation(s) into a
single resource."""@en ;
skos:scopeNote """A Person reconstruction must always refer to one or more Person observations. For this,
the prov:wasDerivedFrom property is used.
Information about the creation should be documented with the prov:wasGeneratedBy property.
Information about updates of a Person reconstruction should be documented with
prov:wasRevisionOf
"""@en ;
rdfs:subClassOf :Person ;
# owl:equivalentClass <https://w3id.org/roar#PersonReconstruction> ; # komt (nog) niet in de HTML van 'pylode -p supermodel'. Wel in de ontpub versie.
sdo:workExample [ a sdo:ImageObject ;
sh:order 0 ;
sdo:caption "Schematic overview of a person reconstruction" ;
sdo:contentUrl "../web_images/pico_personreconstruction.svg"^^xsd:anyURI ;
sdo:description "Schematic overview of a person reconstruction." ;
sdo:encodingFormat "image/svg+xml" ;
sdo:name "PersonReconstruction overview" ] ;
sdo:workExample [ a sdo:TextObject ;
sdo:description "Example of a Person Reconstruction" ;
sdo:encodingFormat "text/turtle" ;
sdo:name "Person Reconstruction example" ;
sdo:text """
cbg:person_reconstruction_2
a :PersonReconstruction ;
sdo:name "Anna Maria Koppen" ;
sdo:familyName "Koppen" ;
sdo:givenName "Anna" ;
sdo:gender sdo:Female ;
sdo:birthPlace "Haarlem" ;
sdo:birthDate "1860-03-31"^^xsd:date ;
sdo:deathPlace "Detroit, VSA" ;
sdo:deathDate "1926"^^xsd:gYear ;
prov:wasDerivedFrom nha:huwelijksakte_1885_321_po_1, cbg:NL-HaCBG_1755_0341_142_po_1 ;
prov:wasGeneratedBy cbg:reconstruction_activity_01 .
cbg:reconstruction_activity_01
a prov:Activity ;
prov:wasAssociatedWith cbg:reconstruction_agent_01 ;
prov:startedAtTime "2015-08-07T00:00:00"^^xsd:dateTime ;
prov:endedAtTime "2020-01-08T00:00:00"^^xsd:dateTime .
""" ] ;
.
sdo:ArchiveComponent
a owl:Class ;
rdfs:subClassOf sdo:CreativeWork ;
skos:definition """An intangible type to be applied to any archive content, carrying with it a set of
properties required to describe archival items and collections."""@en ;
rdfs:label "Source"@en ; #, "Bron"@nl ;
skos:scopeNote """Person observations can appear on many types of historical documents. The PiCo model does
not aim to describe these sources, as excellent data models, such as Records in Contexts and
Dublin Core, already exist within the heritage domain. In order to model person observations,
we require that institutions describe their sources at least with a single name property that
combines identifying information about the source like its title and creation date.
For example, a Marriage Certificate is then described as follows: "BS Marriage Haarlem,
November 11, 1885, certificate number 321". As long as this description consists of various
elements that identify the source, heritage institutions are free to use any authoritative
domain-specific standard to describe their historical person records.
"""@en ;
sdo:workExample [ a sdo:ImageObject ;
sh:order 0 ;
sdo:caption "Schematic overview of a Source" ;
sdo:contentUrl "../web_images/pico_source.svg"^^xsd:anyURI ;
sdo:description "Schematic overview of a Source." ;
sdo:encodingFormat "image/svg+xml" ;
sdo:name "Source" ] ;
sdo:workExample [ a sdo:TextObject ;
sdo:description "Example of a Source with a linked Scan" ;
sdo:encodingFormat "text/turtle" ;
sdo:name "Source with a linked Scan" ;
sdo:text """
afr:geboorteregister_1858
a sdo:ArchiveComponent ;
sdo:additionalType picot:sourcetypes/551 ; # civil registry: birth
sdo:name "Geboorteregister 1858, archiefnummer 30-16, Burgerlijke Stand Haskerland - Tresoar, inventarisnummer 1020, blad 051" ;
sdo:holdingArchive <https://www.tresoar.nl/> ;
sdo:url <https://allefriezen.nl/zoeken/deeds/f7e82c08-47c5-de67-c636-26aa1603f6c9> ;
sdo:dateCreated "1885"^^xs:gYear ;
sdo:locationCreated "Haskerland" ;
sdo:associatedMedia [ a sdo:ImageObject ;
sdo:position 51 ;
sdo:url "https://tresoar-images.memorix.nl/frl/download/fullsize/3a9b2d6a-f225-a14e-ab85-3581be7d4d04.jpg" ;
sdo:thumbnail "https://tresoar-images.memorix.nl/frl/thumb/250x250/3a9b2d6a-f225-a14e-ab85-3581be7d4d04.jpg" ; ] .
""" ] ;
.
sdo:ImageObject
a owl:Class ;
rdfs:subClassOf sdo:CreativeWork ;
skos:definition """An image file."""@en ;
rdfs:label "Scan"@en ; #, "Scan van de Bron"@nl ;
skos:scopeNote """A link to the location of the scan at the HoldingArchive.
A link to scan as it can be displayed online and a link to a thumbnail (for search results)
should be provided. Preferably a link to a IIIF manifest.
"""@en ;
.
pnv:PersonName
a owl:Class ;
skos:definition "Name of a person, expressed in Person Name Vocabulary (PNV)"@en ;
rdfs:label "PersonName"@en ; #, "Naam van een persoon"@nl ;
skos:scopeNote """In the Person Name Vocabulary, a name is considered to be a
a resource type in its own right.
A PersonName can consist of many different parts. The most common ones are mentioned here.
See the full specification of the Person Name Vocabulary for more details.
Additionally to a pnv:PersonName, the properties sdo:literalName or sdo:givenName and sdo:familyName should be used.
"""@en ;
.
########################################################################################################################
# Datatype Properties
########################################################################################################################
sdo:address
a owl:DatatypeProperty ;
rdfs:isDefinedBy sdo:address ;
skos:definition "Physical address of the Person." ;
rdfs:label "address"@en ;
skos:scopeNote "Address of a Person as mentioned on the Source."@en ;
sdo:domainIncludes :PersonObservation ;
sdo:rangeIncludes sdo:Text ; # We should support both textual addresses as URI's, is sdo:address daar wel geschikt voor?
.
pnv:baseSurname
a owl:DatatypeProperty ;
rdfs:isDefinedBy pnv:baseSurname ;
skos:definition """A Base surname is a family name without any prefixes, if those prefixes need to be ignored
in sorting. If the family name is e.g. 'de Vries' and it needs to be sorted under 'V',
the Base surname is 'Vries'. Base surname is equivalent to BioDes:geslachtsnaam.
"""@en ;
rdfs:label "baseSurname"@en ;
sdo:domainIncludes pnv:PersonName ;
sdo:rangeIncludes xsd:string ;
.
sdo:birthDate
a owl:DatatypeProperty ;
rdfs:isDefinedBy sdo:birthDate ;
skos:definition "The birth date of a persoon." ;
rdfs:label "birthDate"@en ;
# rdfs:label "Geboortedatum"@nl ;
skos:scopeNote """The birth date of a person. A date value in ISO 8601 format should be used.
Incomplete dates are allowed, but only when truncated from small to large. For example:
"1970-08-15", "1970-08" and "1970" are all allowed, but "1970-00-15" or "08-15" are not.
Sometimes, you may want use a string as birthDate. For example if you want to or have to
record the date exactly as it was written on the Source. If possible use both the string
format and the xsd:date format in this case.
"""@en ;
sdo:domainIncludes :Person ;
sdo:rangeIncludes xsd:date, xsd:string ;
.
sdo:birthPlace
a owl:DatatypeProperty ; # rdf:Property wordt niet opgenomen in de HTML als een eigen paragraaf. Wat is daar aan te doen?
rdfs:isDefinedBy sdo:birthPlace ;
skos:definition "The place where a person was born." ;
rdfs:label "birthPlace"@en ;
# rdfs:label "geboorteplaats"@nl ;
skos:scopeNote """Preferably, use a link to an existing thesaurus like geonames or wikidata.
If desired, both the literal place, as mentioned on the Source can be used together with
the reconciled version.
"""@en ;
sdo:domainIncludes :Person ;
sdo:rangeIncludes xsd:string, xsd:anyURI ;
.
sdo:contentLocation
a owl:DatatypeProperty ;
rdfs:isDefinedBy sdo:contentLocation ;
skos:definition """The location depicted or described in the content.
For example, the geographic coverage of an archival record.
Or the location in a photograph or painting.
"""@en ;
rdfs:label "contentLocation"@en ;
sdo:domainIncludes sdo:ArchiveComponent ;
sdo:rangeIncludes xsd:string, xsd:anyURI ;
.
sdo:dateCreated
a owl:DatatypeProperty ;
rdfs:isDefinedBy sdo:dateCreated ;
skos:definition "The date on which the Source was created." ;
rdfs:label "dateCreated"@en ;
sdo:domainIncludes sdo:ArchiveComponent ;
sdo:rangeIncludes xsd:date ;
.
sdo:deathDate
a owl:DatatypeProperty ;
rdfs:isDefinedBy sdo:deathDate ;
skos:definition "Date of death." ;
rdfs:label "deathDate"@en ;
# rdfs:label "datum van overlijden"@nl ;
skos:scopeNote """The death date of a person. A date value in ISO 8601 format should be used.
Incomplete dates are allowed, but only when truncated from small to large. For example:
"1970-08-15", "1970-08" and "1970" are all allowed, but "1970-00-15" or "08-15" are not.
When the date of death is not known, but is known that a person is deceased, the
property :deceased can be used.
Sometimes, you may want to use a string as deathDate. For example if you want to or have to
record the date exactly as it was written on the Source. If possible use both the string
format and the xsd:date format in this case.
"""@en ;
sdo:domainIncludes :Person ;
sdo:rangeIncludes xsd:date, xsd:string ;
.
sdo:deathPlace
a owl:DatatypeProperty ;
rdfs:isDefinedBy sdo:deathPlace ;
skos:definition "The place where the person died."@en ;
skos:scopeNote """Preferably, use a link to an existing thesaurus like geonames or wikidata.
If desired, both the literal place, as mentioned on the Source can be used together with
the reconciled version.
"""@en ;
rdfs:label "deathPlace"@en ;
sdo:domainIncludes :Person ;
sdo:rangeIncludes xsd:string, xsd:anyURI ;
.
:deceased
a owl:DatatypeProperty ;
skos:definition "Indication if a person is deceased." ;
rdfs:label "deceased"@en ;
# rdfs:label "overleden"@nl ;
skos:scopeNote """Indication if a person is still alive or not at time of the source of the observation.
Only used when deathDate is unknown.
A person without a deathDate and without the property deceased set to true,
will be considered alive. This will have consequences for the publication
of the person record and of any linked media items.
"""@en ;
sdo:domainIncludes :PersonObservation ;
sdo:rangeIncludes xsd:boolean ; # true or false
.
prov:endedAtTime
a owl:DatatypeProperty ;
rdfs:isDefinedBy prov:endedAtTime ;
skos:definition "The end time of the activity that generated a Person Reconstruction." ;
rdfs:label "endedAtTime" ;
sdo:domainIncludes prov:Activity ;
sdo:rangeIncludes xsd:dateTime ;
.
sdo:familyName
a owl:DatatypeProperty ;
rdfs:isDefinedBy sdo:familyName ;
skos:definition "Family name. For Dutch names, this is the last name of a person." ;
rdfs:label "familyName"@en ; #, "Achternaam"@nl ;
skos:scopeNote """The use of sdo:givenName and sdo:familyName is the most straightforward method for
describing person names. Use pnv:PersonName for more extensive name annotations.
"""@en ;
sdo:domainIncludes :Person ;
sdo:rangeIncludes xsd:string ;
.
pnv:literalName
a owl:DatatypeProperty ;
rdfs:isDefinedBy pnv:literalName ;
skos:definition """Literal name designates a full personal name. This property may only be left blank if a
person's name was unknown or if a person was unnamed (e.g. a child that died shortly after
being born), in which cases the property pnv:nameSpecification should state "unknown" or
"unnamed".
"""@en ;
rdfs:label "literalName"@en ;
sdo:domainIncludes pnv:PersonName ;
sdo:rangeIncludes xsd:string ;
.
sdo:gender
a owl:DatatypeProperty ;
rdfs:isDefinedBy sdo:gender ;
skos:definition "Gender of a Person." ;
rdfs:label "gender"@en ;
skos:scopeNote """Use one of: sdo:Male or sdo:Female."""@en ;
sdo:domainIncludes :Person ;
sdo:rangeIncludes sdo:GenderType ;
.
pnv:givenName
a owl:DatatypeProperty ;
rdfs:isDefinedBy pnv:givenName ;
skos:definition """The given name of a pnv:PersonName. Designates the name(s) given to someone at birth or any other
name-giving event.
"""@en ;
rdfs:label "givenName (pnv)"@en ;
sdo:domainIncludes pnv:PersonName ;
sdo:rangeIncludes xsd:string ;
.
sdo:givenName
a owl:DatatypeProperty ;
rdfs:isDefinedBy sdo:givenName ;
skos:definition "Given name. For Dutch names, this could be multiple given names of a person." ;
rdfs:label "givenName (schema)" ;
skos:scopeNote """The use of sdo:givenName and sdo:familyName is the preferred method for
describing person names. Use pnv:PersonName for more extensive name annotations.
"""@en ;
sdo:domainIncludes :Person ;
sdo:rangeIncludes xsd:string ;
.
:hasAge # zouden we hier ook foaf:age kunnen gebruiken? http://xmlns.com/foaf/spec/#term_age
a owl:DatatypeProperty ;
skos:definition "The age of a person."@en ;
# skos:definition "De leeftijd van een persoon."@nl ;
rdfs:label "hasAge"@en ;
# rdfs:label "leeftijd"@nl ;
skos:scopeNote """Only used for Person observations, in case the birth date is not known,
but the age is. In combination with de date of the Source, a birth date range can
be derived, which can be used in the process of creating a Person reconstruction.
The age is considered to be in years, unless otherwise mentioned. So an age of
"4" is considered to be 4 years, where "4 months" is interpreted as 4 months.
Numerical ages ("4") are preferred above ages in text ("four").
"""@en ;
sdo:domainIncludes :PersonObservation ;
sdo:rangeIncludes xsd:string ; # Mooiste zou zijn als we óók integers kunnen toestaan, in combinatie met een eenheid (jaren, maanden, dagen)
.
sdo:hasOccupation
a owl:DatatypeProperty ;
rdfs:isDefinedBy sdo:hasOccupation ;
skos:definition "The occupational title related to a person in an observation." ;
rdfs:label "hasOccupation"@en ;
skos:scopeNote """Occupation as mentioned on the Source"""@en ;
sdo:domainIncludes :PersonObservation ;
sdo:rangeIncludes xsd:string, xsd:anyURI ;
.
:hasReligion
a owl:DatatypeProperty ;
skos:definition "Religious conviction related to a person in an observation." ;
rdfs:label "hasReligion" ;
skos:scopeNote """Religion as mentioned on the Source.
If desired, a SKOS thesaurus can be used to annotate religion.
"""@en ; # Todo: Can we recommend a thesaurus for religions?
rdfs:domainIncludes :Person ; # zo staat het nu in de ontologie. Is de aanpak met domainIncludes ook goed?
sdo:rangeIncludes xsd:string, xsd:anyURI ;
.
pnv:initials
a owl:DatatypeProperty ;
rdfs:isDefinedBy pnv:initials ;
skos:definition """An initial is the first letter of a person's given name (or sometimes a combination of
letters). The Initials property can be used to separately record the initial(s) of a
person's given name(s). Each initial should be followed by a dot. It is recommended to
always use the Initials property to record initials, but if only the initials of a given
name are known, they may also be recorded using pnv:givenName (or pnv:firstName).
Example 1: "Peter R. de Vries" would be modelled using pnv:initials "P.R." and
pnv:givenName "Peter R.".
Example 2: "C.Joh. Kieviet" would ideally be modelled using pnv:initials "C.Joh.",
but pnv:givenName "C.Joh." is also possible.
Example 3: "H.A.F.M.O. (Hans) van Mierlo" would be modelled using
pnv:initials "H.A.F.M.O." and pnv:givenName "Hans".
"""@en ;
rdfs:label "initials"@en ;
sdo:domainIncludes pnv:PersonName ;
sdo:rangeIncludes xsd:string ;
.
sdo:name
a owl:DatatypeProperty ;
rdfs:isDefinedBy sdo:name ;
skos:definition "The name of a Person or a Source." ;
rdfs:label "name"@en ; #, "Volledige naam"@nl ;
skos:scopeNote """For Persons: Use full name if the name can't be split into given name and family name.
Otherwise use sdo:givenNamen and sdo:fullName or the more extensive pnv:PersonName.
"""@en ;
skos:scopeNote """For Sources: Use a user-friendly name to identify the source. Depending on the Source type,
this may contain a combination of it's name, year of creation, creator, et cetera.
"""@en ;
sdo:domainIncludes :Person, sdo:ArchiveComponent ;
sdo:rangeIncludes xsd:string ;
.
pnv:patronym
a owl:DatatypeProperty ;
rdfs:isDefinedBy pnv:patronym ;
skos:definition """A Patronym is a name element based on the given name of one's father or grandfather.
This is also the preferred property for a matronym (i.e. a name element based on the given
name of one's mother or grandmother).
""" ;
rdfs:label "patronym"@en ;
sdo:domainIncludes pnv:PersonName ;
sdo:rangeIncludes xsd:string ;
.
sdo:position
a owl:DatatypeProperty ;
rdfs:isDefinedBy sdo:position ;
skos:definition "The position of the scan in the order of a set of scans" ;
rdfs:label "position"@en ;
skos:scopeNote """The position defines the order in which scans are presented on the web.
This feature is required when a Source has multiple scans.
"""@en ;
sdo:domainIncludes sdo:ImageObject ;
sdo:rangeIncludes xsd:int ;
.
prov:startedAtTime
a owl:DatatypeProperty ; # TODO: startedAtTime vereist een xsd:dateTime. Vaak is het tijdstip niet bekend, maar volstaat een date. Gebruiken we dan T00:00:00 of maken we een subklasse die alleen een date toestaat?
rdfs:isDefinedBy prov:startedAtTime ;
skos:definition "The start time of the activity that generated a Person Reconstruction." ;
rdfs:label "startedAtTime" ;
sdo:domainIncludes prov:Activity ;
sdo:rangeIncludes xsd:dateTime ;
.
pnv:surnamePrefix
a owl:DatatypeProperty ;
rdfs:isDefinedBy pnv:surnamePrefix ;
skos:definition """A Surname prefix is a name part prefixing the surname (e.g. 'van' or 'van den').
"""@en ;
rdfs:label "surnamePrefix"@en ;
skos:scopeNote "A2A:PersonNamePrefixLastName"@en ;
sdo:domainIncludes pnv:PersonName ;
sdo:rangeIncludes xsd:string ;
.
prov:wasAssociatedWith
a owl:DatatypeProperty ;
rdfs:isDefinedBy prov:wasAssociatedWith ;
skos:definition "Assignment of responsibility to an agent for the activity of creating a person reconstruction."@en ;
rdfs:label "wasAssociatedWith" ;
sdo:domainIncludes prov:Activity ;
sdo:rangeIncludes prov:Agent ;
.
########################################################################################################################
# Object Properties
########################################################################################################################
sdo:additionalName
a owl:ObjectProperty ;
rdfs:isDefinedBy sdo:additionalName ;
skos:definition "The name of a Person, annotated according to the Person Name Vocabulary." ;
rdfs:label "additionalName"@en ;
# rdfs:label "heeft naam"@nl ;
sdo:domainIncludes :Person ;
sdo:rangeIncludes pnv:PersonName ;
.
sdo:additionalType
a qb:CodedProperty, owl:ObjectProperty ;
qb:codeList picot:sourcetypes ;
rdfs:isDefinedBy sdo:additionalType ;
skos:definition "The type of the Source." ;
rdfs:label "additionalType"@en ;
skos:scopeNote """Use a term from the PiCo thesaurus for Source types:
https://terms.personsincontext.org/sourcetypes
"""@en ;
sdo:domainIncludes sdo:ArchiveComponent ;
.
# sdo:rangeIncludes :SourceType .
#:SourceType
# a owl:Class ;
# rdfs:label "SourceType" .
sdo:associatedMedia
a owl:ObjectProperty ;
rdfs:isDefinedBy sdo:associatedMedia ;
skos:definition """A media object, usually a scan, that encodes the Source of a Person observation."""@en ;
rdfs:label "associatedMedia"@en ;
skos:scopeNote """todo
"""@en ;
sdo:domainIncludes sdo:ArchiveComponent ;
sdo:rangeIncludes sdo:ImageObject ;
.
sdo:children
a owl:ObjectProperty ;
rdfs:isDefinedBy sdo:children ;
skos:definition """A child of a person.
"""@en ;
rdfs:label "children"@en ;
skos:scopeNote """For Person observations, the child should always refer to another Person observation
on the same Source.
"""@en ;
skos:scopeNote """For Person reconstructions, the child should refer to another Person reconstruction.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo, :hasDescendant ;
sdo:domainIncludes :Person ;
sdo:rangeIncludes :Person ;
owl:inverseOf sdo:parent ;
.
sdo:embedUrl
a owl:ObjectProperty ;
rdfs:isDefinedBy sdo:embedUrl ;
skos:definition """A URL pointing to a viewer for a specific scan."""@en ;
rdfs:label "embedUrl"@en ;
sdo:domainIncludes sdo:ImageObject ;
sdo:rangeIncludes sdo:URL ;
.
prov:hadPrimarySource
a owl:ObjectProperty ; # Should be defined as a required property
rdfs:isDefinedBy prov:hadPrimarySource ;
skos:definition """A primary source for a topic refers to something produced by some agent with direct
experience and knowledge about the topic, at the time of the topic's study, without
benefit from hindsight. Because of the directness of primary sources, they
'speak for themselves' in ways that cannot be captured through the filter of secondary
sources. As such, it is important for secondary sources to reference those primary
sources from which they were derived, so that their reliability can be investigated.
A primary source relation is a particular case of derivation of secondary materials from
their primary sources. It is recognized that the determination of primary sources can be
up to interpretation, and should be done according to conventions accepted within the
application's domain.
"""@en ;
rdfs:label "hadPrimarySource"@en ;
skos:scopeNote "Linking a Source with the hadPrimarySource property is required for Person Observations." ;
sdo:domainIncludes :PersonObservation ;
sdo:rangeIncludes sdo:ArchiveComponent ;
.
:hasAncestor
a owl:ObjectProperty, owl:TransitiveProperty ;
rdfs:label "hasAncestor"@en ;
# rdfs:label "heeftVoorouder"@nl ;
skos:scopeNote """hasAncestor is not meant to be used as a property for PersonObservations or
PersonReconstructions.
It is a superclass of sdo:Parent. Since hasAncestor is a owl:TransitiveProperty, this will make
the parent of your parent into your ancestor.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo ;
owl:inverseOf :hasDescendant ;
rdfs:domain :Person ;
rdfs:range :Person ;
.
:hasDescendant
a owl:ObjectProperty, owl:TransitiveProperty ;
rdfs:label "hasDescendant"@en ;
# rdfs:label "heeftAfstammeling"@nl ;
skos:scopeNote """hasDescendant is not meant to be used as a property for PersonObservations or
PersonReconstructions.
It is a superclass of sdo:Children. Since hasAncestor is a owl:TransitiveProperty, this will make
the children of your children into your descendants.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo ;
owl:inverseOf :hasAncestor ;
rdfs:domain :Person ;
rdfs:range :Person ;
.
:hasChild-in-law
a owl:ObjectProperty ;
rdfs:label "hasChild-in-law"@en ;
# rdfs:label "heeftSchoonkind"@nl ;
skos:scopeNote """For Person observations, the hasChild-in-law property should always refer to another Person
observation on the same Source.
"""@en ;
skos:scopeNote """For Person reconstructions, the hasChild-in-law property should refer to another
Person reconstruction.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo ;
rdfs:domain :Person ;
rdfs:range :Person ;
owl:inverseOf :hasParent-in-law ;
.
:hasCousin
a owl:SymmetricProperty, owl:ObjectProperty ;
rdfs:label "hasCousin"@en ;
# rdfs:label "heeftNeef/Nicht"@nl ;
skos:scopeNote """For Person observations, the hasCousin property should always refer to another Person
observation on the same Source.
"""@en ;
skos:scopeNote """For Person reconstructions, the hasCousin property should refer to another Person
reconstruction.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo ;
rdfs:domain :Person ;
rdfs:range :Person ;
.
:hasCousin-in-law
a owl:SymmetricProperty, owl:ObjectProperty ;
rdfs:label "hasCousin-in-law"@en ;
# rdfs:label "heeftSchoonneef/Schoonnicht"@nl ;
skos:scopeNote """For Person observations, the hasCousin-in-law property should always refer to another Person
observation on the same Source.
"""@en ;
skos:scopeNote """For Person reconstructions, the hasCousin-in-law property should refer to another Person
reconstruction.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo ;
rdfs:domain :Person ;
rdfs:range :Person ;
.
:hasFosterChild
a owl:ObjectProperty ;
rdfs:label "hasFosterChild"@en ;
# rdfs:label "heeftPleegkind"@nl ;
skos:scopeNote """For Person observations, the hasFosterChild property should always refer to another Person
observation on the same Source.
"""@en ;
skos:scopeNote """For Person reconstructions, the hasFosterChild property should refer to another Person
reconstruction.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo ;
rdfs:domain :Person ;
rdfs:range :Person ;
owl:inverseOf :hasFosterParent ;
.
:hasFosterParent
a owl:ObjectProperty ;
rdfs:label "hasFosterParent"@en ;
# rdfs:label "heeftPleegouder"@nl ;
skos:scopeNote """For Person observations, the hasFosterParen property should always refer to another Person
observation on the same Source.
"""@en ;
skos:scopeNote """For Person reconstructions, the hasFosterParen property should refer to another Person
reconstruction.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo ;
rdfs:domain :Person ;
rdfs:range :Person ;
owl:inverseOf :hasFosterChild ;
.
:hasGodchild
a owl:ObjectProperty ;
rdfs:label "hasGodchild"@en ;
# rdfs:label "heeftPetekind"@nl ;
skos:scopeNote """For Person observations, the hasGodchild property should always refer to another Person
observation on the same Source.
"""@en ;
skos:scopeNote """For Person reconstructions, the hasGodchild property should refer to another Person
reconstruction.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo ;
rdfs:domain :Person ;
rdfs:range :Person ;
owl:inverseOf :hasGodparent ;
.
:hasGodparent
a owl:ObjectProperty ;
rdfs:label "hasGodparent"@en ;
# rdfs:label "heeftPeetouder"@nl ;
skos:scopeNote """For Person observations, the hasGodparent property should always refer to another Person
observation on the same Source.
"""@en ;
skos:scopeNote """For Person reconstructions, the hasGodparent property should refer to another Person
reconstruction.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo ;
rdfs:domain :Person ;
rdfs:range :Person ;
owl:inverseOf :hasGodchild ;
.
:hasGrandchild
a owl:ObjectProperty ;
rdfs:label "hasGrandchild"@en ;
# rdfs:label "heeftKleinkind"@nl ;
skos:scopeNote """For Person observations, the hasGrandchild property should always refer to another Person
observation on the same Source.
"""@en ;
skos:scopeNote """For Person reconstructions, the hasGrandchild property should refer to another Person
reconstruction.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo ;
rdfs:domain :Person ;
rdfs:range :Person ;
owl:inverseOf :hasGrandparent ;
.
:hasGrandchild-in-law
a owl:ObjectProperty ;
rdfs:label "hasGrandchild-in-law"@en ;
# rdfs:label "heeftSchoonkleinkind"@nl ;
skos:scopeNote """For Person observations, the hasGrandchild-in-law property should always refer to another
Person observation on the same Source.
"""@en ;
skos:scopeNote """For Person reconstructions, the hasGrandchild-in-law property should refer to another Person
reconstruction.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo ;
rdfs:domain :Person ;
rdfs:range :Person ;
owl:inverseOf :hasGrandparent-in-law ;
.
:hasGrandparent
a owl:ObjectProperty ;
rdfs:label "hasGrandparent"@en ;
# rdfs:label "heeftGrootouder"@nl ;
skos:scopeNote """For Person observations, the hasGrandparent property should always refer to another Person
observation on the same Source.
"""@en ;
skos:scopeNote """For Person reconstructions, the hasGrandparent property should refer to another Person
reconstruction.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo ;
rdfs:domain :Person ;
rdfs:range :Person ;
owl:inverseOf :hasGrandchild ;
.
:hasGrandparent-in-law
a owl:ObjectProperty ;
rdfs:label "hasGrandparent-in-law"@en ;
# rdfs:label "heeftSchoongrootouder"@nl ;
skos:scopeNote """For Person observations, the hasGrandparent-in-law property should always refer to another
Person observation on the same Source.
"""@en ;
skos:scopeNote """For Person reconstructions, the hasGrandparent-in-law property should refer to another Person
reconstruction.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo ;
rdfs:domain :Person ;
rdfs:range :Person ;
owl:inverseOf :hasGrandchild-in-law ;
.
:hasGreat-grandchild
a owl:ObjectProperty ;
rdfs:label "hasGreat-grandchild"@en ;
# rdfs:label "heeftAchterkleinkind"@nl ;
skos:scopeNote """For Person observations, the hasGreat-grandchild property should always refer to another
Person observation on the same Source.
"""@en ;
skos:scopeNote """For Person reconstructions, the hasGreat-grandchild property should refer to another Person
reconstruction.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo ;
rdfs:domain :Person ;
rdfs:range :Person ;
owl:inverseOf :hasGreat-grandparent ;
.
:hasGreat-grandparent
a owl:ObjectProperty ;
rdfs:label "hasGreat-grandparent"@en ;
# rdfs:label "heeftOvergrootouder"@nl ;
skos:scopeNote """For Person observations, the hasGreat-grandparent property should always refer to another
Person observation on the same Source.
"""@en ;
skos:scopeNote """For Person reconstructions, the hasGreat-grandparent property should refer to another Person
reconstruction.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo ;
rdfs:domain :Person ;
rdfs:range :Person ;
owl:inverseOf :hasGreat-grandchild ;
.
:hasHalf-sibling
a owl:SymmetricProperty, owl:ObjectProperty ;
rdfs:label "hasHalf-sibling"@en ;
# rdfs:label "halfbroer/halfzus"@nl ;
skos:scopeNote """For Person observations, the hasHalf-sibling property should always refer to another
Person observation on the same Source.
"""@en ;
skos:scopeNote """For Person reconstructions, the hasHalf-sibling property should refer to another Person
reconstruction.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo ;
rdfs:domain :Person ;
rdfs:range :Person ;
.
:hasLegitimizedChild
a owl:ObjectProperty ;
rdfs:label "hasLegitimizedChild"@en ;
# rdfs:label "heeftGewettigdKind"@nl ;
skos:scopeNote """For Person observations, the hasLegitimizedChild property should always refer to another
Person observation on the same Source.
"""@en ;