From 0cf93587fbf1fdb83322923156cfcbb25ffca357 Mon Sep 17 00:00:00 2001 From: kempersc Date: Tue, 16 Dec 2025 20:19:45 +0100 Subject: [PATCH] fix(schema): Normalize custodian_types annotation YAML quoting YAML arrays in LinkML annotations must be quoted strings to ensure proper parsing. This change quotes all custodian_types annotations from the raw array format to quoted string format. Before: custodian_types: ["A", "G"] After: custodian_types: '["A", "G"]' Affected: 50+ class files in modules/classes/ Also updates: manifest.json, 01_custodian_name_modular.yaml --- .../linkml/01_custodian_name_modular.yaml | 18 +- schemas/20251121/linkml/manifest.json | 45 ++++ .../modules/classes/ArchitecturalArchive.yaml | 2 +- .../classes/ArchiveOrganizationType.yaml | 2 +- .../linkml/modules/classes/ArtArchive.yaml | 2 +- .../modules/classes/BioCustodianType.yaml | 2 +- .../modules/classes/CathedralArchive.yaml | 2 +- .../modules/classes/ChurchArchiveSweden.yaml | 2 +- .../linkml/modules/classes/Collection.yaml | 2 +- .../classes/CommercialOrganizationType.yaml | 2 +- .../modules/classes/CustodianObservation.yaml | 2 +- .../linkml/modules/classes/DarkArchive.yaml | 2 +- .../modules/classes/DigitalArchive.yaml | 2 +- .../modules/classes/DigitalPlatformType.yaml | 2 +- .../modules/classes/DiocesanArchive.yaml | 2 +- .../classes/EducationProviderType.yaml | 2 +- .../modules/classes/FeatureCustodianType.yaml | 2 +- .../linkml/modules/classes/FeaturePlace.yaml | 2 +- .../linkml/modules/classes/GalleryType.yaml | 2 +- .../modules/classes/HeritageSocietyType.yaml | 2 +- .../modules/classes/HolySacredSiteType.yaml | 2 +- .../linkml/modules/classes/Institution.yaml | 7 +- .../classes/IntangibleHeritageForm.yaml | 2 +- .../classes/IntangibleHeritageGroupType.yaml | 2 +- .../linkml/modules/classes/LibraryType.yaml | 2 +- .../modules/classes/LiteraryArchive.yaml | 2 +- .../LocalHeritageInstitutionSweden.yaml | 9 +- .../modules/classes/LocationLibrary.yaml | 7 +- .../modules/classes/MemoryInstitution.yaml | 7 +- .../modules/classes/MixedCustodianType.yaml | 2 +- .../modules/classes/MonasteryArchive.yaml | 2 +- .../linkml/modules/classes/MuseumType.yaml | 2 +- .../linkml/modules/classes/MusicArchive.yaml | 2 +- .../linkml/modules/classes/NonProfitType.yaml | 2 +- .../classes/PerformingArtsArchive.yaml | 2 +- .../modules/classes/PersonObservation.yaml | 241 ++++++++++++++++++ .../classes/PersonalCollectionType.yaml | 2 +- .../modules/classes/PersonalLibrary.yaml | 7 +- .../linkml/modules/classes/PhotoArchive.yaml | 2 +- .../modules/classes/PhotographCollection.yaml | 9 +- .../modules/classes/ResearchCenter.yaml | 2 +- .../classes/ResearchOrganizationType.yaml | 2 +- .../classes/SectorOfArchivesInSweden.yaml | 11 +- .../linkml/modules/classes/SoundArchive.yaml | 2 +- .../modules/classes/SpecialCollection.yaml | 13 +- .../classes/TasteScentHeritageType.yaml | 2 +- .../classes/TentativeWorldHeritageSite.yaml | 13 +- .../linkml/modules/classes/TimeSpan.yaml | 90 ++++--- .../modules/classes/VirtualMapLibrary.yaml | 11 +- .../modules/classes/WorldHeritageSite.yaml | 13 +- .../linkml/modules/slots/manifest.json | 14 + 51 files changed, 451 insertions(+), 134 deletions(-) diff --git a/schemas/20251121/linkml/01_custodian_name_modular.yaml b/schemas/20251121/linkml/01_custodian_name_modular.yaml index 9cf4d64be1..d4edf4cd1a 100644 --- a/schemas/20251121/linkml/01_custodian_name_modular.yaml +++ b/schemas/20251121/linkml/01_custodian_name_modular.yaml @@ -22,7 +22,7 @@ description: | Inspired by PiCo (Persons in Context) ontology pattern for distinguishing observations from entities. -version: 0.9.9 +version: 0.9.10 license: https://creativecommons.org/licenses/by-sa/4.0/ prefixes: @@ -304,6 +304,15 @@ imports: - modules/classes/PrimaryDigitalPresenceAssertion - modules/classes/InternetOfThings + # Video content modeling (NEW v0.9.10 - social media video + transcripts + annotations) + - modules/classes/VideoPost + - modules/classes/VideoTimeSegment + - modules/classes/VideoTextContent + - modules/classes/VideoTranscript + - modules/classes/VideoSubtitle + - modules/classes/VideoAnnotation + - modules/classes/VideoAnnotationTypes + # Web portal and social media type hierarchies (NEW v0.9.9 - promoted from enums) - modules/classes/WebPortalType - modules/classes/WebPortalTypes @@ -511,6 +520,13 @@ comments: - "RDF alignment (v0.9.8): All inverse properties generate owl:inverseOf axioms in RDF/OWL output" - "Grand total: 180 files (178 definitions + 2 supporting) - added has_derived_observation inverse slot" - "Provenance inverse (v0.9.9): derived_from_entity↔has_derived_observation (PROV-O wasDerivedFrom/hadDerivation pattern)" + - "Video content (v0.9.10): VideoPost class for social media video posts with engagement metrics and platform-specific metadata" + - "Video text hierarchy (v0.9.10): VideoTextContent (abstract) → VideoTranscript → VideoSubtitle with PROV-O provenance tracking" + - "Video annotations (v0.9.10): VideoAnnotation (abstract) → VideoSceneAnnotation, VideoObjectAnnotation, VideoOCRAnnotation" + - "Video temporal (v0.9.10): VideoTimeSegment reusable class for time-coded content with dual ISO 8601 + seconds representation" + - "CV/Multimodal (v0.9.10): Detection classes (DetectedObject, DetectedFace, DetectedLogo, DetectedLandmark, TextRegion) for heritage-relevant visual analysis" + - "Ontology alignment (v0.9.10): CIDOC-CRM (E73, E33, E52), W3C Web Annotation (oa:Annotation), Schema.org (transcript, caption), PROV-O (Entity, Activity)" + - "Grand total: 187 files (185 definitions + 2 supporting) - added 7 video content classes" see_also: - "https://github.com/FICLIT/PiCo" diff --git a/schemas/20251121/linkml/manifest.json b/schemas/20251121/linkml/manifest.json index 5af8e06155..bafbd6fe7b 100644 --- a/schemas/20251121/linkml/manifest.json +++ b/schemas/20251121/linkml/manifest.json @@ -247,6 +247,11 @@ "path": "modules/classes/ConfidenceMeasure.yaml", "category": "classes" }, + { + "name": "ConnectionNetwork", + "path": "modules/classes/ConnectionNetwork.yaml", + "category": "classes" + }, { "name": "ConservationLab", "path": "modules/classes/ConservationLab.yaml", @@ -427,6 +432,11 @@ "path": "modules/classes/EducationCenter.yaml", "category": "classes" }, + { + "name": "EducationCredential", + "path": "modules/classes/EducationCredential.yaml", + "category": "classes" + }, { "name": "EducationProviderType", "path": "modules/classes/EducationProviderType.yaml", @@ -442,6 +452,11 @@ "path": "modules/classes/ExhibitionSpace.yaml", "category": "classes" }, + { + "name": "ExtractionMetadata", + "path": "modules/classes/ExtractionMetadata.yaml", + "category": "classes" + }, { "name": "FeatureCustodianType", "path": "modules/classes/FeatureCustodianType.yaml", @@ -527,6 +542,11 @@ "path": "modules/classes/HeritageSocietyType.yaml", "category": "classes" }, + { + "name": "HeritageRelevance", + "path": "modules/classes/HeritageRelevance.yaml", + "category": "classes" + }, { "name": "HistoricBuilding", "path": "modules/classes/HistoricBuilding.yaml", @@ -632,6 +652,11 @@ "path": "modules/classes/LanguageCode.yaml", "category": "classes" }, + { + "name": "LanguageProficiency", + "path": "modules/classes/LanguageProficiency.yaml", + "category": "classes" + }, { "name": "LegalEntityType", "path": "modules/classes/LegalEntityType.yaml", @@ -662,6 +687,11 @@ "path": "modules/classes/LightArchives.yaml", "category": "classes" }, + { + "name": "LinkedInProfile", + "path": "modules/classes/LinkedInProfile.yaml", + "category": "classes" + }, { "name": "LiteraryArchive", "path": "modules/classes/LiteraryArchive.yaml", @@ -852,6 +882,11 @@ "path": "modules/classes/PersonObservation.yaml", "category": "classes" }, + { + "name": "PersonConnection", + "path": "modules/classes/PersonConnection.yaml", + "category": "classes" + }, { "name": "PersonOrOrganization", "path": "modules/classes/PersonOrOrganization.yaml", @@ -1276,6 +1311,11 @@ "name": "WorldHeritageSite", "path": "modules/classes/WorldHeritageSite.yaml", "category": "classes" + }, + { + "name": "WorkExperience", + "path": "modules/classes/WorkExperience.yaml", + "category": "classes" } ] }, @@ -1398,6 +1438,11 @@ "path": "modules/enums/HeritageSocietyTypeEnum.yaml", "category": "enums" }, + { + "name": "HeritageTypeEnum", + "path": "modules/enums/HeritageTypeEnum.yaml", + "category": "enums" + }, { "name": "HolySiteTypeEnum", "path": "modules/enums/HolySiteTypeEnum.yaml", diff --git a/schemas/20251121/linkml/modules/classes/ArchitecturalArchive.yaml b/schemas/20251121/linkml/modules/classes/ArchitecturalArchive.yaml index 8cd0fcc6dd..9544d592e8 100644 --- a/schemas/20251121/linkml/modules/classes/ArchitecturalArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/ArchitecturalArchive.yaml @@ -79,7 +79,7 @@ classes: - rico:CorporateBody annotations: - custodian_types: ["A"] + custodian_types: '["A"]' custodian_types_rationale: "ArchitecturalArchive is a specialized archive type for architectural documentation - maps to ARCHIVE type (A)" comments: diff --git a/schemas/20251121/linkml/modules/classes/ArchiveOrganizationType.yaml b/schemas/20251121/linkml/modules/classes/ArchiveOrganizationType.yaml index 960855b903..62d80f8beb 100644 --- a/schemas/20251121/linkml/modules/classes/ArchiveOrganizationType.yaml +++ b/schemas/20251121/linkml/modules/classes/ArchiveOrganizationType.yaml @@ -163,7 +163,7 @@ classes: - rico:RecordSet annotations: - custodian_types: ["A"] + custodian_types: '["A"]' custodian_types_rationale: "ArchiveOrganizationType is specific to archives - institutions preserving original records and historical documents" comments: diff --git a/schemas/20251121/linkml/modules/classes/ArtArchive.yaml b/schemas/20251121/linkml/modules/classes/ArtArchive.yaml index bad092ceea..31e5aa8f06 100644 --- a/schemas/20251121/linkml/modules/classes/ArtArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/ArtArchive.yaml @@ -88,7 +88,7 @@ classes: - rico:CorporateBody annotations: - custodian_types: ["A", "G"] + custodian_types: '["A", "G"]' custodian_types_rationale: "ArtArchive is a specialized archive for art documentation - primarily ARCHIVE (A) but often associated with GALLERY (G) institutions" comments: diff --git a/schemas/20251121/linkml/modules/classes/BioCustodianType.yaml b/schemas/20251121/linkml/modules/classes/BioCustodianType.yaml index a21e7564b7..964b566aef 100644 --- a/schemas/20251121/linkml/modules/classes/BioCustodianType.yaml +++ b/schemas/20251121/linkml/modules/classes/BioCustodianType.yaml @@ -201,7 +201,7 @@ classes: - TDWG Standards: https://www.tdwg.org/standards/ annotations: - custodian_types: ["B"] + custodian_types: '["B"]' custodian_types_rationale: "BioCustodianType is specific to botanical gardens, zoos, aquariums - institutions with living collections" slots: diff --git a/schemas/20251121/linkml/modules/classes/CathedralArchive.yaml b/schemas/20251121/linkml/modules/classes/CathedralArchive.yaml index 4ebb90c428..7eb19148a5 100644 --- a/schemas/20251121/linkml/modules/classes/CathedralArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/CathedralArchive.yaml @@ -89,7 +89,7 @@ classes: - rico:CorporateBody annotations: - custodian_types: ["A", "H"] + custodian_types: '["A", "H"]' custodian_types_rationale: "CathedralArchive serves dual roles - as an ARCHIVE (A) for ecclesiastical records and as part of a HOLY_SITE (H) religious institution" comments: diff --git a/schemas/20251121/linkml/modules/classes/ChurchArchiveSweden.yaml b/schemas/20251121/linkml/modules/classes/ChurchArchiveSweden.yaml index c74dedf342..7d34babe9d 100644 --- a/schemas/20251121/linkml/modules/classes/ChurchArchiveSweden.yaml +++ b/schemas/20251121/linkml/modules/classes/ChurchArchiveSweden.yaml @@ -132,7 +132,7 @@ classes: - rico:CorporateBody annotations: - custodian_types: ["A", "H"] + custodian_types: '["A", "H"]' custodian_types_rationale: "ChurchArchiveSweden is both an ARCHIVE (A) for Swedish parish records and associated with HOLY_SITE (H) Church of Sweden parishes" comments: diff --git a/schemas/20251121/linkml/modules/classes/Collection.yaml b/schemas/20251121/linkml/modules/classes/Collection.yaml index ff18d21e69..886ad2bf26 100644 --- a/schemas/20251121/linkml/modules/classes/Collection.yaml +++ b/schemas/20251121/linkml/modules/classes/Collection.yaml @@ -52,7 +52,7 @@ classes: Collection: class_uri: rico:RecordSet annotations: - custodian_types: ["G", "L", "A", "M", "B", "H"] + custodian_types: '["G", "L", "A", "M", "B", "H"]' custodian_types_rationale: "Collection is relevant to institutions that hold catalogued collections: Galleries, Libraries, Archives, Museums, Botanical gardens/zoos, Holy sites" description: | Specific, inventoried heritage holdings with fine-grained cataloguing detail. diff --git a/schemas/20251121/linkml/modules/classes/CommercialOrganizationType.yaml b/schemas/20251121/linkml/modules/classes/CommercialOrganizationType.yaml index 0aea1271e2..6f5fc3adc3 100644 --- a/schemas/20251121/linkml/modules/classes/CommercialOrganizationType.yaml +++ b/schemas/20251121/linkml/modules/classes/CommercialOrganizationType.yaml @@ -31,7 +31,7 @@ classes: is_a: CustodianType class_uri: skos:Concept annotations: - custodian_types: ["C"] + custodian_types: '["C"]' custodian_types_rationale: "CommercialOrganizationType represents for-profit commercial heritage custodians (corporate archives, company museums) - maps to CORPORATION type (C)" description: | Specialized custodian type for for-profit commercial organizations that diff --git a/schemas/20251121/linkml/modules/classes/CustodianObservation.yaml b/schemas/20251121/linkml/modules/classes/CustodianObservation.yaml index 0ba8fe117e..111c0484e8 100644 --- a/schemas/20251121/linkml/modules/classes/CustodianObservation.yaml +++ b/schemas/20251121/linkml/modules/classes/CustodianObservation.yaml @@ -9,7 +9,7 @@ classes: CustodianObservation: class_uri: hc:CustodianObservation annotations: - custodian_types: ["G", "L", "A", "M", "O", "R", "C", "U", "B", "E", "S", "F", "I", "X", "P", "H", "D", "N", "T"] + custodian_types: '["G", "L", "A", "M", "O", "R", "C", "U", "B", "E", "S", "F", "I", "X", "P", "H", "D", "N", "T"]' custodian_types_rationale: "CustodianObservation is universal - source-based evidence can apply to any heritage custodian type" description: | Source-based evidence of a heritage custodian's existence. diff --git a/schemas/20251121/linkml/modules/classes/DarkArchive.yaml b/schemas/20251121/linkml/modules/classes/DarkArchive.yaml index d5ef28d2cc..8423654444 100644 --- a/schemas/20251121/linkml/modules/classes/DarkArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/DarkArchive.yaml @@ -35,7 +35,7 @@ classes: is_a: ArchiveOrganizationType class_uri: skos:Concept annotations: - custodian_types: ["A"] + custodian_types: '["A"]' custodian_types_rationale: "DarkArchive is a type of archive with restricted access - maps to ARCHIVE type (A)" description: | Archive preserving materials for future use but with NO CURRENT ACCESS. diff --git a/schemas/20251121/linkml/modules/classes/DigitalArchive.yaml b/schemas/20251121/linkml/modules/classes/DigitalArchive.yaml index fbc872ed89..47a4ac0cc7 100644 --- a/schemas/20251121/linkml/modules/classes/DigitalArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/DigitalArchive.yaml @@ -32,7 +32,7 @@ classes: is_a: ArchiveOrganizationType class_uri: skos:Concept annotations: - custodian_types: ["A", "D"] + custodian_types: '["A", "D"]' custodian_types_rationale: "DigitalArchive bridges archive and digital platform types - maps to ARCHIVE (A) and DIGITAL_PLATFORM (D)" description: | Information system collecting and providing access to digital resources. diff --git a/schemas/20251121/linkml/modules/classes/DigitalPlatformType.yaml b/schemas/20251121/linkml/modules/classes/DigitalPlatformType.yaml index 07b760097c..f027be674d 100644 --- a/schemas/20251121/linkml/modules/classes/DigitalPlatformType.yaml +++ b/schemas/20251121/linkml/modules/classes/DigitalPlatformType.yaml @@ -33,7 +33,7 @@ classes: is_a: CustodianType class_uri: skos:Concept annotations: - custodian_types: ["D"] + custodian_types: '["D"]' custodian_types_rationale: "DigitalPlatformType represents digital heritage platforms - maps exclusively to DIGITAL_PLATFORM type (D)" description: | Specialized custodian type for digital heritage platforms operating primarily diff --git a/schemas/20251121/linkml/modules/classes/DiocesanArchive.yaml b/schemas/20251121/linkml/modules/classes/DiocesanArchive.yaml index f8c861bdd9..b8dbb78a9e 100644 --- a/schemas/20251121/linkml/modules/classes/DiocesanArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/DiocesanArchive.yaml @@ -150,7 +150,7 @@ classes: - rico:CorporateBody annotations: - custodian_types: ["A", "H"] + custodian_types: '["A", "H"]' custodian_types_rationale: "DiocesanArchive serves dual roles - as an ARCHIVE (A) for bishop/diocese records and associated with HOLY_SITE (H) religious administration" related_mappings: diff --git a/schemas/20251121/linkml/modules/classes/EducationProviderType.yaml b/schemas/20251121/linkml/modules/classes/EducationProviderType.yaml index 589c0b6fd9..5a43bc8ea2 100644 --- a/schemas/20251121/linkml/modules/classes/EducationProviderType.yaml +++ b/schemas/20251121/linkml/modules/classes/EducationProviderType.yaml @@ -56,7 +56,7 @@ classes: is_a: CustodianType class_uri: skos:Concept annotations: - custodian_types: ["E"] + custodian_types: '["E"]' custodian_types_rationale: "EducationProviderType is specific to education providers - universities, colleges, schools with heritage collections" description: | Education providers (universities, colleges, schools) that maintain heritage collections diff --git a/schemas/20251121/linkml/modules/classes/FeatureCustodianType.yaml b/schemas/20251121/linkml/modules/classes/FeatureCustodianType.yaml index 8b5ee6e905..41075d1197 100644 --- a/schemas/20251121/linkml/modules/classes/FeatureCustodianType.yaml +++ b/schemas/20251121/linkml/modules/classes/FeatureCustodianType.yaml @@ -183,7 +183,7 @@ classes: ``` annotations: - custodian_types: ["F"] + custodian_types: '["F"]' custodian_types_rationale: "FeatureCustodianType is specific to organizations managing physical heritage features (monuments, landmarks, historic sites)" exact_mappings: diff --git a/schemas/20251121/linkml/modules/classes/FeaturePlace.yaml b/schemas/20251121/linkml/modules/classes/FeaturePlace.yaml index f2b4448c6a..1a60fb1af7 100644 --- a/schemas/20251121/linkml/modules/classes/FeaturePlace.yaml +++ b/schemas/20251121/linkml/modules/classes/FeaturePlace.yaml @@ -42,7 +42,7 @@ classes: is_a: ReconstructedEntity class_uri: crm:E27_Site annotations: - custodian_types: ["F"] + custodian_types: '["F"]' custodian_types_rationale: "FeaturePlace represents physical heritage features (monuments, statues) - maps to FEATURES type" description: | Physical feature type classification for nominal place references. diff --git a/schemas/20251121/linkml/modules/classes/GalleryType.yaml b/schemas/20251121/linkml/modules/classes/GalleryType.yaml index ff7506f748..d12fe2764a 100644 --- a/schemas/20251121/linkml/modules/classes/GalleryType.yaml +++ b/schemas/20251121/linkml/modules/classes/GalleryType.yaml @@ -205,7 +205,7 @@ classes: - aat:300240058 # nonprofit galleries annotations: - custodian_types: ["G"] + custodian_types: '["G"]' custodian_types_rationale: "GalleryType is specific to galleries - art exhibition spaces (commercial and non-commercial)" comments: diff --git a/schemas/20251121/linkml/modules/classes/HeritageSocietyType.yaml b/schemas/20251121/linkml/modules/classes/HeritageSocietyType.yaml index e8708ab610..38e02c5995 100644 --- a/schemas/20251121/linkml/modules/classes/HeritageSocietyType.yaml +++ b/schemas/20251121/linkml/modules/classes/HeritageSocietyType.yaml @@ -57,7 +57,7 @@ classes: is_a: CustodianType class_uri: skos:Concept annotations: - custodian_types: ["S"] + custodian_types: '["S"]' custodian_types_rationale: "HeritageSocietyType represents collecting societies and heritage associations - maps to COLLECTING_SOCIETY type (S)" description: | Heritage societies, historical associations, and collecting societies that preserve diff --git a/schemas/20251121/linkml/modules/classes/HolySacredSiteType.yaml b/schemas/20251121/linkml/modules/classes/HolySacredSiteType.yaml index 095710fb11..fae29ba175 100644 --- a/schemas/20251121/linkml/modules/classes/HolySacredSiteType.yaml +++ b/schemas/20251121/linkml/modules/classes/HolySacredSiteType.yaml @@ -222,7 +222,7 @@ classes: ``` annotations: - custodian_types: ["H"] + custodian_types: '["H"]' custodian_types_rationale: "HolySacredSiteType is specific to religious sites managing heritage collections (churches, temples, mosques, synagogues)" exact_mappings: diff --git a/schemas/20251121/linkml/modules/classes/Institution.yaml b/schemas/20251121/linkml/modules/classes/Institution.yaml index f6824b29c5..000df890ca 100644 --- a/schemas/20251121/linkml/modules/classes/Institution.yaml +++ b/schemas/20251121/linkml/modules/classes/Institution.yaml @@ -20,15 +20,14 @@ classes: annotations: custodian_types: '["*"]' custodian_types_rationale: "Institution is a broad category encompassing all heritage custodian types." + skos:prefLabel: "Institution" + skos:altLabel: "Institution, institución, institution sociale" + organizational_level: "broad category" slots: - wikidata_entity slot_usage: wikidata_entity: equals_string: "Q178706" - annotations: - skos:prefLabel: "Institution" - skos:altLabel: "Institution, institución, institution sociale" - organizational_level: "broad category" see_also: - Organization - MemoryInstitution diff --git a/schemas/20251121/linkml/modules/classes/IntangibleHeritageForm.yaml b/schemas/20251121/linkml/modules/classes/IntangibleHeritageForm.yaml index b26a8aa9b7..0154ab4261 100644 --- a/schemas/20251121/linkml/modules/classes/IntangibleHeritageForm.yaml +++ b/schemas/20251121/linkml/modules/classes/IntangibleHeritageForm.yaml @@ -32,7 +32,7 @@ classes: IntangibleHeritageForm: class_uri: crm:E28_Conceptual_Object annotations: - custodian_types: ["I"] + custodian_types: '["I"]' custodian_types_rationale: "IntangibleHeritageForm represents intangible cultural heritage practices - maps exclusively to INTANGIBLE_HERITAGE_GROUP type (I)" description: | A recognized intangible cultural heritage practice, tradition, or expression. diff --git a/schemas/20251121/linkml/modules/classes/IntangibleHeritageGroupType.yaml b/schemas/20251121/linkml/modules/classes/IntangibleHeritageGroupType.yaml index 878db91480..96b18bf486 100644 --- a/schemas/20251121/linkml/modules/classes/IntangibleHeritageGroupType.yaml +++ b/schemas/20251121/linkml/modules/classes/IntangibleHeritageGroupType.yaml @@ -182,7 +182,7 @@ classes: ``` annotations: - custodian_types: ["I"] + custodian_types: '["I"]' custodian_types_rationale: "IntangibleHeritageGroupType is specific to organizations preserving intangible cultural heritage (performing arts, traditional crafts, oral traditions)" exact_mappings: diff --git a/schemas/20251121/linkml/modules/classes/LibraryType.yaml b/schemas/20251121/linkml/modules/classes/LibraryType.yaml index b02b7a4d2d..2ec978c59c 100644 --- a/schemas/20251121/linkml/modules/classes/LibraryType.yaml +++ b/schemas/20251121/linkml/modules/classes/LibraryType.yaml @@ -180,7 +180,7 @@ classes: - dcterms:BibliographicResource annotations: - custodian_types: ["L"] + custodian_types: '["L"]' custodian_types_rationale: "LibraryType is specific to libraries - institutions collecting and providing access to published materials" comments: diff --git a/schemas/20251121/linkml/modules/classes/LiteraryArchive.yaml b/schemas/20251121/linkml/modules/classes/LiteraryArchive.yaml index 5d455e3318..a6ecaef583 100644 --- a/schemas/20251121/linkml/modules/classes/LiteraryArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/LiteraryArchive.yaml @@ -26,7 +26,7 @@ classes: wikidata_entity: equals_string: "Q28607652" annotations: - custodian_types: ["A"] + custodian_types: '["A"]' custodian_types_rationale: "LiteraryArchive is a specialized archive type for literary works and author papers - maps to ARCHIVE type (A)" skos:prefLabel: "Literary Archive" skos:altLabel: "Literaturarchiv, archivo literario, archives littéraires, Author Archive" diff --git a/schemas/20251121/linkml/modules/classes/LocalHeritageInstitutionSweden.yaml b/schemas/20251121/linkml/modules/classes/LocalHeritageInstitutionSweden.yaml index 8fc4059e3a..5c6fdc2270 100644 --- a/schemas/20251121/linkml/modules/classes/LocalHeritageInstitutionSweden.yaml +++ b/schemas/20251121/linkml/modules/classes/LocalHeritageInstitutionSweden.yaml @@ -20,16 +20,15 @@ classes: annotations: custodian_types: '["X"]' custodian_types_rationale: "Swedish local heritage institution is often mixed type (X)." + skos:prefLabel: "Local Heritage Institution (Sweden)" + skos:altLabel: "Hembygdsgård, Heimatmuseen in Schweden, Swedish Local Heritage Museum" + geographic_restriction: "Sweden only" + institutional_context: "local heritage association" slots: - wikidata_entity slot_usage: wikidata_entity: equals_string: "Q10520688" - annotations: - skos:prefLabel: "Local Heritage Institution (Sweden)" - skos:altLabel: "Hembygdsgård, Heimatmuseen in Schweden, Swedish Local Heritage Museum" - geographic_restriction: "Sweden only" - institutional_context: "local heritage association" see_also: - LocalHistoryArchive - HeritageSocietyType diff --git a/schemas/20251121/linkml/modules/classes/LocationLibrary.yaml b/schemas/20251121/linkml/modules/classes/LocationLibrary.yaml index 9aaedfd96b..c629c3d4da 100644 --- a/schemas/20251121/linkml/modules/classes/LocationLibrary.yaml +++ b/schemas/20251121/linkml/modules/classes/LocationLibrary.yaml @@ -20,15 +20,14 @@ classes: annotations: custodian_types: '["L"]' custodian_types_rationale: "Location library is a library type (L)." + skos:prefLabel: "Location Library" + skos:altLabel: "biblioteca de localizaciones, Film Location Library, Location Database, Scouting Library" + subject_domain: "film/photography production" slots: - wikidata_entity slot_usage: wikidata_entity: equals_string: "Q6664811" - annotations: - skos:prefLabel: "Location Library" - skos:altLabel: "biblioteca de localizaciones, Film Location Library, Location Database, Scouting Library" - subject_domain: "film/photography production" see_also: - FilmArchive - PhotoArchive diff --git a/schemas/20251121/linkml/modules/classes/MemoryInstitution.yaml b/schemas/20251121/linkml/modules/classes/MemoryInstitution.yaml index 0d8bd896af..b7cf6749be 100644 --- a/schemas/20251121/linkml/modules/classes/MemoryInstitution.yaml +++ b/schemas/20251121/linkml/modules/classes/MemoryInstitution.yaml @@ -20,15 +20,14 @@ classes: annotations: custodian_types: '["*"]' custodian_types_rationale: "Memory institution is an umbrella term for all GLAM types (G, L, A, M, etc.)." + skos:prefLabel: "Memory Institution" + skos:altLabel: "Gedächtnisinstitution, institución del patrimonio, institution patrimoniale, Heritage Institution, Cultural Memory Institution" + sector_term: "yes" slots: - wikidata_entity slot_usage: wikidata_entity: equals_string: "Q1497649" - annotations: - skos:prefLabel: "Memory Institution" - skos:altLabel: "Gedächtnisinstitution, institución del patrimonio, institution patrimoniale, Heritage Institution, Cultural Memory Institution" - sector_term: "yes" see_also: - GLAM - CulturalInstitution diff --git a/schemas/20251121/linkml/modules/classes/MixedCustodianType.yaml b/schemas/20251121/linkml/modules/classes/MixedCustodianType.yaml index edc8c629a3..2615404b17 100644 --- a/schemas/20251121/linkml/modules/classes/MixedCustodianType.yaml +++ b/schemas/20251121/linkml/modules/classes/MixedCustodianType.yaml @@ -173,7 +173,7 @@ classes: ``` annotations: - custodian_types: ["X"] + custodian_types: '["X"]' custodian_types_rationale: "MixedCustodianType is for institutions operating as multiple types simultaneously (e.g., combined museum/archive/library)" exact_mappings: diff --git a/schemas/20251121/linkml/modules/classes/MonasteryArchive.yaml b/schemas/20251121/linkml/modules/classes/MonasteryArchive.yaml index 48d1315423..118ba4966b 100644 --- a/schemas/20251121/linkml/modules/classes/MonasteryArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/MonasteryArchive.yaml @@ -26,7 +26,7 @@ classes: wikidata_entity: equals_string: "Q27030561" annotations: - custodian_types: ["A", "H"] + custodian_types: '["A", "H"]' custodian_types_rationale: "MonasteryArchive serves dual roles - as an ARCHIVE (A) for monastic records and as part of a HOLY_SITE (H) religious community" skos:prefLabel: "Monastery Archive" skos:altLabel: "Klosterarchiv, archivo monástico, Monastic Archive, Abbey Archive" diff --git a/schemas/20251121/linkml/modules/classes/MuseumType.yaml b/schemas/20251121/linkml/modules/classes/MuseumType.yaml index 564f07f734..907d2f7f84 100644 --- a/schemas/20251121/linkml/modules/classes/MuseumType.yaml +++ b/schemas/20251121/linkml/modules/classes/MuseumType.yaml @@ -173,7 +173,7 @@ classes: - crm:E7_Activity annotations: - custodian_types: ["M"] + custodian_types: '["M"]' custodian_types_rationale: "MuseumType represents museum organizations - maps exclusively to MUSEUM type (M)" comments: diff --git a/schemas/20251121/linkml/modules/classes/MusicArchive.yaml b/schemas/20251121/linkml/modules/classes/MusicArchive.yaml index c004ac9c2f..a460382c08 100644 --- a/schemas/20251121/linkml/modules/classes/MusicArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/MusicArchive.yaml @@ -25,7 +25,7 @@ classes: wikidata_entity: equals_string: "Q53759838" annotations: - custodian_types: ["A"] + custodian_types: '["A"]' custodian_types_rationale: "MusicArchive is a specialized archive type for music recordings and documents - maps to ARCHIVE type (A)" skos:prefLabel: "Music Archive" skos:altLabel: "Musikarchiv, archivo musical, archives musicales" diff --git a/schemas/20251121/linkml/modules/classes/NonProfitType.yaml b/schemas/20251121/linkml/modules/classes/NonProfitType.yaml index 51fd644b66..9ac82c07df 100644 --- a/schemas/20251121/linkml/modules/classes/NonProfitType.yaml +++ b/schemas/20251121/linkml/modules/classes/NonProfitType.yaml @@ -32,7 +32,7 @@ classes: is_a: CustodianType class_uri: skos:Concept annotations: - custodian_types: ["N"] + custodian_types: '["N"]' custodian_types_rationale: "NonProfitType represents heritage-focused NGOs and non-profit organizations - maps to NGO type (N)" description: | Specialized custodian type for non-profit heritage organizations that don't diff --git a/schemas/20251121/linkml/modules/classes/PerformingArtsArchive.yaml b/schemas/20251121/linkml/modules/classes/PerformingArtsArchive.yaml index 573108360e..d66c262070 100644 --- a/schemas/20251121/linkml/modules/classes/PerformingArtsArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/PerformingArtsArchive.yaml @@ -25,7 +25,7 @@ classes: wikidata_entity: equals_string: "Q27030945" annotations: - custodian_types: ["A"] + custodian_types: '["A"]' custodian_types_rationale: "PerformingArtsArchive is a specialized archive for performing arts materials - maps to ARCHIVE type (A)" skos:prefLabel: "Performing Arts Archive" skos:altLabel: "Archiv für darstellende Kunst, archives des arts de la scène, Theater Archive, Dance Archive" diff --git a/schemas/20251121/linkml/modules/classes/PersonObservation.yaml b/schemas/20251121/linkml/modules/classes/PersonObservation.yaml index 68e4383330..0286457e70 100644 --- a/schemas/20251121/linkml/modules/classes/PersonObservation.yaml +++ b/schemas/20251121/linkml/modules/classes/PersonObservation.yaml @@ -2,10 +2,36 @@ id: https://nde.nl/ontology/hc/class/PersonObservation name: PersonObservation title: Person Observation (Staff Role Context) +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + schema: http://schema.org/ + pico: https://personsincontext.org/model# + pnv: https://w3id.org/pnv# + crm: http://www.cidoc-crm.org/cidoc-crm/ + foaf: http://xmlns.com/foaf/0.1/ + prov: http://www.w3.org/ns/prov# + dcterms: http://purl.org/dc/terms/ + sdo: https://schema.org/ + imports: - linkml:types - ../slots/contact_email + - ../slots/has_person_name + - ../slots/birth_date + - ../slots/birth_place + - ../slots/death_place + - ../slots/date_of_death + - ../slots/deceased + - ../slots/age + - ../slots/occupation + - ../slots/religion + - ../slots/gender_identity + - ../slots/pronouns + - ../slots/extraction_metadata - ./PersonWebClaim + - ./PersonName + - ./ExtractionMetadata classes: PersonObservation: @@ -99,8 +125,22 @@ classes: - foaf:Person - prov:Agent slots: + # Identity slots - id - person_name + - has_person_name + # Biographical slots (PiCo-aligned) + - birth_date + - birth_place + - death_place + - date_of_death + - deceased + - age + - occupation + - religion + - gender_identity + - pronouns + # Staff role slots (institutional context) - staff_role - role_title - unit_affiliation @@ -110,9 +150,11 @@ classes: - affected_by_event - contact_email - expertise_areas + # Provenance slots - web_claims - linkedin_profile_path - linkedin_profile_url + - extraction_metadata - created - modified slot_usage: @@ -148,6 +190,177 @@ classes: range: string required: true + has_person_name: + slot_uri: pnv:hasName + description: | + Structured name following Person Name Vocabulary (PNV). + + **Use alongside person_name** for both quick access (string) and + structured parsing (PNV components). + + **Essential for Dutch names** with tussenvoegsels (van, de, van der, etc.) + to enable proper alphabetical sorting by base_surname. + + **See**: modules/classes/PersonName.yaml for full PNV structure + **See**: modules/slots/has_person_name.yaml for detailed documentation + range: PersonName + required: false + inlined: true + + # ========================================================================= + # BIOGRAPHICAL SLOTS (PiCo-aligned) + # ========================================================================= + # These slots capture biographical information about the person. + # They follow the PiCo (Persons in Context) pattern where: + # - PersonObservation = data as found in source (evidence-based) + # - PersonReconstruction = aggregated identity from multiple observations + # + # In staff context, biographical data may come from: + # - Institutional biographical notes + # - Staff directory pages + # - LinkedIn profiles + # - Obituaries or memorial pages + # ========================================================================= + + birth_date: + slot_uri: sdo:birthDate + description: | + Date of birth as recorded in source. + + **Format**: ISO 8601 date (YYYY-MM-DD) OR string for approximate dates. + + **PiCo Pattern**: Records date as mentioned in source, may be imprecise. + + **Examples**: + - "1970-08-15" (precise) + - "1970" (year only) + - "ca. 1750" (approximate, string format) + + **See**: modules/slots/birth_date.yaml for detailed documentation + range: string + required: false + + birth_place: + slot_uri: sdo:birthPlace + description: | + Place of birth as recorded in source. + + **Format**: String (place name) OR URI (GeoNames, Wikidata). + + **Examples**: + - "Amsterdam, Noord-Holland, Netherlands" + - "http://sws.geonames.org/2759794/" + + **See**: modules/slots/birth_place.yaml for detailed documentation + range: string + required: false + + death_place: + slot_uri: sdo:deathPlace + description: | + Place of death as recorded in source. + + **Format**: String (place name) OR URI (GeoNames, Wikidata). + + **Holocaust/Conflict**: May include concentration camps, conflict zones. + + **See**: modules/slots/death_place.yaml for detailed documentation + range: string + required: false + + date_of_death: + slot_uri: sdo:deathDate + description: | + Date of death (uses TimeSpan for fuzzy dates). + + **Pre-existing slot**: See modules/slots/date_of_death.yaml + range: TimeSpan + required: false + + deceased: + slot_uri: schema:deathDate + description: | + Boolean flag indicating person is known to be deceased. + + **Use Case**: Mark deceased without knowing exact date. + + **Pre-existing slot**: See modules/slots/deceased.yaml + range: boolean + required: false + + age: + slot_uri: pico:hasAge + description: | + Age as recorded in source (when birth_date unknown). + + **Format**: String (allows "4" or "4 months" or "approximately 40"). + + **Derivation**: Combined with source date to infer birth_date range. + + **See**: modules/slots/age.yaml for detailed documentation + range: string + required: false + + occupation: + slot_uri: sdo:hasOccupation + description: | + Occupation/profession as mentioned in source (outside institutional role). + + **Distinction from staff_role**: + - occupation: General profession (e.g., "art historian") + - staff_role: Institutional role class (e.g., Curator) + + **Format**: String (vernacular term) OR URI (Wikidata, HISCO). + + **Multivalued**: Person may have multiple occupations. + + **See**: modules/slots/occupation.yaml for detailed documentation + range: string + multivalued: true + required: false + + religion: + slot_uri: pico:hasReligion + description: | + Religion/worldview as mentioned in source. + + **SENSITIVE DATA**: Handle with appropriate privacy considerations. + + **Format**: String (vernacular term) OR URI (Wikidata). + + **PiCo Pattern**: Records religion as found in historical source. + + **See**: modules/slots/religion.yaml for detailed documentation + range: string + required: false + + gender_identity: + slot_uri: schema:gender + description: | + Gender identity as expressed or recorded. + + **Free-text**: Allows inclusive representation beyond binary. + + **Pre-existing slot**: See modules/slots/gender_identity.yaml + range: string + required: false + + pronouns: + slot_uri: schema:knows + description: | + Pronouns used by or for this person. + + **Multilingual support**: May include Dutch (hij/hem, zij/haar), + English (he/him, she/her, they/them), etc. + + **Pre-existing slot**: See modules/slots/pronouns.yaml + range: string + required: false + + # ========================================================================= + # STAFF ROLE SLOTS (Institutional Context) + # ========================================================================= + staff_role: slot_uri: schema:roleName description: | @@ -435,6 +648,34 @@ classes: range: uri required: false + extraction_metadata: + description: | + Provenance metadata for how this person observation was extracted. + + **PROV-O Alignment**: This slot links the observation (prov:Entity) + to the extraction activity (prov:Activity). + + **Use Case**: Track automated extraction from LinkedIn, web scraping, + or manual data entry. + + **Relationship to Other Provenance**: + - `observation_source`: High-level source document reference + - `web_claims`: Individual verifiable claims with XPath + - `extraction_metadata`: Automated extraction activity provenance + + **Example**: + ```yaml + extraction_metadata: + source_file: data/custodian/person/affiliated/parsed/rijksmuseum_staff.json + extraction_date: "2025-12-12T22:00:00Z" + extraction_method: exa_crawling_exa + extraction_agent: claude-opus-4.5 + cost_usd: 0.001 + ``` + range: ExtractionMetadata + inlined: true + required: false + created: slot_uri: schema:dateCreated description: | diff --git a/schemas/20251121/linkml/modules/classes/PersonalCollectionType.yaml b/schemas/20251121/linkml/modules/classes/PersonalCollectionType.yaml index 921cf21fbf..8c033092b6 100644 --- a/schemas/20251121/linkml/modules/classes/PersonalCollectionType.yaml +++ b/schemas/20251121/linkml/modules/classes/PersonalCollectionType.yaml @@ -169,7 +169,7 @@ classes: ``` annotations: - custodian_types: ["P"] + custodian_types: '["P"]' custodian_types_rationale: "PersonalCollectionType is specific to individual private collectors maintaining personal heritage collections" exact_mappings: diff --git a/schemas/20251121/linkml/modules/classes/PersonalLibrary.yaml b/schemas/20251121/linkml/modules/classes/PersonalLibrary.yaml index 60d7c63867..15e45dbbc3 100644 --- a/schemas/20251121/linkml/modules/classes/PersonalLibrary.yaml +++ b/schemas/20251121/linkml/modules/classes/PersonalLibrary.yaml @@ -20,15 +20,14 @@ classes: annotations: custodian_types: '["L", "P"]' custodian_types_rationale: "Personal library combines library (L) and personal collection (P)." + skos:prefLabel: "Personal Library" + skos:altLabel: "Autorenbibliothek, biblioteca de autor, bibliothèque personnelle, Private Library" + collection_type: "personal collection" slots: - wikidata_entity slot_usage: wikidata_entity: equals_string: "Q106402388" - annotations: - skos:prefLabel: "Personal Library" - skos:altLabel: "Autorenbibliothek, biblioteca de autor, bibliothèque personnelle, Private Library" - collection_type: "personal collection" see_also: - Nachlass - LiteraryArchive diff --git a/schemas/20251121/linkml/modules/classes/PhotoArchive.yaml b/schemas/20251121/linkml/modules/classes/PhotoArchive.yaml index 2621c3e495..bed0f13dde 100644 --- a/schemas/20251121/linkml/modules/classes/PhotoArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/PhotoArchive.yaml @@ -26,7 +26,7 @@ classes: wikidata_entity: equals_string: "Q27032363" annotations: - custodian_types: ["A"] + custodian_types: '["A"]' custodian_types_rationale: "PhotoArchive is a specialized archive type for photographic materials - maps to ARCHIVE type (A)" skos:prefLabel: "Photo Archive" skos:altLabel: "Fotoarchiv, archivo fotográfico, archive photographique, Photograph Archive, Photographic Archive" diff --git a/schemas/20251121/linkml/modules/classes/PhotographCollection.yaml b/schemas/20251121/linkml/modules/classes/PhotographCollection.yaml index 53745c5443..5bf3c3828f 100644 --- a/schemas/20251121/linkml/modules/classes/PhotographCollection.yaml +++ b/schemas/20251121/linkml/modules/classes/PhotographCollection.yaml @@ -19,16 +19,15 @@ classes: annotations: custodian_types: '["A", "M"]' custodian_types_rationale: "Photograph collections are typically in archives (A) or museums (M)." + skos:prefLabel: "Photograph Collection" + skos:altLabel: "Fotosammlung, colección de fotografías, collection de photographies, Photo Collection" + media_type: "photographic" + collection_type: "photographs" slots: - wikidata_entity slot_usage: wikidata_entity: equals_string: "Q130486108" - annotations: - skos:prefLabel: "Photograph Collection" - skos:altLabel: "Fotosammlung, colección de fotografías, collection de photographies, Photo Collection" - media_type: "photographic" - collection_type: "photographs" see_also: - PhotoArchive - IconographicArchives diff --git a/schemas/20251121/linkml/modules/classes/ResearchCenter.yaml b/schemas/20251121/linkml/modules/classes/ResearchCenter.yaml index ea3fc879bc..fb70ec3395 100644 --- a/schemas/20251121/linkml/modules/classes/ResearchCenter.yaml +++ b/schemas/20251121/linkml/modules/classes/ResearchCenter.yaml @@ -29,7 +29,7 @@ classes: is_a: ReconstructedEntity class_uri: schema:ResearchOrganization annotations: - custodian_types: ["R"] + custodian_types: '["R"]' custodian_types_rationale: "ResearchCenter represents research institutes and academic facilities - maps exclusively to RESEARCH_CENTER type (R)" description: | Research center or research facility operated by or affiliated with a heritage custodian. diff --git a/schemas/20251121/linkml/modules/classes/ResearchOrganizationType.yaml b/schemas/20251121/linkml/modules/classes/ResearchOrganizationType.yaml index 584ac16cc9..7774325efb 100644 --- a/schemas/20251121/linkml/modules/classes/ResearchOrganizationType.yaml +++ b/schemas/20251121/linkml/modules/classes/ResearchOrganizationType.yaml @@ -12,7 +12,7 @@ classes: is_a: CustodianType class_uri: skos:Concept annotations: - custodian_types: ["R"] + custodian_types: '["R"]' custodian_types_rationale: "ResearchOrganizationType represents research organizations and institutes - maps to RESEARCH_CENTER type (R)" description: | Specialized custodian type for research organizations - institutions whose diff --git a/schemas/20251121/linkml/modules/classes/SectorOfArchivesInSweden.yaml b/schemas/20251121/linkml/modules/classes/SectorOfArchivesInSweden.yaml index 99e1ea2069..b7176db572 100644 --- a/schemas/20251121/linkml/modules/classes/SectorOfArchivesInSweden.yaml +++ b/schemas/20251121/linkml/modules/classes/SectorOfArchivesInSweden.yaml @@ -23,17 +23,16 @@ classes: annotations: custodian_types: '["A", "O"]' custodian_types_rationale: "Swedish archives sector is an official archive institution (A, O)." - slots: - - wikidata_entity - slot_usage: - wikidata_entity: - equals_string: "Q84171278" - annotations: skos:prefLabel: "Sector of Archives in Sweden" skos:altLabel: "Archivwesen in Schweden, Swedish Archival Sector" geographic_restriction: "Sweden only" custodian_only: "true" sector_term: "yes" + slots: + - wikidata_entity + slot_usage: + wikidata_entity: + equals_string: "Q84171278" see_also: - RegionalStateArchives - Landsarkiv diff --git a/schemas/20251121/linkml/modules/classes/SoundArchive.yaml b/schemas/20251121/linkml/modules/classes/SoundArchive.yaml index 52afe5ec48..7a877a566e 100644 --- a/schemas/20251121/linkml/modules/classes/SoundArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/SoundArchive.yaml @@ -21,7 +21,7 @@ classes: is_a: ArchiveOrganizationType class_uri: skos:Concept annotations: - custodian_types: ["A"] + custodian_types: '["A"]' custodian_types_rationale: "SoundArchive is a specialized archive type for audio materials - maps to ARCHIVE type (A)" wikidata: Q2230431 label_de: "Schallarchiv" diff --git a/schemas/20251121/linkml/modules/classes/SpecialCollection.yaml b/schemas/20251121/linkml/modules/classes/SpecialCollection.yaml index 0c7eaf86e2..96be1d1f70 100644 --- a/schemas/20251121/linkml/modules/classes/SpecialCollection.yaml +++ b/schemas/20251121/linkml/modules/classes/SpecialCollection.yaml @@ -23,6 +23,12 @@ classes: annotations: custodian_types: '["L", "A"]' custodian_types_rationale: "Special collections are typically in libraries (L) or archives (A)." + wikidata: Q4431094 + label_de: "Spezialsammlung" + label_es: "colección especial" + label_fr: "fonds spéciaux" + rico_record_set_type: true + custodian_type: true mixins: - LibraryType slots: @@ -46,13 +52,6 @@ classes: - ManuscriptCollection - MapLibrary - PhotographCollection - annotations: - wikidata: Q4431094 - label_de: "Spezialsammlung" - label_es: "colección especial" - label_fr: "fonds spéciaux" - rico_record_set_type: true - custodian_type: true # rico:RecordSetType for collection classification SpecialCollectionRecordSetType: diff --git a/schemas/20251121/linkml/modules/classes/TasteScentHeritageType.yaml b/schemas/20251121/linkml/modules/classes/TasteScentHeritageType.yaml index 347f6e7dd9..4f7d966916 100644 --- a/schemas/20251121/linkml/modules/classes/TasteScentHeritageType.yaml +++ b/schemas/20251121/linkml/modules/classes/TasteScentHeritageType.yaml @@ -180,7 +180,7 @@ classes: ``` annotations: - custodian_types: ["T"] + custodian_types: '["T"]' custodian_types_rationale: "TasteScentHeritageType is specific to culinary and olfactory heritage institutions (historic breweries, perfume houses, artisanal food producers)" exact_mappings: diff --git a/schemas/20251121/linkml/modules/classes/TentativeWorldHeritageSite.yaml b/schemas/20251121/linkml/modules/classes/TentativeWorldHeritageSite.yaml index 57caabac02..b334ab8696 100644 --- a/schemas/20251121/linkml/modules/classes/TentativeWorldHeritageSite.yaml +++ b/schemas/20251121/linkml/modules/classes/TentativeWorldHeritageSite.yaml @@ -25,6 +25,12 @@ classes: annotations: custodian_types: '["F"]' custodian_types_rationale: "Tentative World Heritage Site is a feature/monument type (F)." + wikidata: Q1459900 + label_de: "Tentativliste" + label_es: "lista indicativa del Patrimonio de la Humanidad" + label_fr: "liste indicative du patrimoine mondial" + custodian_only: true + rico_record_set_type: false slots: - wikidata_entity slot_usage: @@ -47,10 +53,3 @@ classes: - WorldHeritageSite - NationalTreasure - NationalTreasureOfFrance - annotations: - wikidata: Q1459900 - label_de: "Tentativliste" - label_es: "lista indicativa del Patrimonio de la Humanidad" - label_fr: "liste indicative du patrimoine mondial" - custodian_only: true - rico_record_set_type: false diff --git a/schemas/20251121/linkml/modules/classes/TimeSpan.yaml b/schemas/20251121/linkml/modules/classes/TimeSpan.yaml index 823082a96f..042fe11b1a 100644 --- a/schemas/20251121/linkml/modules/classes/TimeSpan.yaml +++ b/schemas/20251121/linkml/modules/classes/TimeSpan.yaml @@ -5,9 +5,59 @@ id: https://nde.nl/ontology/hc/class/TimeSpan name: timespan_class title: TimeSpan Class +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + schema: http://schema.org/ + crm: http://www.cidoc-crm.org/cidoc-crm/ + time: http://www.w3.org/2006/time# + xsd: http://www.w3.org/2001/XMLSchema# + imports: - linkml:types - - ../metadata + +default_range: string + +slots: + begin_of_the_begin: + slot_uri: crm:P82a_begin_of_the_begin + description: | + Earliest possible start time of the time-span. + CIDOC-CRM: Outer bound of the time-span's beginning. + range: datetime + examples: + - value: "1800-01-01T00:00:00Z" + description: "Earliest possible founding date" + + end_of_the_begin: + slot_uri: crm:P81a_end_of_the_begin + description: | + Latest possible start time of the time-span. + CIDOC-CRM: Inner bound of the time-span's beginning. + range: datetime + examples: + - value: "1805-12-31T23:59:59Z" + description: "Latest possible founding date" + + begin_of_the_end: + slot_uri: crm:P81b_begin_of_the_end + description: | + Earliest possible end time of the time-span. + CIDOC-CRM: Inner bound of the time-span's ending. + range: datetime + examples: + - value: "1950-01-01T00:00:00Z" + description: "Earliest possible closure date" + + end_of_the_end: + slot_uri: crm:P82b_end_of_the_end + description: | + Latest possible end time of the time-span. + CIDOC-CRM: Outer bound of the time-span's ending. + range: datetime + examples: + - value: "1955-12-31T23:59:59Z" + description: "Latest possible closure date" classes: @@ -47,44 +97,6 @@ classes: - begin_of_the_end - end_of_the_end - slot_usage: - begin_of_the_begin: - slot_uri: crm:P82a_begin_of_the_begin - description: | - Earliest possible start time of the time-span. - CIDOC-CRM: Outer bound of the time-span's beginning. - range: datetime - examples: - - value: "1800-01-01T00:00:00Z" - description: "Earliest possible founding date" - end_of_the_begin: - slot_uri: crm:P81a_end_of_the_begin - description: | - Latest possible start time of the time-span. - CIDOC-CRM: Inner bound of the time-span's beginning. - range: datetime - examples: - - value: "1805-12-31T23:59:59Z" - description: "Latest possible founding date" - begin_of_the_end: - slot_uri: crm:P81b_begin_of_the_end - description: | - Earliest possible end time of the time-span. - CIDOC-CRM: Inner bound of the time-span's ending. - range: datetime - examples: - - value: "1950-01-01T00:00:00Z" - description: "Earliest possible closure date" - end_of_the_end: - slot_uri: crm:P82b_end_of_the_end - description: | - Latest possible end time of the time-span. - CIDOC-CRM: Outer bound of the time-span's ending. - range: datetime - examples: - - value: "1955-12-31T23:59:59Z" - description: "Latest possible closure date" - comments: - "Handles temporal uncertainty common in heritage contexts" - "Precise dates: Set begin_of_the_begin == end_of_the_begin (and same for end)" diff --git a/schemas/20251121/linkml/modules/classes/VirtualMapLibrary.yaml b/schemas/20251121/linkml/modules/classes/VirtualMapLibrary.yaml index 4e849cdb27..63906fdcb1 100644 --- a/schemas/20251121/linkml/modules/classes/VirtualMapLibrary.yaml +++ b/schemas/20251121/linkml/modules/classes/VirtualMapLibrary.yaml @@ -24,6 +24,11 @@ classes: annotations: custodian_types: '["L", "D"]' custodian_types_rationale: "Virtual map library combines library (L) and digital platform (D)." + wikidata: Q5995078 + label_de: "Virtuelle Kartenbibliothek" + label_es: "Mapoteca virtual" + rico_record_set_type: true + custodian_type: true mixins: - DigitalPlatformType - LibraryType @@ -49,12 +54,6 @@ classes: - DigitalArchive - DigitalLibrary - GeographicInformationSystem - annotations: - wikidata: Q5995078 - label_de: "Virtuelle Kartenbibliothek" - label_es: "Mapoteca virtual" - rico_record_set_type: true - custodian_type: true # rico:RecordSetType for collection classification VirtualMapLibraryRecordSetType: diff --git a/schemas/20251121/linkml/modules/classes/WorldHeritageSite.yaml b/schemas/20251121/linkml/modules/classes/WorldHeritageSite.yaml index 3dcf9de7f0..6b79928f2f 100644 --- a/schemas/20251121/linkml/modules/classes/WorldHeritageSite.yaml +++ b/schemas/20251121/linkml/modules/classes/WorldHeritageSite.yaml @@ -25,6 +25,12 @@ classes: annotations: custodian_types: '["F"]' custodian_types_rationale: "World Heritage Site is a feature/monument type (F)." + wikidata: Q9259 + label_de: "UNESCO-Welterbe" + label_es: "Patrimonio de la Humanidad" + label_fr: "patrimoine mondial" + custodian_only: true + rico_record_set_type: false slots: - wikidata_entity slot_usage: @@ -52,10 +58,3 @@ classes: - NationalTreasure - NationalTreasureOfFrance - MemoryInstitution - annotations: - wikidata: Q9259 - label_de: "UNESCO-Welterbe" - label_es: "Patrimonio de la Humanidad" - label_fr: "patrimoine mondial" - custodian_only: true - rico_record_set_type: false diff --git a/schemas/20251121/linkml/modules/slots/manifest.json b/schemas/20251121/linkml/modules/slots/manifest.json index f50c137a6a..c1ce6c4503 100644 --- a/schemas/20251121/linkml/modules/slots/manifest.json +++ b/schemas/20251121/linkml/modules/slots/manifest.json @@ -7,6 +7,7 @@ "affected_units.yaml", "affects_organization.yaml", "affiliation.yaml", + "age.yaml", "agent_name.yaml", "agent_type.yaml", "allocated_by.yaml", @@ -17,6 +18,9 @@ "alternative_observed_names.yaml", "altitude.yaml", "api_endpoint.yaml", + "base_surname.yaml", + "birth_date.yaml", + "birth_place.yaml", "appellation_language.yaml", "appellation_type.yaml", "appellation_value.yaml", @@ -52,6 +56,7 @@ "custodian_type.yaml", "custodians.yaml", "data_license_policy.yaml", + "death_place.yaml", "defined_by_standard.yaml", "derived_from_entity.yaml", "description.yaml", @@ -80,6 +85,7 @@ "generates.yaml", "geographic_scope.yaml", "geonames_id.yaml", + "given_name.yaml", "governance_structure.yaml", "has_collection.yaml", "has_derived_observation.yaml", @@ -87,6 +93,7 @@ "has_geospatial_location.yaml", "has_member.yaml", "has_observation.yaml", + "has_person_name.yaml", "has_suborganization.yaml", "has_unit.yaml", "hc_id.yaml", @@ -98,6 +105,7 @@ "identifiers.yaml", "identifies_custodian.yaml", "identifies.yaml", + "initials.yaml", "is_legal_status_of.yaml", "is_member_of.yaml", "jurisdiction.yaml", @@ -114,6 +122,7 @@ "legal_responsibility_end_date.yaml", "legal_responsibility_start_date.yaml", "legal_status.yaml", + "literal_name.yaml", "located_at.yaml", "longitude.yaml", "managed_by.yaml", @@ -124,12 +133,14 @@ "modified.yaml", "name_authority.yaml", "name_language.yaml", + "name_specification.yaml", "name_validity_period.yaml", "oai_pmh_endpoint.yaml", "observation_context.yaml", "observation_date.yaml", "observation_source.yaml", "observed_name.yaml", + "occupation.yaml", "operated_by.yaml", "operates.yaml", "organizational_change_events.yaml", @@ -137,6 +148,7 @@ "organizational_structures.yaml", "parent_custodian.yaml", "parent_unit.yaml", + "patronym.yaml", "person_name.yaml", "place_designation.yaml", "place_language.yaml", @@ -158,6 +170,7 @@ "registration_authority.yaml", "registration_date.yaml", "registration_numbers.yaml", + "religion.yaml", "responsible_agent.yaml", "responsible_legal_entity.yaml", "resulting_units.yaml", @@ -185,6 +198,7 @@ "subregion.yaml", "superseded_by.yaml", "supersedes.yaml", + "surname_prefix.yaml", "technology_stack.yaml", "temporal_coverage.yaml", "temporal_extent.yaml",