From a4184cb805daa88ed26082e9df504ab748e8bccd Mon Sep 17 00:00:00 2001 From: kempersc Date: Sat, 10 Jan 2026 21:45:02 +0100 Subject: [PATCH] feat(infra): add webhook-based schema deployment pipeline - Add FastAPI webhook receiver for Forgejo push events - Add setup script for server deployment - Add Caddy snippet for webhook endpoint - Add local sync-schemas.sh helper script - Sync frontend schemas with source (archived deprecated slots) Infrastructure scripts staged for optional webhook deployment. Current deployment uses: ./infrastructure/deploy.sh --frontend --- ...epts_external_work_archived_20260110.yaml} | 0 ...ts_payment_methods_archived_20260110.yaml} | 0 ..._visiting_scholars_archived_20260110.yaml} | 0 .../slots/access_archived_20260110.yaml} | 0 .../access_policy_ref_archived_20260110.yaml} | 0 .../schemas/20251121/linkml/manifest.json | 3921 ++++++++--------- .../modules/classes/ArchiveReference.yaml | 4 +- .../linkml/modules/classes/Collection.yaml | 10 +- .../modules/classes/ConservationLab.yaml | 8 +- .../linkml/modules/classes/FindingAid.yaml | 4 +- .../linkml/modules/classes/GiftShop.yaml | 6 +- .../modules/classes/ResearchCenter.yaml | 8 +- ...> has_or_had_access_policy_reference.yaml} | 15 +- infrastructure/caddy/webhook-snippet.txt | 16 + infrastructure/scripts/deploy-webhook.py | 262 ++ .../scripts/setup-deploy-webhook.sh | 133 + infrastructure/sync-schemas.sh | 32 + infrastructure/systemd/deploy-webhook.service | 25 + 18 files changed, 2368 insertions(+), 2076 deletions(-) rename frontend/public/schemas/20251121/linkml/{modules/slots/accepts_external_work.yaml => archive/slots/accepts_external_work_archived_20260110.yaml} (100%) rename frontend/public/schemas/20251121/linkml/{modules/slots/accepts_payment_methods.yaml => archive/slots/accepts_payment_methods_archived_20260110.yaml} (100%) rename frontend/public/schemas/20251121/linkml/{modules/slots/accepts_visiting_scholars.yaml => archive/slots/accepts_visiting_scholars_archived_20260110.yaml} (100%) rename frontend/public/schemas/20251121/linkml/{modules/slots/access.yaml => archive/slots/access_archived_20260110.yaml} (100%) rename frontend/public/schemas/20251121/linkml/{modules/slots/access_policy_ref.yaml => archive/slots/access_policy_ref_archived_20260110.yaml} (100%) rename frontend/public/schemas/20251121/linkml/modules/slots/{has_access_policy_reference.yaml => has_or_had_access_policy_reference.yaml} (62%) create mode 100644 infrastructure/caddy/webhook-snippet.txt create mode 100644 infrastructure/scripts/deploy-webhook.py create mode 100755 infrastructure/scripts/setup-deploy-webhook.sh create mode 100755 infrastructure/sync-schemas.sh create mode 100644 infrastructure/systemd/deploy-webhook.service diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/accepts_external_work.yaml b/frontend/public/schemas/20251121/linkml/archive/slots/accepts_external_work_archived_20260110.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/accepts_external_work.yaml rename to frontend/public/schemas/20251121/linkml/archive/slots/accepts_external_work_archived_20260110.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/accepts_payment_methods.yaml b/frontend/public/schemas/20251121/linkml/archive/slots/accepts_payment_methods_archived_20260110.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/accepts_payment_methods.yaml rename to frontend/public/schemas/20251121/linkml/archive/slots/accepts_payment_methods_archived_20260110.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/accepts_visiting_scholars.yaml b/frontend/public/schemas/20251121/linkml/archive/slots/accepts_visiting_scholars_archived_20260110.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/accepts_visiting_scholars.yaml rename to frontend/public/schemas/20251121/linkml/archive/slots/accepts_visiting_scholars_archived_20260110.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/access.yaml b/frontend/public/schemas/20251121/linkml/archive/slots/access_archived_20260110.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/access.yaml rename to frontend/public/schemas/20251121/linkml/archive/slots/access_archived_20260110.yaml diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/access_policy_ref.yaml b/frontend/public/schemas/20251121/linkml/archive/slots/access_policy_ref_archived_20260110.yaml similarity index 100% rename from frontend/public/schemas/20251121/linkml/modules/slots/access_policy_ref.yaml rename to frontend/public/schemas/20251121/linkml/archive/slots/access_policy_ref_archived_20260110.yaml diff --git a/frontend/public/schemas/20251121/linkml/manifest.json b/frontend/public/schemas/20251121/linkml/manifest.json index 1b5f39546a..8aceca4445 100644 --- a/frontend/public/schemas/20251121/linkml/manifest.json +++ b/frontend/public/schemas/20251121/linkml/manifest.json @@ -1,5 +1,5 @@ { - "generated": "2026-01-10T17:17:56.765Z", + "generated": "2026-01-09T08:44:15.000Z", "version": "1.0.0", "categories": [ { @@ -312,11 +312,6 @@ "path": "modules/classes/CertificationEntry.yaml", "category": "classes" }, - { - "name": "Chairperson", - "path": "modules/classes/Chairperson.yaml", - "category": "classes" - }, { "name": "ChAnnotatorAnnotationMetadata", "path": "modules/classes/ChAnnotatorAnnotationMetadata.yaml", @@ -357,6 +352,11 @@ "path": "modules/classes/ChAnnotatorProvenance.yaml", "category": "classes" }, + { + "name": "Chairperson", + "path": "modules/classes/Chairperson.yaml", + "category": "classes" + }, { "name": "ChurchArchive", "path": "modules/classes/ChurchArchive.yaml", @@ -423,13 +423,13 @@ "category": "classes" }, { - "name": "CollectionsManager", - "path": "modules/classes/CollectionsManager.yaml", + "name": "CollectionType", + "path": "modules/classes/CollectionType.yaml", "category": "classes" }, { - "name": "CollectionType", - "path": "modules/classes/CollectionType.yaml", + "name": "CollectionsManager", + "path": "modules/classes/CollectionsManager.yaml", "category": "classes" }, { @@ -722,6 +722,11 @@ "path": "modules/classes/Department.yaml", "category": "classes" }, + { + "name": "DepartmentHead", + "path": "modules/classes/DepartmentHead.yaml", + "category": "classes" + }, { "name": "DepartmentalArchives", "path": "modules/classes/DepartmentalArchives.yaml", @@ -732,11 +737,6 @@ "path": "modules/classes/DepartmentalArchivesRecordSetTypes.yaml", "category": "classes" }, - { - "name": "DepartmentHead", - "path": "modules/classes/DepartmentHead.yaml", - "category": "classes" - }, { "name": "DepositArchive", "path": "modules/classes/DepositArchive.yaml", @@ -998,13 +998,13 @@ "category": "classes" }, { - "name": "FeaturedCard", - "path": "modules/classes/FeaturedCard.yaml", + "name": "FeaturePlace", + "path": "modules/classes/FeaturePlace.yaml", "category": "classes" }, { - "name": "FeaturePlace", - "path": "modules/classes/FeaturePlace.yaml", + "name": "FeaturedCard", + "path": "modules/classes/FeaturedCard.yaml", "category": "classes" }, { @@ -1107,6 +1107,11 @@ "path": "modules/classes/Fylkesarkiv.yaml", "category": "classes" }, + { + "name": "GLAM", + "path": "modules/classes/GLAM.yaml", + "category": "classes" + }, { "name": "GalleryType", "path": "modules/classes/GalleryType.yaml", @@ -1128,13 +1133,13 @@ "category": "classes" }, { - "name": "GeographicCoverage", - "path": "modules/classes/GeographicCoverage.yaml", + "name": "GeoSpatialPlace", + "path": "modules/classes/GeoSpatialPlace.yaml", "category": "classes" }, { - "name": "GeoSpatialPlace", - "path": "modules/classes/GeoSpatialPlace.yaml", + "name": "GeographicCoverage", + "path": "modules/classes/GeographicCoverage.yaml", "category": "classes" }, { @@ -1152,11 +1157,6 @@ "path": "modules/classes/GiftShop.yaml", "category": "classes" }, - { - "name": "GLAM", - "path": "modules/classes/GLAM.yaml", - "category": "classes" - }, { "name": "GoogleMapsEnrichment", "path": "modules/classes/GoogleMapsEnrichment.yaml", @@ -1212,6 +1212,11 @@ "path": "modules/classes/Historian.yaml", "category": "classes" }, + { + "name": "HistoricBuilding", + "path": "modules/classes/HistoricBuilding.yaml", + "category": "classes" + }, { "name": "HistoricalArchive", "path": "modules/classes/HistoricalArchive.yaml", @@ -1222,11 +1227,6 @@ "path": "modules/classes/HistoricalArchiveRecordSetTypes.yaml", "category": "classes" }, - { - "name": "HistoricBuilding", - "path": "modules/classes/HistoricBuilding.yaml", - "category": "classes" - }, { "name": "HolySacredSiteType", "path": "modules/classes/HolySacredSiteType.yaml", @@ -1262,6 +1262,16 @@ "path": "modules/classes/HumanResourcesWorker.yaml", "category": "classes" }, + { + "name": "IIPImageServer", + "path": "modules/classes/IIPImageServer.yaml", + "category": "classes" + }, + { + "name": "ITSpecialist", + "path": "modules/classes/ITSpecialist.yaml", + "category": "classes" + }, { "name": "IconographicArchives", "path": "modules/classes/IconographicArchives.yaml", @@ -1282,11 +1292,6 @@ "path": "modules/classes/IdentifierFormat.yaml", "category": "classes" }, - { - "name": "IIPImageServer", - "path": "modules/classes/IIPImageServer.yaml", - "category": "classes" - }, { "name": "InformationCarrier", "path": "modules/classes/InformationCarrier.yaml", @@ -1352,11 +1357,6 @@ "path": "modules/classes/IsilCodeEntry.yaml", "category": "classes" }, - { - "name": "ITSpecialist", - "path": "modules/classes/ITSpecialist.yaml", - "category": "classes" - }, { "name": "Janitor", "path": "modules/classes/Janitor.yaml", @@ -1387,6 +1387,21 @@ "path": "modules/classes/Kustodie.yaml", "category": "classes" }, + { + "name": "LGBTArchive", + "path": "modules/classes/LGBTArchive.yaml", + "category": "classes" + }, + { + "name": "LGBTArchiveRecordSetTypes", + "path": "modules/classes/LGBTArchiveRecordSetTypes.yaml", + "category": "classes" + }, + { + "name": "LLMResponse", + "path": "modules/classes/LLMResponse.yaml", + "category": "classes" + }, { "name": "Landsarkiv", "path": "modules/classes/Landsarkiv.yaml", @@ -1437,16 +1452,6 @@ "path": "modules/classes/LegalResponsibilityCollection.yaml", "category": "classes" }, - { - "name": "LGBTArchive", - "path": "modules/classes/LGBTArchive.yaml", - "category": "classes" - }, - { - "name": "LGBTArchiveRecordSetTypes", - "path": "modules/classes/LGBTArchiveRecordSetTypes.yaml", - "category": "classes" - }, { "name": "Librarian", "path": "modules/classes/Librarian.yaml", @@ -1492,11 +1497,6 @@ "path": "modules/classes/LiteraryArchiveRecordSetTypes.yaml", "category": "classes" }, - { - "name": "LLMResponse", - "path": "modules/classes/LLMResponse.yaml", - "category": "classes" - }, { "name": "LlmVerification", "path": "modules/classes/LlmVerification.yaml", @@ -1542,6 +1542,21 @@ "path": "modules/classes/LocationResolution.yaml", "category": "classes" }, + { + "name": "METSAPI", + "path": "modules/classes/METSAPI.yaml", + "category": "classes" + }, + { + "name": "MLEngineer", + "path": "modules/classes/MLEngineer.yaml", + "category": "classes" + }, + { + "name": "MLOpsEngineer", + "path": "modules/classes/MLOpsEngineer.yaml", + "category": "classes" + }, { "name": "MailingListArchive", "path": "modules/classes/MailingListArchive.yaml", @@ -1597,11 +1612,6 @@ "path": "modules/classes/MergeNote.yaml", "category": "classes" }, - { - "name": "METSAPI", - "path": "modules/classes/METSAPI.yaml", - "category": "classes" - }, { "name": "MilitaryArchive", "path": "modules/classes/MilitaryArchive.yaml", @@ -1622,16 +1632,6 @@ "path": "modules/classes/MixedCustodianType.yaml", "category": "classes" }, - { - "name": "MLEngineer", - "path": "modules/classes/MLEngineer.yaml", - "category": "classes" - }, - { - "name": "MLOpsEngineer", - "path": "modules/classes/MLOpsEngineer.yaml", - "category": "classes" - }, { "name": "MonasteryArchive", "path": "modules/classes/MonasteryArchive.yaml", @@ -1852,6 +1852,11 @@ "path": "modules/classes/Organization.yaml", "category": "classes" }, + { + "name": "OrganizationBranch", + "path": "modules/classes/OrganizationBranch.yaml", + "category": "classes" + }, { "name": "OrganizationalChange", "path": "modules/classes/OrganizationalChange.yaml", @@ -1872,11 +1877,6 @@ "path": "modules/classes/OrganizationalSubdivision.yaml", "category": "classes" }, - { - "name": "OrganizationBranch", - "path": "modules/classes/OrganizationBranch.yaml", - "category": "classes" - }, { "name": "OriginalEntry", "path": "modules/classes/OriginalEntry.yaml", @@ -1977,26 +1977,11 @@ "path": "modules/classes/Person.yaml", "category": "classes" }, - { - "name": "PersonalCollectionType", - "path": "modules/classes/PersonalCollectionType.yaml", - "category": "classes" - }, - { - "name": "PersonalLibrary", - "path": "modules/classes/PersonalLibrary.yaml", - "category": "classes" - }, { "name": "PersonConnection", "path": "modules/classes/PersonConnection.yaml", "category": "classes" }, - { - "name": "Personenstandsarchiv", - "path": "modules/classes/Personenstandsarchiv.yaml", - "category": "classes" - }, { "name": "PersonName", "path": "modules/classes/PersonName.yaml", @@ -2022,6 +2007,21 @@ "path": "modules/classes/PersonWebClaim.yaml", "category": "classes" }, + { + "name": "PersonalCollectionType", + "path": "modules/classes/PersonalCollectionType.yaml", + "category": "classes" + }, + { + "name": "PersonalLibrary", + "path": "modules/classes/PersonalLibrary.yaml", + "category": "classes" + }, + { + "name": "Personenstandsarchiv", + "path": "modules/classes/Personenstandsarchiv.yaml", + "category": "classes" + }, { "name": "PhotoArchive", "path": "modules/classes/PhotoArchive.yaml", @@ -2038,13 +2038,13 @@ "category": "classes" }, { - "name": "PhotographCollection", - "path": "modules/classes/PhotographCollection.yaml", + "name": "PhotoMetadata", + "path": "modules/classes/PhotoMetadata.yaml", "category": "classes" }, { - "name": "PhotoMetadata", - "path": "modules/classes/PhotoMetadata.yaml", + "name": "PhotographCollection", + "path": "modules/classes/PhotographCollection.yaml", "category": "classes" }, { @@ -2172,11 +2172,6 @@ "path": "modules/classes/PublicArchivesInFranceRecordSetTypes.yaml", "category": "classes" }, - { - "name": "PublicationEntry", - "path": "modules/classes/PublicationEntry.yaml", - "category": "classes" - }, { "name": "PublicEngagementSpecialist", "path": "modules/classes/PublicEngagementSpecialist.yaml", @@ -2187,6 +2182,11 @@ "path": "modules/classes/PublicSpace.yaml", "category": "classes" }, + { + "name": "PublicationEntry", + "path": "modules/classes/PublicationEntry.yaml", + "category": "classes" + }, { "name": "RadioArchive", "path": "modules/classes/RadioArchive.yaml", @@ -2332,16 +2332,6 @@ "path": "modules/classes/ResearchCenter.yaml", "category": "classes" }, - { - "name": "Researcher", - "path": "modules/classes/Researcher.yaml", - "category": "classes" - }, - { - "name": "ResearcherInResidence", - "path": "modules/classes/ResearcherInResidence.yaml", - "category": "classes" - }, { "name": "ResearchOrganizationType", "path": "modules/classes/ResearchOrganizationType.yaml", @@ -2357,19 +2347,29 @@ "path": "modules/classes/ResearchSourceData.yaml", "category": "classes" }, + { + "name": "Researcher", + "path": "modules/classes/Researcher.yaml", + "category": "classes" + }, + { + "name": "ResearcherInResidence", + "path": "modules/classes/ResearcherInResidence.yaml", + "category": "classes" + }, { "name": "ReviewBreakdown", "path": "modules/classes/ReviewBreakdown.yaml", "category": "classes" }, { - "name": "ReviewsSummary", - "path": "modules/classes/ReviewsSummary.yaml", + "name": "ReviewTopics", + "path": "modules/classes/ReviewTopics.yaml", "category": "classes" }, { - "name": "ReviewTopics", - "path": "modules/classes/ReviewTopics.yaml", + "name": "ReviewsSummary", + "path": "modules/classes/ReviewsSummary.yaml", "category": "classes" }, { @@ -2772,6 +2772,11 @@ "path": "modules/classes/Treasurer.yaml", "category": "classes" }, + { + "name": "UXDesigner", + "path": "modules/classes/UXDesigner.yaml", + "category": "classes" + }, { "name": "UnescoIchElement", "path": "modules/classes/UnescoIchElement.yaml", @@ -2797,11 +2802,6 @@ "path": "modules/classes/UnspecifiedType.yaml", "category": "classes" }, - { - "name": "UXDesigner", - "path": "modules/classes/UXDesigner.yaml", - "category": "classes" - }, { "name": "ValidationMetadata", "path": "modules/classes/ValidationMetadata.yaml", @@ -3453,6 +3453,11 @@ "path": "modules/enums/GovernanceModelEnum.yaml", "category": "enums" }, + { + "name": "HTTPMethodEnum", + "path": "modules/enums/HTTPMethodEnum.yaml", + "category": "enums" + }, { "name": "HeritageSocietyTypeEnum", "path": "modules/enums/HeritageSocietyTypeEnum.yaml", @@ -3469,13 +3474,13 @@ "category": "enums" }, { - "name": "HTTPMethodEnum", - "path": "modules/enums/HTTPMethodEnum.yaml", + "name": "ICHViabilityStatusEnum", + "path": "modules/enums/ICHViabilityStatusEnum.yaml", "category": "enums" }, { - "name": "ICHViabilityStatusEnum", - "path": "modules/enums/ICHViabilityStatusEnum.yaml", + "name": "IIIFComplianceLevelEnum", + "path": "modules/enums/IIIFComplianceLevelEnum.yaml", "category": "enums" }, { @@ -3488,11 +3493,6 @@ "path": "modules/enums/IdentifierSchemeEnum.yaml", "category": "enums" }, - { - "name": "IIIFComplianceLevelEnum", - "path": "modules/enums/IIIFComplianceLevelEnum.yaml", - "category": "enums" - }, { "name": "ImageProtocolEnum", "path": "modules/enums/ImageProtocolEnum.yaml", @@ -3513,6 +3513,11 @@ "path": "modules/enums/JurisdictionTypeEnum.yaml", "category": "enums" }, + { + "name": "LLMProviderEnum", + "path": "modules/enums/LLMProviderEnum.yaml", + "category": "enums" + }, { "name": "LanguageProficiencyEnum", "path": "modules/enums/LanguageProficiencyEnum.yaml", @@ -3543,11 +3548,6 @@ "path": "modules/enums/LiveBroadcastStatusEnum.yaml", "category": "enums" }, - { - "name": "LLMProviderEnum", - "path": "modules/enums/LLMProviderEnum.yaml", - "category": "enums" - }, { "name": "LoanStatusEnum", "path": "modules/enums/LoanStatusEnum.yaml", @@ -3603,6 +3603,11 @@ "path": "modules/enums/OpennessStanceEnum.yaml", "category": "enums" }, + { + "name": "OrganizationBranchTypeEnum", + "path": "modules/enums/OrganizationBranchTypeEnum.yaml", + "category": "enums" + }, { "name": "OrganizationalChangeEventTypeEnum", "path": "modules/enums/OrganizationalChangeEventTypeEnum.yaml", @@ -3613,11 +3618,6 @@ "path": "modules/enums/OrganizationalUnitTypeEnum.yaml", "category": "enums" }, - { - "name": "OrganizationBranchTypeEnum", - "path": "modules/enums/OrganizationBranchTypeEnum.yaml", - "category": "enums" - }, { "name": "OutdoorSiteTypeEnum", "path": "modules/enums/OutdoorSiteTypeEnum.yaml", @@ -3629,13 +3629,13 @@ "category": "enums" }, { - "name": "PersonalCollectionTypeEnum", - "path": "modules/enums/PersonalCollectionTypeEnum.yaml", + "name": "PersonClaimTypeEnum", + "path": "modules/enums/PersonClaimTypeEnum.yaml", "category": "enums" }, { - "name": "PersonClaimTypeEnum", - "path": "modules/enums/PersonClaimTypeEnum.yaml", + "name": "PersonalCollectionTypeEnum", + "path": "modules/enums/PersonalCollectionTypeEnum.yaml", "category": "enums" }, { @@ -3774,13 +3774,13 @@ "category": "enums" }, { - "name": "StandardsOrganizationTypeEnum", - "path": "modules/enums/StandardsOrganizationTypeEnum.yaml", + "name": "StandardTypeEnum", + "path": "modules/enums/StandardTypeEnum.yaml", "category": "enums" }, { - "name": "StandardTypeEnum", - "path": "modules/enums/StandardTypeEnum.yaml", + "name": "StandardsOrganizationTypeEnum", + "path": "modules/enums/StandardsOrganizationTypeEnum.yaml", "category": "enums" }, { @@ -3899,26 +3899,36 @@ "name": "slot", "displayName": "Slots", "files": [ + { + "name": "abbreviation", + "path": "modules/slots/abbreviation.yaml", + "category": "slots" + }, + { + "name": "about_digital_presence", + "path": "modules/slots/about_digital_presence.yaml", + "category": "slots" + }, + { + "name": "about_text", + "path": "modules/slots/about_text.yaml", + "category": "slots" + }, + { + "name": "academic_affiliation", + "path": "modules/slots/academic_affiliation.yaml", + "category": "slots" + }, + { + "name": "academic_programs", + "path": "modules/slots/academic_programs.yaml", + "category": "slots" + }, { "name": "accepts_external_work", "path": "modules/slots/accepts_external_work.yaml", "category": "slots" }, - { - "name": "accepts_or_accepted_external_work", - "path": "modules/slots/accepts_or_accepted_external_work.yaml", - "category": "slots" - }, - { - "name": "accepts_or_accepted_payment_method", - "path": "modules/slots/accepts_or_accepted_payment_method.yaml", - "category": "slots" - }, - { - "name": "accepts_or_accepted_visiting_scholar", - "path": "modules/slots/accepts_or_accepted_visiting_scholar.yaml", - "category": "slots" - }, { "name": "accepts_payment_methods", "path": "modules/slots/accepts_payment_methods.yaml", @@ -3934,11 +3944,66 @@ "path": "modules/slots/access.yaml", "category": "slots" }, + { + "name": "access_application_url", + "path": "modules/slots/access_application_url.yaml", + "category": "slots" + }, + { + "name": "access_control", + "path": "modules/slots/access_control.yaml", + "category": "slots" + }, + { + "name": "access_description", + "path": "modules/slots/access_description.yaml", + "category": "slots" + }, + { + "name": "access_frequency", + "path": "modules/slots/access_frequency.yaml", + "category": "slots" + }, + { + "name": "access_interface_url", + "path": "modules/slots/access_interface_url.yaml", + "category": "slots" + }, + { + "name": "access_level", + "path": "modules/slots/access_level.yaml", + "category": "slots" + }, + { + "name": "access_management", + "path": "modules/slots/access_management.yaml", + "category": "slots" + }, + { + "name": "access_policy", + "path": "modules/slots/access_policy.yaml", + "category": "slots" + }, { "name": "access_policy_ref", "path": "modules/slots/access_policy_ref.yaml", "category": "slots" }, + { + "name": "access_restricted", + "path": "modules/slots/access_restricted.yaml", + "category": "slots" + }, + { + "name": "access_restriction", + "path": "modules/slots/access_restriction.yaml", + "category": "slots" + }, + { + "name": "access_restrictions", + "path": "modules/slots/access_restrictions.yaml", + "category": "slots" + }, { "name": "access_rights", "path": "modules/slots/access_rights.yaml", @@ -3949,11 +4014,46 @@ "path": "modules/slots/access_trigger_events.yaml", "category": "slots" }, + { + "name": "accessibility_features", + "path": "modules/slots/accessibility_features.yaml", + "category": "slots" + }, + { + "name": "accession_date", + "path": "modules/slots/accession_date.yaml", + "category": "slots" + }, + { + "name": "accession_number", + "path": "modules/slots/accession_number.yaml", + "category": "slots" + }, { "name": "account_id", "path": "modules/slots/account_id.yaml", "category": "slots" }, + { + "name": "account_name", + "path": "modules/slots/account_name.yaml", + "category": "slots" + }, + { + "name": "account_status", + "path": "modules/slots/account_status.yaml", + "category": "slots" + }, + { + "name": "accreditation", + "path": "modules/slots/accreditation.yaml", + "category": "slots" + }, + { + "name": "accreditation_body", + "path": "modules/slots/accreditation_body.yaml", + "category": "slots" + }, { "name": "accumulation_date_end", "path": "modules/slots/accumulation_date_end.yaml", @@ -3969,6 +4069,31 @@ "path": "modules/slots/accuracy_meters.yaml", "category": "slots" }, + { + "name": "acquisition_budget", + "path": "modules/slots/acquisition_budget.yaml", + "category": "slots" + }, + { + "name": "acquisition_date", + "path": "modules/slots/acquisition_date.yaml", + "category": "slots" + }, + { + "name": "acquisition_history", + "path": "modules/slots/acquisition_history.yaml", + "category": "slots" + }, + { + "name": "acquisition_method", + "path": "modules/slots/acquisition_method.yaml", + "category": "slots" + }, + { + "name": "acquisition_source", + "path": "modules/slots/acquisition_source.yaml", + "category": "slots" + }, { "name": "active_since", "path": "modules/slots/active_since.yaml", @@ -3979,26 +4104,76 @@ "path": "modules/slots/activities_societies.yaml", "category": "slots" }, + { + "name": "activity_description", + "path": "modules/slots/activity_description.yaml", + "category": "slots" + }, { "name": "activity_id", "path": "modules/slots/activity_id.yaml", "category": "slots" }, + { + "name": "activity_name", + "path": "modules/slots/activity_name.yaml", + "category": "slots" + }, + { + "name": "activity_timespan", + "path": "modules/slots/activity_timespan.yaml", + "category": "slots" + }, + { + "name": "activity_type", + "path": "modules/slots/activity_type.yaml", + "category": "slots" + }, { "name": "actual_end", "path": "modules/slots/actual_end.yaml", "category": "slots" }, + { + "name": "actual_return_date", + "path": "modules/slots/actual_return_date.yaml", + "category": "slots" + }, { "name": "actual_start", "path": "modules/slots/actual_start.yaml", "category": "slots" }, + { + "name": "admin_office_description", + "path": "modules/slots/admin_office_description.yaml", + "category": "slots" + }, { "name": "admin_office_id", "path": "modules/slots/admin_office_id.yaml", "category": "slots" }, + { + "name": "admin_office_name", + "path": "modules/slots/admin_office_name.yaml", + "category": "slots" + }, + { + "name": "admin_staff_count", + "path": "modules/slots/admin_staff_count.yaml", + "category": "slots" + }, + { + "name": "administration_description", + "path": "modules/slots/administration_description.yaml", + "category": "slots" + }, + { + "name": "administration_name", + "path": "modules/slots/administration_name.yaml", + "category": "slots" + }, { "name": "administrative_expenses", "path": "modules/slots/administrative_expenses.yaml", @@ -4010,8 +4185,63 @@ "category": "slots" }, { - "name": "affects_or_affected_organization", - "path": "modules/slots/affects_or_affected_organization.yaml", + "name": "administrative_level", + "path": "modules/slots/administrative_level.yaml", + "category": "slots" + }, + { + "name": "admission_fee", + "path": "modules/slots/admission_fee.yaml", + "category": "slots" + }, + { + "name": "adoption_context", + "path": "modules/slots/adoption_context.yaml", + "category": "slots" + }, + { + "name": "affected_by_event", + "path": "modules/slots/affected_by_event.yaml", + "category": "slots" + }, + { + "name": "affected_territory", + "path": "modules/slots/affected_territory.yaml", + "category": "slots" + }, + { + "name": "affected_units", + "path": "modules/slots/affected_units.yaml", + "category": "slots" + }, + { + "name": "affects_organization", + "path": "modules/slots/affects_organization.yaml", + "category": "slots" + }, + { + "name": "affiliated_universities", + "path": "modules/slots/affiliated_universities.yaml", + "category": "slots" + }, + { + "name": "affiliation", + "path": "modules/slots/affiliation.yaml", + "category": "slots" + }, + { + "name": "age", + "path": "modules/slots/age.yaml", + "category": "slots" + }, + { + "name": "agenda_description", + "path": "modules/slots/agenda_description.yaml", + "category": "slots" + }, + { + "name": "agenda_document_url", + "path": "modules/slots/agenda_document_url.yaml", "category": "slots" }, { @@ -4019,14 +4249,49 @@ "path": "modules/slots/agenda_id.yaml", "category": "slots" }, + { + "name": "agenda_short_name", + "path": "modules/slots/agenda_short_name.yaml", + "category": "slots" + }, + { + "name": "agenda_title", + "path": "modules/slots/agenda_title.yaml", + "category": "slots" + }, + { + "name": "agenda_url", + "path": "modules/slots/agenda_url.yaml", + "category": "slots" + }, + { + "name": "agent_name", + "path": "modules/slots/agent_name.yaml", + "category": "slots" + }, + { + "name": "agent_type", + "path": "modules/slots/agent_type.yaml", + "category": "slots" + }, + { + "name": "aggregated_by", + "path": "modules/slots/aggregated_by.yaml", + "category": "slots" + }, { "name": "aggregates_from", "path": "modules/slots/aggregates_from.yaml", "category": "slots" }, { - "name": "aggregates_or_aggregated_from", - "path": "modules/slots/aggregates_or_aggregated_from.yaml", + "name": "agreement_signed_date", + "path": "modules/slots/agreement_signed_date.yaml", + "category": "slots" + }, + { + "name": "air_changes_per_hour", + "path": "modules/slots/air_changes_per_hour.yaml", "category": "slots" }, { @@ -4040,8 +4305,18 @@ "category": "slots" }, { - "name": "allocates_or_allocated", - "path": "modules/slots/allocates_or_allocated.yaml", + "name": "allocated_by", + "path": "modules/slots/allocated_by.yaml", + "category": "slots" + }, + { + "name": "allocates", + "path": "modules/slots/allocates.yaml", + "category": "slots" + }, + { + "name": "allocation_date", + "path": "modules/slots/allocation_date.yaml", "category": "slots" }, { @@ -4049,16 +4324,6 @@ "path": "modules/slots/allows_laptops.yaml", "category": "slots" }, - { - "name": "allows_or_allowed_laptop", - "path": "modules/slots/allows_or_allowed_laptop.yaml", - "category": "slots" - }, - { - "name": "allows_or_allowed_photography", - "path": "modules/slots/allows_or_allowed_photography.yaml", - "category": "slots" - }, { "name": "allows_photography", "path": "modules/slots/allows_photography.yaml", @@ -4074,21 +4339,91 @@ "path": "modules/slots/alpha_3.yaml", "category": "slots" }, + { + "name": "also_allocation_agency", + "path": "modules/slots/also_allocation_agency.yaml", + "category": "slots" + }, { "name": "also_identifies_name", "path": "modules/slots/also_identifies_name.yaml", "category": "slots" }, + { + "name": "alternative_names", + "path": "modules/slots/alternative_names.yaml", + "category": "slots" + }, + { + "name": "alternative_observed_names", + "path": "modules/slots/alternative_observed_names.yaml", + "category": "slots" + }, + { + "name": "altitude", + "path": "modules/slots/altitude.yaml", + "category": "slots" + }, + { + "name": "amendment_history", + "path": "modules/slots/amendment_history.yaml", + "category": "slots" + }, + { + "name": "animal_species_count", + "path": "modules/slots/animal_species_count.yaml", + "category": "slots" + }, + { + "name": "annex_description", + "path": "modules/slots/annex_description.yaml", + "category": "slots" + }, { "name": "annex_id", "path": "modules/slots/annex_id.yaml", "category": "slots" }, + { + "name": "annex_name", + "path": "modules/slots/annex_name.yaml", + "category": "slots" + }, + { + "name": "annex_reason", + "path": "modules/slots/annex_reason.yaml", + "category": "slots" + }, + { + "name": "annotation_motivation", + "path": "modules/slots/annotation_motivation.yaml", + "category": "slots" + }, + { + "name": "annotation_segments", + "path": "modules/slots/annotation_segments.yaml", + "category": "slots" + }, + { + "name": "annotation_type", + "path": "modules/slots/annotation_type.yaml", + "category": "slots" + }, + { + "name": "annotations_by", + "path": "modules/slots/annotations_by.yaml", + "category": "slots" + }, { "name": "annual_participants", "path": "modules/slots/annual_participants.yaml", "category": "slots" }, + { + "name": "annual_revenue", + "path": "modules/slots/annual_revenue.yaml", + "category": "slots" + }, { "name": "api_available", "path": "modules/slots/api_available.yaml", @@ -4099,11 +4434,51 @@ "path": "modules/slots/api_documentation.yaml", "category": "slots" }, + { + "name": "api_endpoint", + "path": "modules/slots/api_endpoint.yaml", + "category": "slots" + }, + { + "name": "api_version", + "path": "modules/slots/api_version.yaml", + "category": "slots" + }, + { + "name": "appellation_language", + "path": "modules/slots/appellation_language.yaml", + "category": "slots" + }, + { + "name": "appellation_type", + "path": "modules/slots/appellation_type.yaml", + "category": "slots" + }, + { + "name": "appellation_value", + "path": "modules/slots/appellation_value.yaml", + "category": "slots" + }, + { + "name": "appellations", + "path": "modules/slots/appellations.yaml", + "category": "slots" + }, { "name": "applicable_countries", "path": "modules/slots/applicable_countries.yaml", "category": "slots" }, + { + "name": "application_deadline", + "path": "modules/slots/application_deadline.yaml", + "category": "slots" + }, + { + "name": "application_opening_date", + "path": "modules/slots/application_opening_date.yaml", + "category": "slots" + }, { "name": "applies_to_call", "path": "modules/slots/applies_to_call.yaml", @@ -4119,6 +4494,16 @@ "path": "modules/slots/appraisal_notes.yaml", "category": "slots" }, + { + "name": "appraisal_policy", + "path": "modules/slots/appraisal_policy.yaml", + "category": "slots" + }, + { + "name": "approval_date", + "path": "modules/slots/approval_date.yaml", + "category": "slots" + }, { "name": "approved_by", "path": "modules/slots/approved_by.yaml", @@ -4129,41 +4514,206 @@ "path": "modules/slots/approximate.yaml", "category": "slots" }, + { + "name": "archdiocese_name", + "path": "modules/slots/archdiocese_name.yaml", + "category": "slots" + }, + { + "name": "architect", + "path": "modules/slots/architect.yaml", + "category": "slots" + }, + { + "name": "architectural_style", + "path": "modules/slots/architectural_style.yaml", + "category": "slots" + }, + { + "name": "archival_reference", + "path": "modules/slots/archival_reference.yaml", + "category": "slots" + }, + { + "name": "archival_status", + "path": "modules/slots/archival_status.yaml", + "category": "slots" + }, { "name": "archive_branches", "path": "modules/slots/archive_branches.yaml", "category": "slots" }, + { + "name": "archive_department_of", + "path": "modules/slots/archive_department_of.yaml", + "category": "slots" + }, + { + "name": "archive_description", + "path": "modules/slots/archive_description.yaml", + "category": "slots" + }, + { + "name": "archive_memento_uri", + "path": "modules/slots/archive_memento_uri.yaml", + "category": "slots" + }, + { + "name": "archive_name", + "path": "modules/slots/archive_name.yaml", + "category": "slots" + }, + { + "name": "archive_path", + "path": "modules/slots/archive_path.yaml", + "category": "slots" + }, + { + "name": "archive_scope", + "path": "modules/slots/archive_scope.yaml", + "category": "slots" + }, + { + "name": "archive_search_score", + "path": "modules/slots/archive_search_score.yaml", + "category": "slots" + }, { "name": "archive_series", "path": "modules/slots/archive_series.yaml", "category": "slots" }, + { + "name": "archive_subtype", + "path": "modules/slots/archive_subtype.yaml", + "category": "slots" + }, { "name": "archived_at", "path": "modules/slots/archived_at.yaml", "category": "slots" }, + { + "name": "archived_in", + "path": "modules/slots/archived_in.yaml", + "category": "slots" + }, { "name": "area_hectares", "path": "modules/slots/area_hectares.yaml", "category": "slots" }, + { + "name": "area_served", + "path": "modules/slots/area_served.yaml", + "category": "slots" + }, + { + "name": "arrangement", + "path": "modules/slots/arrangement.yaml", + "category": "slots" + }, + { + "name": "arrangement_level", + "path": "modules/slots/arrangement_level.yaml", + "category": "slots" + }, { "name": "arrangement_notes", "path": "modules/slots/arrangement_notes.yaml", "category": "slots" }, + { + "name": "arrangement_system", + "path": "modules/slots/arrangement_system.yaml", + "category": "slots" + }, + { + "name": "articles_archival_stage", + "path": "modules/slots/articles_archival_stage.yaml", + "category": "slots" + }, + { + "name": "articles_document_format", + "path": "modules/slots/articles_document_format.yaml", + "category": "slots" + }, + { + "name": "articles_document_url", + "path": "modules/slots/articles_document_url.yaml", + "category": "slots" + }, + { + "name": "artist_representation", + "path": "modules/slots/artist_representation.yaml", + "category": "slots" + }, + { + "name": "artwork_count", + "path": "modules/slots/artwork_count.yaml", + "category": "slots" + }, + { + "name": "aspect_ratio", + "path": "modules/slots/aspect_ratio.yaml", + "category": "slots" + }, { "name": "asserted_by", "path": "modules/slots/asserted_by.yaml", "category": "slots" }, + { + "name": "assertion_date", + "path": "modules/slots/assertion_date.yaml", + "category": "slots" + }, { "name": "assertion_id", "path": "modules/slots/assertion_id.yaml", "category": "slots" }, + { + "name": "assertion_rationale", + "path": "modules/slots/assertion_rationale.yaml", + "category": "slots" + }, + { + "name": "assertion_value", + "path": "modules/slots/assertion_value.yaml", + "category": "slots" + }, + { + "name": "assessment_category", + "path": "modules/slots/assessment_category.yaml", + "category": "slots" + }, + { + "name": "assessment_date", + "path": "modules/slots/assessment_date.yaml", + "category": "slots" + }, + { + "name": "assigned_processor", + "path": "modules/slots/assigned_processor.yaml", + "category": "slots" + }, + { + "name": "associated_auxiliary_platform", + "path": "modules/slots/associated_auxiliary_platform.yaml", + "category": "slots" + }, + { + "name": "associated_custodian", + "path": "modules/slots/associated_custodian.yaml", + "category": "slots" + }, + { + "name": "associated_digital_platform", + "path": "modules/slots/associated_digital_platform.yaml", + "category": "slots" + }, { "name": "associated_encompassing_bodies", "path": "modules/slots/associated_encompassing_bodies.yaml", @@ -4174,16 +4724,76 @@ "path": "modules/slots/associated_taxa.yaml", "category": "slots" }, + { + "name": "auction_house", + "path": "modules/slots/auction_house.yaml", + "category": "slots" + }, + { + "name": "auction_sale_name", + "path": "modules/slots/auction_sale_name.yaml", + "category": "slots" + }, + { + "name": "audience_size", + "path": "modules/slots/audience_size.yaml", + "category": "slots" + }, + { + "name": "audience_type", + "path": "modules/slots/audience_type.yaml", + "category": "slots" + }, { "name": "audio_event_segments", "path": "modules/slots/audio_event_segments.yaml", "category": "slots" }, + { + "name": "audio_quality_score", + "path": "modules/slots/audio_quality_score.yaml", + "category": "slots" + }, + { + "name": "audit_date", + "path": "modules/slots/audit_date.yaml", + "category": "slots" + }, + { + "name": "audit_opinion", + "path": "modules/slots/audit_opinion.yaml", + "category": "slots" + }, + { + "name": "audit_status", + "path": "modules/slots/audit_status.yaml", + "category": "slots" + }, + { + "name": "auditor_name", + "path": "modules/slots/auditor_name.yaml", + "category": "slots" + }, { "name": "authentication_required", "path": "modules/slots/authentication_required.yaml", "category": "slots" }, + { + "name": "authority_file_abbreviation", + "path": "modules/slots/authority_file_abbreviation.yaml", + "category": "slots" + }, + { + "name": "authority_file_name", + "path": "modules/slots/authority_file_name.yaml", + "category": "slots" + }, + { + "name": "authority_file_url", + "path": "modules/slots/authority_file_url.yaml", + "category": "slots" + }, { "name": "authors", "path": "modules/slots/authors.yaml", @@ -4199,6 +4809,11 @@ "path": "modules/slots/auxiliary_place_id.yaml", "category": "slots" }, + { + "name": "auxiliary_place_type", + "path": "modules/slots/auxiliary_place_type.yaml", + "category": "slots" + }, { "name": "auxiliary_places", "path": "modules/slots/auxiliary_places.yaml", @@ -4209,16 +4824,36 @@ "path": "modules/slots/auxiliary_platform_id.yaml", "category": "slots" }, + { + "name": "auxiliary_platform_type", + "path": "modules/slots/auxiliary_platform_type.yaml", + "category": "slots" + }, { "name": "auxiliary_platforms", "path": "modules/slots/auxiliary_platforms.yaml", "category": "slots" }, + { + "name": "availability_timespan", + "path": "modules/slots/availability_timespan.yaml", + "category": "slots" + }, { "name": "available_caption_languages", "path": "modules/slots/available_caption_languages.yaml", "category": "slots" }, + { + "name": "average_entry_duration_seconds", + "path": "modules/slots/average_entry_duration_seconds.yaml", + "category": "slots" + }, + { + "name": "average_scene_duration_seconds", + "path": "modules/slots/average_scene_duration_seconds.yaml", + "category": "slots" + }, { "name": "backup_status", "path": "modules/slots/backup_status.yaml", @@ -4229,6 +4864,11 @@ "path": "modules/slots/base_surname.yaml", "category": "slots" }, + { + "name": "based_on_observations", + "path": "modules/slots/based_on_observations.yaml", + "category": "slots" + }, { "name": "bay_number", "path": "modules/slots/bay_number.yaml", @@ -4245,13 +4885,13 @@ "category": "slots" }, { - "name": "beneficiary_group", - "path": "modules/slots/beneficiary_group.yaml", + "name": "beneficiary_groups", + "path": "modules/slots/beneficiary_groups.yaml", "category": "slots" }, { - "name": "benefit", - "path": "modules/slots/benefit.yaml", + "name": "benefits", + "path": "modules/slots/benefits.yaml", "category": "slots" }, { @@ -4445,8 +5085,8 @@ "category": "slots" }, { - "name": "cached_token", - "path": "modules/slots/cached_token.yaml", + "name": "cached_tokens", + "path": "modules/slots/cached_tokens.yaml", "category": "slots" }, { @@ -4465,8 +5105,8 @@ "category": "slots" }, { - "name": "call_identifier", - "path": "modules/slots/call_identifier.yaml", + "name": "call_identifiers", + "path": "modules/slots/call_identifiers.yaml", "category": "slots" }, { @@ -4495,8 +5135,8 @@ "category": "slots" }, { - "name": "canonical_access_rule", - "path": "modules/slots/canonical_access_rule.yaml", + "name": "canonical_access_rules", + "path": "modules/slots/canonical_access_rules.yaml", "category": "slots" }, { @@ -4520,8 +5160,8 @@ "category": "slots" }, { - "name": "capacity_item", - "path": "modules/slots/capacity_item.yaml", + "name": "capacity_items", + "path": "modules/slots/capacity_items.yaml", "category": "slots" }, { @@ -4634,14 +5274,19 @@ "path": "modules/slots/cataloging_standard.yaml", "category": "slots" }, + { + "name": "category_assessments", + "path": "modules/slots/category_assessments.yaml", + "category": "slots" + }, { "name": "category_measurement", "path": "modules/slots/category_measurement.yaml", "category": "slots" }, { - "name": "category_note", - "path": "modules/slots/category_note.yaml", + "name": "category_notes", + "path": "modules/slots/category_notes.yaml", "category": "slots" }, { @@ -4680,8 +5325,8 @@ "category": "slots" }, { - "name": "certainty_note", - "path": "modules/slots/certainty_note.yaml", + "name": "certainty_notes", + "path": "modules/slots/certainty_notes.yaml", "category": "slots" }, { @@ -4690,8 +5335,8 @@ "category": "slots" }, { - "name": "change_in_net_asset", - "path": "modules/slots/change_in_net_asset.yaml", + "name": "change_in_net_assets", + "path": "modules/slots/change_in_net_assets.yaml", "category": "slots" }, { @@ -4754,6 +5399,11 @@ "path": "modules/slots/chapter_title.yaml", "category": "slots" }, + { + "name": "chapters", + "path": "modules/slots/chapters.yaml", + "category": "slots" + }, { "name": "chapters_generated_at", "path": "modules/slots/chapters_generated_at.yaml", @@ -4784,11 +5434,6 @@ "path": "modules/slots/city.yaml", "category": "slots" }, - { - "name": "claim", - "path": "modules/slots/claim.yaml", - "category": "slots" - }, { "name": "claim_extraction_method", "path": "modules/slots/claim_extraction_method.yaml", @@ -4800,8 +5445,8 @@ "category": "slots" }, { - "name": "claim_note", - "path": "modules/slots/claim_note.yaml", + "name": "claim_notes", + "path": "modules/slots/claim_notes.yaml", "category": "slots" }, { @@ -4819,6 +5464,11 @@ "path": "modules/slots/claim_value.yaml", "category": "slots" }, + { + "name": "claims", + "path": "modules/slots/claims.yaml", + "category": "slots" + }, { "name": "claims_count", "path": "modules/slots/claims_count.yaml", @@ -4949,6 +5599,11 @@ "path": "modules/slots/collection_name.yaml", "category": "slots" }, + { + "name": "collection_narrower_types", + "path": "modules/slots/collection_narrower_types.yaml", + "category": "slots" + }, { "name": "collection_of", "path": "modules/slots/collection_of.yaml", @@ -4995,8 +5650,13 @@ "category": "slots" }, { - "name": "collection_web_address", - "path": "modules/slots/collection_web_address.yaml", + "name": "collection_types", + "path": "modules/slots/collection_types.yaml", + "category": "slots" + }, + { + "name": "collection_web_addresses", + "path": "modules/slots/collection_web_addresses.yaml", "category": "slots" }, { @@ -5044,6 +5704,11 @@ "path": "modules/slots/comment_published_at.yaml", "category": "slots" }, + { + "name": "comment_replies", + "path": "modules/slots/comment_replies.yaml", + "category": "slots" + }, { "name": "comment_reply_count", "path": "modules/slots/comment_reply_count.yaml", @@ -5065,8 +5730,8 @@ "category": "slots" }, { - "name": "commercial_activity", - "path": "modules/slots/commercial_activity.yaml", + "name": "commercial_activities", + "path": "modules/slots/commercial_activities.yaml", "category": "slots" }, { @@ -5095,8 +5760,8 @@ "category": "slots" }, { - "name": "common_variant", - "path": "modules/slots/common_variant.yaml", + "name": "common_variants", + "path": "modules/slots/common_variants.yaml", "category": "slots" }, { @@ -5110,8 +5775,8 @@ "category": "slots" }, { - "name": "completion_token", - "path": "modules/slots/completion_token.yaml", + "name": "completion_tokens", + "path": "modules/slots/completion_tokens.yaml", "category": "slots" }, { @@ -5124,11 +5789,6 @@ "path": "modules/slots/compliance_status.yaml", "category": "slots" }, - { - "name": "condition", - "path": "modules/slots/condition.yaml", - "category": "slots" - }, { "name": "condition_after", "path": "modules/slots/condition_after.yaml", @@ -5149,6 +5809,11 @@ "path": "modules/slots/condition_id.yaml", "category": "slots" }, + { + "name": "condition_notes", + "path": "modules/slots/condition_notes.yaml", + "category": "slots" + }, { "name": "condition_on_return", "path": "modules/slots/condition_on_return.yaml", @@ -5164,6 +5829,11 @@ "path": "modules/slots/condition_status.yaml", "category": "slots" }, + { + "name": "conditions", + "path": "modules/slots/conditions.yaml", + "category": "slots" + }, { "name": "confidence", "path": "modules/slots/confidence.yaml", @@ -5189,11 +5859,6 @@ "path": "modules/slots/conflict_status.yaml", "category": "slots" }, - { - "name": "connection", - "path": "modules/slots/connection.yaml", - "category": "slots" - }, { "name": "connection_degree", "path": "modules/slots/connection_degree.yaml", @@ -5239,6 +5904,11 @@ "path": "modules/slots/connection_organization.yaml", "category": "slots" }, + { + "name": "connections", + "path": "modules/slots/connections.yaml", + "category": "slots" + }, { "name": "connections_by_heritage_type", "path": "modules/slots/connections_by_heritage_type.yaml", @@ -5259,6 +5929,11 @@ "path": "modules/slots/connectivity_type.yaml", "category": "slots" }, + { + "name": "conservation_activities", + "path": "modules/slots/conservation_activities.yaml", + "category": "slots" + }, { "name": "conservation_breeding", "path": "modules/slots/conservation_breeding.yaml", @@ -5275,13 +5950,18 @@ "category": "slots" }, { - "name": "conservation_note", - "path": "modules/slots/conservation_note.yaml", + "name": "conservation_notes", + "path": "modules/slots/conservation_notes.yaml", "category": "slots" }, { - "name": "conservation_specialization", - "path": "modules/slots/conservation_specialization.yaml", + "name": "conservation_records", + "path": "modules/slots/conservation_records.yaml", + "category": "slots" + }, + { + "name": "conservation_specializations", + "path": "modules/slots/conservation_specializations.yaml", "category": "slots" }, { @@ -5300,8 +5980,8 @@ "category": "slots" }, { - "name": "constituent_type", - "path": "modules/slots/constituent_type.yaml", + "name": "constituent_types", + "path": "modules/slots/constituent_types.yaml", "category": "slots" }, { @@ -5330,18 +6010,8 @@ "category": "slots" }, { - "name": "contains_or_contained_collection", - "path": "modules/slots/contains_or_contained_collection.yaml", - "category": "slots" - }, - { - "name": "contains_or_contained_contains_unit", - "path": "modules/slots/contains_or_contained_contains_unit.yaml", - "category": "slots" - }, - { - "name": "contains_or_contained_covers_settlement", - "path": "modules/slots/contains_or_contained_covers_settlement.yaml", + "name": "contains_collections", + "path": "modules/slots/contains_collections.yaml", "category": "slots" }, { @@ -5349,14 +6019,19 @@ "path": "modules/slots/contains_storage.yaml", "category": "slots" }, + { + "name": "contains_units", + "path": "modules/slots/contains_units.yaml", + "category": "slots" + }, { "name": "content", "path": "modules/slots/content.yaml", "category": "slots" }, { - "name": "content_block", - "path": "modules/slots/content_block.yaml", + "name": "content_blocks", + "path": "modules/slots/content_blocks.yaml", "category": "slots" }, { @@ -5425,13 +6100,13 @@ "category": "slots" }, { - "name": "contributor", - "path": "modules/slots/contributor.yaml", + "name": "contributor_code", + "path": "modules/slots/contributor_code.yaml", "category": "slots" }, { - "name": "contributor_code", - "path": "modules/slots/contributor_code.yaml", + "name": "contributors", + "path": "modules/slots/contributors.yaml", "category": "slots" }, { @@ -5440,8 +6115,8 @@ "category": "slots" }, { - "name": "copy_note", - "path": "modules/slots/copy_note.yaml", + "name": "copy_notes", + "path": "modules/slots/copy_notes.yaml", "category": "slots" }, { @@ -5480,8 +6155,8 @@ "category": "slots" }, { - "name": "courier_detail", - "path": "modules/slots/courier_detail.yaml", + "name": "courier_details", + "path": "modules/slots/courier_details.yaml", "category": "slots" }, { @@ -5504,11 +6179,6 @@ "path": "modules/slots/cover_material.yaml", "category": "slots" }, - { - "name": "cover_or_covered_subregion", - "path": "modules/slots/cover_or_covered_subregion.yaml", - "category": "slots" - }, { "name": "coverage_area", "path": "modules/slots/coverage_area.yaml", @@ -5524,6 +6194,16 @@ "path": "modules/slots/covers_full_video.yaml", "category": "slots" }, + { + "name": "covers_settlements", + "path": "modules/slots/covers_settlements.yaml", + "category": "slots" + }, + { + "name": "covers_subregions", + "path": "modules/slots/covers_subregions.yaml", + "category": "slots" + }, { "name": "crawler_version", "path": "modules/slots/crawler_version.yaml", @@ -5600,8 +6280,8 @@ "category": "slots" }, { - "name": "cultural_focus_area", - "path": "modules/slots/cultural_focus_area.yaml", + "name": "cultural_focus_areas", + "path": "modules/slots/cultural_focus_areas.yaml", "category": "slots" }, { @@ -5619,6 +6299,11 @@ "path": "modules/slots/curated_holding.yaml", "category": "slots" }, + { + "name": "curation_activities", + "path": "modules/slots/curation_activities.yaml", + "category": "slots" + }, { "name": "currency", "path": "modules/slots/currency.yaml", @@ -5664,11 +6349,67 @@ "path": "modules/slots/custodian.yaml", "category": "slots" }, + { + "name": "custodian_names", + "path": "modules/slots/custodian_names.yaml", + "category": "slots" + }, + { + "name": "custodian_observations", + "path": "modules/slots/custodian_observations.yaml", + "category": "slots" + }, { "name": "custodian_only", "path": "modules/slots/custodian_only.yaml", "category": "slots" }, + { + "name": "has_or_had_custodian_type", + "path": "modules/slots/has_or_had_custodian_type.yaml", + "category": "slots" + }, + { + "name": "custodian_type_broader", + "path": "archive/slots/custodian_type_broader.yaml", + "category": "slots", + "status": "archived" + }, + { + "name": "custodian_type_narrower", + "path": "archive/slots/custodian_type_narrower.yaml", + "category": "slots", + "status": "archived" + }, + { + "name": "custodian_type_related", + "path": "archive/slots/custodian_type_related.yaml", + "category": "slots", + "status": "archived" + }, + { + "name": "custodian_types", + "path": "archive/slots/custodian_types.yaml", + "category": "slots", + "status": "archived" + }, + { + "name": "custodian_types_primary", + "path": "archive/slots/custodian_types_primary.yaml", + "category": "slots", + "status": "archived" + }, + { + "name": "custodian_types_rationale", + "path": "archive/slots/custodian_types_rationale.yaml", + "category": "slots", + "status": "archived" + }, + { + "name": "custodians", + "path": "modules/slots/custodians.yaml", + "category": "slots" + }, { "name": "custody_history", "path": "modules/slots/custody_history.yaml", @@ -5689,6 +6430,11 @@ "path": "modules/slots/data_license_policy.yaml", "category": "slots" }, + { + "name": "data_quality_flags", + "path": "modules/slots/data_quality_flags.yaml", + "category": "slots" + }, { "name": "data_repository", "path": "modules/slots/data_repository.yaml", @@ -5699,6 +6445,11 @@ "path": "modules/slots/data_sensitivity.yaml", "category": "slots" }, + { + "name": "data_service_endpoints", + "path": "modules/slots/data_service_endpoints.yaml", + "category": "slots" + }, { "name": "data_source_whatsapp", "path": "modules/slots/data_source_whatsapp.yaml", @@ -5815,8 +6566,8 @@ "category": "slots" }, { - "name": "deliverable", - "path": "modules/slots/deliverable.yaml", + "name": "deliverables", + "path": "modules/slots/deliverables.yaml", "category": "slots" }, { @@ -5859,6 +6610,11 @@ "path": "modules/slots/deployment_date.yaml", "category": "slots" }, + { + "name": "depositing_organizations", + "path": "modules/slots/depositing_organizations.yaml", + "category": "slots" + }, { "name": "derived_from_entity", "path": "modules/slots/derived_from_entity.yaml", @@ -5870,8 +6626,28 @@ "category": "slots" }, { - "name": "description_section", - "path": "modules/slots/description_section.yaml", + "name": "description_sections", + "path": "modules/slots/description_sections.yaml", + "category": "slots" + }, + { + "name": "detected_faces", + "path": "modules/slots/detected_faces.yaml", + "category": "slots" + }, + { + "name": "detected_landmarks", + "path": "modules/slots/detected_landmarks.yaml", + "category": "slots" + }, + { + "name": "detected_logos", + "path": "modules/slots/detected_logos.yaml", + "category": "slots" + }, + { + "name": "detected_objects", + "path": "modules/slots/detected_objects.yaml", "category": "slots" }, { @@ -5934,6 +6710,11 @@ "path": "modules/slots/diarization_end_seconds.yaml", "category": "slots" }, + { + "name": "diarization_segments", + "path": "modules/slots/diarization_segments.yaml", + "category": "slots" + }, { "name": "diarization_speaker_id", "path": "modules/slots/diarization_speaker_id.yaml", @@ -5955,8 +6736,8 @@ "category": "slots" }, { - "name": "digital_indicator", - "path": "modules/slots/digital_indicator.yaml", + "name": "digital_indicators", + "path": "modules/slots/digital_indicators.yaml", "category": "slots" }, { @@ -5980,13 +6761,13 @@ "category": "slots" }, { - "name": "digital_surrogate", - "path": "modules/slots/digital_surrogate.yaml", + "name": "digital_surrogate_url", + "path": "modules/slots/digital_surrogate_url.yaml", "category": "slots" }, { - "name": "digital_surrogate_url", - "path": "modules/slots/digital_surrogate_url.yaml", + "name": "digital_surrogates", + "path": "modules/slots/digital_surrogates.yaml", "category": "slots" }, { @@ -6000,8 +6781,8 @@ "category": "slots" }, { - "name": "dimension", - "path": "modules/slots/dimension.yaml", + "name": "dimensions", + "path": "modules/slots/dimensions.yaml", "category": "slots" }, { @@ -6020,8 +6801,8 @@ "category": "slots" }, { - "name": "disposition_service", - "path": "modules/slots/disposition_service.yaml", + "name": "disposition_services", + "path": "modules/slots/disposition_services.yaml", "category": "slots" }, { @@ -6069,11 +6850,21 @@ "path": "modules/slots/documentation_source.yaml", "category": "slots" }, + { + "name": "documentation_sources", + "path": "modules/slots/documentation_sources.yaml", + "category": "slots" + }, { "name": "documentation_url", "path": "modules/slots/documentation_url.yaml", "category": "slots" }, + { + "name": "documentation_urls", + "path": "modules/slots/documentation_urls.yaml", + "category": "slots" + }, { "name": "documented_by", "path": "modules/slots/documented_by.yaml", @@ -6145,8 +6936,8 @@ "category": "slots" }, { - "name": "editor", - "path": "modules/slots/editor.yaml", + "name": "editors", + "path": "modules/slots/editors.yaml", "category": "slots" }, { @@ -6215,13 +7006,13 @@ "category": "slots" }, { - "name": "eligible_applicant", - "path": "modules/slots/eligible_applicant.yaml", + "name": "eligible_applicants", + "path": "modules/slots/eligible_applicants.yaml", "category": "slots" }, { - "name": "eligible_country", - "path": "modules/slots/eligible_country.yaml", + "name": "eligible_countries", + "path": "modules/slots/eligible_countries.yaml", "category": "slots" }, { @@ -6269,6 +7060,11 @@ "path": "modules/slots/en.yaml", "category": "slots" }, + { + "name": "encompasses", + "path": "modules/slots/encompasses.yaml", + "category": "slots" + }, { "name": "encompasses_or_encompassed", "path": "modules/slots/encompasses_or_encompassed.yaml", @@ -6355,8 +7151,13 @@ "category": "slots" }, { - "name": "environmental_control", - "path": "modules/slots/environmental_control.yaml", + "name": "environmental_conditions", + "path": "modules/slots/environmental_conditions.yaml", + "category": "slots" + }, + { + "name": "environmental_controls", + "path": "modules/slots/environmental_controls.yaml", "category": "slots" }, { @@ -6365,8 +7166,18 @@ "category": "slots" }, { - "name": "equipment_type", - "path": "modules/slots/equipment_type.yaml", + "name": "environmental_zones", + "path": "modules/slots/environmental_zones.yaml", + "category": "slots" + }, + { + "name": "equipment_types", + "path": "modules/slots/equipment_types.yaml", + "category": "slots" + }, + { + "name": "essays", + "path": "modules/slots/essays.yaml", "category": "slots" }, { @@ -6455,8 +7266,8 @@ "category": "slots" }, { - "name": "event_note", - "path": "modules/slots/event_note.yaml", + "name": "event_notes", + "path": "modules/slots/event_notes.yaml", "category": "slots" }, { @@ -6490,23 +7301,28 @@ "category": "slots" }, { - "name": "evidence_gap", - "path": "modules/slots/evidence_gap.yaml", + "name": "evidence_gaps", + "path": "modules/slots/evidence_gaps.yaml", "category": "slots" }, { - "name": "example_instance", - "path": "modules/slots/example_instance.yaml", + "name": "examination_methods", + "path": "modules/slots/examination_methods.yaml", "category": "slots" }, { - "name": "example_platform", - "path": "modules/slots/example_platform.yaml", + "name": "example_instances", + "path": "modules/slots/example_instances.yaml", "category": "slots" }, { - "name": "example_portal", - "path": "modules/slots/example_portal.yaml", + "name": "example_platforms", + "path": "modules/slots/example_platforms.yaml", + "category": "slots" + }, + { + "name": "example_portals", + "path": "modules/slots/example_portals.yaml", "category": "slots" }, { @@ -6529,6 +7345,11 @@ "path": "modules/slots/exhibition_catalog_url.yaml", "category": "slots" }, + { + "name": "exhibition_catalogs", + "path": "modules/slots/exhibition_catalogs.yaml", + "category": "slots" + }, { "name": "exhibition_description", "path": "modules/slots/exhibition_description.yaml", @@ -6629,6 +7450,11 @@ "path": "modules/slots/exhibition_venue.yaml", "category": "slots" }, + { + "name": "exhibitions", + "path": "modules/slots/exhibitions.yaml", + "category": "slots" + }, { "name": "expected_transfer_date", "path": "modules/slots/expected_transfer_date.yaml", @@ -6640,8 +7466,8 @@ "category": "slots" }, { - "name": "expertise_area", - "path": "modules/slots/expertise_area.yaml", + "name": "expertise_areas", + "path": "modules/slots/expertise_areas.yaml", "category": "slots" }, { @@ -6649,6 +7475,11 @@ "path": "modules/slots/exposed_via_portal.yaml", "category": "slots" }, + { + "name": "exposes_collections", + "path": "modules/slots/exposes_collections.yaml", + "category": "slots" + }, { "name": "extension_count", "path": "modules/slots/extension_count.yaml", @@ -6660,8 +7491,8 @@ "category": "slots" }, { - "name": "extent_item", - "path": "modules/slots/extent_item.yaml", + "name": "extent_items", + "path": "modules/slots/extent_items.yaml", "category": "slots" }, { @@ -6675,13 +7506,18 @@ "category": "slots" }, { - "name": "external_identifier", - "path": "modules/slots/external_identifier.yaml", + "name": "external_identifiers", + "path": "modules/slots/external_identifiers.yaml", "category": "slots" }, { - "name": "external_link", - "path": "modules/slots/external_link.yaml", + "name": "external_links", + "path": "modules/slots/external_links.yaml", + "category": "slots" + }, + { + "name": "external_resources", + "path": "modules/slots/external_resources.yaml", "category": "slots" }, { @@ -6710,8 +7546,8 @@ "category": "slots" }, { - "name": "extraction_note", - "path": "modules/slots/extraction_note.yaml", + "name": "extraction_notes", + "path": "modules/slots/extraction_notes.yaml", "category": "slots" }, { @@ -6790,8 +7626,23 @@ "category": "slots" }, { - "name": "featured_work", - "path": "modules/slots/featured_work.yaml", + "name": "feature_types", + "path": "modules/slots/feature_types.yaml", + "category": "slots" + }, + { + "name": "featured_items", + "path": "modules/slots/featured_items.yaml", + "category": "slots" + }, + { + "name": "featured_objects", + "path": "modules/slots/featured_objects.yaml", + "category": "slots" + }, + { + "name": "featured_works", + "path": "modules/slots/featured_works.yaml", "category": "slots" }, { @@ -6855,8 +7706,8 @@ "category": "slots" }, { - "name": "finding_aid_note", - "path": "modules/slots/finding_aid_note.yaml", + "name": "finding_aid_notes", + "path": "modules/slots/finding_aid_notes.yaml", "category": "slots" }, { @@ -6884,6 +7735,11 @@ "path": "modules/slots/finding_aid_type_name.yaml", "category": "slots" }, + { + "name": "finding_aids", + "path": "modules/slots/finding_aids.yaml", + "category": "slots" + }, { "name": "finding_aids_format", "path": "modules/slots/finding_aids_format.yaml", @@ -6950,8 +7806,13 @@ "category": "slots" }, { - "name": "footnote", - "path": "modules/slots/footnote.yaml", + "name": "fonds", + "path": "modules/slots/fonds.yaml", + "category": "slots" + }, + { + "name": "footnotes", + "path": "modules/slots/footnotes.yaml", "category": "slots" }, { @@ -7025,8 +7886,8 @@ "category": "slots" }, { - "name": "funded_project", - "path": "modules/slots/funded_project.yaml", + "name": "funded_projects", + "path": "modules/slots/funded_projects.yaml", "category": "slots" }, { @@ -7045,8 +7906,8 @@ "category": "slots" }, { - "name": "funding_program", - "path": "modules/slots/funding_program.yaml", + "name": "funding_programs", + "path": "modules/slots/funding_programs.yaml", "category": "slots" }, { @@ -7055,8 +7916,8 @@ "category": "slots" }, { - "name": "funding_scheme", - "path": "modules/slots/funding_scheme.yaml", + "name": "funding_schemes", + "path": "modules/slots/funding_schemes.yaml", "category": "slots" }, { @@ -7065,8 +7926,8 @@ "category": "slots" }, { - "name": "fundraising_expense", - "path": "modules/slots/fundraising_expense.yaml", + "name": "fundraising_expenses", + "path": "modules/slots/fundraising_expenses.yaml", "category": "slots" }, { @@ -7090,8 +7951,8 @@ "category": "slots" }, { - "name": "genbank_accession", - "path": "modules/slots/genbank_accession.yaml", + "name": "genbank_accessions", + "path": "modules/slots/genbank_accessions.yaml", "category": "slots" }, { @@ -7109,6 +7970,11 @@ "path": "modules/slots/generated_by.yaml", "category": "slots" }, + { + "name": "generates", + "path": "modules/slots/generates.yaml", + "category": "slots" + }, { "name": "generation_method", "path": "modules/slots/generation_method.yaml", @@ -7200,8 +8066,8 @@ "category": "slots" }, { - "name": "governance_clause", - "path": "modules/slots/governance_clause.yaml", + "name": "governance_clauses", + "path": "modules/slots/governance_clauses.yaml", "category": "slots" }, { @@ -7249,586 +8115,21 @@ "path": "modules/slots/handwriting_confidence.yaml", "category": "slots" }, - { - "name": "has_access_application_url", - "path": "modules/slots/has_access_application_url.yaml", - "category": "slots" - }, - { - "name": "has_access_interface_url", - "path": "modules/slots/has_access_interface_url.yaml", - "category": "slots" - }, - { - "name": "has_access_policy_reference", - "path": "modules/slots/has_access_policy_reference.yaml", - "category": "slots" - }, - { - "name": "has_accession_date", - "path": "modules/slots/has_accession_date.yaml", - "category": "slots" - }, - { - "name": "has_accession_number", - "path": "modules/slots/has_accession_number.yaml", - "category": "slots" - }, - { - "name": "has_account_identifier", - "path": "modules/slots/has_account_identifier.yaml", - "category": "slots" - }, - { - "name": "has_accumulation_end_date", - "path": "modules/slots/has_accumulation_end_date.yaml", - "category": "slots" - }, - { - "name": "has_accumulation_start_date", - "path": "modules/slots/has_accumulation_start_date.yaml", - "category": "slots" - }, - { - "name": "has_accuracy_in_meters", - "path": "modules/slots/has_accuracy_in_meters.yaml", - "category": "slots" - }, - { - "name": "has_acquisition_date", - "path": "modules/slots/has_acquisition_date.yaml", - "category": "slots" - }, - { - "name": "has_acquisition_history", - "path": "modules/slots/has_acquisition_history.yaml", - "category": "slots" - }, - { - "name": "has_acquisition_method", - "path": "modules/slots/has_acquisition_method.yaml", - "category": "slots" - }, - { - "name": "has_acquisition_source", - "path": "modules/slots/has_acquisition_source.yaml", - "category": "slots" - }, - { - "name": "has_active_since_date", - "path": "modules/slots/has_active_since_date.yaml", - "category": "slots" - }, - { - "name": "has_activity_description", - "path": "modules/slots/has_activity_description.yaml", - "category": "slots" - }, - { - "name": "has_activity_identifier", - "path": "modules/slots/has_activity_identifier.yaml", - "category": "slots" - }, - { - "name": "has_activity_name", - "path": "modules/slots/has_activity_name.yaml", - "category": "slots" - }, - { - "name": "has_activity_timespan", - "path": "modules/slots/has_activity_timespan.yaml", - "category": "slots" - }, - { - "name": "has_activity_type", - "path": "modules/slots/has_activity_type.yaml", - "category": "slots" - }, - { - "name": "has_actual_end_date", - "path": "modules/slots/has_actual_end_date.yaml", - "category": "slots" - }, - { - "name": "has_actual_return_date", - "path": "modules/slots/has_actual_return_date.yaml", - "category": "slots" - }, - { - "name": "has_actual_start_date", - "path": "modules/slots/has_actual_start_date.yaml", - "category": "slots" - }, - { - "name": "has_admin_office_description", - "path": "modules/slots/has_admin_office_description.yaml", - "category": "slots" - }, - { - "name": "has_admin_office_identifier", - "path": "modules/slots/has_admin_office_identifier.yaml", - "category": "slots" - }, - { - "name": "has_admin_office_name", - "path": "modules/slots/has_admin_office_name.yaml", - "category": "slots" - }, { "name": "has_administration", "path": "modules/slots/has_administration.yaml", "category": "slots" }, - { - "name": "has_administration_description", - "path": "modules/slots/has_administration_description.yaml", - "category": "slots" - }, - { - "name": "has_administration_name", - "path": "modules/slots/has_administration_name.yaml", - "category": "slots" - }, - { - "name": "has_administrative_level", - "path": "modules/slots/has_administrative_level.yaml", - "category": "slots" - }, - { - "name": "has_adoption_context", - "path": "modules/slots/has_adoption_context.yaml", - "category": "slots" - }, - { - "name": "has_age", - "path": "modules/slots/has_age.yaml", - "category": "slots" - }, - { - "name": "has_agenda_description", - "path": "modules/slots/has_agenda_description.yaml", - "category": "slots" - }, - { - "name": "has_agenda_document_url", - "path": "modules/slots/has_agenda_document_url.yaml", - "category": "slots" - }, - { - "name": "has_agenda_identifier", - "path": "modules/slots/has_agenda_identifier.yaml", - "category": "slots" - }, - { - "name": "has_agenda_short_name", - "path": "modules/slots/has_agenda_short_name.yaml", - "category": "slots" - }, - { - "name": "has_agenda_title", - "path": "modules/slots/has_agenda_title.yaml", - "category": "slots" - }, - { - "name": "has_agenda_url", - "path": "modules/slots/has_agenda_url.yaml", - "category": "slots" - }, - { - "name": "has_agent_name", - "path": "modules/slots/has_agent_name.yaml", - "category": "slots" - }, - { - "name": "has_agent_type", - "path": "modules/slots/has_agent_type.yaml", - "category": "slots" - }, - { - "name": "has_agreement_signed_date", - "path": "modules/slots/has_agreement_signed_date.yaml", - "category": "slots" - }, - { - "name": "has_air_changes_per_hour", - "path": "modules/slots/has_air_changes_per_hour.yaml", - "category": "slots" - }, - { - "name": "has_all_data_real_flag", - "path": "modules/slots/has_all_data_real_flag.yaml", - "category": "slots" - }, - { - "name": "has_allocation_date", - "path": "modules/slots/has_allocation_date.yaml", - "category": "slots" - }, - { - "name": "has_alpha_2_code", - "path": "modules/slots/has_alpha_2_code.yaml", - "category": "slots" - }, - { - "name": "has_alpha_3_code", - "path": "modules/slots/has_alpha_3_code.yaml", - "category": "slots" - }, - { - "name": "has_altitude", - "path": "modules/slots/has_altitude.yaml", - "category": "slots" - }, - { - "name": "has_amendment_history", - "path": "modules/slots/has_amendment_history.yaml", - "category": "slots" - }, - { - "name": "has_annex_description", - "path": "modules/slots/has_annex_description.yaml", - "category": "slots" - }, - { - "name": "has_annex_identifier", - "path": "modules/slots/has_annex_identifier.yaml", - "category": "slots" - }, - { - "name": "has_annex_name", - "path": "modules/slots/has_annex_name.yaml", - "category": "slots" - }, - { - "name": "has_annex_reason", - "path": "modules/slots/has_annex_reason.yaml", - "category": "slots" - }, - { - "name": "has_annotation_by", - "path": "modules/slots/has_annotation_by.yaml", - "category": "slots" - }, - { - "name": "has_annotation_motivation", - "path": "modules/slots/has_annotation_motivation.yaml", - "category": "slots" - }, - { - "name": "has_annotation_segment", - "path": "modules/slots/has_annotation_segment.yaml", - "category": "slots" - }, - { - "name": "has_annotation_type", - "path": "modules/slots/has_annotation_type.yaml", - "category": "slots" - }, - { - "name": "has_api_available_flag", - "path": "modules/slots/has_api_available_flag.yaml", - "category": "slots" - }, - { - "name": "has_api_documentation_url", - "path": "modules/slots/has_api_documentation_url.yaml", - "category": "slots" - }, - { - "name": "has_api_version", - "path": "modules/slots/has_api_version.yaml", - "category": "slots" - }, - { - "name": "has_appellation_language", - "path": "modules/slots/has_appellation_language.yaml", - "category": "slots" - }, - { - "name": "has_appellation_type", - "path": "modules/slots/has_appellation_type.yaml", - "category": "slots" - }, - { - "name": "has_appellation_value", - "path": "modules/slots/has_appellation_value.yaml", - "category": "slots" - }, - { - "name": "has_applicable_country", - "path": "modules/slots/has_applicable_country.yaml", - "category": "slots" - }, - { - "name": "has_application_deadline", - "path": "modules/slots/has_application_deadline.yaml", - "category": "slots" - }, - { - "name": "has_application_opening_date", - "path": "modules/slots/has_application_opening_date.yaml", - "category": "slots" - }, - { - "name": "has_appointment_required_flag", - "path": "modules/slots/has_appointment_required_flag.yaml", - "category": "slots" - }, - { - "name": "has_appraisal_note", - "path": "modules/slots/has_appraisal_note.yaml", - "category": "slots" - }, - { - "name": "has_approval_date", - "path": "modules/slots/has_approval_date.yaml", - "category": "slots" - }, - { - "name": "has_archdiocese_name", - "path": "modules/slots/has_archdiocese_name.yaml", - "category": "slots" - }, - { - "name": "has_architectural_style", - "path": "modules/slots/has_architectural_style.yaml", - "category": "slots" - }, - { - "name": "has_archival_reference", - "path": "modules/slots/has_archival_reference.yaml", - "category": "slots" - }, - { - "name": "has_archive_description", - "path": "modules/slots/has_archive_description.yaml", - "category": "slots" - }, - { - "name": "has_archive_memento_uri", - "path": "modules/slots/has_archive_memento_uri.yaml", - "category": "slots" - }, - { - "name": "has_archive_name", - "path": "modules/slots/has_archive_name.yaml", - "category": "slots" - }, - { - "name": "has_archive_path", - "path": "modules/slots/has_archive_path.yaml", - "category": "slots" - }, - { - "name": "has_archive_search_score", - "path": "modules/slots/has_archive_search_score.yaml", - "category": "slots" - }, - { - "name": "has_archive_subtype", - "path": "modules/slots/has_archive_subtype.yaml", - "category": "slots" - }, - { - "name": "has_area_in_hectare", - "path": "modules/slots/has_area_in_hectare.yaml", - "category": "slots" - }, - { - "name": "has_arrangement", - "path": "modules/slots/has_arrangement.yaml", - "category": "slots" - }, - { - "name": "has_arrangement_level", - "path": "modules/slots/has_arrangement_level.yaml", - "category": "slots" - }, - { - "name": "has_arrangement_note", - "path": "modules/slots/has_arrangement_note.yaml", - "category": "slots" - }, - { - "name": "has_articles_archival_stage", - "path": "modules/slots/has_articles_archival_stage.yaml", - "category": "slots" - }, - { - "name": "has_articles_document_format", - "path": "modules/slots/has_articles_document_format.yaml", - "category": "slots" - }, - { - "name": "has_articles_document_url", - "path": "modules/slots/has_articles_document_url.yaml", - "category": "slots" - }, { "name": "has_articles_of_association", "path": "modules/slots/has_articles_of_association.yaml", "category": "slots" }, - { - "name": "has_aspect_ratio", - "path": "modules/slots/has_aspect_ratio.yaml", - "category": "slots" - }, - { - "name": "has_assertion_date", - "path": "modules/slots/has_assertion_date.yaml", - "category": "slots" - }, - { - "name": "has_assertion_identifier", - "path": "modules/slots/has_assertion_identifier.yaml", - "category": "slots" - }, - { - "name": "has_assertion_rationale", - "path": "modules/slots/has_assertion_rationale.yaml", - "category": "slots" - }, - { - "name": "has_assertion_value", - "path": "modules/slots/has_assertion_value.yaml", - "category": "slots" - }, - { - "name": "has_assessment_category", - "path": "modules/slots/has_assessment_category.yaml", - "category": "slots" - }, - { - "name": "has_assessment_date", - "path": "modules/slots/has_assessment_date.yaml", - "category": "slots" - }, - { - "name": "has_associated_taxon", - "path": "modules/slots/has_associated_taxon.yaml", - "category": "slots" - }, - { - "name": "has_auction_house", - "path": "modules/slots/has_auction_house.yaml", - "category": "slots" - }, - { - "name": "has_auction_sale_name", - "path": "modules/slots/has_auction_sale_name.yaml", - "category": "slots" - }, - { - "name": "has_audience_type", - "path": "modules/slots/has_audience_type.yaml", - "category": "slots" - }, - { - "name": "has_audio_event_segment", - "path": "modules/slots/has_audio_event_segment.yaml", - "category": "slots" - }, - { - "name": "has_audio_quality_score", - "path": "modules/slots/has_audio_quality_score.yaml", - "category": "slots" - }, - { - "name": "has_audit_date", - "path": "modules/slots/has_audit_date.yaml", - "category": "slots" - }, - { - "name": "has_audit_opinion", - "path": "modules/slots/has_audit_opinion.yaml", - "category": "slots" - }, - { - "name": "has_auditor_name", - "path": "modules/slots/has_auditor_name.yaml", - "category": "slots" - }, - { - "name": "has_authentication_required_flag", - "path": "modules/slots/has_authentication_required_flag.yaml", - "category": "slots" - }, - { - "name": "has_author", - "path": "modules/slots/has_author.yaml", - "category": "slots" - }, - { - "name": "has_authority_file_abbreviation", - "path": "modules/slots/has_authority_file_abbreviation.yaml", - "category": "slots" - }, - { - "name": "has_authority_file_name", - "path": "modules/slots/has_authority_file_name.yaml", - "category": "slots" - }, - { - "name": "has_authority_file_url", - "path": "modules/slots/has_authority_file_url.yaml", - "category": "slots" - }, - { - "name": "has_auxiliary_place", - "path": "modules/slots/has_auxiliary_place.yaml", - "category": "slots" - }, - { - "name": "has_auxiliary_place_identifier", - "path": "modules/slots/has_auxiliary_place_identifier.yaml", - "category": "slots" - }, - { - "name": "has_auxiliary_place_type", - "path": "modules/slots/has_auxiliary_place_type.yaml", - "category": "slots" - }, - { - "name": "has_auxiliary_platform", - "path": "modules/slots/has_auxiliary_platform.yaml", - "category": "slots" - }, - { - "name": "has_auxiliary_platform_identifier", - "path": "modules/slots/has_auxiliary_platform_identifier.yaml", - "category": "slots" - }, - { - "name": "has_auxiliary_platform_type", - "path": "modules/slots/has_auxiliary_platform_type.yaml", - "category": "slots" - }, { "name": "has_av_equipment", "path": "modules/slots/has_av_equipment.yaml", "category": "slots" }, - { - "name": "has_availability_timespan", - "path": "modules/slots/has_availability_timespan.yaml", - "category": "slots" - }, - { - "name": "has_available_caption_language", - "path": "modules/slots/has_available_caption_language.yaml", - "category": "slots" - }, - { - "name": "has_average_entry_duration_seconds", - "path": "modules/slots/has_average_entry_duration_seconds.yaml", - "category": "slots" - }, - { - "name": "has_average_scene_duration_seconds", - "path": "modules/slots/has_average_scene_duration_seconds.yaml", - "category": "slots" - }, { "name": "has_boundary", "path": "modules/slots/has_boundary.yaml", @@ -7855,8 +8156,8 @@ "category": "slots" }, { - "name": "has_computer_terminal", - "path": "modules/slots/has_computer_terminal.yaml", + "name": "has_computer_terminals", + "path": "modules/slots/has_computer_terminals.yaml", "category": "slots" }, { @@ -7885,8 +8186,8 @@ "category": "slots" }, { - "name": "has_fume_hood", - "path": "modules/slots/has_fume_hood.yaml", + "name": "has_fume_hoods", + "path": "modules/slots/has_fume_hoods.yaml", "category": "slots" }, { @@ -7895,8 +8196,8 @@ "category": "slots" }, { - "name": "has_hands_on_facility", - "path": "modules/slots/has_hands_on_facility.yaml", + "name": "has_hands_on_facilities", + "path": "modules/slots/has_hands_on_facilities.yaml", "category": "slots" }, { @@ -7904,21 +8205,6 @@ "path": "modules/slots/has_imaging_equipment.yaml", "category": "slots" }, - { - "name": "has_iso_3166_1_alpha_2_code", - "path": "modules/slots/has_iso_3166_1_alpha_2_code.yaml", - "category": "slots" - }, - { - "name": "has_iso_3166_1_alpha_3_code", - "path": "modules/slots/has_iso_3166_1_alpha_3_code.yaml", - "category": "slots" - }, - { - "name": "has_link", - "path": "modules/slots/has_link.yaml", - "category": "slots" - }, { "name": "has_loading_dock", "path": "modules/slots/has_loading_dock.yaml", @@ -7930,8 +8216,8 @@ "category": "slots" }, { - "name": "has_locker", - "path": "modules/slots/has_locker.yaml", + "name": "has_lockers", + "path": "modules/slots/has_lockers.yaml", "category": "slots" }, { @@ -7945,8 +8231,8 @@ "category": "slots" }, { - "name": "has_microfilm_reader", - "path": "modules/slots/has_microfilm_reader.yaml", + "name": "has_microfilm_readers", + "path": "modules/slots/has_microfilm_readers.yaml", "category": "slots" }, { @@ -7969,831 +8255,31 @@ "path": "modules/slots/has_operational_unit.yaml", "category": "slots" }, - { - "name": "has_or_had_abbreviation", - "path": "modules/slots/has_or_had_abbreviation.yaml", - "category": "slots" - }, - { - "name": "has_or_had_about_text", - "path": "modules/slots/has_or_had_about_text.yaml", - "category": "slots" - }, - { - "name": "has_or_had_academic_affiliation", - "path": "modules/slots/has_or_had_academic_affiliation.yaml", - "category": "slots" - }, - { - "name": "has_or_had_academic_program", - "path": "modules/slots/has_or_had_academic_program.yaml", - "category": "slots" - }, - { - "name": "has_or_had_access_condition", - "path": "modules/slots/has_or_had_access_condition.yaml", - "category": "slots" - }, - { - "name": "has_or_had_access_control", - "path": "modules/slots/has_or_had_access_control.yaml", - "category": "slots" - }, - { - "name": "has_or_had_access_description", - "path": "modules/slots/has_or_had_access_description.yaml", - "category": "slots" - }, - { - "name": "has_or_had_access_frequency", - "path": "modules/slots/has_or_had_access_frequency.yaml", - "category": "slots" - }, - { - "name": "has_or_had_access_level", - "path": "modules/slots/has_or_had_access_level.yaml", - "category": "slots" - }, - { - "name": "has_or_had_access_management", - "path": "modules/slots/has_or_had_access_management.yaml", - "category": "slots" - }, - { - "name": "has_or_had_access_policy", - "path": "modules/slots/has_or_had_access_policy.yaml", - "category": "slots" - }, - { - "name": "has_or_had_access_restriction", - "path": "modules/slots/has_or_had_access_restriction.yaml", - "category": "slots" - }, - { - "name": "has_or_had_access_right", - "path": "modules/slots/has_or_had_access_right.yaml", - "category": "slots" - }, - { - "name": "has_or_had_access_trigger_event", - "path": "modules/slots/has_or_had_access_trigger_event.yaml", - "category": "slots" - }, - { - "name": "has_or_had_accessibility_feature", - "path": "modules/slots/has_or_had_accessibility_feature.yaml", - "category": "slots" - }, - { - "name": "has_or_had_account_name", - "path": "modules/slots/has_or_had_account_name.yaml", - "category": "slots" - }, - { - "name": "has_or_had_account_status", - "path": "modules/slots/has_or_had_account_status.yaml", - "category": "slots" - }, - { - "name": "has_or_had_accreditation", - "path": "modules/slots/has_or_had_accreditation.yaml", - "category": "slots" - }, - { - "name": "has_or_had_accreditation_body", - "path": "modules/slots/has_or_had_accreditation_body.yaml", - "category": "slots" - }, - { - "name": "has_or_had_acquisition_budget", - "path": "modules/slots/has_or_had_acquisition_budget.yaml", - "category": "slots" - }, - { - "name": "has_or_had_activity_or_society_membership", - "path": "modules/slots/has_or_had_activity_or_society_membership.yaml", - "category": "slots" - }, - { - "name": "has_or_had_admin_staff_count", - "path": "modules/slots/has_or_had_admin_staff_count.yaml", - "category": "slots" - }, - { - "name": "has_or_had_administrative_expense", - "path": "modules/slots/has_or_had_administrative_expense.yaml", - "category": "slots" - }, - { - "name": "has_or_had_administrative_function", - "path": "modules/slots/has_or_had_administrative_function.yaml", - "category": "slots" - }, - { - "name": "has_or_had_admission_fee", - "path": "modules/slots/has_or_had_admission_fee.yaml", - "category": "slots" - }, - { - "name": "has_or_had_affected_territory", - "path": "modules/slots/has_or_had_affected_territory.yaml", - "category": "slots" - }, - { - "name": "has_or_had_affected_unit", - "path": "modules/slots/has_or_had_affected_unit.yaml", - "category": "slots" - }, - { - "name": "has_or_had_affiliated_university", - "path": "modules/slots/has_or_had_affiliated_university.yaml", - "category": "slots" - }, - { - "name": "has_or_had_affiliation", - "path": "modules/slots/has_or_had_affiliation.yaml", - "category": "slots" - }, - { - "name": "has_or_had_alternative_name", - "path": "modules/slots/has_or_had_alternative_name.yaml", - "category": "slots" - }, - { - "name": "has_or_had_alternative_observed_name", - "path": "modules/slots/has_or_had_alternative_observed_name.yaml", - "category": "slots" - }, - { - "name": "has_or_had_animal_species_count", - "path": "modules/slots/has_or_had_animal_species_count.yaml", - "category": "slots" - }, - { - "name": "has_or_had_annual_participant_count", - "path": "modules/slots/has_or_had_annual_participant_count.yaml", - "category": "slots" - }, - { - "name": "has_or_had_annual_revenue", - "path": "modules/slots/has_or_had_annual_revenue.yaml", - "category": "slots" - }, - { - "name": "has_or_had_api_endpoint", - "path": "modules/slots/has_or_had_api_endpoint.yaml", - "category": "slots" - }, - { - "name": "has_or_had_appellation", - "path": "modules/slots/has_or_had_appellation.yaml", - "category": "slots" - }, - { - "name": "has_or_had_appraisal_policy", - "path": "modules/slots/has_or_had_appraisal_policy.yaml", - "category": "slots" - }, - { - "name": "has_or_had_architect", - "path": "modules/slots/has_or_had_architect.yaml", - "category": "slots" - }, - { - "name": "has_or_had_archival_status", - "path": "modules/slots/has_or_had_archival_status.yaml", - "category": "slots" - }, - { - "name": "has_or_had_archive_branch", - "path": "modules/slots/has_or_had_archive_branch.yaml", - "category": "slots" - }, - { - "name": "has_or_had_archive_scope", - "path": "modules/slots/has_or_had_archive_scope.yaml", - "category": "slots" - }, - { - "name": "has_or_had_area_served", - "path": "modules/slots/has_or_had_area_served.yaml", - "category": "slots" - }, - { - "name": "has_or_had_arrangement_system", - "path": "modules/slots/has_or_had_arrangement_system.yaml", - "category": "slots" - }, - { - "name": "has_or_had_artist_representation", - "path": "modules/slots/has_or_had_artist_representation.yaml", - "category": "slots" - }, - { - "name": "has_or_had_artwork_count", - "path": "modules/slots/has_or_had_artwork_count.yaml", - "category": "slots" - }, - { - "name": "has_or_had_assigned_processor", - "path": "modules/slots/has_or_had_assigned_processor.yaml", - "category": "slots" - }, - { - "name": "has_or_had_associated_auxiliary_platform", - "path": "modules/slots/has_or_had_associated_auxiliary_platform.yaml", - "category": "slots" - }, - { - "name": "has_or_had_associated_custodian", - "path": "modules/slots/has_or_had_associated_custodian.yaml", - "category": "slots" - }, - { - "name": "has_or_had_associated_digital_platform", - "path": "modules/slots/has_or_had_associated_digital_platform.yaml", - "category": "slots" - }, - { - "name": "has_or_had_associated_encompassing_body", - "path": "modules/slots/has_or_had_associated_encompassing_body.yaml", - "category": "slots" - }, - { - "name": "has_or_had_audience_size", - "path": "modules/slots/has_or_had_audience_size.yaml", - "category": "slots" - }, - { - "name": "has_or_had_audit_status", - "path": "modules/slots/has_or_had_audit_status.yaml", - "category": "slots" - }, - { - "name": "has_or_had_based_on_observation", - "path": "modules/slots/has_or_had_based_on_observation.yaml", - "category": "slots" - }, - { - "name": "has_or_had_category_assessment", - "path": "modules/slots/has_or_had_category_assessment.yaml", - "category": "slots" - }, - { - "name": "has_or_had_chapter", - "path": "modules/slots/has_or_had_chapter.yaml", - "category": "slots" - }, { "name": "has_or_had_collection", "path": "modules/slots/has_or_had_collection.yaml", "category": "slots" }, - { - "name": "has_or_had_collection_narrower_type", - "path": "modules/slots/has_or_had_collection_narrower_type.yaml", - "category": "slots" - }, - { - "name": "has_or_had_comment_reply", - "path": "modules/slots/has_or_had_comment_reply.yaml", - "category": "slots" - }, - { - "name": "has_or_had_condition_note", - "path": "modules/slots/has_or_had_condition_note.yaml", - "category": "slots" - }, - { - "name": "has_or_had_conservation_activity", - "path": "modules/slots/has_or_had_conservation_activity.yaml", - "category": "slots" - }, - { - "name": "has_or_had_conservation_record", - "path": "modules/slots/has_or_had_conservation_record.yaml", - "category": "slots" - }, - { - "name": "has_or_had_curation_activity", - "path": "modules/slots/has_or_had_curation_activity.yaml", - "category": "slots" - }, - { - "name": "has_or_had_custodian", - "path": "modules/slots/has_or_had_custodian.yaml", - "category": "slots" - }, - { - "name": "has_or_had_custodian_name", - "path": "modules/slots/has_or_had_custodian_name.yaml", - "category": "slots" - }, - { - "name": "has_or_had_custodian_observation", - "path": "modules/slots/has_or_had_custodian_observation.yaml", - "category": "slots" - }, - { - "name": "has_or_had_custodian_type", - "path": "modules/slots/has_or_had_custodian_type.yaml", - "category": "slots" - }, - { - "name": "has_or_had_data_quality_flag", - "path": "modules/slots/has_or_had_data_quality_flag.yaml", - "category": "slots" - }, - { - "name": "has_or_had_data_service_endpoint", - "path": "modules/slots/has_or_had_data_service_endpoint.yaml", - "category": "slots" - }, - { - "name": "has_or_had_depositing_organization", - "path": "modules/slots/has_or_had_depositing_organization.yaml", - "category": "slots" - }, - { - "name": "has_or_had_detected_face", - "path": "modules/slots/has_or_had_detected_face.yaml", - "category": "slots" - }, - { - "name": "has_or_had_detected_landmark", - "path": "modules/slots/has_or_had_detected_landmark.yaml", - "category": "slots" - }, - { - "name": "has_or_had_detected_logo", - "path": "modules/slots/has_or_had_detected_logo.yaml", - "category": "slots" - }, - { - "name": "has_or_had_detected_object", - "path": "modules/slots/has_or_had_detected_object.yaml", - "category": "slots" - }, - { - "name": "has_or_had_diarization_segment", - "path": "modules/slots/has_or_had_diarization_segment.yaml", - "category": "slots" - }, { "name": "has_or_had_digital_platform", "path": "modules/slots/has_or_had_digital_platform.yaml", "category": "slots" }, - { - "name": "has_or_had_documentation_source", - "path": "modules/slots/has_or_had_documentation_source.yaml", - "category": "slots" - }, - { - "name": "has_or_had_encompass", - "path": "modules/slots/has_or_had_encompass.yaml", - "category": "slots" - }, - { - "name": "has_or_had_environmental_condition", - "path": "modules/slots/has_or_had_environmental_condition.yaml", - "category": "slots" - }, - { - "name": "has_or_had_environmental_zone", - "path": "modules/slots/has_or_had_environmental_zone.yaml", - "category": "slots" - }, - { - "name": "has_or_had_essay", - "path": "modules/slots/has_or_had_essay.yaml", - "category": "slots" - }, - { - "name": "has_or_had_examination_method", - "path": "modules/slots/has_or_had_examination_method.yaml", - "category": "slots" - }, - { - "name": "has_or_had_exhibition", - "path": "modules/slots/has_or_had_exhibition.yaml", - "category": "slots" - }, - { - "name": "has_or_had_exhibition_catalog", - "path": "modules/slots/has_or_had_exhibition_catalog.yaml", - "category": "slots" - }, - { - "name": "has_or_had_exposed_collection", - "path": "modules/slots/has_or_had_exposed_collection.yaml", - "category": "slots" - }, - { - "name": "has_or_had_external_resource", - "path": "modules/slots/has_or_had_external_resource.yaml", - "category": "slots" - }, - { - "name": "has_or_had_featured_item", - "path": "modules/slots/has_or_had_featured_item.yaml", - "category": "slots" - }, - { - "name": "has_or_had_featured_object", - "path": "modules/slots/has_or_had_featured_object.yaml", - "category": "slots" - }, - { - "name": "has_or_had_finding_aid", - "path": "modules/slots/has_or_had_finding_aid.yaml", - "category": "slots" - }, - { - "name": "has_or_had_fond", - "path": "modules/slots/has_or_had_fond.yaml", - "category": "slots" - }, - { - "name": "has_or_had_generate", - "path": "modules/slots/has_or_had_generate.yaml", - "category": "slots" - }, - { - "name": "has_or_had_holds_record_set_type", - "path": "modules/slots/has_or_had_holds_record_set_type.yaml", - "category": "slots" - }, - { - "name": "has_or_had_ich_safeguarding_measure", - "path": "modules/slots/has_or_had_ich_safeguarding_measure.yaml", - "category": "slots" - }, - { - "name": "has_or_had_identify", - "path": "modules/slots/has_or_had_identify.yaml", - "category": "slots" - }, - { - "name": "has_or_had_implementing_organisation", - "path": "modules/slots/has_or_had_implementing_organisation.yaml", - "category": "slots" - }, - { - "name": "has_or_had_involved_actor", - "path": "modules/slots/has_or_had_involved_actor.yaml", - "category": "slots" - }, - { - "name": "has_or_had_iot_device", - "path": "modules/slots/has_or_had_iot_device.yaml", - "category": "slots" - }, - { - "name": "has_or_had_key_archive", - "path": "modules/slots/has_or_had_key_archive.yaml", - "category": "slots" - }, - { - "name": "has_or_had_key_date", - "path": "modules/slots/has_or_had_key_date.yaml", - "category": "slots" - }, - { - "name": "has_or_had_key_period", - "path": "modules/slots/has_or_had_key_period.yaml", - "category": "slots" - }, - { - "name": "has_or_had_language", - "path": "modules/slots/has_or_had_language.yaml", - "category": "slots" - }, - { - "name": "has_or_had_linked_data_endpoint", - "path": "modules/slots/has_or_had_linked_data_endpoint.yaml", - "category": "slots" - }, - { - "name": "has_or_had_loaned_object", - "path": "modules/slots/has_or_had_loaned_object.yaml", - "category": "slots" - }, - { - "name": "has_or_had_managed_by_cm", - "path": "modules/slots/has_or_had_managed_by_cm.yaml", - "category": "slots" - }, - { - "name": "has_or_had_managed_collection", - "path": "modules/slots/has_or_had_managed_collection.yaml", - "category": "slots" - }, - { - "name": "has_or_had_manages_collection", - "path": "modules/slots/has_or_had_manages_collection.yaml", - "category": "slots" - }, { "name": "has_or_had_member", "path": "modules/slots/has_or_had_member.yaml", "category": "slots" }, - { - "name": "has_or_had_member_custodian", - "path": "modules/slots/has_or_had_member_custodian.yaml", - "category": "slots" - }, - { - "name": "has_or_had_music_segment", - "path": "modules/slots/has_or_had_music_segment.yaml", - "category": "slots" - }, - { - "name": "has_or_had_open_access_endpoint", - "path": "modules/slots/has_or_had_open_access_endpoint.yaml", - "category": "slots" - }, - { - "name": "has_or_had_operate", - "path": "modules/slots/has_or_had_operate.yaml", - "category": "slots" - }, - { - "name": "has_or_had_operates_platform_type", - "path": "modules/slots/has_or_had_operates_platform_type.yaml", - "category": "slots" - }, - { - "name": "has_or_had_operates_storage_type", - "path": "modules/slots/has_or_had_operates_storage_type.yaml", - "category": "slots" - }, - { - "name": "has_or_had_organizational_change_event", - "path": "modules/slots/has_or_had_organizational_change_event.yaml", - "category": "slots" - }, - { - "name": "has_or_had_organizational_structure", - "path": "modules/slots/has_or_had_organizational_structure.yaml", - "category": "slots" - }, - { - "name": "has_or_had_page_section", - "path": "modules/slots/has_or_had_page_section.yaml", - "category": "slots" - }, - { - "name": "has_or_had_participated_in_event", - "path": "modules/slots/has_or_had_participated_in_event.yaml", - "category": "slots" - }, - { - "name": "has_or_had_participated_in_project", - "path": "modules/slots/has_or_had_participated_in_project.yaml", - "category": "slots" - }, - { - "name": "has_or_had_period", - "path": "modules/slots/has_or_had_period.yaml", - "category": "slots" - }, - { - "name": "has_or_had_portal_data_source", - "path": "modules/slots/has_or_had_portal_data_source.yaml", - "category": "slots" - }, - { - "name": "has_or_had_post_type", - "path": "modules/slots/has_or_had_post_type.yaml", - "category": "slots" - }, - { - "name": "has_or_had_powered_by_cm", - "path": "modules/slots/has_or_had_powered_by_cm.yaml", - "category": "slots" - }, - { - "name": "has_or_had_previous_owner", - "path": "modules/slots/has_or_had_previous_owner.yaml", - "category": "slots" - }, - { - "name": "has_or_had_primary_presence_assertion", - "path": "modules/slots/has_or_had_primary_presence_assertion.yaml", - "category": "slots" - }, - { - "name": "has_or_had_product_category", - "path": "modules/slots/has_or_had_product_category.yaml", - "category": "slots" - }, - { - "name": "has_or_had_project", - "path": "modules/slots/has_or_had_project.yaml", - "category": "slots" - }, - { - "name": "has_or_had_provenance_event", - "path": "modules/slots/has_or_had_provenance_event.yaml", - "category": "slots" - }, - { - "name": "has_or_had_registered_dataset", - "path": "modules/slots/has_or_had_registered_dataset.yaml", - "category": "slots" - }, - { - "name": "has_or_had_registration_number", - "path": "modules/slots/has_or_had_registration_number.yaml", - "category": "slots" - }, - { - "name": "has_or_had_related_activity", - "path": "modules/slots/has_or_had_related_activity.yaml", - "category": "slots" - }, - { - "name": "has_or_had_related_archive", - "path": "modules/slots/has_or_had_related_archive.yaml", - "category": "slots" - }, - { - "name": "has_or_had_related_event", - "path": "modules/slots/has_or_had_related_event.yaml", - "category": "slots" - }, - { - "name": "has_or_had_related_exhibition", - "path": "modules/slots/has_or_had_related_exhibition.yaml", - "category": "slots" - }, - { - "name": "has_or_had_related_guide", - "path": "modules/slots/has_or_had_related_guide.yaml", - "category": "slots" - }, - { - "name": "has_or_had_related_heritage_form", - "path": "modules/slots/has_or_had_related_heritage_form.yaml", - "category": "slots" - }, - { - "name": "has_or_had_requirement", - "path": "modules/slots/has_or_had_requirement.yaml", - "category": "slots" - }, - { - "name": "has_or_had_research_attempt", - "path": "modules/slots/has_or_had_research_attempt.yaml", - "category": "slots" - }, - { - "name": "has_or_had_resulting_unit", - "path": "modules/slots/has_or_had_resulting_unit.yaml", - "category": "slots" - }, - { - "name": "has_or_had_safeguard", - "path": "modules/slots/has_or_had_safeguard.yaml", - "category": "slots" - }, - { - "name": "has_or_had_scene_segment", - "path": "modules/slots/has_or_had_scene_segment.yaml", - "category": "slots" - }, - { - "name": "has_or_had_secondary_system", - "path": "modules/slots/has_or_had_secondary_system.yaml", - "category": "slots" - }, - { - "name": "has_or_had_section_link", - "path": "modules/slots/has_or_had_section_link.yaml", - "category": "slots" - }, - { - "name": "has_or_had_segment", - "path": "modules/slots/has_or_had_segment.yaml", - "category": "slots" - }, - { - "name": "has_or_had_series", - "path": "modules/slots/has_or_had_series.yaml", - "category": "slots" - }, - { - "name": "has_or_had_silence_segment", - "path": "modules/slots/has_or_had_silence_segment.yaml", - "category": "slots" - }, - { - "name": "has_or_had_social_media_profile", - "path": "modules/slots/has_or_had_social_media_profile.yaml", - "category": "slots" - }, - { - "name": "has_or_had_sound_event_type", - "path": "modules/slots/has_or_had_sound_event_type.yaml", - "category": "slots" - }, - { - "name": "has_or_had_speech_segment", - "path": "modules/slots/has_or_had_speech_segment.yaml", - "category": "slots" - }, - { - "name": "has_or_had_staff_member", - "path": "modules/slots/has_or_had_staff_member.yaml", - "category": "slots" - }, - { - "name": "has_or_had_storage_condition", - "path": "modules/slots/has_or_had_storage_condition.yaml", - "category": "slots" - }, - { - "name": "has_or_had_storage_facility", - "path": "modules/slots/has_or_had_storage_facility.yaml", - "category": "slots" - }, - { - "name": "has_or_had_storage_unit", - "path": "modules/slots/has_or_had_storage_unit.yaml", - "category": "slots" - }, - { - "name": "has_or_had_stores_collection", - "path": "modules/slots/has_or_had_stores_collection.yaml", - "category": "slots" - }, - { - "name": "has_or_had_strategic_objective", - "path": "modules/slots/has_or_had_strategic_objective.yaml", - "category": "slots" - }, { "name": "has_or_had_sub_collection", "path": "modules/slots/has_or_had_sub_collection.yaml", "category": "slots" }, - { - "name": "has_or_had_sub_department", - "path": "modules/slots/has_or_had_sub_department.yaml", - "category": "slots" - }, - { - "name": "has_or_had_sub_guide", - "path": "modules/slots/has_or_had_sub_guide.yaml", - "category": "slots" - }, - { - "name": "has_or_had_sub_section", - "path": "modules/slots/has_or_had_sub_section.yaml", - "category": "slots" - }, { "name": "has_or_had_suborganization", "path": "modules/slots/has_or_had_suborganization.yaml", "category": "slots" }, - { - "name": "has_or_had_text_region", - "path": "modules/slots/has_or_had_text_region.yaml", - "category": "slots" - }, - { - "name": "has_or_had_text_segment", - "path": "modules/slots/has_or_had_text_segment.yaml", - "category": "slots" - }, - { - "name": "has_or_had_thematic_route", - "path": "modules/slots/has_or_had_thematic_route.yaml", - "category": "slots" - }, - { - "name": "has_or_had_tracked_in_cm", - "path": "modules/slots/has_or_had_tracked_in_cm.yaml", - "category": "slots" - }, - { - "name": "has_or_had_transmission_method", - "path": "modules/slots/has_or_had_transmission_method.yaml", - "category": "slots" - }, - { - "name": "has_or_had_used_source", - "path": "modules/slots/has_or_had_used_source.yaml", - "category": "slots" - }, - { - "name": "has_or_had_web_claim", - "path": "modules/slots/has_or_had_web_claim.yaml", - "category": "slots" - }, { "name": "has_outdoor_seating", "path": "modules/slots/has_outdoor_seating.yaml", @@ -8855,8 +8341,8 @@ "category": "slots" }, { - "name": "hazard", - "path": "modules/slots/hazard.yaml", + "name": "hazards", + "path": "modules/slots/hazards.yaml", "category": "slots" }, { @@ -8915,8 +8401,8 @@ "category": "slots" }, { - "name": "heritage_holding", - "path": "modules/slots/heritage_holding.yaml", + "name": "heritage_holdings", + "path": "modules/slots/heritage_holdings.yaml", "category": "slots" }, { @@ -8959,11 +8445,6 @@ "path": "modules/slots/heritage_status.yaml", "category": "slots" }, - { - "name": "heritage_type", - "path": "modules/slots/heritage_type.yaml", - "category": "slots" - }, { "name": "heritage_type_classification", "path": "modules/slots/heritage_type_classification.yaml", @@ -8974,6 +8455,11 @@ "path": "modules/slots/heritage_type_code.yaml", "category": "slots" }, + { + "name": "heritage_types", + "path": "modules/slots/heritage_types.yaml", + "category": "slots" + }, { "name": "higher_classification", "path": "modules/slots/higher_classification.yaml", @@ -9000,8 +8486,13 @@ "category": "slots" }, { - "name": "historical_region", - "path": "modules/slots/historical_region.yaml", + "name": "historical_regions", + "path": "modules/slots/historical_regions.yaml", + "category": "slots" + }, + { + "name": "holds_record_set_types", + "path": "modules/slots/holds_record_set_types.yaml", "category": "slots" }, { @@ -9065,8 +8556,13 @@ "category": "slots" }, { - "name": "ich_transmission_method", - "path": "modules/slots/ich_transmission_method.yaml", + "name": "ich_safeguarding_measures", + "path": "modules/slots/ich_safeguarding_measures.yaml", + "category": "slots" + }, + { + "name": "ich_transmission_methods", + "path": "modules/slots/ich_transmission_methods.yaml", "category": "slots" }, { @@ -9089,11 +8585,6 @@ "path": "modules/slots/identified_by.yaml", "category": "slots" }, - { - "name": "identifier", - "path": "modules/slots/identifier.yaml", - "category": "slots" - }, { "name": "identifier_format", "path": "modules/slots/identifier_format.yaml", @@ -9119,6 +8610,16 @@ "path": "modules/slots/identifier_value.yaml", "category": "slots" }, + { + "name": "identifiers", + "path": "modules/slots/identifiers.yaml", + "category": "slots" + }, + { + "name": "identifies", + "path": "modules/slots/identifies.yaml", + "category": "slots" + }, { "name": "identifies_custodian", "path": "modules/slots/identifies_custodian.yaml", @@ -9135,8 +8636,8 @@ "category": "slots" }, { - "name": "illustration", - "path": "modules/slots/illustration.yaml", + "name": "illustrations", + "path": "modules/slots/illustrations.yaml", "category": "slots" }, { @@ -9149,6 +8650,11 @@ "path": "modules/slots/impact_measurement.yaml", "category": "slots" }, + { + "name": "implementing_organisations", + "path": "modules/slots/implementing_organisations.yaml", + "category": "slots" + }, { "name": "implements_agenda", "path": "modules/slots/implements_agenda.yaml", @@ -9170,8 +8676,8 @@ "category": "slots" }, { - "name": "includes_bounding_box", - "path": "modules/slots/includes_bounding_box.yaml", + "name": "includes_bounding_boxes", + "path": "modules/slots/includes_bounding_boxes.yaml", "category": "slots" }, { @@ -9180,8 +8686,8 @@ "category": "slots" }, { - "name": "includes_music_description", - "path": "modules/slots/includes_music_description.yaml", + "name": "includes_music_descriptions", + "path": "modules/slots/includes_music_descriptions.yaml", "category": "slots" }, { @@ -9190,18 +8696,13 @@ "category": "slots" }, { - "name": "includes_segmentation_mask", - "path": "modules/slots/includes_segmentation_mask.yaml", + "name": "includes_segmentation_masks", + "path": "modules/slots/includes_segmentation_masks.yaml", "category": "slots" }, { - "name": "includes_sound_description", - "path": "modules/slots/includes_sound_description.yaml", - "category": "slots" - }, - { - "name": "includes_speaker", - "path": "modules/slots/includes_speaker.yaml", + "name": "includes_sound_descriptions", + "path": "modules/slots/includes_sound_descriptions.yaml", "category": "slots" }, { @@ -9210,18 +8711,23 @@ "category": "slots" }, { - "name": "includes_timestamp", - "path": "modules/slots/includes_timestamp.yaml", + "name": "includes_speakers", + "path": "modules/slots/includes_speakers.yaml", "category": "slots" }, { - "name": "info_session_date", - "path": "modules/slots/info_session_date.yaml", + "name": "includes_timestamps", + "path": "modules/slots/includes_timestamps.yaml", "category": "slots" }, { - "name": "initial", - "path": "modules/slots/initial.yaml", + "name": "info_session_dates", + "path": "modules/slots/info_session_dates.yaml", + "category": "slots" + }, + { + "name": "initials", + "path": "modules/slots/initials.yaml", "category": "slots" }, { @@ -9230,8 +8736,8 @@ "category": "slots" }, { - "name": "innovation_expense", - "path": "modules/slots/innovation_expense.yaml", + "name": "innovation_expenses", + "path": "modules/slots/innovation_expenses.yaml", "category": "slots" }, { @@ -9255,8 +8761,8 @@ "category": "slots" }, { - "name": "institution_function", - "path": "modules/slots/institution_function.yaml", + "name": "institution_functions", + "path": "modules/slots/institution_functions.yaml", "category": "slots" }, { @@ -9310,8 +8816,18 @@ "category": "slots" }, { - "name": "inventory_web_address", - "path": "modules/slots/inventory_web_address.yaml", + "name": "inventory_web_addresses", + "path": "modules/slots/inventory_web_addresses.yaml", + "category": "slots" + }, + { + "name": "involved_actors", + "path": "modules/slots/involved_actors.yaml", + "category": "slots" + }, + { + "name": "iot_devices", + "path": "modules/slots/iot_devices.yaml", "category": "slots" }, { @@ -9334,11 +8850,6 @@ "path": "modules/slots/is_annex_of_reading_room.yaml", "category": "slots" }, - { - "name": "is_approximate", - "path": "modules/slots/is_approximate.yaml", - "category": "slots" - }, { "name": "is_auto_generated", "path": "modules/slots/is_auto_generated.yaml", @@ -9410,8 +8921,8 @@ "category": "slots" }, { - "name": "is_made_for_kid", - "path": "modules/slots/is_made_for_kid.yaml", + "name": "is_made_for_kids", + "path": "modules/slots/is_made_for_kids.yaml", "category": "slots" }, { @@ -9439,46 +8950,6 @@ "path": "modules/slots/is_open_to_public.yaml", "category": "slots" }, - { - "name": "is_or_was_about_digital_presence", - "path": "modules/slots/is_or_was_about_digital_presence.yaml", - "category": "slots" - }, - { - "name": "is_or_was_access_restricted", - "path": "modules/slots/is_or_was_access_restricted.yaml", - "category": "slots" - }, - { - "name": "is_or_was_affected_by_event", - "path": "modules/slots/is_or_was_affected_by_event.yaml", - "category": "slots" - }, - { - "name": "is_or_was_aggregated_by", - "path": "modules/slots/is_or_was_aggregated_by.yaml", - "category": "slots" - }, - { - "name": "is_or_was_allocated_by", - "path": "modules/slots/is_or_was_allocated_by.yaml", - "category": "slots" - }, - { - "name": "is_or_was_also_allocation_agency", - "path": "modules/slots/is_or_was_also_allocation_agency.yaml", - "category": "slots" - }, - { - "name": "is_or_was_archive_department_of", - "path": "modules/slots/is_or_was_archive_department_of.yaml", - "category": "slots" - }, - { - "name": "is_or_was_archived_in", - "path": "modules/slots/is_or_was_archived_in.yaml", - "category": "slots" - }, { "name": "is_or_was_collection_of", "path": "modules/slots/is_or_was_collection_of.yaml", @@ -9494,11 +8965,6 @@ "path": "modules/slots/is_or_was_member_of.yaml", "category": "slots" }, - { - "name": "is_or_was_part_of_archive_series", - "path": "modules/slots/is_or_was_part_of_archive_series.yaml", - "category": "slots" - }, { "name": "is_or_was_platform_of", "path": "modules/slots/is_or_was_platform_of.yaml", @@ -9605,8 +9071,8 @@ "category": "slots" }, { - "name": "issued_call", - "path": "modules/slots/issued_call.yaml", + "name": "issued_calls", + "path": "modules/slots/issued_calls.yaml", "category": "slots" }, { @@ -9615,8 +9081,8 @@ "category": "slots" }, { - "name": "item", - "path": "modules/slots/item.yaml", + "name": "items", + "path": "modules/slots/items.yaml", "category": "slots" }, { @@ -9659,14 +9125,29 @@ "path": "modules/slots/justification.yaml", "category": "slots" }, + { + "name": "key_archives", + "path": "modules/slots/key_archives.yaml", + "category": "slots" + }, + { + "name": "key_dates", + "path": "modules/slots/key_dates.yaml", + "category": "slots" + }, + { + "name": "key_periods", + "path": "modules/slots/key_periods.yaml", + "category": "slots" + }, { "name": "keyframe_extraction", "path": "modules/slots/keyframe_extraction.yaml", "category": "slots" }, { - "name": "keyword", - "path": "modules/slots/keyword.yaml", + "name": "keywords", + "path": "modules/slots/keywords.yaml", "category": "slots" }, { @@ -9774,6 +9255,11 @@ "path": "modules/slots/language_raw.yaml", "category": "slots" }, + { + "name": "languages", + "path": "modules/slots/languages.yaml", + "category": "slots" + }, { "name": "languages_detected", "path": "modules/slots/languages_detected.yaml", @@ -9845,8 +9331,8 @@ "category": "slots" }, { - "name": "legal_provenance_note", - "path": "modules/slots/legal_provenance_note.yaml", + "name": "legal_provenance_notes", + "path": "modules/slots/legal_provenance_notes.yaml", "category": "slots" }, { @@ -9935,8 +9421,8 @@ "category": "slots" }, { - "name": "likelihood_factor", - "path": "modules/slots/likelihood_factor.yaml", + "name": "likelihood_factors", + "path": "modules/slots/likelihood_factors.yaml", "category": "slots" }, { @@ -9994,6 +9480,11 @@ "path": "modules/slots/linked_data_access.yaml", "category": "slots" }, + { + "name": "linked_data_endpoints", + "path": "modules/slots/linked_data_endpoints.yaml", + "category": "slots" + }, { "name": "linked_data_export", "path": "modules/slots/linked_data_export.yaml", @@ -10020,8 +9511,8 @@ "category": "slots" }, { - "name": "list_item", - "path": "modules/slots/list_item.yaml", + "name": "list_items", + "path": "modules/slots/list_items.yaml", "category": "slots" }, { @@ -10035,8 +9526,8 @@ "category": "slots" }, { - "name": "living_collection", - "path": "modules/slots/living_collection.yaml", + "name": "living_collections", + "path": "modules/slots/living_collections.yaml", "category": "slots" }, { @@ -10065,8 +9556,8 @@ "category": "slots" }, { - "name": "loan_note", - "path": "modules/slots/loan_note.yaml", + "name": "loan_notes", + "path": "modules/slots/loan_notes.yaml", "category": "slots" }, { @@ -10099,6 +9590,11 @@ "path": "modules/slots/loan_type.yaml", "category": "slots" }, + { + "name": "loaned_objects", + "path": "modules/slots/loaned_objects.yaml", + "category": "slots" + }, { "name": "located_at", "path": "modules/slots/located_at.yaml", @@ -10160,13 +9656,13 @@ "category": "slots" }, { - "name": "major_city", - "path": "modules/slots/major_city.yaml", + "name": "major_cities", + "path": "modules/slots/major_cities.yaml", "category": "slots" }, { - "name": "major_research_project", - "path": "modules/slots/major_research_project.yaml", + "name": "major_research_projects", + "path": "modules/slots/major_research_projects.yaml", "category": "slots" }, { @@ -10174,11 +9670,26 @@ "path": "modules/slots/managed_by.yaml", "category": "slots" }, + { + "name": "managed_by_cms", + "path": "modules/slots/managed_by_cms.yaml", + "category": "slots" + }, + { + "name": "managed_collections", + "path": "modules/slots/managed_collections.yaml", + "category": "slots" + }, { "name": "manages_collection", "path": "modules/slots/manages_collection.yaml", "category": "slots" }, + { + "name": "manages_collections", + "path": "modules/slots/manages_collections.yaml", + "category": "slots" + }, { "name": "managing_unit", "path": "modules/slots/managing_unit.yaml", @@ -10249,6 +9760,11 @@ "path": "modules/slots/medium.yaml", "category": "slots" }, + { + "name": "member_custodians", + "path": "modules/slots/member_custodians.yaml", + "category": "slots" + }, { "name": "member_of", "path": "modules/slots/member_of.yaml", @@ -10270,8 +9786,8 @@ "category": "slots" }, { - "name": "metadata_standard", - "path": "modules/slots/metadata_standard.yaml", + "name": "metadata_standards", + "path": "modules/slots/metadata_standards.yaml", "category": "slots" }, { @@ -10290,8 +9806,8 @@ "category": "slots" }, { - "name": "michelin_star", - "path": "modules/slots/michelin_star.yaml", + "name": "michelin_stars", + "path": "modules/slots/michelin_stars.yaml", "category": "slots" }, { @@ -10300,8 +9816,8 @@ "category": "slots" }, { - "name": "minimum_partner", - "path": "modules/slots/minimum_partner.yaml", + "name": "minimum_partners", + "path": "modules/slots/minimum_partners.yaml", "category": "slots" }, { @@ -10360,8 +9876,8 @@ "category": "slots" }, { - "name": "multilingual_label", - "path": "modules/slots/multilingual_label.yaml", + "name": "multilingual_labels", + "path": "modules/slots/multilingual_labels.yaml", "category": "slots" }, { @@ -10409,6 +9925,11 @@ "path": "modules/slots/music_segment_confidence.yaml", "category": "slots" }, + { + "name": "music_segments", + "path": "modules/slots/music_segments.yaml", + "category": "slots" + }, { "name": "music_start_seconds", "path": "modules/slots/music_start_seconds.yaml", @@ -10465,8 +9986,8 @@ "category": "slots" }, { - "name": "narrower_type", - "path": "modules/slots/narrower_type.yaml", + "name": "narrower_types", + "path": "modules/slots/narrower_types.yaml", "category": "slots" }, { @@ -10520,8 +10041,8 @@ "category": "slots" }, { - "name": "note", - "path": "modules/slots/note.yaml", + "name": "notes", + "path": "modules/slots/notes.yaml", "category": "slots" }, { @@ -10530,8 +10051,8 @@ "category": "slots" }, { - "name": "object_alternate_name", - "path": "modules/slots/object_alternate_name.yaml", + "name": "object_alternate_names", + "path": "modules/slots/object_alternate_names.yaml", "category": "slots" }, { @@ -10595,8 +10116,8 @@ "category": "slots" }, { - "name": "objective", - "path": "modules/slots/objective.yaml", + "name": "objectives", + "path": "modules/slots/objectives.yaml", "category": "slots" }, { @@ -10619,11 +10140,6 @@ "path": "modules/slots/objects_removed.yaml", "category": "slots" }, - { - "name": "observation", - "path": "modules/slots/observation.yaml", - "category": "slots" - }, { "name": "observation_context", "path": "modules/slots/observation_context.yaml", @@ -10640,8 +10156,8 @@ "category": "slots" }, { - "name": "observation_note", - "path": "modules/slots/observation_note.yaml", + "name": "observation_notes", + "path": "modules/slots/observation_notes.yaml", "category": "slots" }, { @@ -10660,8 +10176,13 @@ "category": "slots" }, { - "name": "observed_entity", - "path": "modules/slots/observed_entity.yaml", + "name": "observations", + "path": "modules/slots/observations.yaml", + "category": "slots" + }, + { + "name": "observed_entities", + "path": "modules/slots/observed_entities.yaml", "category": "slots" }, { @@ -10705,8 +10226,8 @@ "category": "slots" }, { - "name": "offers_donation_scheme", - "path": "modules/slots/offers_donation_scheme.yaml", + "name": "offers_donation_schemes", + "path": "modules/slots/offers_donation_schemes.yaml", "category": "slots" }, { @@ -10719,14 +10240,19 @@ "path": "modules/slots/online_shop.yaml", "category": "slots" }, + { + "name": "open_access_endpoints", + "path": "modules/slots/open_access_endpoints.yaml", + "category": "slots" + }, { "name": "open_source", "path": "modules/slots/open_source.yaml", "category": "slots" }, { - "name": "opening_hour", - "path": "modules/slots/opening_hour.yaml", + "name": "opening_hours", + "path": "modules/slots/opening_hours.yaml", "category": "slots" }, { @@ -10734,14 +10260,29 @@ "path": "modules/slots/operated_by.yaml", "category": "slots" }, + { + "name": "operates", + "path": "modules/slots/operates.yaml", + "category": "slots" + }, + { + "name": "operates_platform_types", + "path": "modules/slots/operates_platform_types.yaml", + "category": "slots" + }, + { + "name": "operates_storage_types", + "path": "modules/slots/operates_storage_types.yaml", + "category": "slots" + }, { "name": "operating_budget", "path": "modules/slots/operating_budget.yaml", "category": "slots" }, { - "name": "operating_hour", - "path": "modules/slots/operating_hour.yaml", + "name": "operating_hours", + "path": "modules/slots/operating_hours.yaml", "category": "slots" }, { @@ -10769,6 +10310,11 @@ "path": "modules/slots/organization_type.yaml", "category": "slots" }, + { + "name": "organizational_change_events", + "path": "modules/slots/organizational_change_events.yaml", + "category": "slots" + }, { "name": "organizational_change_score", "path": "modules/slots/organizational_change_score.yaml", @@ -10799,6 +10345,11 @@ "path": "modules/slots/organizational_structure.yaml", "category": "slots" }, + { + "name": "organizational_structures", + "path": "modules/slots/organizational_structures.yaml", + "category": "slots" + }, { "name": "organized_by", "path": "modules/slots/organized_by.yaml", @@ -10880,13 +10431,8 @@ "category": "slots" }, { - "name": "ownership_stamp", - "path": "modules/slots/ownership_stamp.yaml", - "category": "slots" - }, - { - "name": "page", - "path": "modules/slots/page.yaml", + "name": "ownership_stamps", + "path": "modules/slots/ownership_stamps.yaml", "category": "slots" }, { @@ -10899,11 +10445,21 @@ "path": "modules/slots/page_section.yaml", "category": "slots" }, + { + "name": "page_sections", + "path": "modules/slots/page_sections.yaml", + "category": "slots" + }, { "name": "page_title", "path": "modules/slots/page_title.yaml", "category": "slots" }, + { + "name": "pages", + "path": "modules/slots/pages.yaml", + "category": "slots" + }, { "name": "paragraph_count", "path": "modules/slots/paragraph_count.yaml", @@ -10995,13 +10551,23 @@ "category": "slots" }, { - "name": "participating_custodian", - "path": "modules/slots/participating_custodian.yaml", + "name": "participated_in_events", + "path": "modules/slots/participated_in_events.yaml", "category": "slots" }, { - "name": "participating_institution", - "path": "modules/slots/participating_institution.yaml", + "name": "participated_in_projects", + "path": "modules/slots/participated_in_projects.yaml", + "category": "slots" + }, + { + "name": "participating_custodians", + "path": "modules/slots/participating_custodians.yaml", + "category": "slots" + }, + { + "name": "participating_institutions", + "path": "modules/slots/participating_institutions.yaml", "category": "slots" }, { @@ -11070,8 +10636,8 @@ "category": "slots" }, { - "name": "performance_note", - "path": "modules/slots/performance_note.yaml", + "name": "performance_notes", + "path": "modules/slots/performance_notes.yaml", "category": "slots" }, { @@ -11095,8 +10661,8 @@ "category": "slots" }, { - "name": "performer", - "path": "modules/slots/performer.yaml", + "name": "performers", + "path": "modules/slots/performers.yaml", "category": "slots" }, { @@ -11129,6 +10695,11 @@ "path": "modules/slots/period_start.yaml", "category": "slots" }, + { + "name": "periods", + "path": "modules/slots/periods.yaml", + "category": "slots" + }, { "name": "permanent_location", "path": "modules/slots/permanent_location.yaml", @@ -11145,8 +10716,8 @@ "category": "slots" }, { - "name": "person_claim_note", - "path": "modules/slots/person_claim_note.yaml", + "name": "person_claim_notes", + "path": "modules/slots/person_claim_notes.yaml", "category": "slots" }, { @@ -11205,8 +10776,8 @@ "category": "slots" }, { - "name": "photograph", - "path": "modules/slots/photograph.yaml", + "name": "photographs", + "path": "modules/slots/photographs.yaml", "category": "slots" }, { @@ -11369,6 +10940,11 @@ "path": "modules/slots/policy_review_date.yaml", "category": "slots" }, + { + "name": "portal_data_sources", + "path": "modules/slots/portal_data_sources.yaml", + "category": "slots" + }, { "name": "portal_description", "path": "modules/slots/portal_description.yaml", @@ -11420,8 +10996,8 @@ "category": "slots" }, { - "name": "portal_typical_domain", - "path": "modules/slots/portal_typical_domain.yaml", + "name": "portal_typical_domains", + "path": "modules/slots/portal_typical_domains.yaml", "category": "slots" }, { @@ -11460,8 +11036,8 @@ "category": "slots" }, { - "name": "post_type_heritage_use_case", - "path": "modules/slots/post_type_heritage_use_case.yaml", + "name": "post_type_heritage_use_cases", + "path": "modules/slots/post_type_heritage_use_cases.yaml", "category": "slots" }, { @@ -11475,8 +11051,8 @@ "category": "slots" }, { - "name": "post_type_media_format", - "path": "modules/slots/post_type_media_format.yaml", + "name": "post_type_media_formats", + "path": "modules/slots/post_type_media_formats.yaml", "category": "slots" }, { @@ -11490,8 +11066,13 @@ "category": "slots" }, { - "name": "post_type_supported_platform", - "path": "modules/slots/post_type_supported_platform.yaml", + "name": "post_type_supported_platforms", + "path": "modules/slots/post_type_supported_platforms.yaml", + "category": "slots" + }, + { + "name": "post_types", + "path": "modules/slots/post_types.yaml", "category": "slots" }, { @@ -11514,6 +11095,11 @@ "path": "modules/slots/power_source.yaml", "category": "slots" }, + { + "name": "powered_by_cms", + "path": "modules/slots/powered_by_cms.yaml", + "category": "slots" + }, { "name": "powers_platform", "path": "modules/slots/powers_platform.yaml", @@ -11574,6 +11160,11 @@ "path": "modules/slots/preservation_method.yaml", "category": "slots" }, + { + "name": "preservation_methods", + "path": "modules/slots/preservation_methods.yaml", + "category": "slots" + }, { "name": "preservation_note", "path": "modules/slots/preservation_note.yaml", @@ -11585,18 +11176,18 @@ "category": "slots" }, { - "name": "preservation_requirement", - "path": "modules/slots/preservation_requirement.yaml", + "name": "preservation_requirements", + "path": "modules/slots/preservation_requirements.yaml", "category": "slots" }, { - "name": "preservation_standard", - "path": "modules/slots/preservation_standard.yaml", + "name": "preservation_standards", + "path": "modules/slots/preservation_standards.yaml", "category": "slots" }, { - "name": "preservative_detail", - "path": "modules/slots/preservative_detail.yaml", + "name": "preservative_details", + "path": "modules/slots/preservative_details.yaml", "category": "slots" }, { @@ -11604,6 +11195,11 @@ "path": "modules/slots/previous_observation.yaml", "category": "slots" }, + { + "name": "previous_owners", + "path": "modules/slots/previous_owners.yaml", + "category": "slots" + }, { "name": "price", "path": "modules/slots/price.yaml", @@ -11634,6 +11230,11 @@ "path": "modules/slots/primary_heritage_type.yaml", "category": "slots" }, + { + "name": "primary_presence_assertions", + "path": "modules/slots/primary_presence_assertions.yaml", + "category": "slots" + }, { "name": "primary_register", "path": "modules/slots/primary_register.yaml", @@ -11689,6 +11290,11 @@ "path": "modules/slots/processing_status.yaml", "category": "slots" }, + { + "name": "product_categories", + "path": "modules/slots/product_categories.yaml", + "category": "slots" + }, { "name": "production_method", "path": "modules/slots/production_method.yaml", @@ -11735,13 +11341,13 @@ "category": "slots" }, { - "name": "program_activity", - "path": "modules/slots/program_activity.yaml", + "name": "program_activities", + "path": "modules/slots/program_activities.yaml", "category": "slots" }, { - "name": "program_expense", - "path": "modules/slots/program_expense.yaml", + "name": "program_expenses", + "path": "modules/slots/program_expenses.yaml", "category": "slots" }, { @@ -11755,8 +11361,8 @@ "category": "slots" }, { - "name": "programming_language", - "path": "modules/slots/programming_language.yaml", + "name": "programming_languages", + "path": "modules/slots/programming_languages.yaml", "category": "slots" }, { @@ -11775,8 +11381,8 @@ "category": "slots" }, { - "name": "project_identifier", - "path": "modules/slots/project_identifier.yaml", + "name": "project_identifiers", + "path": "modules/slots/project_identifiers.yaml", "category": "slots" }, { @@ -11800,13 +11406,18 @@ "category": "slots" }, { - "name": "prompt_token", - "path": "modules/slots/prompt_token.yaml", + "name": "projects", + "path": "modules/slots/projects.yaml", "category": "slots" }, { - "name": "pronoun", - "path": "modules/slots/pronoun.yaml", + "name": "prompt_tokens", + "path": "modules/slots/prompt_tokens.yaml", + "category": "slots" + }, + { + "name": "pronouns", + "path": "modules/slots/pronouns.yaml", "category": "slots" }, { @@ -11819,6 +11430,11 @@ "path": "modules/slots/provenance.yaml", "category": "slots" }, + { + "name": "provenance_events", + "path": "modules/slots/provenance_events.yaml", + "category": "slots" + }, { "name": "provenance_note", "path": "modules/slots/provenance_note.yaml", @@ -11855,8 +11471,8 @@ "category": "slots" }, { - "name": "publication_activity", - "path": "modules/slots/publication_activity.yaml", + "name": "publication_activities", + "path": "modules/slots/publication_activities.yaml", "category": "slots" }, { @@ -11955,8 +11571,8 @@ "category": "slots" }, { - "name": "recommendation", - "path": "modules/slots/recommendation.yaml", + "name": "recommendations", + "path": "modules/slots/recommendations.yaml", "category": "slots" }, { @@ -12019,6 +11635,11 @@ "path": "modules/slots/record_type.yaml", "category": "slots" }, + { + "name": "record_types", + "path": "modules/slots/record_types.yaml", + "category": "slots" + }, { "name": "recording_available", "path": "modules/slots/recording_available.yaml", @@ -12109,6 +11730,11 @@ "path": "modules/slots/register_type.yaml", "category": "slots" }, + { + "name": "registered_datasets", + "path": "modules/slots/registered_datasets.yaml", + "category": "slots" + }, { "name": "registered_office_clause", "path": "modules/slots/registered_office_clause.yaml", @@ -12124,6 +11750,11 @@ "path": "modules/slots/registration_date.yaml", "category": "slots" }, + { + "name": "registration_numbers", + "path": "modules/slots/registration_numbers.yaml", + "category": "slots" + }, { "name": "registration_required", "path": "modules/slots/registration_required.yaml", @@ -12140,13 +11771,23 @@ "category": "slots" }, { - "name": "related_agenda", - "path": "modules/slots/related_agenda.yaml", + "name": "related_activities", + "path": "modules/slots/related_activities.yaml", "category": "slots" }, { - "name": "related_call", - "path": "modules/slots/related_call.yaml", + "name": "related_agendas", + "path": "modules/slots/related_agendas.yaml", + "category": "slots" + }, + { + "name": "related_archives", + "path": "modules/slots/related_archives.yaml", + "category": "slots" + }, + { + "name": "related_calls", + "path": "modules/slots/related_calls.yaml", "category": "slots" }, { @@ -12154,6 +11795,26 @@ "path": "modules/slots/related_concept.yaml", "category": "slots" }, + { + "name": "related_events", + "path": "modules/slots/related_events.yaml", + "category": "slots" + }, + { + "name": "related_exhibitions", + "path": "modules/slots/related_exhibitions.yaml", + "category": "slots" + }, + { + "name": "related_guides", + "path": "modules/slots/related_guides.yaml", + "category": "slots" + }, + { + "name": "related_heritage_forms", + "path": "modules/slots/related_heritage_forms.yaml", + "category": "slots" + }, { "name": "related_loan", "path": "modules/slots/related_loan.yaml", @@ -12164,6 +11825,11 @@ "path": "modules/slots/related_project.yaml", "category": "slots" }, + { + "name": "related_projects", + "path": "modules/slots/related_projects.yaml", + "category": "slots" + }, { "name": "relationship", "path": "modules/slots/relationship.yaml", @@ -12185,8 +11851,8 @@ "category": "slots" }, { - "name": "remediation_note", - "path": "modules/slots/remediation_note.yaml", + "name": "remediation_notes", + "path": "modules/slots/remediation_notes.yaml", "category": "slots" }, { @@ -12274,6 +11940,11 @@ "path": "modules/slots/requirement_value.yaml", "category": "slots" }, + { + "name": "requirements", + "path": "modules/slots/requirements.yaml", + "category": "slots" + }, { "name": "requires_appointment", "path": "modules/slots/requires_appointment.yaml", @@ -12304,6 +11975,11 @@ "path": "modules/slots/requires_separate_registration.yaml", "category": "slots" }, + { + "name": "research_attempts", + "path": "modules/slots/research_attempts.yaml", + "category": "slots" + }, { "name": "research_center_description", "path": "modules/slots/research_center_description.yaml", @@ -12340,8 +12016,8 @@ "category": "slots" }, { - "name": "research_focus_area", - "path": "modules/slots/research_focus_area.yaml", + "name": "research_focus_areas", + "path": "modules/slots/research_focus_areas.yaml", "category": "slots" }, { @@ -12350,13 +12026,13 @@ "category": "slots" }, { - "name": "research_program", - "path": "modules/slots/research_program.yaml", + "name": "research_programs", + "path": "modules/slots/research_programs.yaml", "category": "slots" }, { - "name": "research_project", - "path": "modules/slots/research_project.yaml", + "name": "research_projects", + "path": "modules/slots/research_projects.yaml", "category": "slots" }, { @@ -12370,8 +12046,8 @@ "category": "slots" }, { - "name": "response_format", - "path": "modules/slots/response_format.yaml", + "name": "response_formats", + "path": "modules/slots/response_formats.yaml", "category": "slots" }, { @@ -12395,8 +12071,8 @@ "category": "slots" }, { - "name": "restriction_category", - "path": "modules/slots/restriction_category.yaml", + "name": "restriction_categories", + "path": "modules/slots/restriction_categories.yaml", "category": "slots" }, { @@ -12414,14 +12090,19 @@ "path": "modules/slots/restriction_type.yaml", "category": "slots" }, + { + "name": "resulting_units", + "path": "modules/slots/resulting_units.yaml", + "category": "slots" + }, { "name": "results_expected_date", "path": "modules/slots/results_expected_date.yaml", "category": "slots" }, { - "name": "retention_period_year", - "path": "modules/slots/retention_period_year.yaml", + "name": "retention_period_years", + "path": "modules/slots/retention_period_years.yaml", "category": "slots" }, { @@ -12540,8 +12221,8 @@ "category": "slots" }, { - "name": "route_keyword", - "path": "modules/slots/route_keyword.yaml", + "name": "route_keywords", + "path": "modules/slots/route_keywords.yaml", "category": "slots" }, { @@ -12565,13 +12246,18 @@ "category": "slots" }, { - "name": "safeguarding_measure", - "path": "modules/slots/safeguarding_measure.yaml", + "name": "safeguarding_measures", + "path": "modules/slots/safeguarding_measures.yaml", "category": "slots" }, { - "name": "safety_certification", - "path": "modules/slots/safety_certification.yaml", + "name": "safeguards", + "path": "modules/slots/safeguards.yaml", + "category": "slots" + }, + { + "name": "safety_certifications", + "path": "modules/slots/safety_certifications.yaml", "category": "slots" }, { @@ -12584,6 +12270,11 @@ "path": "modules/slots/scene_count.yaml", "category": "slots" }, + { + "name": "scene_segments", + "path": "modules/slots/scene_segments.yaml", + "category": "slots" + }, { "name": "scene_types_detected", "path": "modules/slots/scene_types_detected.yaml", @@ -12620,13 +12311,13 @@ "category": "slots" }, { - "name": "scope_exclude", - "path": "modules/slots/scope_exclude.yaml", + "name": "scope_excludes", + "path": "modules/slots/scope_excludes.yaml", "category": "slots" }, { - "name": "scope_include", - "path": "modules/slots/scope_include.yaml", + "name": "scope_includes", + "path": "modules/slots/scope_includes.yaml", "category": "slots" }, { @@ -12645,8 +12336,8 @@ "category": "slots" }, { - "name": "seasonal_hour", - "path": "modules/slots/seasonal_hour.yaml", + "name": "seasonal_hours", + "path": "modules/slots/seasonal_hours.yaml", "category": "slots" }, { @@ -12659,11 +12350,21 @@ "path": "modules/slots/secondary.yaml", "category": "slots" }, + { + "name": "secondary_systems", + "path": "modules/slots/secondary_systems.yaml", + "category": "slots" + }, { "name": "section_id", "path": "modules/slots/section_id.yaml", "category": "slots" }, + { + "name": "section_links", + "path": "modules/slots/section_links.yaml", + "category": "slots" + }, { "name": "secularization_status", "path": "modules/slots/secularization_status.yaml", @@ -12704,6 +12405,11 @@ "path": "modules/slots/segment_text.yaml", "category": "slots" }, + { + "name": "segments", + "path": "modules/slots/segments.yaml", + "category": "slots" + }, { "name": "sensory_heritage_domain", "path": "modules/slots/sensory_heritage_domain.yaml", @@ -12714,14 +12420,19 @@ "path": "modules/slots/sentence_count.yaml", "category": "slots" }, + { + "name": "series", + "path": "modules/slots/series.yaml", + "category": "slots" + }, { "name": "served_by", "path": "modules/slots/served_by.yaml", "category": "slots" }, { - "name": "serves_finding_aid", - "path": "modules/slots/serves_finding_aid.yaml", + "name": "serves_finding_aids", + "path": "modules/slots/serves_finding_aids.yaml", "category": "slots" }, { @@ -12765,8 +12476,8 @@ "category": "slots" }, { - "name": "service_offering", - "path": "modules/slots/service_offering.yaml", + "name": "service_offerings", + "path": "modules/slots/service_offerings.yaml", "category": "slots" }, { @@ -12834,6 +12545,11 @@ "path": "modules/slots/shop_type.yaml", "category": "slots" }, + { + "name": "silence_segments", + "path": "modules/slots/silence_segments.yaml", + "category": "slots" + }, { "name": "silence_total_seconds", "path": "modules/slots/silence_total_seconds.yaml", @@ -12845,8 +12561,8 @@ "category": "slots" }, { - "name": "skill", - "path": "modules/slots/skill.yaml", + "name": "skills", + "path": "modules/slots/skills.yaml", "category": "slots" }, { @@ -12860,18 +12576,18 @@ "category": "slots" }, { - "name": "social_media_example_profile", - "path": "modules/slots/social_media_example_profile.yaml", + "name": "social_media_example_profiles", + "path": "modules/slots/social_media_example_profiles.yaml", "category": "slots" }, { - "name": "social_media_feature", - "path": "modules/slots/social_media_feature.yaml", + "name": "social_media_features", + "path": "modules/slots/social_media_features.yaml", "category": "slots" }, { - "name": "social_media_heritage_use_case", - "path": "modules/slots/social_media_heritage_use_case.yaml", + "name": "social_media_heritage_use_cases", + "path": "modules/slots/social_media_heritage_use_cases.yaml", "category": "slots" }, { @@ -12900,8 +12616,13 @@ "category": "slots" }, { - "name": "social_media_url_pattern", - "path": "modules/slots/social_media_url_pattern.yaml", + "name": "social_media_profiles", + "path": "modules/slots/social_media_profiles.yaml", + "category": "slots" + }, + { + "name": "social_media_url_patterns", + "path": "modules/slots/social_media_url_patterns.yaml", "category": "slots" }, { @@ -12914,6 +12635,11 @@ "path": "modules/slots/society_focus.yaml", "category": "slots" }, + { + "name": "sound_event_types", + "path": "modules/slots/sound_event_types.yaml", + "category": "slots" + }, { "name": "sound_events_detected", "path": "modules/slots/sound_events_detected.yaml", @@ -12979,6 +12705,11 @@ "path": "modules/slots/source_url.yaml", "category": "slots" }, + { + "name": "source_urls", + "path": "modules/slots/source_urls.yaml", + "category": "slots" + }, { "name": "source_video", "path": "modules/slots/source_video.yaml", @@ -12989,6 +12720,11 @@ "path": "modules/slots/source_video_url.yaml", "category": "slots" }, + { + "name": "sources", + "path": "modules/slots/sources.yaml", + "category": "slots" + }, { "name": "space_description", "path": "modules/slots/space_description.yaml", @@ -13025,13 +12761,18 @@ "category": "slots" }, { - "name": "special_collection", - "path": "modules/slots/special_collection.yaml", + "name": "speaker_labels", + "path": "modules/slots/speaker_labels.yaml", "category": "slots" }, { - "name": "special_requirement", - "path": "modules/slots/special_requirement.yaml", + "name": "special_collections", + "path": "modules/slots/special_collections.yaml", + "category": "slots" + }, + { + "name": "special_requirements", + "path": "modules/slots/special_requirements.yaml", "category": "slots" }, { @@ -13074,6 +12815,11 @@ "path": "modules/slots/specimen_type.yaml", "category": "slots" }, + { + "name": "specimen_types", + "path": "modules/slots/specimen_types.yaml", + "category": "slots" + }, { "name": "spectrum_procedure", "path": "modules/slots/spectrum_procedure.yaml", @@ -13094,6 +12840,11 @@ "path": "modules/slots/speech_language_confidence.yaml", "category": "slots" }, + { + "name": "speech_segments", + "path": "modules/slots/speech_segments.yaml", + "category": "slots" + }, { "name": "speech_text", "path": "modules/slots/speech_text.yaml", @@ -13119,6 +12870,11 @@ "path": "modules/slots/staff_impact.yaml", "category": "slots" }, + { + "name": "staff_members", + "path": "modules/slots/staff_members.yaml", + "category": "slots" + }, { "name": "staff_role", "path": "modules/slots/staff_role.yaml", @@ -13219,11 +12975,21 @@ "path": "modules/slots/stewardship_responsibility.yaml", "category": "slots" }, + { + "name": "storage_conditions", + "path": "modules/slots/storage_conditions.yaml", + "category": "slots" + }, { "name": "storage_description", "path": "modules/slots/storage_description.yaml", "category": "slots" }, + { + "name": "storage_facilities", + "path": "modules/slots/storage_facilities.yaml", + "category": "slots" + }, { "name": "storage_id", "path": "modules/slots/storage_id.yaml", @@ -13285,8 +13051,23 @@ "category": "slots" }, { - "name": "stores_object", - "path": "modules/slots/stores_object.yaml", + "name": "storage_units", + "path": "modules/slots/storage_units.yaml", + "category": "slots" + }, + { + "name": "stores_collections", + "path": "modules/slots/stores_collections.yaml", + "category": "slots" + }, + { + "name": "stores_objects", + "path": "modules/slots/stores_objects.yaml", + "category": "slots" + }, + { + "name": "strategic_objectives", + "path": "modules/slots/strategic_objectives.yaml", "category": "slots" }, { @@ -13295,8 +13076,18 @@ "category": "slots" }, { - "name": "student_service", - "path": "modules/slots/student_service.yaml", + "name": "student_services", + "path": "modules/slots/student_services.yaml", + "category": "slots" + }, + { + "name": "sub_collections", + "path": "modules/slots/sub_collections.yaml", + "category": "slots" + }, + { + "name": "sub_departments", + "path": "modules/slots/sub_departments.yaml", "category": "slots" }, { @@ -13314,14 +13105,24 @@ "path": "modules/slots/sub_guide_type.yaml", "category": "slots" }, + { + "name": "sub_guides", + "path": "modules/slots/sub_guides.yaml", + "category": "slots" + }, + { + "name": "sub_sections", + "path": "modules/slots/sub_sections.yaml", + "category": "slots" + }, { "name": "subdivision_name", "path": "modules/slots/subdivision_name.yaml", "category": "slots" }, { - "name": "subject_area", - "path": "modules/slots/subject_area.yaml", + "name": "subject_areas", + "path": "modules/slots/subject_areas.yaml", "category": "slots" }, { @@ -13354,29 +13155,29 @@ "path": "modules/slots/successor_portal.yaml", "category": "slots" }, - { - "name": "supersede", - "path": "modules/slots/supersede.yaml", - "category": "slots" - }, { "name": "superseded_by", "path": "modules/slots/superseded_by.yaml", "category": "slots" }, { - "name": "supplier_relationship", - "path": "modules/slots/supplier_relationship.yaml", + "name": "supersedes", + "path": "modules/slots/supersedes.yaml", "category": "slots" }, { - "name": "supported_format", - "path": "modules/slots/supported_format.yaml", + "name": "supplier_relationships", + "path": "modules/slots/supplier_relationships.yaml", "category": "slots" }, { - "name": "supported_metadata_standard", - "path": "modules/slots/supported_metadata_standard.yaml", + "name": "supported_formats", + "path": "modules/slots/supported_formats.yaml", + "category": "slots" + }, + { + "name": "supported_metadata_standards", + "path": "modules/slots/supported_metadata_standards.yaml", "category": "slots" }, { @@ -13390,23 +13191,23 @@ "category": "slots" }, { - "name": "table_of_content", - "path": "modules/slots/table_of_content.yaml", + "name": "table_of_contents", + "path": "modules/slots/table_of_contents.yaml", "category": "slots" }, { - "name": "tag", - "path": "modules/slots/tag.yaml", + "name": "tags", + "path": "modules/slots/tags.yaml", "category": "slots" }, { - "name": "target_audience", - "path": "modules/slots/target_audience.yaml", + "name": "target_audiences", + "path": "modules/slots/target_audiences.yaml", "category": "slots" }, { - "name": "target_material", - "path": "modules/slots/target_material.yaml", + "name": "target_materials", + "path": "modules/slots/target_materials.yaml", "category": "slots" }, { @@ -13450,8 +13251,8 @@ "category": "slots" }, { - "name": "taxon_remark", - "path": "modules/slots/taxon_remark.yaml", + "name": "taxon_remarks", + "path": "modules/slots/taxon_remarks.yaml", "category": "slots" }, { @@ -13465,13 +13266,13 @@ "category": "slots" }, { - "name": "teaching_collection", - "path": "modules/slots/teaching_collection.yaml", + "name": "teaching_collections", + "path": "modules/slots/teaching_collections.yaml", "category": "slots" }, { - "name": "technical_specification", - "path": "modules/slots/technical_specification.yaml", + "name": "technical_specifications", + "path": "modules/slots/technical_specifications.yaml", "category": "slots" }, { @@ -13564,14 +13365,29 @@ "path": "modules/slots/text_region_count.yaml", "category": "slots" }, + { + "name": "text_regions", + "path": "modules/slots/text_regions.yaml", + "category": "slots" + }, + { + "name": "text_segments", + "path": "modules/slots/text_segments.yaml", + "category": "slots" + }, { "name": "text_types_detected", "path": "modules/slots/text_types_detected.yaml", "category": "slots" }, { - "name": "thematic_area", - "path": "modules/slots/thematic_area.yaml", + "name": "thematic_areas", + "path": "modules/slots/thematic_areas.yaml", + "category": "slots" + }, + { + "name": "thematic_routes", + "path": "modules/slots/thematic_routes.yaml", "category": "slots" }, { @@ -13585,8 +13401,8 @@ "category": "slots" }, { - "name": "threat", - "path": "modules/slots/threat.yaml", + "name": "threats", + "path": "modules/slots/threats.yaml", "category": "slots" }, { @@ -13640,8 +13456,8 @@ "category": "slots" }, { - "name": "topic", - "path": "modules/slots/topic.yaml", + "name": "topics", + "path": "modules/slots/topics.yaml", "category": "slots" }, { @@ -13650,8 +13466,8 @@ "category": "slots" }, { - "name": "total_asset", - "path": "modules/slots/total_asset.yaml", + "name": "total_assets", + "path": "modules/slots/total_assets.yaml", "category": "slots" }, { @@ -13665,8 +13481,8 @@ "category": "slots" }, { - "name": "total_chapter", - "path": "modules/slots/total_chapter.yaml", + "name": "total_chapters", + "path": "modules/slots/total_chapters.yaml", "category": "slots" }, { @@ -13680,8 +13496,8 @@ "category": "slots" }, { - "name": "total_expense", - "path": "modules/slots/total_expense.yaml", + "name": "total_expenses", + "path": "modules/slots/total_expenses.yaml", "category": "slots" }, { @@ -13695,13 +13511,13 @@ "category": "slots" }, { - "name": "total_liability", - "path": "modules/slots/total_liability.yaml", + "name": "total_liabilities", + "path": "modules/slots/total_liabilities.yaml", "category": "slots" }, { - "name": "total_net_asset", - "path": "modules/slots/total_net_asset.yaml", + "name": "total_net_assets", + "path": "modules/slots/total_net_assets.yaml", "category": "slots" }, { @@ -13710,8 +13526,8 @@ "category": "slots" }, { - "name": "total_token", - "path": "modules/slots/total_token.yaml", + "name": "total_tokens", + "path": "modules/slots/total_tokens.yaml", "category": "slots" }, { @@ -13724,14 +13540,19 @@ "path": "modules/slots/track_name.yaml", "category": "slots" }, + { + "name": "tracked_in_cms", + "path": "modules/slots/tracked_in_cms.yaml", + "category": "slots" + }, { "name": "tracking_ids_assigned", "path": "modules/slots/tracking_ids_assigned.yaml", "category": "slots" }, { - "name": "traditional_product", - "path": "modules/slots/traditional_product.yaml", + "name": "traditional_products", + "path": "modules/slots/traditional_products.yaml", "category": "slots" }, { @@ -13765,8 +13586,13 @@ "category": "slots" }, { - "name": "traveling_venue", - "path": "modules/slots/traveling_venue.yaml", + "name": "transmission_methods", + "path": "modules/slots/transmission_methods.yaml", + "category": "slots" + }, + { + "name": "traveling_venues", + "path": "modules/slots/traveling_venues.yaml", "category": "slots" }, { @@ -13790,8 +13616,8 @@ "category": "slots" }, { - "name": "type_hypothesis", - "path": "modules/slots/type_hypothesis.yaml", + "name": "type_hypotheses", + "path": "modules/slots/type_hypotheses.yaml", "category": "slots" }, { @@ -13820,13 +13646,13 @@ "category": "slots" }, { - "name": "typical_condition", - "path": "modules/slots/typical_condition.yaml", + "name": "typical_conditions", + "path": "modules/slots/typical_conditions.yaml", "category": "slots" }, { - "name": "typical_domain", - "path": "modules/slots/typical_domain.yaml", + "name": "typical_domains", + "path": "modules/slots/typical_domains.yaml", "category": "slots" }, { @@ -13835,13 +13661,13 @@ "category": "slots" }, { - "name": "typical_metadata_standard", - "path": "modules/slots/typical_metadata_standard.yaml", + "name": "typical_metadata_standards", + "path": "modules/slots/typical_metadata_standards.yaml", "category": "slots" }, { - "name": "typical_responsibility", - "path": "modules/slots/typical_responsibility.yaml", + "name": "typical_responsibilities", + "path": "modules/slots/typical_responsibilities.yaml", "category": "slots" }, { @@ -13850,8 +13676,8 @@ "category": "slots" }, { - "name": "typical_technical_feature", - "path": "modules/slots/typical_technical_feature.yaml", + "name": "typical_technical_features", + "path": "modules/slots/typical_technical_features.yaml", "category": "slots" }, { @@ -13945,8 +13771,13 @@ "category": "slots" }, { - "name": "user_community", - "path": "modules/slots/user_community.yaml", + "name": "used_sources", + "path": "modules/slots/used_sources.yaml", + "category": "slots" + }, + { + "name": "user_communities", + "path": "modules/slots/user_communities.yaml", "category": "slots" }, { @@ -14030,8 +13861,8 @@ "category": "slots" }, { - "name": "video_comment", - "path": "modules/slots/video_comment.yaml", + "name": "video_comments", + "path": "modules/slots/video_comments.yaml", "category": "slots" }, { @@ -14045,8 +13876,8 @@ "category": "slots" }, { - "name": "visiting_hour", - "path": "modules/slots/visiting_hour.yaml", + "name": "visiting_hours", + "path": "modules/slots/visiting_hours.yaml", "category": "slots" }, { @@ -14060,18 +13891,18 @@ "category": "slots" }, { - "name": "visitor_facility", - "path": "modules/slots/visitor_facility.yaml", + "name": "visitor_facilities", + "path": "modules/slots/visitor_facilities.yaml", "category": "slots" }, { - "name": "visitor_service", - "path": "modules/slots/visitor_service.yaml", + "name": "visitor_services", + "path": "modules/slots/visitor_services.yaml", "category": "slots" }, { - "name": "volunteer_program", - "path": "modules/slots/volunteer_program.yaml", + "name": "volunteer_programs", + "path": "modules/slots/volunteer_programs.yaml", "category": "slots" }, { @@ -14109,21 +13940,6 @@ "path": "modules/slots/warehouse_type.yaml", "category": "slots" }, - { - "name": "was_approved_by", - "path": "modules/slots/was_approved_by.yaml", - "category": "slots" - }, - { - "name": "was_archived_at", - "path": "modules/slots/was_archived_at.yaml", - "category": "slots" - }, - { - "name": "was_asserted_by", - "path": "modules/slots/was_asserted_by.yaml", - "category": "slots" - }, { "name": "was_derived_from", "path": "modules/slots/was_derived_from.yaml", @@ -14140,8 +13956,13 @@ "category": "slots" }, { - "name": "web_observation", - "path": "modules/slots/web_observation.yaml", + "name": "web_claims", + "path": "modules/slots/web_claims.yaml", + "category": "slots" + }, + { + "name": "web_observations", + "path": "modules/slots/web_observations.yaml", "category": "slots" }, { @@ -14235,8 +14056,8 @@ "category": "slots" }, { - "name": "workshop_space", - "path": "modules/slots/workshop_space.yaml", + "name": "workshop_spaces", + "path": "modules/slots/workshop_spaces.yaml", "category": "slots" }, { diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/ArchiveReference.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/ArchiveReference.yaml index 2b4234acaa..b7d70da765 100644 --- a/frontend/public/schemas/20251121/linkml/modules/classes/ArchiveReference.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/classes/ArchiveReference.yaml @@ -14,7 +14,7 @@ imports: - ../metadata - ./SpecificityAnnotation - ./TemplateSpecificityScores - - ../slots/access + - ../slots/has_or_had_access_condition - ../slots/full_name - ../slots/isil - ../slots/location @@ -34,7 +34,7 @@ classes: Used for key_archives (main archives for a topic) and related_archives (external archives with related holdings). slots: - - access + - has_or_had_access_condition - full_name - isil - location diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/Collection.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/Collection.yaml index 3043b71ed9..8fe7eb5356 100644 --- a/frontend/public/schemas/20251121/linkml/modules/classes/Collection.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/classes/Collection.yaml @@ -24,7 +24,7 @@ imports: - ./FindingAid - ./ExhibitedObject - ./CurationActivity -- ../slots/access_policy_ref +- ../slots/has_or_had_access_policy_reference - ../slots/has_acquisition_date - ../slots/has_acquisition_method - ../slots/has_acquisition_source @@ -166,7 +166,7 @@ classes: - rico:Record - bf:Item slots: - - access_policy_ref + - has_or_had_access_policy_reference - has_acquisition_date - has_acquisition_method - has_acquisition_source @@ -408,7 +408,7 @@ classes: description: Source of VOC archives transfer - value: Estate of Anna Drucker-Fraser description: Source of bequest - has_access_policy_reference: + has_or_had_access_policy_reference: slot_uri: premis:hasRightsDeclaration description: | Access policy governing this collection. @@ -679,7 +679,7 @@ classes: acquisition_method: TRANSFER acquisition_date: '1856-01-01' acquisition_source: Ministry of Colonies - access_policy_ref: https://nde.nl/ontology/hc/access-policy/open-access + has_or_had_access_policy_reference: https://nde.nl/ontology/hc/access-policy/open-access arrangement: Organized by provenance, then chronologically has_or_had_finding_aid: - finding_aid_id: https://nde.nl/finding-aid/nationaal-archief-voc-inventory @@ -699,5 +699,5 @@ classes: # NOTE: All slots are defined in centralized modules/slots/ files # Slots used by this class: collection_id, collection_type_ref, record_set_type, # extent_items, subject_areas, provenance_statement, custodial_history, acquisition_source, -# access_policy_ref, arrangement, finding_aids, digital_surrogate_url, parent_collection, +# has_or_had_access_policy_reference, arrangement, finding_aids, digital_surrogate_url, parent_collection, # has_or_had_sub_collection, items, curation_activities, part_of_custodian_collection diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/ConservationLab.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/ConservationLab.yaml index e45c054db8..f318d69977 100644 --- a/frontend/public/schemas/20251121/linkml/modules/classes/ConservationLab.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/classes/ConservationLab.yaml @@ -6,7 +6,7 @@ imports: - ./ReconstructedEntity - ./CustodianObservation - ./ReconstructionActivity -- ../slots/accepts_external_work +- ../slots/accepts_or_accepted_external_work - ../slots/has_or_had_accreditation_body - ../slots/conservation_specialization - ../slots/equipment_type @@ -126,7 +126,7 @@ classes: - crm:E14_Condition_Assessment - schema:ResearchOrganization slots: - - accepts_external_work + - accepts_or_accepted_external_work - has_or_had_accreditation_body - conservation_specialization - equipment_type @@ -416,7 +416,7 @@ classes: is_accredited: true accreditation_body: VeRes staff_count: 12 - accepts_external_work: false + accepts_or_accepted_external_work: false description: Major museum conservation studio - value: lab_id: https://nde.nl/ontology/hc/aux/na-restauratie @@ -437,7 +437,7 @@ classes: has_fume_hoods: true has_deacidification_facility: true staff_count: 6 - accepts_external_work: true + accepts_or_accepted_external_work: true description: Archive paper conservation workshop slots: lab_id: diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/FindingAid.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/FindingAid.yaml index 2b7ba5f890..aa14341b76 100644 --- a/frontend/public/schemas/20251121/linkml/modules/classes/FindingAid.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/classes/FindingAid.yaml @@ -50,7 +50,7 @@ imports: - ../slots/publisher - ../slots/publication_date - ../slots/isbn -- ../slots/access +- ../slots/has_or_had_access_condition - ../slots/is_or_was_access_restricted - ../slots/all_links - ../slots/card_description @@ -676,7 +676,7 @@ classes: Used for key_archives (main archives for a topic) and related_archives (external archives with related holdings). slots: - - access + - has_or_had_access_condition - full_name - isil - location diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/GiftShop.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/GiftShop.yaml index 95c4b755a7..2f98e97e22 100644 --- a/frontend/public/schemas/20251121/linkml/modules/classes/GiftShop.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/classes/GiftShop.yaml @@ -15,7 +15,7 @@ imports: - ../slots/managed_by - ../slots/price_currency - ./ReconstructedEntity -- ../slots/accepts_payment_methods +- ../slots/accepts_or_accepted_payment_method - ../slots/has_or_had_annual_revenue - ../slots/giftshop_price_range - ../slots/online_shop @@ -65,7 +65,7 @@ classes: \ materials, replicas for learning\n\n**PHYSICAL vs. DIGITAL PRESENCE**:\n\n\ Gift shops can exist in multiple forms:\n\n1. **Physical shop** (on-site): Located\ \ within museum/archive building\n - Links to AuxiliaryPlace (physical location)\n\ - \ - Has opening_hours, accepts_payment_methods\n \n2. **Physical shop**\ + \ - Has opening_hours, accepts_or_accepted_payment_method\n \n2. **Physical shop**\ \ (separate): Stand-alone retail location\n - Links to AuxiliaryPlace with\ \ type RETAIL_SPACE\n - May have separate street address, hours\n \n3. **Online\ \ shop** (e-commerce): Web-based retail platform\n - Links to AuxiliaryDigitalPlatform\ @@ -121,7 +121,7 @@ classes: - gr:Offering - schema:Product slots: - - accepts_payment_methods + - accepts_or_accepted_payment_method - has_or_had_annual_revenue - giftshop_price_range - managed_by diff --git a/frontend/public/schemas/20251121/linkml/modules/classes/ResearchCenter.yaml b/frontend/public/schemas/20251121/linkml/modules/classes/ResearchCenter.yaml index 4532444e8a..a9f6c95660 100644 --- a/frontend/public/schemas/20251121/linkml/modules/classes/ResearchCenter.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/classes/ResearchCenter.yaml @@ -7,7 +7,7 @@ imports: - ./CustodianObservation - ./ReconstructionActivity - ../enums/ResearchCenterTypeEnum -- ../slots/accepts_visiting_scholars +- ../slots/accepts_or_accepted_visiting_scholar - ../slots/has_or_had_affiliated_university - ../slots/has_or_had_custodian_type - ../slots/fellows_count @@ -130,7 +130,7 @@ classes: - hc:ConservationLab - hc:EducationCenter slots: - - accepts_visiting_scholars + - accepts_or_accepted_visiting_scholar - has_or_had_affiliated_university - has_or_had_custodian_type - fellows_count @@ -369,7 +369,7 @@ classes: has_publication_series: true publication_series_name: Rijksmuseum Studies in Art has_research_library: true - accepts_visiting_scholars: true + accepts_or_accepted_visiting_scholar: true major_research_project: - Rembrandt Database - Operation Night Watch @@ -391,7 +391,7 @@ classes: - TU Delft has_fellows_program: true fellows_count: 4 - accepts_visiting_scholars: true + accepts_or_accepted_visiting_scholar: true staff_count: 8 description: Digital humanities research lab slots: diff --git a/frontend/public/schemas/20251121/linkml/modules/slots/has_access_policy_reference.yaml b/frontend/public/schemas/20251121/linkml/modules/slots/has_or_had_access_policy_reference.yaml similarity index 62% rename from frontend/public/schemas/20251121/linkml/modules/slots/has_access_policy_reference.yaml rename to frontend/public/schemas/20251121/linkml/modules/slots/has_or_had_access_policy_reference.yaml index 2afb48f100..94cdec0f80 100644 --- a/frontend/public/schemas/20251121/linkml/modules/slots/has_access_policy_reference.yaml +++ b/frontend/public/schemas/20251121/linkml/modules/slots/has_or_had_access_policy_reference.yaml @@ -1,23 +1,26 @@ -id: https://nde.nl/ontology/hc/slot/has_access_policy_reference -name: has_access_policy_reference_slot -title: Has Access Policy Reference Slot +id: https://nde.nl/ontology/hc/slot/has_or_had_access_policy_reference +name: has_or_had_access_policy_reference_slot +title: Has Or Had Access Policy Reference Slot prefixes: dcterms: http://purl.org/dc/terms/ hc: https://nde.nl/ontology/hc/ linkml: https://w3id.org/linkml/ schema: http://schema.org/ + premis: http://www.loc.gov/premis/rdf/v3/ imports: - linkml:types default_prefix: hc slots: - has_access_policy_reference: + has_or_had_access_policy_reference: description: >- Reference (URL or citation) to an access policy document. + Uses temporal naming to indicate that access policies may change over time. range: uri - slot_uri: dcterms:references + slot_uri: premis:hasRightsDeclaration exact_mappings: - - dcterms:references + - premis:hasRightsDeclaration close_mappings: + - dcterms:references - schema:citation - dcterms:source annotations: diff --git a/infrastructure/caddy/webhook-snippet.txt b/infrastructure/caddy/webhook-snippet.txt new file mode 100644 index 0000000000..1b2bdbb2e2 --- /dev/null +++ b/infrastructure/caddy/webhook-snippet.txt @@ -0,0 +1,16 @@ +# GLAM Deploy Webhook - Add to bronhouder.nl site block +# Insert after the /health handler +# +# This handles webhook callbacks from Forgejo for automatic schema deployment +# +# To add to /etc/caddy/Caddyfile, insert within the bronhouder.nl block: + +# Webhook endpoint for Forgejo push events +handle /webhook/deploy* { + reverse_proxy 127.0.0.1:8099 { + transport http { + read_timeout 120s + write_timeout 120s + } + } +} diff --git a/infrastructure/scripts/deploy-webhook.py b/infrastructure/scripts/deploy-webhook.py new file mode 100644 index 0000000000..b97ad6d740 --- /dev/null +++ b/infrastructure/scripts/deploy-webhook.py @@ -0,0 +1,262 @@ +#!/usr/bin/env python3 +""" +Webhook receiver for Forgejo push events. +Triggers schema sync when push events are received on the main branch. + +Run with: uvicorn deploy-webhook:app --port 8099 --host 127.0.0.1 +Or as systemd service: deploy-webhook.service +""" + +import asyncio +import hashlib +import hmac +import json +import os +import subprocess +import logging +from datetime import datetime +from pathlib import Path +from typing import Optional + +from fastapi import FastAPI, Request, HTTPException, Header +from fastapi.responses import JSONResponse +from pydantic import BaseModel + +# Configure logging +logging.basicConfig( + level=logging.INFO, + format='%(asctime)s - %(name)s - %(levelname)s - %(message)s' +) +logger = logging.getLogger(__name__) + +app = FastAPI(title="GLAM Deploy Webhook", version="1.0.0") + +# Configuration +WEBHOOK_SECRET = os.environ.get("WEBHOOK_SECRET", "") +REPO_PATH = Path("/var/lib/glam/repo") +SCRIPTS_PATH = Path("/var/lib/glam/scripts") +FRONTEND_PATH = Path("/var/www/glam-frontend") +LINKML_SOURCE = REPO_PATH / "schemas/20251121/linkml" +LINKML_DEST = FRONTEND_PATH / "schemas/20251121/linkml" + +# Lock to prevent concurrent deployments +deploy_lock = asyncio.Lock() + + +def verify_signature(payload: bytes, signature: str) -> bool: + """Verify Forgejo webhook signature.""" + if not WEBHOOK_SECRET: + logger.warning("WEBHOOK_SECRET not set, skipping signature verification") + return True + + if not signature: + return False + + expected = hmac.new( + WEBHOOK_SECRET.encode(), + payload, + hashlib.sha256 + ).hexdigest() + + # Forgejo uses sha256= format + if signature.startswith("sha256="): + signature = signature[7:] + + return hmac.compare_digest(expected, signature) + + +class DeployResult(BaseModel): + success: bool + message: str + details: Optional[dict] = None + timestamp: str + + +async def run_command(cmd: list[str], cwd: Optional[Path] = None) -> tuple[int, str, str]: + """Run a shell command asynchronously.""" + process = await asyncio.create_subprocess_exec( + *cmd, + cwd=cwd, + stdout=asyncio.subprocess.PIPE, + stderr=asyncio.subprocess.PIPE + ) + stdout, stderr = await process.communicate() + return process.returncode, stdout.decode(), stderr.decode() + + +async def sync_schemas() -> dict: + """Sync LinkML schemas from repo to frontend public directory.""" + results = {} + + # Pull latest changes + logger.info(f"Pulling latest changes in {REPO_PATH}") + code, stdout, stderr = await run_command(["git", "pull", "origin", "main"], cwd=REPO_PATH) + results["git_pull"] = { + "success": code == 0, + "stdout": stdout[:500] if stdout else "", + "stderr": stderr[:500] if stderr else "" + } + + if code != 0: + logger.error(f"Git pull failed: {stderr}") + return results + + # Ensure destination directory exists + LINKML_DEST.mkdir(parents=True, exist_ok=True) + + # Sync LinkML schemas using rsync + logger.info(f"Syncing schemas: {LINKML_SOURCE} -> {LINKML_DEST}") + code, stdout, stderr = await run_command([ + "rsync", "-av", "--delete", + "--exclude", "*.pyc", + "--exclude", "__pycache__", + "--exclude", ".git", + f"{LINKML_SOURCE}/", + f"{LINKML_DEST}/" + ]) + results["rsync_linkml"] = { + "success": code == 0, + "stdout": stdout[:1000] if stdout else "", + "stderr": stderr[:500] if stderr else "" + } + + if code != 0: + logger.error(f"rsync failed: {stderr}") + else: + logger.info("Schema sync completed successfully") + + return results + + +@app.get("/health") +async def health(): + """Health check endpoint.""" + return {"status": "ok", "service": "deploy-webhook"} + + +@app.post("/webhook/deploy") +async def deploy_webhook( + request: Request, + x_forgejo_signature: Optional[str] = Header(None, alias="X-Forgejo-Signature"), + x_forgejo_event: Optional[str] = Header(None, alias="X-Forgejo-Event"), + x_gitea_signature: Optional[str] = Header(None, alias="X-Gitea-Signature"), + x_gitea_event: Optional[str] = Header(None, alias="X-Gitea-Event"), +): + """ + Handle Forgejo/Gitea push webhook. + Triggers schema sync on push to main branch. + """ + body = await request.body() + + # Use Forgejo or Gitea headers (Forgejo is a Gitea fork) + signature = x_forgejo_signature or x_gitea_signature + event = x_forgejo_event or x_gitea_event + + # Verify signature + if not verify_signature(body, signature or ""): + logger.warning("Invalid webhook signature") + raise HTTPException(status_code=401, detail="Invalid signature") + + # Parse payload + try: + payload = json.loads(body) + except json.JSONDecodeError: + raise HTTPException(status_code=400, detail="Invalid JSON payload") + + # Only process push events + if event != "push": + return JSONResponse({ + "status": "ignored", + "reason": f"Event type '{event}' not handled" + }) + + # Only process pushes to main branch + ref = payload.get("ref", "") + if ref not in ["refs/heads/main", "refs/heads/master"]: + return JSONResponse({ + "status": "ignored", + "reason": f"Push to non-main branch: {ref}" + }) + + # Check if schemas changed + commits = payload.get("commits", []) + schema_changed = False + for commit in commits: + modified = commit.get("modified", []) + commit.get("added", []) + commit.get("removed", []) + for path in modified: + if path.startswith("schemas/20251121/linkml/"): + schema_changed = True + break + if schema_changed: + break + + if not schema_changed: + return JSONResponse({ + "status": "ignored", + "reason": "No schema changes detected" + }) + + # Acquire lock to prevent concurrent deployments + if deploy_lock.locked(): + return JSONResponse({ + "status": "busy", + "message": "Deployment already in progress" + }, status_code=409) + + async with deploy_lock: + logger.info(f"Starting deployment for push to {ref}") + + try: + results = await sync_schemas() + success = all(r.get("success", False) for r in results.values()) + + return DeployResult( + success=success, + message="Schema sync completed" if success else "Schema sync failed", + details=results, + timestamp=datetime.utcnow().isoformat() + ) + except Exception as e: + logger.exception("Deployment failed") + raise HTTPException(status_code=500, detail=str(e)) + + +@app.post("/webhook/deploy/manual") +async def manual_deploy(request: Request): + """ + Manual deployment trigger (for testing or forced sync). + Requires a simple auth token. + """ + auth = request.headers.get("Authorization", "") + expected = f"Bearer {WEBHOOK_SECRET}" + + if WEBHOOK_SECRET and auth != expected: + raise HTTPException(status_code=401, detail="Unauthorized") + + if deploy_lock.locked(): + return JSONResponse({ + "status": "busy", + "message": "Deployment already in progress" + }, status_code=409) + + async with deploy_lock: + logger.info("Starting manual deployment") + + try: + results = await sync_schemas() + success = all(r.get("success", False) for r in results.values()) + + return DeployResult( + success=success, + message="Manual schema sync completed" if success else "Manual sync failed", + details=results, + timestamp=datetime.utcnow().isoformat() + ) + except Exception as e: + logger.exception("Manual deployment failed") + raise HTTPException(status_code=500, detail=str(e)) + + +if __name__ == "__main__": + import uvicorn + uvicorn.run(app, host="127.0.0.1", port=8099) diff --git a/infrastructure/scripts/setup-deploy-webhook.sh b/infrastructure/scripts/setup-deploy-webhook.sh new file mode 100755 index 0000000000..8c4c130d4b --- /dev/null +++ b/infrastructure/scripts/setup-deploy-webhook.sh @@ -0,0 +1,133 @@ +#!/bin/bash +# Setup script for GLAM deploy webhook on the server +# Run this on the Hetzner server as root + +set -e + +echo "=== GLAM Deploy Webhook Setup ===" + +# Configuration +WEBHOOK_SECRET="${1:-$(openssl rand -hex 32)}" +GLAM_USER="glam" +SCRIPTS_DIR="/var/lib/glam/scripts" +REPO_DIR="/var/lib/glam/repo" + +# Create directories +echo "Creating directories..." +mkdir -p "$SCRIPTS_DIR" +mkdir -p "$REPO_DIR" + +# Clone/update the repo +if [ -d "$REPO_DIR/.git" ]; then + echo "Updating existing repo..." + cd "$REPO_DIR" + git fetch origin + git reset --hard origin/main +else + echo "Cloning repository..." + git clone https://git.bronhouder.nl/kempersc/glam.git "$REPO_DIR" +fi + +# Install Python dependencies +echo "Installing Python dependencies..." +pip3 install fastapi uvicorn pydantic --quiet + +# Copy webhook script +echo "Deploying webhook script..." +cp "$REPO_DIR/infrastructure/scripts/deploy-webhook.py" "$SCRIPTS_DIR/" + +# Create systemd service +echo "Creating systemd service..." +cat > /etc/systemd/system/deploy-webhook.service << EOF +[Unit] +Description=GLAM Deploy Webhook Service +Documentation=https://git.bronhouder.nl/kempersc/glam +After=network.target caddy.service + +[Service] +Type=simple +User=$GLAM_USER +Group=$GLAM_USER +WorkingDirectory=$SCRIPTS_DIR +Environment="WEBHOOK_SECRET=$WEBHOOK_SECRET" +ExecStart=/usr/bin/python3 -m uvicorn deploy-webhook:app --host 127.0.0.1 --port 8099 +Restart=always +RestartSec=5 +StandardOutput=journal +StandardError=journal + +# Security +NoNewPrivileges=true +ProtectSystem=strict +ProtectHome=true +ReadWritePaths=/var/lib/glam /var/www/glam-frontend + +[Install] +WantedBy=multi-user.target +EOF + +# Set ownership +echo "Setting ownership..." +chown -R $GLAM_USER:$GLAM_USER "$REPO_DIR" +chown -R $GLAM_USER:$GLAM_USER "$SCRIPTS_DIR" + +# Add webhook endpoint to Caddy +echo "Checking Caddy configuration..." +if ! grep -q "/webhook/deploy" /etc/caddy/Caddyfile; then + echo "Adding webhook endpoint to Caddy..." + # Insert webhook handler after /health in bronhouder.nl block + # This is a simple sed approach - may need manual adjustment + sed -i '/bronhouder.nl, www.bronhouder.nl/,/handle \/health/a\\n\t# Webhook endpoint for Forgejo push events\n\thandle /webhook/deploy* {\n\t\treverse_proxy 127.0.0.1:8099 {\n\t\t\ttransport http {\n\t\t\t\tread_timeout 120s\n\t\t\t\twrite_timeout 120s\n\t\t\t}\n\t\t}\n\t}' /etc/caddy/Caddyfile || { + echo "WARNING: Could not auto-add webhook to Caddyfile" + echo "Please manually add the following to bronhouder.nl block:" + cat << 'CADDY' + # Webhook endpoint for Forgejo push events + handle /webhook/deploy* { + reverse_proxy 127.0.0.1:8099 { + transport http { + read_timeout 120s + write_timeout 120s + } + } + } +CADDY + } +fi + +# Reload systemd and start service +echo "Starting services..." +systemctl daemon-reload +systemctl enable deploy-webhook +systemctl restart deploy-webhook + +# Reload Caddy if config was changed +caddy validate --config /etc/caddy/Caddyfile && systemctl reload caddy || { + echo "WARNING: Caddy config validation failed. Please fix manually." +} + +# Initial schema sync +echo "Running initial schema sync..." +cd "$REPO_DIR" +rsync -av --delete \ + --exclude "*.pyc" \ + --exclude "__pycache__" \ + --exclude ".git" \ + "schemas/20251121/linkml/" \ + "/var/www/glam-frontend/schemas/20251121/linkml/" + +echo "" +echo "=== Setup Complete ===" +echo "" +echo "Webhook Secret: $WEBHOOK_SECRET" +echo "" +echo "Next steps:" +echo "1. Go to https://git.bronhouder.nl/kempersc/glam/settings/hooks" +echo "2. Add a new webhook:" +echo " - Target URL: https://bronhouder.nl/webhook/deploy" +echo " - HTTP Method: POST" +echo " - Content Type: application/json" +echo " - Secret: $WEBHOOK_SECRET" +echo " - Trigger On: Push Events" +echo " - Branch filter: main" +echo "" +echo "Test with: curl -X POST https://bronhouder.nl/webhook/deploy/manual -H 'Authorization: Bearer $WEBHOOK_SECRET'" diff --git a/infrastructure/sync-schemas.sh b/infrastructure/sync-schemas.sh new file mode 100755 index 0000000000..e6b56fe88d --- /dev/null +++ b/infrastructure/sync-schemas.sh @@ -0,0 +1,32 @@ +#!/bin/bash +# Sync LinkML schemas from source to frontend public directory +# This ensures the frontend serves the latest schemas during development and in production builds + +set -e + +SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" +PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" + +SOURCE_DIR="$PROJECT_ROOT/schemas/20251121/linkml" +DEST_DIR="$PROJECT_ROOT/frontend/public/schemas/20251121/linkml" + +echo "Syncing LinkML schemas..." +echo " Source: $SOURCE_DIR" +echo " Dest: $DEST_DIR" + +# Ensure destination directory exists +mkdir -p "$DEST_DIR" + +# Rsync with delete to remove old files +rsync -av --delete \ + --exclude "*.pyc" \ + --exclude "__pycache__" \ + --exclude ".git" \ + "$SOURCE_DIR/" \ + "$DEST_DIR/" + +echo "Schema sync complete!" + +# Count files synced +TOTAL=$(find "$DEST_DIR" -type f -name "*.yaml" | wc -l | tr -d ' ') +echo " Total YAML files: $TOTAL" diff --git a/infrastructure/systemd/deploy-webhook.service b/infrastructure/systemd/deploy-webhook.service new file mode 100644 index 0000000000..5b3feac898 --- /dev/null +++ b/infrastructure/systemd/deploy-webhook.service @@ -0,0 +1,25 @@ +[Unit] +Description=GLAM Deploy Webhook Service +Documentation=https://git.bronhouder.nl/kempersc/glam +After=network.target caddy.service + +[Service] +Type=simple +User=glam +Group=glam +WorkingDirectory=/var/lib/glam/scripts +Environment="WEBHOOK_SECRET=" +ExecStart=/usr/bin/python3 -m uvicorn deploy-webhook:app --host 127.0.0.1 --port 8099 +Restart=always +RestartSec=5 +StandardOutput=journal +StandardError=journal + +# Security +NoNewPrivileges=true +ProtectSystem=strict +ProtectHome=true +ReadWritePaths=/var/lib/glam /var/www/glam-frontend + +[Install] +WantedBy=multi-user.target