glam/data/ontology/pico.ttl
kempersc fa5680f0dd Add initial versions of custodian hub UML diagrams in Mermaid and PlantUML formats
- Introduced custodian_hub_v3.mmd, custodian_hub_v4_final.mmd, and custodian_hub_v5_FINAL.mmd for Mermaid representation.
- Created custodian_hub_FINAL.puml and custodian_hub_v3.puml for PlantUML representation.
- Defined entities such as CustodianReconstruction, Identifier, TimeSpan, Agent, CustodianName, CustodianObservation, ReconstructionActivity, Appellation, ConfidenceMeasure, Custodian, LanguageCode, and SourceDocument.
- Established relationships and associations between entities, including temporal extents, observations, and reconstruction activities.
- Incorporated enumerations for various types, statuses, and classifications relevant to custodians and their activities.
2025-11-22 14:33:51 +01:00

1391 lines
71 KiB
Turtle

# Version: 20230921
@prefix pico: <https://personsincontext.org/model#> .
@prefix picot_sourcetypes: <https://terms.personsincontext.org/sourcetypes/> .
@prefix picot_eventtypes: <https://terms.personsincontext.org/eventtypes/> .
@prefix picot_roles: <https://terms.personsincontext.org/roles/> .
@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 "pieter.woltjer@cbg.nl"
# ] ,
# [
# 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> .
""" ] ;
.
pico: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 ;
.
pico: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 pico: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 pico: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 ;
pico:hasRole picot_roles:575 ; # child
sdo:parent afr:geboorteregiser_1858_po_2, afr:geboorteregiser_1858_po_3 .
afr:geboorteregiser_1858_po_2
a pico:PersonObservation ;
prov:hadPrimarySource afr:geboorteregiser_1858 ;
sdo:name "Sjouke Abes Bos" ;
sdo:familyName "Bos" ;
sdo:givenName "Sjouke" ;
pico: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 ;
pico:hasRole picot_roles:489 . # declarant
""" ] ;
.
pico: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 pico: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 pico: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 pico: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 pico: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 pico: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 pico: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 pico:Person ;
sdo:rangeIncludes xsd:string, xsd:anyURI ;
.
pico: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 pico: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 pico: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 pico: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 pico:Person ;
sdo:rangeIncludes xsd:string ;
.
pico: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 pico: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 pico:PersonObservation ;
sdo:rangeIncludes xsd:string, xsd:anyURI ;
.
pico: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 pico: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 pico: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 pico: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, pico:hasDescendant ;
sdo:domainIncludes pico:Person ;
sdo:rangeIncludes pico: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 pico:PersonObservation ;
sdo:rangeIncludes sdo:ArchiveComponent ;
.
pico: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 pico:hasDescendant ;
rdfs:domain pico:Person ;
rdfs:range pico:Person ;
.
pico: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 pico:hasAncestor ;
rdfs:domain pico:Person ;
rdfs:range pico:Person ;
.
pico: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 pico:Person ;
rdfs:range pico:Person ;
owl:inverseOf pico:hasParent-in-law ;
.
pico: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 pico:Person ;
rdfs:range pico:Person ;
.
pico: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 pico:Person ;
rdfs:range pico:Person ;
.
pico: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 pico:Person ;
rdfs:range pico:Person ;
owl:inverseOf pico:hasFosterParent ;
.
pico:hasFosterParent
a owl:ObjectProperty ;
rdfs:label "hasFosterParent"@en ;
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 pico:Person ;
rdfs:range pico:Person ;
owl:inverseOf pico:hasFosterChild ;
.
pico: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 pico:Person ;
rdfs:range pico:Person ;
owl:inverseOf pico:hasGodparent ;
.
pico: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 pico:Person ;
rdfs:range pico:Person ;
owl:inverseOf pico:hasGodchild ;
.
pico: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 pico:Person ;
rdfs:range pico:Person ;
owl:inverseOf pico:hasGrandparent ;
.
pico: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 pico:Person ;
rdfs:range pico:Person ;
owl:inverseOf pico:hasGrandparent-in-law ;
.
pico: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 pico:Person ;
rdfs:range pico:Person ;
owl:inverseOf pico:hasGrandchild ;
.
pico: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 pico:Person ;
rdfs:range pico:Person ;
owl:inverseOf pico:hasGrandchild-in-law ;
.
pico: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 pico:Person ;
rdfs:range pico:Person ;
owl:inverseOf pico:hasGreat-grandparent ;
.
pico: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 pico:Person ;
rdfs:range pico:Person ;
owl:inverseOf pico:hasGreat-grandchild ;
.
pico: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 pico:Person ;
rdfs:range pico:Person ;
.
pico: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 ;
skos:scopeNote """For Person reconstructions, the hasLegitimizedChild property should refer to another Person
reconstruction.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo ;
rdfs:domain pico:Person ;
rdfs:range pico:Person ;
owl:inverseOf pico:isLegitimitezedChildOf ;
.
pico:isLegitimitezedChildOf
a owl:ObjectProperty ;
rdfs:label "isLegitimitezedChildOf" ;
# rdfs:label "isGewettigdKindVan"@nl ;
skos:scopeNote """For Person observations, the isLegitimitezedChildOf property should always refer to another
Person observation on the same Source.
"""@en ;
skos:scopeNote """For Person reconstructions, the isLegitimitezedChildOf property should refer to another Person
reconstruction.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo ;
rdfs:domain pico:Person ;
rdfs:range pico:Person ;
owl:inverseOf pico:hasLegitimizedChild ;
.
pico:hasNephew_Niece-in-law
a owl:ObjectProperty ;
rdfs:label "hasNephew-in-law/Niece-in-law"@en ;
# rdfs:label "heeftSchoonneef/Schoonnicht (oomzegger/tantezegger)"@nl ;
skos:scopeNote """For Person observations, the hasNephew_Niece-in-law property should always refer to another
Person observation on the same Source.
"""@en ;
skos:scopeNote """For Person reconstructions, the hasNephew_Niece-in-law property should refer to another Person
reconstruction.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo ;
rdfs:domain pico:Person ;
rdfs:range pico:Person ;
owl:inverseOf pico:hasUncle_Aunt-in-law ;
.
pico:hasNephew_Niece
a owl:ObjectProperty ;
rdfs:label "hasNephew/Niece"@en ;
# rdfs:label "heeftNeef/Nicht (oomzegger/tantezegger)"@nl ;
skos:scopeNote """For Person observations, the hasNephew_Niece property should always refer to another
Person observation on the same Source.
"""@en ;
skos:scopeNote """For Person reconstructions, the hasNephew_Niece property should refer to another Person
reconstruction.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo ;
rdfs:domain pico:Person ;
rdfs:range pico:Person ;
owl:inverseOf pico:hasUncle_Aunt ;
.
pico:hasParent-in-law
a owl:ObjectProperty ;
rdfs:label "hasParent-in-law"@en ;
# rdfs:label "heeftSchoonouder"@nl ;
skos:scopeNote """For Person observations, the hasNephew_Niece property should always refer to another
Person observation on the same Source.
"""@en ;
skos:scopeNote """For Person reconstructions, the hasNephew_Niece property should refer to another Person
reconstruction.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo ;
rdfs:domain pico:Person ;
rdfs:range pico:Person ;
owl:inverseOf pico:hasChild-in-law ;
.
pico:hasPreviousPartner
a owl:SymmetricProperty, owl:ObjectProperty ;
rdfs:label "hasPreviousPartner"@en ;
# rdfs:label "eerderePartner"@nl ;
skos:scopeNote """For Person observations, the hasPreviousPartner property should always refer to another
Person observation on the same Source.
"""@en ;
skos:scopeNote """For Person reconstructions, the hasPreviousPartner property should refer to another Person
reconstruction.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo ;
rdfs:domain pico:Person ;
rdfs:range pico:Person .
pico:hasSibling-in-law
a owl:SymmetricProperty, owl:ObjectProperty ;
rdfs:label "hasSibling-in-law"@en ;
# rdfs:label "heeftZwager/Schoonzus"@nl ;
skos:scopeNote """For Person observations, the hasSibling-in-law property should always refer to another
Person observation on the same Source.
"""@en ;
skos:scopeNote """For Person reconstructions, the hasSibling-in-law property should refer to another Person
reconstruction.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo ;
rdfs:domain pico:Person ;
rdfs:range pico:Person ;
.
pico:hasStepchild
a owl:ObjectProperty ;
rdfs:label "hasStepchild"@en ;
# rdfs:label "stiefkind"@nl ;
skos:scopeNote """For Person observations, the hasStepchild property should always refer to another
Person observation on the same Source.
"""@en ;
skos:scopeNote """For Person reconstructions, the hasStepchild property should refer to another Person
reconstruction.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo ;
rdfs:domain pico:Person ;
rdfs:range pico:Person ;
owl:inverseOf pico:hasStepparent ;
.
pico:hasStepchild-in-law
a owl:ObjectProperty ;
rdfs:label "hasStepchild-in-law"@en ;
# rdfs:label "heeftStiefschoonkind"@nl ;
skos:scopeNote """For Person observations, the hasStepchild-in-law property should always refer to another
Person observation on the same Source.
"""@en ;
skos:scopeNote """For Person reconstructions, the hasStepchild-in-law property should refer to another Person
reconstruction.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo ;
rdfs:domain pico:Person ;
rdfs:range pico:Person ;
owl:inverseOf pico:hasStepparent-in-law ;
.
pico:hasStepparent
a owl:ObjectProperty ;
rdfs:label "hasStepparent"@en ;
# rdfs:label "stiefouder"@nl ;
skos:scopeNote """For Person observations, the hasStepparent property should always refer to another
Person observation on the same Source.
"""@en ;
skos:scopeNote """For Person reconstructions, the hasStepparent property should refer to another Person
reconstruction.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo ;
rdfs:domain pico:Person ;
rdfs:range pico:Person ;
owl:inverseOf pico:hasStepchild ;
.
pico:hasStepparent-in-law
a owl:ObjectProperty ;
rdfs:label "hasStepparent-in-law"@en ;
# rdfs:label "heeftStiefschoonouder"@nl ;
skos:scopeNote """For Person observations, the hasStepparent-in-law property should always refer to another
Person observation on the same Source.
"""@en ;
skos:scopeNote """For Person reconstructions, the hasStepparent-in-law property should refer to another Person
reconstruction.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo ;
rdfs:domain pico:Person ;
rdfs:range pico:Person ;
owl:inverseOf pico:hasStepchild-in-law ;
.
pico:hasStepsibling
a owl:ObjectProperty, owl:SymmetricProperty ;
rdfs:label "hasStepsibling"@en ;
# rdfs:label "heeftStiefbroer/Stiefzus"@nl ;
skos:scopeNote """For Person observations, the hasStepsibling property should always refer to another
Person observation on the same Source.
"""@en ;
skos:scopeNote """For Person reconstructions, the hasStepsibling property should refer to another Person
reconstruction.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo ;
rdfs:domain pico:Person ;
rdfs:range pico:Person ;
.
pico:hasUncle_Aunt
a owl:ObjectProperty ;
rdfs:label "hasUncle/Aunt"@en ;
# rdfs:label "heeftOom/Tante"@nl ;
skos:scopeNote """For Person observations, the hasUncle_Aunt property should always refer to another
Person observation on the same Source.
"""@en ;
skos:scopeNote """For Person reconstructions, the hasUncle_Aunt property should refer to another Person
reconstruction.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo ;
rdfs:domain pico:Person ;
rdfs:range pico:Person ;
owl:inverseOf pico:hasNephew_Niece ;
.
pico:hasUncle_Aunt-in-law
a owl:ObjectProperty ;
rdfs:label "hasUncle/Aunt-in-law" ;
skos:scopeNote """For Person observations, the hasUncle_Aunt-in-law property should always refer to another
Person observation on the same Source.
"""@en ;
skos:scopeNote """For Person reconstructions, the hasUncle_Aunt-in-law property should refer to another Person
reconstruction.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo ;
rdfs:domain pico:Person ;
rdfs:range pico:Person ;
owl:inverseOf pico:hasNephew_Niece-in-law ;
.
sdo:holdingArchive
a owl:ObjectProperty ;
rdfs:isDefinedBy sdo:holdingArchive ;
skos:definition "Organization that holds, keeps or maintains the ArchiveComponent." ;
rdfs:label "holdingArchive"@en ;
# skos:scopeNote "Todo" ; # Of een voorbeeld geven
sdo:domainIncludes sdo:ArchiveComponent ;
sdo:rangeIncludes xsd:anyURI ;
.
pico:isWidOf
a owl:ObjectProperty ;
rdfs:label "isWidow/WidowerOf"@en ;
# rdfs:label "isWeduwe/WeduwnaarVan"@nl ;
skos:scopeNote """For Person observations, the isWidOf property should always refer to another
Person observation on the same Source.
"""@en ;
skos:scopeNote """For Person reconstructions, the isWidOf property should refer to another Person
reconstruction.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo ;
rdfs:domain pico:Person ;
rdfs:range pico:Person ;
.
sdo:parent
a owl:ObjectProperty ;
rdfs:isDefinedBy sdo:parent ;
skos:definition "A parent of a person." ;
rdfs:label "parent"@en ;
skos:scopeNote """For Person observations, the parent property should always refer to another
Person observation on the same Source.
"""@en ;
skos:scopeNote """For Person reconstructions, the parent property should refer to another Person
reconstruction.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo, pico:hasAncestor ;
sdo:domainIncludes pico:Person ;
sdo:rangeIncludes pico:Person ;
owl:inverseOf sdo:children ;
.
sdo:sibling
a owl:ObjectProperty, owl:SymmetricProperty ; # mag je sdo:spouse zomaar uitbreiden?
rdfs:isDefinedBy sdo:sibling ;
skos:definition "A person's brother or sister."@en ;
rdfs:label "sibling"@en ; #, "broer/zus"@nl ;
skos:scopeNote """For Person observations, the sibling should always refer to another Person observation
on the same Source.
"""@en ;
skos:scopeNote """For Person reconstructions, the sibling should refer to the Person reconstruction of
the spouse.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo ;
sdo:domainIncludes pico:Person ;
sdo:rangeIncludes pico:Person ;
.
sdo:spouse
a owl:ObjectProperty, owl:SymmetricProperty ;
rdfs:isDefinedBy sdo:spouse ;
skos:definition "The person's spouse."@en ;
rdfs:label "spouse"@en ; #, "echtgenoot"@nl ;
skos:scopeNote """For Person observations, the spouse should always refer to another Person observation
on the same Source.
"""@en ;
skos:scopeNote """For Person reconstructions, the spouse should refer to the Person reconstruction of
the spouse.
"""@en ;
rdfs:subPropertyOf sdo:relatedTo ;
sdo:domainIncludes pico:Person ;
sdo:rangeIncludes pico:Person ;
.
sdo:thumbnail
a owl:ObjectProperty ;
skos:definition """Thumbnail image of the Scan."""@en ;
rdfs:label "thumbnail"@en ;
sdo:domainIncludes sdo:ImageObject ; #, sdo:ArchiveComponent ?
sdo:rangeIncludes sdo:ImageObject ;
.
sdo:url
a owl:ObjectProperty ;
rdfs:isDefinedBy sdo:url ;
skos:definition "URL of the Source or Scan." ;
rdfs:label "url"@en ;
skos:scopeNote "For Sources: a link to the Source at the holding archive. Preferably a permalink."@en ;
skos:scopeNote """For Scans of Sources: a link to the scan of the Source at the holding archive.
Preferably a link to a IIIF manifest.
"""@en ;
sdo:domainIncludes sdo:ImageObject, sdo:ArchiveComponent ;
sdo:rangeIncludes sdo:URL ;
.
pico:hasRole
a qb:CodedProperty, owl:ObjectProperty ;
qb:codeList picot_roles: ;
# rdfs:range :Role ;
skos:definition "The role of a Person observation on the Source." ;
rdfs:label "hasRole"@en ;
skos:scopeNote """Use a term from the PiCo Roles thesaurus:
https://terms.personsincontext.org/roles
"""@en ;
sdo:domainIncludes pico:PersonObservation ;
.
#:Role
# a owl:Class ;
# rdfs:label "Role" .
prov:wasDerivedFrom
a owl:ObjectProperty ;
rdfs:isDefinedBy prov:wasDerivedFrom ;
skos:definition """A derivation is a combination of one or more Person observations
in a Person reconstruction"""@en ;
rdfs:label "wasDerivedFrom"@en ;
skos:scopeNote """A PersonReconstruction is always derived from one or more PersonObservations.
The wasDerivedFrom property is therefore required for PersonReconstructions.
"""@en ;
sdo:domainIncludes pico:PersonReconstruction ;
sdo:rangeIncludes pico:PersonObservation ;
.
prov:wasGeneratedBy
a owl:ObjectProperty ;
rdfs:isDefinedBy prov:wasGeneratedBy ;
skos:definition """Generation is the completion of production of a new Person reconstruction by an activity.
This Person reconstruction did not exist before generation and becomes available
for usage after this generation.
"""@en ; # TODO afgaande op deze definitie hebben we nog een prov property nodig voor updates: prov:wasRevisionOf
rdfs:label "wasGeneratedBy"@en ;
skos:scopeNote """Required for PersonReconstructions."""@en ;
sdo:domainIncludes pico:PersonReconstruction ;
sdo:rangeIncludes prov:Activity .
prov:wasRevisionOf
a owl:ObjectProperty ;
rdfs:isDefinedBy prov:wasRevisionOf ;
skos:definition """A revision is a derivation for which the resulting entity is a revised version of some
original.
"""@en ; # TODO Deze is nieuw. Opnemen in de PiCo beschrijving.
rdfs:label "wasRevisionOf"@en ;
skos:scopeNote """The wasRevisionOf property is used for modifications made on Person
reconstructions. It can be qualified with a prov:Revision.
"""@en ; # TODO registratie van creatie en updates van Person reconstructions verder uitwerken
sdo:domainIncludes pico:PersonReconstruction ;
sdo:rangeIncludes pico:PersonReconstruction .
########################################################################################################################
# Vocabularies
########################################################################################################################
picot_roles:
a skos:ConceptScheme ;
rdfs:label 'Persons in Context role thesaurus' .
picot_sourcetypes:
a skos:ConceptScheme ;
rdfs:label 'Persons in Context sourceType thesaurus' .
picot_eventtypes:
a skos:ConceptScheme ;
rdfs:label 'Persons in Context eventType thesaurus' .
########################################################################################################################
# TODO
########################################################################################################################
# ROAR attribution
# PNV attribution (Voor de ontologie. En ik gebruik ook een aantal teksten uit hun documentatie.
# LODE attribution. Dit gaat vanzelf goed in de ontpub versie, maar (nog?) niet in de nieuwe versie
# Documentation
# Must-read for publishing ontologies: https://www.w3.org/TR/swbp-vocab-pub/
# Consider defining a Class to represent all the skos:Concepts in your controlled list (this can facilitate declaration of properties that will use this list)
## --> bovenstaande komt uit: https://www.w3.org/TR/ld-bp/