From ca4a54181e150467e684ccee5dc603e7a8f2de86 Mon Sep 17 00:00:00 2001 From: kempersc Date: Sat, 31 Jan 2026 00:46:23 +0100 Subject: [PATCH] Refactor schema files to improve clarity and maintainability - Updated WorldCatIdentifier.yaml to remove unnecessary description and ensure consistent formatting. - Enhanced WorldHeritageSite.yaml by breaking long description into multiple lines for better readability and removed unused attributes. - Simplified WritingSystem.yaml by removing redundant attributes and ensuring consistent formatting. - Cleaned up XPathScore.yaml by removing unnecessary attributes and ensuring consistent formatting. - Improved YoutubeChannel.yaml by breaking long description into multiple lines for better readability. - Enhanced YoutubeEnrichment.yaml by breaking long description into multiple lines for better readability. - Updated YoutubeVideo.yaml to break long description into multiple lines and removed legacy field name. - Refined has_or_had_affiliation.yaml by removing unnecessary comments and ensuring clarity. - Cleaned up is_or_was_retrieved_at.yaml by removing unnecessary comments and ensuring clarity. - Added rules for generic slots and avoiding rough edits in schema files to maintain structural integrity. - Introduced changes_or_changed_through.yaml to define a new slot for linking entities to change events. --- .../rules/generic-slots-specific-classes.md | 129 +++++++++++++ .opencode/rules/no-rough-edits-in-schema.md | 61 +++++++ .../schemas/20251121/linkml/manifest.json | 2 +- .../linkml/01_custodian_name_modular.yaml | 1 + schemas/20251121/linkml/manifest.json | 2 +- .../modules/classes/AcademicArchive.yaml | 8 - .../classes/AcademicArchiveRecordSetType.yaml | 4 - .../AcademicArchiveRecordSetTypes.yaml | 6 - .../linkml/modules/classes/Access.yaml | 32 +--- .../linkml/modules/classes/AccessPolicy.yaml | 102 ----------- .../modules/classes/AcquisitionBudget.yaml | 1 - .../linkml/modules/classes/Activity.yaml | 46 +---- .../linkml/modules/classes/ActivityType.yaml | 19 +- .../linkml/modules/classes/Address.yaml | 57 ------ .../modules/classes/AddressComponent.yaml | 30 --- .../linkml/modules/classes/AddressType.yaml | 18 +- .../modules/classes/AdministrativeLevel.yaml | 2 - .../modules/classes/AdministrativeOffice.yaml | 30 --- .../linkml/modules/classes/AdmissionFee.yaml | 1 - .../classes/AdvertisingRadioArchive.yaml | 1 - .../20251121/linkml/modules/classes/Age.yaml | 2 - .../linkml/modules/classes/Agent.yaml | 22 --- .../linkml/modules/classes/AgentType.yaml | 2 - .../linkml/modules/classes/Agreement.yaml | 3 - .../linkml/modules/classes/AirChanges.yaml | 2 - .../linkml/modules/classes/Alignment.yaml | 32 ---- .../modules/classes/AllocationEvent.yaml | 1 - .../linkml/modules/classes/Alpha2Code.yaml | 6 +- .../linkml/modules/classes/Alpha3Code.yaml | 6 +- .../linkml/modules/classes/Animal.yaml | 1 - .../modules/classes/AnimalSoundArchive.yaml | 1 - .../linkml/modules/classes/Annotation.yaml | 5 - .../modules/classes/AnnotationType.yaml | 2 - .../linkml/modules/classes/Appellation.yaml | 15 -- .../modules/classes/ApplicantRequirement.yaml | 2 - .../linkml/modules/classes/Appointment.yaml | 21 --- .../modules/classes/AppreciationEvent.yaml | 25 --- .../linkml/modules/classes/Approver.yaml | 4 - .../modules/classes/ApproximationStatus.yaml | 17 +- .../linkml/modules/classes/Architect.yaml | 1 - .../modules/classes/ArchitecturalArchive.yaml | 1 - .../modules/classes/ArchivalLibrary.yaml | 6 - .../modules/classes/ArchivalReference.yaml | 1 - .../modules/classes/ArchivalStatus.yaml | 1 - .../modules/classes/ArchiveAssociation.yaml | 1 - .../modules/classes/ArchiveNetwork.yaml | 4 - ...nternationalOrganizationRecordSetType.yaml | 4 - .../classes/ArchiveOrganizationType.yaml | 19 +- .../ArchivesRegionalesRecordSetType.yaml | 4 - .../linkml/modules/classes/ArchivingPlan.yaml | 1 - .../20251121/linkml/modules/classes/Area.yaml | 36 ---- .../modules/classes/ArrangementLevel.yaml | 2 - .../classes/ArtArchiveRecordSetType.yaml | 4 - .../linkml/modules/classes/ArtDealer.yaml | 8 +- .../modules/classes/ArtSaleService.yaml | 22 --- .../classes/ArticlesOfAssociation.yaml | 89 --------- .../linkml/modules/classes/Asserter.yaml | 14 -- .../modules/classes/AssessmentCategory.yaml | 2 - .../linkml/modules/classes/AuctionHouse.yaml | 1 - .../modules/classes/AuctionSaleCatalog.yaml | 1 - .../modules/classes/AudioEventSegment.yaml | 10 - .../AudiovisualArchiveRecordSetType.yaml | 4 - .../linkml/modules/classes/Author.yaml | 15 -- .../linkml/modules/classes/AuthorityFile.yaml | 2 - .../modules/classes/AutoGeneration.yaml | 5 - .../classes/AuxiliaryDigitalPlatform.yaml | 112 ------------ .../modules/classes/AuxiliaryPlace.yaml | 83 --------- .../modules/classes/AvailabilityStatus.yaml | 15 -- .../modules/classes/BOLDIdentifier.yaml | 48 +---- .../linkml/modules/classes/BackupStatus.yaml | 10 +- .../linkml/modules/classes/BackupType.yaml | 12 +- .../linkml/modules/classes/BayNumber.yaml | 4 - .../linkml/modules/classes/BindingType.yaml | 12 +- .../modules/classes/BioCustodianSubtype.yaml | 12 -- .../modules/classes/BioCustodianSubtypes.yaml | 4 - .../modules/classes/BioCustodianType.yaml | 22 --- .../classes/BioTypeClassification.yaml | 3 - .../classes/BioTypeClassifications.yaml | 13 -- .../modules/classes/BiologicalObject.yaml | 152 ---------------- .../linkml/modules/classes/BirthDate.yaml | 22 +-- .../linkml/modules/classes/BirthPlace.yaml | 28 --- .../linkml/modules/classes/Bookplate.yaml | 19 -- .../linkml/modules/classes/BoundingBox.yaml | 1 - .../linkml/modules/classes/BoxNumber.yaml | 1 - .../linkml/modules/classes/BranchOffice.yaml | 37 ---- .../linkml/modules/classes/BranchType.yaml | 12 +- .../linkml/modules/classes/Budget.yaml | 66 ------- .../linkml/modules/classes/BudgetStatus.yaml | 6 - .../linkml/modules/classes/BudgetType.yaml | 12 +- .../modules/classes/BusinessCriticality.yaml | 12 -- .../linkml/modules/classes/BusinessModel.yaml | 12 -- .../linkml/modules/classes/CITESAppendix.yaml | 46 ----- .../20251121/linkml/modules/classes/CMS.yaml | 23 --- .../linkml/modules/classes/CMSType.yaml | 8 - .../modules/classes/CacheValidation.yaml | 2 - .../modules/classes/CalendarSystem.yaml | 10 - .../modules/classes/CallForApplication.yaml | 58 +----- .../linkml/modules/classes/Cancellation.yaml | 1 - .../linkml/modules/classes/CanonicalForm.yaml | 18 -- .../classes/CantonalArchiveRecordSetType.yaml | 4 - .../linkml/modules/classes/Capacity.yaml | 35 ---- .../linkml/modules/classes/CapacityType.yaml | 3 - .../linkml/modules/classes/Caption.yaml | 22 --- .../linkml/modules/classes/Carrier.yaml | 7 - .../linkml/modules/classes/CarrierType.yaml | 3 - .../linkml/modules/classes/CatalogSystem.yaml | 6 - .../modules/classes/CatalogSystemType.yaml | 2 - .../modules/classes/CatalogingStandard.yaml | 29 --- .../modules/classes/CategoryStatus.yaml | 5 - .../linkml/modules/classes/CateringPlace.yaml | 56 ------ .../linkml/modules/classes/CateringType.yaml | 2 - .../CathedralArchiveRecordSetType.yaml | 4 - .../linkml/modules/classes/CauseOfDeath.yaml | 12 -- .../modules/classes/CertaintyLevel.yaml | 19 +- .../ChAnnotatorAnnotationMetadata.yaml | 10 - .../classes/ChAnnotatorEntityClaim.yaml | 29 --- .../classes/ChurchArchiveRecordSetTypes.yaml | 21 --- .../ChurchArchiveSwedenRecordSetType.yaml | 4 - .../linkml/modules/classes/ClaimType.yaml | 6 +- .../modules/classes/ClassificationStatus.yaml | 23 +-- .../linkml/modules/classes/Classroom.yaml | 26 +-- .../classes/ClimateArchiveRecordSetType.yaml | 4 - .../modules/classes/ClimateControl.yaml | 19 +- .../modules/classes/ClimateControlPolicy.yaml | 14 +- .../modules/classes/ClimateControlType.yaml | 8 - .../linkml/modules/classes/CoFunding.yaml | 23 --- .../CollectingArchivesRecordSetType.yaml | 4 - .../linkml/modules/classes/Collection.yaml | 128 ------------- .../modules/classes/CollectionContent.yaml | 19 -- .../modules/classes/CollectionEvent.yaml | 31 +--- .../classes/CollectionManagementSystem.yaml | 139 -------------- .../modules/classes/CollectionType.yaml | 51 ------ .../modules/classes/ColonialStatus.yaml | 32 ---- .../classes/ComarcalArchiveRecordSetType.yaml | 4 - .../linkml/modules/classes/Comment.yaml | 20 +- .../linkml/modules/classes/CommentReply.yaml | 25 --- .../classes/CommercialCustodianTypes.yaml | 21 --- .../classes/CommercialOrganizationType.yaml | 66 ------- .../modules/classes/CommissionRate.yaml | 26 --- .../CommunityArchiveRecordSetType.yaml | 4 - .../classes/CompanyArchiveRecordSetTypes.yaml | 30 --- .../modules/classes/ComplianceStatus.yaml | 16 +- .../linkml/modules/classes/Component.yaml | 14 +- .../linkml/modules/classes/ComponentType.yaml | 2 - .../linkml/modules/classes/Condition.yaml | 16 +- .../modules/classes/ConditionPolicy.yaml | 9 +- .../modules/classes/ConditionState.yaml | 98 ++++------ .../modules/classes/ConfidenceMeasure.yaml | 7 - .../modules/classes/ConfidenceMethod.yaml | 123 ++++--------- .../modules/classes/ConfidenceScore.yaml | 20 -- .../modules/classes/ConfidenceThreshold.yaml | 21 +-- .../linkml/modules/classes/Conflict.yaml | 23 +-- .../modules/classes/ConnectionDegree.yaml | 11 +- .../modules/classes/ConnectionDegreeType.yaml | 2 - .../modules/classes/ConnectionNetwork.yaml | 7 - .../classes/ConnectionSourceMetadata.yaml | 23 --- .../modules/classes/ConservationLab.yaml | 64 ------- .../modules/classes/ConservationRecord.yaml | 84 --------- .../modules/classes/ContactDetails.yaml | 2 - .../linkml/modules/classes/Content.yaml | 18 +- .../linkml/modules/classes/ContentType.yaml | 3 - .../modules/classes/ContributingAgency.yaml | 16 -- .../modules/classes/ConversionRate.yaml | 24 --- .../modules/classes/ConversionRateTypes.yaml | 3 - .../linkml/modules/classes/Country.yaml | 6 +- .../linkml/modules/classes/CourtRecords.yaml | 4 - .../linkml/modules/classes/CreationEvent.yaml | 42 ----- .../modules/classes/CulturalInstitution.yaml | 2 - .../modules/classes/CurationActivity.yaml | 87 +-------- .../linkml/modules/classes/Currency.yaml | 17 -- .../modules/classes/CurrentArchive.yaml | 9 - .../linkml/modules/classes/Custodian.yaml | 115 +++--------- .../classes/CustodianAdministration.yaml | 79 -------- .../modules/classes/CustodianArchive.yaml | 68 ------- .../modules/classes/CustodianCollection.yaml | 66 ------- .../classes/CustodianLegalNameClaim.yaml | 12 -- .../modules/classes/CustodianLegalStatus.yaml | 107 +++-------- .../linkml/modules/classes/CustodianName.yaml | 18 -- .../classes/CustodianNameConsensus.yaml | 96 ---------- .../modules/classes/CustodianObservation.yaml | 20 -- .../modules/classes/CustodianPlace.yaml | 61 ------- .../modules/classes/CustodianSourceFile.yaml | 18 +- .../classes/CustodianTimelineEvent.yaml | 32 ---- .../linkml/modules/classes/CustodianType.yaml | 8 - .../20251121/linkml/modules/classes/DOI.yaml | 8 +- .../linkml/modules/classes/DarkArchive.yaml | 17 -- .../linkml/modules/classes/DataFormat.yaml | 37 ---- .../modules/classes/DataSensitivityLevel.yaml | 17 +- .../modules/classes/DataServiceEndpoint.yaml | 1 - .../classes/DataServiceEndpointType.yaml | 25 --- .../classes/DataServiceEndpointTypes.yaml | 34 ---- .../linkml/modules/classes/DataSource.yaml | 18 +- .../linkml/modules/classes/DataTierLevel.yaml | 17 +- .../linkml/modules/classes/Dataset.yaml | 1 - .../linkml/modules/classes/DatePrecision.yaml | 16 +- .../modules/classes/DeceasedStatus.yaml | 27 --- .../linkml/modules/classes/Deliverable.yaml | 47 ----- .../linkml/modules/classes/Department.yaml | 68 ------- .../modules/classes/DepartmentalArchives.yaml | 21 --- .../DepartmentalArchivesRecordSetType.yaml | 1 - .../modules/classes/DeploymentEvent.yaml | 18 +- .../modules/classes/DepositArchive.yaml | 32 ---- .../linkml/modules/classes/Description.yaml | 24 +-- .../modules/classes/DetectedEntity.yaml | 19 +- .../modules/classes/DetectionLevelType.yaml | 3 - .../modules/classes/DetectionThreshold.yaml | 13 +- .../linkml/modules/classes/DeviceType.yaml | 2 - .../modules/classes/DiarizationStatus.yaml | 6 +- .../modules/classes/DigitalArchive.yaml | 26 --- .../modules/classes/DigitalConfidence.yaml | 6 - .../modules/classes/DigitalInstantiation.yaml | 3 - .../modules/classes/DigitalPlatform.yaml | 109 ----------- .../modules/classes/DigitalPlatformScore.yaml | 1 - .../DigitalPlatformUserIdentifier.yaml | 82 ++------- .../DigitalPlatformV2OrganizationProfile.yaml | 11 -- .../DigitalPlatformV2PrimaryPlatform.yaml | 8 +- .../modules/classes/DigitalPresence.yaml | 1 - .../modules/classes/DigitalPresenceType.yaml | 2 - .../modules/classes/DigitalProficiency.yaml | 6 +- .../linkml/modules/classes/DimArchives.yaml | 27 --- .../modules/classes/DiocesanArchive.yaml | 21 --- .../linkml/modules/classes/Diocese.yaml | 23 --- .../modules/classes/DismissalEvent.yaml | 2 - .../modules/classes/DisplayLocation.yaml | 1 - .../modules/classes/DispositionService.yaml | 2 - .../modules/classes/DissolutionEvent.yaml | 1 - .../DistrictArchiveGermanyRecordSetType.yaml | 4 - .../modules/classes/DistritalArchive.yaml | 1 - .../DistritalArchiveRecordSetType.yaml | 4 - .../linkml/modules/classes/Division.yaml | 1 - .../linkml/modules/classes/Documentation.yaml | 11 -- .../modules/classes/DocumentationCentre.yaml | 1 - .../linkml/modules/classes/Domain.yaml | 20 +- .../modules/classes/DonationScheme.yaml | 75 -------- .../linkml/modules/classes/Drawer.yaml | 1 - .../linkml/modules/classes/DrawerNumber.yaml | 4 - .../linkml/modules/classes/DualClassLink.yaml | 1 - .../linkml/modules/classes/EADIdentifier.yaml | 8 +- .../linkml/modules/classes/EBook.yaml | 4 - .../20251121/linkml/modules/classes/ETag.yaml | 1 - .../classes/EconomicArchiveRecordSetType.yaml | 4 - .../linkml/modules/classes/Edition.yaml | 3 - .../linkml/modules/classes/Editor.yaml | 3 - .../linkml/modules/classes/Education.yaml | 3 - .../modules/classes/EducationCenter.yaml | 70 ------- .../linkml/modules/classes/EmailAddress.yaml | 1 - .../linkml/modules/classes/Embargo.yaml | 3 - .../linkml/modules/classes/Employer.yaml | 4 - .../modules/classes/EncompassingBody.yaml | 67 ------- .../classes/EncompassingBodyTypes.yaml | 111 ----------- .../linkml/modules/classes/Endpoint.yaml | 1 - .../modules/classes/EngagementMetric.yaml | 3 - .../modules/classes/EnvironmentalZone.yaml | 43 ----- .../classes/EnvironmentalZoneType.yaml | 34 +--- .../classes/EnvironmentalZoneTypes.yaml | 8 - .../linkml/modules/classes/Equipment.yaml | 2 - .../modules/classes/EstablishmentEvent.yaml | 1 - .../modules/classes/EstimationMethod.yaml | 1 - .../linkml/modules/classes/Event.yaml | 7 - .../linkml/modules/classes/EventType.yaml | 1 - .../linkml/modules/classes/EventTypes.yaml | 1 - .../linkml/modules/classes/Evidence.yaml | 1 - .../linkml/modules/classes/Example.yaml | 2 - .../modules/classes/ExhibitedObject.yaml | 97 ---------- .../linkml/modules/classes/Exhibition.yaml | 83 --------- .../modules/classes/ExhibitionCatalog.yaml | 79 -------- .../modules/classes/ExhibitionLocation.yaml | 2 - .../modules/classes/ExhibitionSpace.yaml | 57 ------ .../linkml/modules/classes/Expenses.yaml | 31 ---- .../linkml/modules/classes/Experience.yaml | 2 - .../linkml/modules/classes/ExpertiseArea.yaml | 1 - .../linkml/modules/classes/Extension.yaml | 1 - .../modules/classes/ExternalFunding.yaml | 1 - .../linkml/modules/classes/ExternalWork.yaml | 58 ++---- .../modules/classes/ExtractionMetadata.yaml | 11 -- .../modules/classes/ExtractionMethod.yaml | 8 - .../linkml/modules/classes/Facility.yaml | 20 +- .../modules/classes/FeatureCustodianType.yaml | 39 ---- .../linkml/modules/classes/FeaturePlace.yaml | 35 ---- .../linkml/modules/classes/FilePath.yaml | 1 - .../classes/FilmArchiveRecordSetTypes.yaml | 19 -- .../modules/classes/FinancialStatement.yaml | 70 ------- .../linkml/modules/classes/FindingAid.yaml | 89 --------- .../modules/classes/FindingAidType.yaml | 33 ---- .../linkml/modules/classes/Foremalarkiv.yaml | 3 - .../linkml/modules/classes/FoundingEvent.yaml | 27 --- .../classes/FreeArchiveRecordSetType.yaml | 4 - .../classes/FrenchPrivateArchives.yaml | 1 - .../FrenchPrivateArchivesRecordSetType.yaml | 4 - .../linkml/modules/classes/FunctionType.yaml | 14 -- .../linkml/modules/classes/FundingAgenda.yaml | 72 +------- .../modules/classes/FundingRequirement.yaml | 33 ---- .../20251121/linkml/modules/classes/GLAM.yaml | 1 - .../linkml/modules/classes/GalleryType.yaml | 23 +-- .../modules/classes/GenerationEvent.yaml | 16 -- .../modules/classes/GeoSpatialPlace.yaml | 38 ---- .../linkml/modules/classes/Geometry.yaml | 3 - .../linkml/modules/classes/GiftShop.yaml | 97 ---------- .../GovernmentArchiveRecordSetType.yaml | 4 - .../modules/classes/GovernmentHierarchy.yaml | 2 - .../linkml/modules/classes/GrantRange.yaml | 13 -- .../linkml/modules/classes/HTTPMethod.yaml | 10 +- .../modules/classes/HeritageObject.yaml | 35 ---- .../classes/HeritageRelevanceAssessment.yaml | 10 - .../classes/HeritageRelevanceScore.yaml | 1 - .../modules/classes/HeritageSocietyType.yaml | 68 +------ .../modules/classes/HeritageTypeCount.yaml | 10 - .../modules/classes/HistoricBuilding.yaml | 91 --------- .../HistoricalArchiveRecordSetType.yaml | 4 - .../modules/classes/HistoricalRegion.yaml | 4 - .../modules/classes/HolySacredSiteType.yaml | 33 +--- .../linkml/modules/classes/HolySiteType.yaml | 7 - .../modules/classes/HospitalArchive.yaml | 1 - .../HospitalArchiveRecordSetTypes.yaml | 11 -- .../classes/HouseArchiveRecordSetType.yaml | 4 - .../linkml/modules/classes/Humidity.yaml | 13 -- .../modules/classes/HumidityTolerance.yaml | 1 - .../modules/classes/ISO639-3Identifier.yaml | 1 - .../IconographicArchivesRecordSetType.yaml | 4 - .../modules/classes/IdentificationEvent.yaml | 27 --- .../linkml/modules/classes/Identifier.yaml | 100 ---------- .../modules/classes/IdentifierType.yaml | 3 - .../linkml/modules/classes/Image.yaml | 20 -- .../linkml/modules/classes/Index.yaml | 40 ---- .../modules/classes/InformationCarrier.yaml | 162 +---------------- .../linkml/modules/classes/Institution.yaml | 1 - .../InstitutionalArchiveRecordSetType.yaml | 4 - .../classes/InstitutionalRepository.yaml | 1 - .../classes/IntangibleHeritageEvent.yaml | 52 ------ .../classes/IntangibleHeritageForm.yaml | 63 ------- .../classes/IntangibleHeritageGroupType.yaml | 34 ---- .../IntangibleHeritagePerformance.yaml | 12 -- .../modules/classes/InternetOfThings.yaml | 133 -------------- .../modules/classes/InvalidWebClaim.yaml | 25 --- .../linkml/modules/classes/Investment.yaml | 3 - .../20251121/linkml/modules/classes/Item.yaml | 11 +- .../classes/JointArchivesRecordSetType.yaml | 4 - .../linkml/modules/classes/KeyDate.yaml | 1 - .../classes/LGBTArchiveRecordSetType.yaml | 4 - .../linkml/modules/classes/LLMResponse.yaml | 97 ---------- .../linkml/modules/classes/Label.yaml | 25 +-- .../linkml/modules/classes/LabelType.yaml | 4 - .../modules/classes/LanguageProficiency.yaml | 6 - .../linkml/modules/classes/Laptop.yaml | 18 -- .../linkml/modules/classes/LastName.yaml | 8 - .../LegalResponsibilityCollection.yaml | 20 -- .../linkml/modules/classes/LibraryType.yaml | 26 --- .../classes/LightArchivesRecordSetType.yaml | 4 - .../modules/classes/LinkedInProfile.yaml | 65 +------ .../classes/LiteraryArchiveRecordSetType.yaml | 4 - .../modules/classes/LlmVerification.yaml | 1 - .../20251121/linkml/modules/classes/Loan.yaml | 44 ----- .../LocalGovernmentArchiveRecordSetType.yaml | 4 - .../LocalHeritageInstitutionSweden.yaml | 3 - .../modules/classes/LocalHistoryArchive.yaml | 1 - .../LocalHistoryArchiveRecordSetType.yaml | 4 - .../linkml/modules/classes/Locality.yaml | 23 +-- .../linkml/modules/classes/Location.yaml | 10 +- .../modules/classes/LocationLibrary.yaml | 1 - .../linkml/modules/classes/LogoClaim.yaml | 46 ----- .../MailingListArchiveRecordSetType.yaml | 4 - .../linkml/modules/classes/MainPart.yaml | 6 - .../linkml/modules/classes/Manager.yaml | 16 -- .../linkml/modules/classes/Manufacturer.yaml | 13 +- .../linkml/modules/classes/MappingType.yaml | 7 +- .../linkml/modules/classes/Material.yaml | 25 +-- .../linkml/modules/classes/MaterialType.yaml | 14 +- .../modules/classes/MaximumHumidity.yaml | 1 - .../linkml/modules/classes/MeasureUnit.yaml | 14 -- .../linkml/modules/classes/Measurement.yaml | 6 - .../modules/classes/MeasurementType.yaml | 3 - .../modules/classes/MeasurementTypes.yaml | 1 - .../classes/MediaArchiveRecordSetType.yaml | 4 - .../modules/classes/MetadataStandard.yaml | 10 +- .../linkml/modules/classes/Methodology.yaml | 19 -- .../modules/classes/MilitaryArchive.yaml | 1 - .../MilitaryArchiveRecordSetTypes.yaml | 24 --- .../modules/classes/MinimumHumidity.yaml | 1 - .../modules/classes/MissionStatement.yaml | 26 --- .../modules/classes/MixedCustodianType.yaml | 38 ---- .../linkml/modules/classes/Model.yaml | 11 +- .../MonasteryArchiveRecordSetType.yaml | 4 - .../MunicipalArchiveRecordSetTypes.yaml | 27 --- .../linkml/modules/classes/MuseumType.yaml | 40 +--- .../classes/MusicArchiveRecordSetType.yaml | 4 - .../linkml/modules/classes/Nachlass.yaml | 1 - .../20251121/linkml/modules/classes/Name.yaml | 19 +- .../linkml/modules/classes/NameType.yaml | 2 - .../NationalArchivesRecordSetType.yaml | 4 - .../modules/classes/NationalTreasure.yaml | 1 - .../classes/NationalTreasureOfFrance.yaml | 3 - .../linkml/modules/classes/NetAsset.yaml | 1 - .../modules/classes/NetworkAnalysis.yaml | 10 - ...ewspaperClippingsArchiveRecordSetType.yaml | 4 - .../classes/NobilityArchiveRecordSetType.yaml | 4 - .../linkml/modules/classes/NonProfitType.yaml | 36 ---- .../20251121/linkml/modules/classes/Note.yaml | 19 +- .../linkml/modules/classes/Notes.yaml | 14 +- .../modules/classes/OAIPMHEndpoint.yaml | 39 ---- .../classes/OfficialInstitutionType.yaml | 12 -- .../OnlineNewsArchiveRecordSetType.yaml | 4 - .../linkml/modules/classes/Organization.yaml | 1 - .../modules/classes/OrganizationBranch.yaml | 58 ------ .../classes/OrganizationalChangeEvent.yaml | 136 -------------- .../classes/OrganizationalStructure.yaml | 41 ----- .../classes/OrganizationalSubdivision.yaml | 1 - .../linkml/modules/classes/Organizer.yaml | 38 ---- .../linkml/modules/classes/OrganizerRole.yaml | 30 +-- .../linkml/modules/classes/OriginalEntry.yaml | 15 +- .../linkml/modules/classes/OutdoorSite.yaml | 38 +--- .../linkml/modules/classes/OutputData.yaml | 35 ---- .../linkml/modules/classes/Overview.yaml | 26 --- .../linkml/modules/classes/Owner.yaml | 6 +- .../linkml/modules/classes/PageSection.yaml | 1 - .../classes/ParentOrganizationUnit.yaml | 1 - .../classes/ParishArchiveRecordSetType.yaml | 4 - .../ParliamentaryArchivesRecordSetType.yaml | 4 - .../classes/PartyArchiveRecordSetType.yaml | 4 - .../PerformingArtsArchiveRecordSetType.yaml | 4 - .../linkml/modules/classes/Permission.yaml | 9 - .../linkml/modules/classes/Person.yaml | 25 --- .../modules/classes/PersonConnection.yaml | 31 ---- .../modules/classes/PersonObservation.yaml | 28 --- .../modules/classes/PersonOrOrganization.yaml | 1 - .../modules/classes/PersonWebClaim.yaml | 34 ---- .../classes/PersonalCollectionType.yaml | 46 ----- .../modules/classes/PersonalLibrary.yaml | 1 - .../linkml/modules/classes/Photography.yaml | 29 --- .../linkml/modules/classes/Policy.yaml | 14 -- .../PoliticalArchiveRecordSetType.yaml | 4 - .../PostcustodialArchiveRecordSetType.yaml | 4 - .../classes/PressArchiveRecordSetType.yaml | 4 - .../linkml/modules/classes/Price.yaml | 5 - .../linkml/modules/classes/PriceRange.yaml | 7 - .../PrimaryDigitalPresenceAssertion.yaml | 43 ----- .../linkml/modules/classes/PrintRoom.yaml | 1 - .../linkml/modules/classes/Program.yaml | 21 +-- .../linkml/modules/classes/Project.yaml | 88 +-------- .../linkml/modules/classes/Provenance.yaml | 11 +- .../modules/classes/ProvenanceBlock.yaml | 79 -------- .../modules/classes/ProvenanceEvent.yaml | 102 ----------- .../ProvincialArchiveRecordSetType.yaml | 4 - ...vincialHistoricalArchiveRecordSetType.yaml | 4 - .../classes/PublicArchiveRecordSetType.yaml | 4 - .../classes/PublicArchivesInFrance.yaml | 1 - .../PublicArchivesInFranceRecordSetType.yaml | 4 - .../modules/classes/PublicationEvent.yaml | 10 - .../linkml/modules/classes/Publisher.yaml | 43 ----- .../linkml/modules/classes/Quantity.yaml | 68 ------- .../classes/RadioArchiveRecordSetType.yaml | 4 - .../linkml/modules/classes/Rationale.yaml | 16 +- .../linkml/modules/classes/ReadingRoom.yaml | 39 ---- .../modules/classes/ReadingRoomAnnex.yaml | 19 -- .../modules/classes/ReasoningContent.yaml | 19 -- .../classes/ReconstructionActivity.yaml | 34 +--- .../modules/classes/ReconstructionAgent.yaml | 6 - .../linkml/modules/classes/Reference.yaml | 8 - .../modules/classes/RegionalArchive.yaml | 1 - .../RegionalArchiveRecordSetTypes.yaml | 14 -- .../classes/RegionalArchivesInIceland.yaml | 1 - ...egionalArchivesInIcelandRecordSetType.yaml | 4 - .../classes/RegionalEconomicArchive.yaml | 1 - .../RegionalEconomicArchiveRecordSetType.yaml | 4 - .../classes/RegionalHistoricCenter.yaml | 3 - .../classes/RegionalStateArchives.yaml | 1 - .../RegionalStateArchivesRecordSetType.yaml | 4 - .../classes/RegistrationAuthority.yaml | 15 -- .../ReligiousArchiveRecordSetType.yaml | 4 - .../modules/classes/RequirementStatus.yaml | 14 +- .../modules/classes/RequirementType.yaml | 10 +- .../modules/classes/ResearchCenter.yaml | 74 -------- .../classes/ResearchOrganizationType.yaml | 12 +- .../linkml/modules/classes/Resolution.yaml | 31 ---- .../modules/classes/ResponseFormat.yaml | 5 - .../modules/classes/Responsibility.yaml | 10 +- .../linkml/modules/classes/Restriction.yaml | 15 +- .../modules/classes/RetrievalAgent.yaml | 1 - .../modules/classes/RetrievalEvent.yaml | 1 - .../modules/classes/RetrievalMethod.yaml | 1 - .../linkml/modules/classes/ReturnEvent.yaml | 23 +-- .../linkml/modules/classes/Revenue.yaml | 1 - .../linkml/modules/classes/Roadmap.yaml | 1 - .../classes/SchoolArchiveRecordSetType.yaml | 4 - .../ScientificArchiveRecordSetType.yaml | 4 - .../linkml/modules/classes/ScopeType.yaml | 7 +- .../linkml/modules/classes/SearchAPI.yaml | 29 ++- .../modules/classes/SecurityArchives.yaml | 2 - .../SecurityArchivesRecordSetType.yaml | 4 - .../linkml/modules/classes/Service.yaml | 17 +- .../linkml/modules/classes/ServiceArea.yaml | 13 -- .../linkml/modules/classes/Setpoint.yaml | 13 -- .../linkml/modules/classes/Settlement.yaml | 3 - .../linkml/modules/classes/Significance.yaml | 12 +- .../modules/classes/SignificanceType.yaml | 2 - .../20251121/linkml/modules/classes/Size.yaml | 2 - .../modules/classes/SocialMediaContent.yaml | 45 ----- .../modules/classes/SocialMediaPost.yaml | 56 ------ .../modules/classes/SocialMediaProfile.yaml | 111 ----------- .../modules/classes/SocialNetworkMember.yaml | 7 +- .../linkml/modules/classes/SoundArchive.yaml | 16 +- .../linkml/modules/classes/Source.yaml | 9 +- .../modules/classes/SourceCommentCount.yaml | 21 --- .../linkml/modules/classes/Speaker.yaml | 6 +- .../modules/classes/SpecialCollection.yaml | 18 +- .../modules/classes/SpecializedArchive.yaml | 14 +- .../classes/SpecializedArchivesCzechia.yaml | 11 +- ...ecializedArchivesCzechiaRecordSetType.yaml | 1 - .../linkml/modules/classes/StaffRole.yaml | 27 --- .../linkml/modules/classes/Standard.yaml | 69 ++++--- .../linkml/modules/classes/StateArchives.yaml | 14 +- .../modules/classes/StateArchivesSection.yaml | 14 +- .../StateArchivesSectionRecordSetType.yaml | 1 - .../modules/classes/StateDistrictArchive.yaml | 14 +- .../StateDistrictArchiveRecordSetType.yaml | 1 - .../classes/StateRegionalArchiveCzechia.yaml | 15 +- ...teRegionalArchiveCzechiaRecordSetType.yaml | 1 - .../linkml/modules/classes/StatementType.yaml | 7 +- .../linkml/modules/classes/Status.yaml | 12 +- .../linkml/modules/classes/Storage.yaml | 71 -------- .../modules/classes/StorageCondition.yaml | 69 +------ .../classes/StorageConditionPolicy.yaml | 54 ------ .../modules/classes/StorageLocation.yaml | 32 +--- .../linkml/modules/classes/StorageType.yaml | 53 +----- .../linkml/modules/classes/StorageUnit.yaml | 54 ------ .../linkml/modules/classes/SubGuideType.yaml | 7 +- .../linkml/modules/classes/Subregion.yaml | 8 - .../classes/SubsidiaryOrganization.yaml | 17 +- .../linkml/modules/classes/Supplier.yaml | 13 -- .../linkml/modules/classes/SupplierType.yaml | 4 - .../20251121/linkml/modules/classes/Tag.yaml | 32 ---- .../modules/classes/TargetHumidity.yaml | 1 - .../classes/TasteScentHeritageType.yaml | 40 +--- .../modules/classes/TasteScentSubType.yaml | 11 -- .../modules/classes/TaxDeductibility.yaml | 63 ------- .../modules/classes/TaxDeductibilityType.yaml | 2 - .../linkml/modules/classes/TaxScheme.yaml | 70 ------- .../linkml/modules/classes/TaxSchemeType.yaml | 4 - .../linkml/modules/classes/Taxon.yaml | 18 -- .../modules/classes/TaxonomicAuthority.yaml | 53 ------ .../modules/classes/TechnicalFeature.yaml | 13 +- .../linkml/modules/classes/Technique.yaml | 27 --- .../linkml/modules/classes/TechniqueType.yaml | 4 - .../classes/TechnologicalInfrastructure.yaml | 42 ----- .../TechnologicalInfrastructureType.yaml | 4 - .../modules/classes/TelevisionArchive.yaml | 18 +- .../modules/classes/TemperatureDeviation.yaml | 22 +-- .../classes/TemplateSpecificityScore.yaml | 11 +- .../classes/TemplateSpecificityType.yaml | 5 +- .../modules/classes/TemporaryLocation.yaml | 29 --- .../classes/TentativeWorldHeritageSite.yaml | 20 +- .../linkml/modules/classes/TextDirection.yaml | 14 +- .../linkml/modules/classes/TextType.yaml | 7 +- .../linkml/modules/classes/ThinkingMode.yaml | 10 +- .../linkml/modules/classes/Threat.yaml | 10 - .../linkml/modules/classes/Thumbnail.yaml | 12 -- .../linkml/modules/classes/TimeSpan.yaml | 9 - .../linkml/modules/classes/Timestamp.yaml | 29 +-- .../linkml/modules/classes/Title.yaml | 13 +- .../linkml/modules/classes/Token.yaml | 19 -- .../linkml/modules/classes/TokenType.yaml | 1 - .../linkml/modules/classes/TokenTypes.yaml | 5 - .../linkml/modules/classes/Topic.yaml | 11 -- .../linkml/modules/classes/TopicType.yaml | 9 - .../linkml/modules/classes/TradeRegister.yaml | 12 -- .../modules/classes/TradeUnionArchive.yaml | 22 +-- .../TradeUnionArchiveRecordSetTypes.yaml | 26 --- .../linkml/modules/classes/TransferEvent.yaml | 20 +- .../modules/classes/TransferPolicy.yaml | 9 +- .../modules/classes/TransitionType.yaml | 8 +- .../linkml/modules/classes/TreatmentType.yaml | 15 +- .../linkml/modules/classes/UNESCODomain.yaml | 19 +- .../20251121/linkml/modules/classes/URL.yaml | 12 +- .../modules/classes/UnescoIchElement.yaml | 11 +- .../modules/classes/UnitIdentifier.yaml | 8 - .../modules/classes/UniversityArchive.yaml | 19 +- .../modules/classes/UnspecifiedType.yaml | 55 ------ .../modules/classes/UpdateFrequency.yaml | 8 - .../linkml/modules/classes/UseCase.yaml | 1 - .../linkml/modules/classes/UserCommunity.yaml | 15 +- .../linkml/modules/classes/VariantType.yaml | 2 - .../linkml/modules/classes/Ventilation.yaml | 1 - .../linkml/modules/classes/Venue.yaml | 13 +- .../linkml/modules/classes/Vereinsarchiv.yaml | 7 - .../linkml/modules/classes/Verlagsarchiv.yaml | 19 +- .../classes/VerlagsarchivRecordSetType.yaml | 3 - .../linkml/modules/classes/Version.yaml | 33 ---- .../modules/classes/Verwaltungsarchiv.yaml | 15 +- .../linkml/modules/classes/Video.yaml | 14 +- .../modules/classes/VideoAnnotation.yaml | 32 ---- .../modules/classes/VideoAnnotationTypes.yaml | 103 ----------- .../modules/classes/VideoAudioAnnotation.yaml | 35 ---- .../linkml/modules/classes/VideoChapter.yaml | 52 ------ .../modules/classes/VideoChapterList.yaml | 16 -- .../linkml/modules/classes/VideoFrame.yaml | 112 ++++-------- .../linkml/modules/classes/VideoFrames.yaml | 2 - .../linkml/modules/classes/VideoPost.yaml | 172 +----------------- .../linkml/modules/classes/VideoSubtitle.yaml | 66 ------- .../modules/classes/VideoTextContent.yaml | 52 ------ .../modules/classes/VideoTimeSegment.yaml | 14 -- .../modules/classes/VideoTranscript.yaml | 20 -- .../linkml/modules/classes/Warehouse.yaml | 85 --------- .../linkml/modules/classes/WarehouseType.yaml | 14 +- .../linkml/modules/classes/WebArchive.yaml | 14 -- .../linkml/modules/classes/WebClaim.yaml | 149 --------------- .../modules/classes/WebClaimsBlock.yaml | 36 ---- .../linkml/modules/classes/WebLink.yaml | 28 +-- .../modules/classes/WebObservation.yaml | 10 - .../linkml/modules/classes/WebPortal.yaml | 105 ----------- .../linkml/modules/classes/WebPortalType.yaml | 8 - .../modules/classes/WebPortalTypes.yaml | 18 -- .../linkml/modules/classes/WikiDataEntry.yaml | 14 +- .../modules/classes/WikidataAlignment.yaml | 35 ---- .../modules/classes/WikidataEnrichment.yaml | 22 ++- .../modules/classes/WikidataEntity.yaml | 11 +- .../modules/classes/WikidataTemporal.yaml | 1 - .../modules/classes/WomensArchives.yaml | 17 +- .../linkml/modules/classes/WordCount.yaml | 7 +- .../modules/classes/WorkExperience.yaml | 42 ----- .../modules/classes/WorldCatIdentifier.yaml | 4 +- .../modules/classes/WorldHeritageSite.yaml | 24 +-- .../linkml/modules/classes/WritingSystem.yaml | 14 +- .../linkml/modules/classes/XPathScore.yaml | 8 +- .../modules/classes/YoutubeChannel.yaml | 11 +- .../modules/classes/YoutubeEnrichment.yaml | 11 +- .../linkml/modules/classes/YoutubeVideo.yaml | 11 +- .../slots/changes_or_changed_through.yaml | 18 ++ .../modules/slots/has_or_had_affiliation.yaml | 10 +- .../modules/slots/is_or_was_retrieved_at.yaml | 5 - 628 files changed, 747 insertions(+), 12878 deletions(-) create mode 100644 .opencode/rules/generic-slots-specific-classes.md create mode 100644 .opencode/rules/no-rough-edits-in-schema.md create mode 100644 schemas/20251121/linkml/modules/slots/changes_or_changed_through.yaml diff --git a/.opencode/rules/generic-slots-specific-classes.md b/.opencode/rules/generic-slots-specific-classes.md new file mode 100644 index 0000000000..34958ca8b8 --- /dev/null +++ b/.opencode/rules/generic-slots-specific-classes.md @@ -0,0 +1,129 @@ +# Rule: Generic Slots, Specific Classes + +**Identifier**: `generic-slots-specific-classes` +**Severity**: **CRITICAL** + +## Core Principle + +**Slots MUST be generic predicates** that can be reused across multiple classes. **Classes MUST be specific** to provide context and constraints. + +**DO NOT** create class-specific slots when a generic predicate can be used. + +## Rationale + +1. **Predicate Proliferation**: Creating bespoke slots for every class explodes the schema size (e.g., `has_museum_name`, `has_library_name`, `has_archive_name` instead of `has_name`). +2. **Interoperability**: Generic predicates (`has_name`, `has_identifier`, `has_part`) map cleanly to standard ontologies (Schema.org, Dublin Core, RiC-O). +3. **Querying**: It's easier to query "all entities with a name" than "all entities with museum_name OR library_name OR archive_name". +4. **Maintenance**: Updating one generic slot propagates to all classes. + +## Examples + +### ❌ Anti-Pattern: Class-Specific Slots + +```yaml +# WRONG: Creating specific slots for each class +slots: + has_museum_visitor_count: + range: integer + has_library_patron_count: + range: integer + +classes: + Museum: + slots: + - has_museum_visitor_count + Library: + slots: + - has_library_patron_count +``` + +### ✅ Correct Pattern: Generic Slot, Specific Class Usage + +```yaml +# CORRECT: One generic slot reused +slots: + has_or_had_quantity: + slot_uri: rico:hasOrHadQuantity + range: Quantity + multivalued: true + +classes: + Museum: + slots: + - has_or_had_quantity + slot_usage: + has_or_had_quantity: + description: The number of visitors to the museum. + + Library: + slots: + - has_or_had_quantity + slot_usage: + has_or_had_quantity: + description: The number of registered patrons. +``` + +## Intermediate Class Pattern + +Making slots generic often requires introducing **Intermediate Classes** to hold structured data, rather than flattening attributes onto the parent class. + +### ❌ Anti-Pattern: Specific Flattened Slots + +```yaml +# WRONG: Flattened specific attributes +classes: + Museum: + slots: + - has_museum_budget_amount + - has_museum_budget_currency + - has_museum_budget_year +``` + +### ✅ Correct Pattern: Generic Slot + Intermediate Class + +```yaml +# CORRECT: Generic slot pointing to structured class +slots: + has_or_had_budget: + range: Budget + multivalued: true + +classes: + Museum: + slots: + - has_or_had_budget + + Budget: + slots: + - has_or_had_amount + - has_or_had_currency + - has_or_had_year +``` + +## Specificity Levels + +| Level | Component | Example | +|-------|-----------|---------| +| **Generic** | **Slot (Predicate)** | `has_or_had_identifier` | +| **Specific** | **Class (Subject/Object)** | `ISILCode` | +| **Specific** | **Slot Usage (Context)** | "The ISIL code assigned to this library" | + +## Migration Guide + +If you encounter an overly specific slot: + +1. **Identify the generic concept** (e.g., `has_museum_opening_hours` → `has_opening_hours`). +2. **Check if a generic slot exists** in `modules/slots/`. +3. **If yes**, use the generic slot and add `slot_usage` to the class. +4. **If no**, create the **generic** slot, not a specific one. + +## Naming Indicators + +**Reject slots containing:** +* Class names (e.g., `has_custodian_name` → `has_name`) +* Narrow types (e.g., `has_isbn_identifier` → `has_identifier`) +* Contextual specifics (e.g., `has_primary_email` → `has_email` + type/role) + +## See Also +* Rule 55: Broaden Generic Predicate Ranges +* Rule 39: Slot Naming Convention (RiC-O Style) diff --git a/.opencode/rules/no-rough-edits-in-schema.md b/.opencode/rules/no-rough-edits-in-schema.md new file mode 100644 index 0000000000..d618bd072e --- /dev/null +++ b/.opencode/rules/no-rough-edits-in-schema.md @@ -0,0 +1,61 @@ +# Rule: No Rough Edits in Schema Files + +**Identifier**: `no-rough-edits-in-schema` +**Severity**: **CRITICAL** + +## Core Directive + +**DO NOT** perform rough, imprecise, or bulk text substitutions (like `sed -i` or regex-based python scripts) on LinkML schema files (`schemas/*/linkml/`) without guaranteeing structural integrity. + +**YOU MUST**: +* ✅ Use proper YAML parsers/dumpers if modifying structure programmatically. +* ✅ Manually verify edits if using text replacement. +* ✅ Ensure indentation and nesting are preserved exactly. +* ✅ Respect comments and ordering (which parsers often destroy, so careful text editing is sometimes necessary, but it must be PRECISE). + +## Rationale + +LinkML schemas are highly structured YAML files where indentation and nesting semantics are critical. Rough edits often cause: +* **Duplicate keys** (e.g., leaving a property behind after deleting its parent key). +* **Invalid indentation** (breaking the parent-child relationship). +* **Silent corruption** (valid YAML but wrong semantics). + +## Examples + +### ❌ Anti-Pattern: Rough Deletion + +Deleting lines containing a string without checking context: + +```python +# WRONG: Deleting lines blindly +for line in lines: + if "some_slot" in line: + continue # Deletes the line, but might leave children orphaned! + new_lines.append(line) +``` + +**Resulting Corruption**: +```yaml +# Original +slots: + some_slot: + range: string + +# Corrupted (orphaned child) +slots: + range: string # INVALID! +``` + +### ✅ Correct Pattern: Structural Awareness + +If removing a slot reference, ensure you remove the entire list item or key-value block. + +```python +# BETTER: Check for list item syntax +if re.match(r'^\s*-\s*some_slot\s*$', line): + continue +``` + +## Application + +This rule applies to ALL files in `schemas/20251121/linkml/` and future versions. diff --git a/frontend/public/schemas/20251121/linkml/manifest.json b/frontend/public/schemas/20251121/linkml/manifest.json index cb040033eb..d3791cf9cb 100644 --- a/frontend/public/schemas/20251121/linkml/manifest.json +++ b/frontend/public/schemas/20251121/linkml/manifest.json @@ -1,5 +1,5 @@ { - "generated": "2026-01-30T23:22:16.389Z", + "generated": "2026-01-30T23:28:10.160Z", "schemaRoot": "/schemas/20251121/linkml", "totalFiles": 3003, "categoryCounts": { diff --git a/schemas/20251121/linkml/01_custodian_name_modular.yaml b/schemas/20251121/linkml/01_custodian_name_modular.yaml index 4a15603fd5..04316188fe 100644 --- a/schemas/20251121/linkml/01_custodian_name_modular.yaml +++ b/schemas/20251121/linkml/01_custodian_name_modular.yaml @@ -37,6 +37,7 @@ imports: - modules/slots/has_or_had_description - modules/slots/has_or_had_label - modules/slots/has_or_had_affiliation + - modules/slots/changes_or_changed_through - modules/slots/is_or_was_retrieved_at # collection_description ARCHIVED (2026-01-18) - migrated to has_or_had_description (Rule 53) # collection_name ARCHIVED (2026-01-18) - migrated to has_or_had_label (Rule 53) diff --git a/schemas/20251121/linkml/manifest.json b/schemas/20251121/linkml/manifest.json index d3791cf9cb..1021ffbf26 100644 --- a/schemas/20251121/linkml/manifest.json +++ b/schemas/20251121/linkml/manifest.json @@ -1,5 +1,5 @@ { - "generated": "2026-01-30T23:28:10.160Z", + "generated": "2026-01-30T23:46:23.532Z", "schemaRoot": "/schemas/20251121/linkml", "totalFiles": 3003, "categoryCounts": { diff --git a/schemas/20251121/linkml/modules/classes/AcademicArchive.yaml b/schemas/20251121/linkml/modules/classes/AcademicArchive.yaml index 82d2b479b9..a5ec94e0c1 100644 --- a/schemas/20251121/linkml/modules/classes/AcademicArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/AcademicArchive.yaml @@ -37,7 +37,6 @@ classes: description: Archive of a higher education institution (university, college, polytechnic). slots: - has_or_had_type - - dual_class_link - hold_or_held_record_set_type - has_or_had_hypernym - has_or_had_label @@ -69,7 +68,6 @@ classes: - faculty papers - research documentation - university publications - - ephemera - campus photographs - audiovisual materials - campus life documentation @@ -79,21 +77,15 @@ classes: ' has_or_had_identifier: pattern: ^Q[0-9]+$ - description: Wikidata identifier for Academic Archive concept (Q27032435) has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' is_or_was_related_to: range: WikidataAlignment inlined: true has_or_had_hypernym: - description: MIGRATED from broader_concept (Rule 53). SKOS broader (parent) concept in the archive type hierarchy. equals_expression: '["wd:Q166118"]' has_or_had_label: - description: Human-readable label for the broader concept. Stored for display to avoid repeated lookups. MIGRATED from broader_concept_label (2026-01-15) per Rule 53. ifabsent: string(archive) - dual_class_link: - range: DualClassLink - inlined: true exact_mappings: - wd:Q27032435 close_mappings: diff --git a/schemas/20251121/linkml/modules/classes/AcademicArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/AcademicArchiveRecordSetType.yaml index 999f0a48c4..521916e1e9 100644 --- a/schemas/20251121/linkml/modules/classes/AcademicArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/AcademicArchiveRecordSetType.yaml @@ -25,7 +25,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -56,9 +55,6 @@ classes: is_or_was_related_to: range: WikidataAlignment inlined: true - dual_class_link: - range: DualClassLink - inlined: true exact_mappings: - wd:Q27032435 - rico:RecordSetType diff --git a/schemas/20251121/linkml/modules/classes/AcademicArchiveRecordSetTypes.yaml b/schemas/20251121/linkml/modules/classes/AcademicArchiveRecordSetTypes.yaml index 0ecac3a113..fc5a6f9a9d 100644 --- a/schemas/20251121/linkml/modules/classes/AcademicArchiveRecordSetTypes.yaml +++ b/schemas/20251121/linkml/modules/classes/AcademicArchiveRecordSetTypes.yaml @@ -230,11 +230,8 @@ classes: - personal papers - faculty papers - research documentation - - correspondence - lecture notes - course materials - - manuscripts - - drafts - conference papers - professional papers - academic papers @@ -317,10 +314,7 @@ classes: - campus photographs - audiovisual materials - university publications - - yearbooks - student newspapers - - ephemera - - memorabilia - oral histories - event documentation - building documentation diff --git a/schemas/20251121/linkml/modules/classes/Access.yaml b/schemas/20251121/linkml/modules/classes/Access.yaml index 944b00bff3..890587f572 100644 --- a/schemas/20251121/linkml/modules/classes/Access.yaml +++ b/schemas/20251121/linkml/modules/classes/Access.yaml @@ -55,22 +55,15 @@ classes: slots: - has_or_had_type - has_or_had_user_category - - has_or_had_condition_of_access - has_or_had_description - temporal_extent - - is_digital_access - has_or_had_frequency slot_usage: has_or_had_type: range: AccessTypeEnum required: true - description: Type of access offered has_or_had_user_category: required: false - description: | - Categories of users eligible for this access. - Examples: "enrolled students", "faculty", "visiting scholars", - "credentialed researchers", "general public" examples: - value: "enrolled students" - value: "faculty and staff" @@ -79,22 +72,13 @@ classes: required: false range: TimeSpan inlined: true - description: | - Time period during which this access policy applies. - Useful for temporary restrictions or seasonal access. - is_digital_access: - required: false - range: boolean - description: Whether this is digital access has_or_had_frequency: required: false range: Frequency - description: Frequency of access (e.g., daily, weekly, by appointment) inlined: true examples: - value: has_or_had_label: "Daily" - description: Access available daily annotations: specificity_score: 0.50 specificity_rationale: "Moderately specific - applies to collection and service access contexts" @@ -110,19 +94,11 @@ classes: has_or_had_description: "Open to general public during gallery hours" has_or_had_user_category: - "general public" - has_or_had_condition_of_access: - - "during posted gallery hours" - description: "Public access during gallery hours" - value: has_or_had_type: BY_APPOINTMENT has_or_had_user_category: - "credentialed researchers" - "graduate students with faculty sponsor" - has_or_had_condition_of_access: - - "48-hour advance booking required" - - "handling training required for original materials" - - "fragile materials limited to supervised viewing only" - description: "Research access by appointment with conditions" - value: has_or_had_type: ACADEMIC has_or_had_description: "Open to enrolled students and faculty; public by appointment" @@ -130,14 +106,8 @@ classes: - "enrolled students" - "faculty" - "research staff" - has_or_had_condition_of_access: - - "valid university ID" - is_digital_access: false - description: "Academic community access with public by appointment" - value: has_or_had_type: DIGITAL_ONLY has_or_had_description: "Collection accessible only through online database" has_or_had_user_category: - - "anyone with internet access" - is_digital_access: true - description: "Digital-only access" + - "anyone with internet access" \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/AccessPolicy.yaml b/schemas/20251121/linkml/modules/classes/AccessPolicy.yaml index 2ef382ae8d..7ffc13ac1d 100644 --- a/schemas/20251121/linkml/modules/classes/AccessPolicy.yaml +++ b/schemas/20251121/linkml/modules/classes/AccessPolicy.yaml @@ -64,14 +64,12 @@ classes: - has_or_had_level - requires_appointment - poses_or_posed_condition - - has_or_had_condition_of_access - requires_or_required - credentials_required - cultural_protocol_url - has_or_had_embargo_end_date - has_or_had_embargo_reason - imposes_or_imposed - - fee_required - legal_basis - policy_id - policy_name @@ -89,22 +87,14 @@ classes: identifier: true examples: - value: https://nde.nl/ontology/hc/access-policy/open-access - description: Standard open access policy policy_name: range: string required: true examples: - value: Open Access - description: Public open access - value: Researchers Only - description: Restricted to researchers - value: Embargoed until 2050 - description: Time-limited closure has_or_had_level: - description: 'Access level of the policy. - MIGRATED from has_or_had_access_level per Rule 53. - Uses AccessLevel class. - ' range: AccessLevel required: true inlined: true @@ -116,27 +106,18 @@ classes: - value: has_or_had_label: EMBARGOED has_or_had_description: - description: 'Description of the access policy. - MIGRATED from has_or_had_access_description per Rule 53. - Uses Description class. - ' range: string inlined: true examples: - value: description_text: Open to all visitors during reading room hours (Mon-Fri 9-17) - description: Archive public access - value: description_text: Access restricted to academic researchers with institutional has_or_had_affiliation - description: University special collections poses_or_posed_condition: range: Condition multivalued: true inlined: true inlined_as_list: true - description: 'Access conditions or requirements using structured Condition class. - MIGRATED from condition string slot per slot_fixes.yaml (Rule 53, 2026-01-22). - ' examples: - value: - has_or_had_type: AccessCondition @@ -145,110 +126,69 @@ classes: - has_or_had_type: AccessCondition has_or_had_description: description_text: Registration form must be completed - description: Archive access conditions using Condition class rights_statement: range: string examples: - value: In Copyright - description: Copyright protected - value: No Copyright - United States - description: Public domain (US) rights_statement_url: range: uri examples: - value: http://rightsstatements.org/vocab/InC/1.0/ - description: In Copyright - value: http://rightsstatements.org/vocab/NoC-US/1.0/ - description: No Copyright - United States requires_appointment: range: boolean - description: 'Whether an appointment is required for access. - Uses schema:reservationRequired which is semantically correct for access policies. - ' examples: - value: true - description: Appointment required - value: false - description: Walk-in access registration_required: range: boolean examples: - value: true - description: Must register as reader credentials_required: range: string examples: - value: INSTITUTIONAL - description: Must be affiliated with research institution - fee_required: - range: boolean - examples: - - value: false - description: Free access - value: true - description: Fee required imposes_or_imposed: - description: 'Fees imposed by the access policy. - MIGRATED from fee_amount per Rule 53. - Uses Fee class with structured Quantity. - ' range: Fee inlined: true multivalued: true examples: - value: has_or_had_quantity: - quantity_value: 5.0 has_or_had_unit: - unit_value: EUR has_or_had_description: Daily reading room fee - description: "\u20AC5.00 per day" - value: has_or_had_quantity: - quantity_value: 0 has_or_had_description: Free for researchers - description: Free for researchers - value: has_or_had_quantity: - quantity_value: 10.0 has_or_had_unit: - unit_value: EUR has_or_had_description: General public fee - description: "\u20AC10 for general public" has_or_had_embargo_end_date: range: date examples: - value: '2050-01-01' - description: Embargo lifts January 1, 2050 has_or_had_embargo_reason: range: string examples: - value: Donor privacy restrictions per deed of gift - description: Donor-imposed embargo - value: Contains personal data protected under GDPR - description: Privacy law embargo cultural_protocol_url: range: uri examples: - value: https://localcontexts.org/tk-labels/ - description: Traditional Knowledge labels legal_basis: range: string examples: - value: General Data Protection Regulation (GDPR) - description: EU privacy law - value: Freedom of Information Act exemption 6 - description: US FOIA exemption review_date: range: date examples: - value: '2025-12-31' - description: Annual review date temporal_extent: - description: 'Validity period for this access policy using CIDOC-CRM TimeSpan. - MIGRATED from valid_from + valid_to per slot_fixes.yaml (Rule 53). - Uses begin_of_the_begin for policy start date and end_of_the_end for expiry. - ' range: TimeSpan inlined: true required: false @@ -256,26 +196,12 @@ classes: - value: begin_of_the_begin: '2024-01-01' end_of_the_end: '2050-12-31' - description: Policy valid from 2024 until end of 2050 - has_or_had_condition_of_access: - description: 'Textual conditions or requirements for access (RiC-O style). - Use for human-readable access requirements. For structured appointment - data, use requires_or_required with Appointment instances. - ' - range: string multivalued: true - examples: - value: - Appointment required 48 hours in advance - Valid researcher credentials required - Materials must be handled with cotton gloves - description: Multiple access conditions requires_or_required: - description: 'Links to structured Appointment entities for rich appointment modeling. - ADDED 2026-01-17 per slot_fixes.yaml revision for appointment_required. - Use this for detailed appointment requirements (lead time, booking method, - contact info). For simple boolean, use requires_appointment instead. - ' range: Appointment multivalued: true inlined: true @@ -284,13 +210,6 @@ classes: - appointment_id: hc:appointment/special-collections-48h has_or_had_label: Special Collections Appointment has_or_had_description: Book at least 48 hours in advance for manuscript access - lead_time_hours: 48 - booking_method: - - email - - online_form - booking_contact: bijzondere.collecties@archive.nl - appointment_required: true - description: Structured appointment requirement with rich metadata comments: - AccessPolicy defines access conditions for Collection instances - Used by Collection.access_policy_ref to link policies to holdings @@ -322,10 +241,7 @@ classes: description_text: Original materials handled with gloves registration_required: true requires_appointment: false - fee_required: false has_or_had_contact_point: - email: studiezaal@nationaalarchief.nl - description: Standard archive public access policy - value: policy_id: https://nde.nl/ontology/hc/access-policy/donor-embargo-2050 policy_name: Embargoed until 2050 @@ -337,7 +253,6 @@ classes: has_or_had_embargo_reason: Donor privacy restrictions per deed of gift legal_basis: Deed of Gift clause 4.2 review_date: '2049-06-01' - description: Time-limited embargo policy - value: policy_id: https://nde.nl/ontology/hc/access-policy/dim-archive-preservation policy_name: DIM Archive - Preservation Only @@ -355,8 +270,6 @@ classes: requires_appointment: true credentials_required: PROFESSIONAL has_or_had_contact_point: - email: preservation@archive.org - description: Dark archive / DIM access policy - value: policy_id: https://nde.nl/ontology/hc/access-policy/special-collections-rich policy_name: Special Collections - Rich Appointment Policy @@ -364,10 +277,6 @@ classes: has_or_had_label: RESEARCHERS_ONLY has_or_had_description: description_text: Academic researchers with institutional affiliation - has_or_had_condition_of_access: - - Valid institutional ID required - - Letter of introduction from supervisor - - Maximum 5 items per visit requires_or_required: - appointment_id: hc:appointment/special-collections-booking has_or_had_label: Special Collections Appointment @@ -375,20 +284,9 @@ classes: at least 48 hours in advance. Please specify which materials you wish to consult. ' - lead_time_hours: 48 - booking_method: - - email - - online_form - booking_contact: bijzondere.collecties@archive.nl - confirmation_required: true - cancellation_notice_hours: 24 - appointment_required: true registration_required: true credentials_required: INSTITUTIONAL - fee_required: false has_or_had_contact_point: - email: special.collections@archive.nl - description: Rich appointment modeling with structured Appointment entity annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/AcquisitionBudget.yaml b/schemas/20251121/linkml/modules/classes/AcquisitionBudget.yaml index f00716e114..3a4f41e121 100644 --- a/schemas/20251121/linkml/modules/classes/AcquisitionBudget.yaml +++ b/schemas/20251121/linkml/modules/classes/AcquisitionBudget.yaml @@ -19,4 +19,3 @@ classes: specificity_rationale: "Generic utility class created during migration" custodian_types: '["*"]' slots: - - has_or_had_amount diff --git a/schemas/20251121/linkml/modules/classes/Activity.yaml b/schemas/20251121/linkml/modules/classes/Activity.yaml index 0f1973e35e..9edc39c33d 100644 --- a/schemas/20251121/linkml/modules/classes/Activity.yaml +++ b/schemas/20251121/linkml/modules/classes/Activity.yaml @@ -53,7 +53,6 @@ classes: - has_or_had_identifier - has_or_had_label - has_or_had_description - - has_or_had_activity_type - temporal_extent - is_or_was_succeeded_by - preceding_activity @@ -63,11 +62,6 @@ classes: - has_or_had_score slot_usage: has_or_had_identifier: - description: 'Unique identifier for this activity instance. - MIGRATED from has_activity_identifier per Rule 53. - Format: URI following NDE Heritage Custodian ontology conventions. - Pattern: `https://nde.nl/ontology/hc/activity/{custodian-slug}-{type}-{year}-{sequence}` - ' range: uriorcurie required: true identifier: true @@ -75,81 +69,50 @@ classes: examples: - value: identifier_value: https://nde.nl/ontology/hc/activity/rijksmuseum-inventory-2025-001 - description: 2025 inventory at Rijksmuseum - value: identifier_value: https://nde.nl/ontology/hc/activity/nationaal-archief-digitization-voc-2024 - description: VOC digitization project at Nationaal Archief has_or_had_label: range: string required: true - description: Human-readable name for this activity. examples: - value: 2025 Annual Collection Inventory - description: Recurring annual inventory - value: VOC Archives Digitization Project Phase 2 - description: Multi-year digitization project has_or_had_description: range: string required: false - description: Detailed description of the activity scope and objectives. examples: - value: "Annual physical inventory of the Dutch Masters collection, \ncovering approximately 450 paintings. Spot-check methodology \nwith 20% sample verified against catalog records.\n" - description: Inventory activity description - has_or_had_activity_type: - range: ContentType - required: true - multivalued: true - description: 'The type classification(s) for this activity. - Values are ActivityType subclasses from ActivityTypes.yaml. - ' - examples: - value: CurationActivityType - description: Curation activity - value: '[DigitizationActivityType, ResearchActivityType]' - description: Combined digitization and research project temporal_extent: range: TimeSpan required: false inlined: true - description: 'Temporal extent of this activity. - Replaces has_timespan, start_date, end_date. - Uses CIDOC-CRM four-point temporal model for fuzzy bounds. - ' examples: - value: begin_of_the_begin: '2025-01-15' end_of_the_end: '2025-03-31' - description: Q1 2025 activity period is_or_was_succeeded_by: range: string multivalued: true inlined: false - description: Activity/activities that follow this one. examples: - value: https://nde.nl/ontology/hc/activity/conservation-treatment-2025 - description: Conservation follows condition survey preceding_activity: range: string inlined: false - description: Activity that preceded this one. examples: - value: https://nde.nl/ontology/hc/activity/condition-survey-2024 - description: Condition survey informed this conservation treatment has_or_had_status: range: string required: false - description: Current status of the activity. examples: - value: IN_PROGRESS - description: Activity currently underway - value: COMPLETED - description: Activity finished - value: PLANNED - description: Activity scheduled for future note: range: string multivalued: true - description: Additional notes about the activity. annotations: specificity_score: '0.50' specificity_rationale: Moderately specific - Activity is a core domain concept but broadly applicable across all heritage custodian types. @@ -170,25 +133,18 @@ classes: has_or_had_identifier: identifier_value: https://nde.nl/ontology/hc/activity/rijksmuseum-inventory-2025-001 has_or_had_label: 2025 Annual Collection Inventory - Dutch Masters - has_or_had_activity_type: - - CurationActivityType has_or_had_description: "Annual physical inventory of the Dutch Masters collection \n(Gallery of Honour and adjacent galleries). Spot-check methodology \nwith 20% sample verification against CMS records.\n" temporal_extent: begin_of_the_begin: '2025-01-15' end_of_the_end: '2025-03-31' has_or_had_status: IN_PROGRESS - description: Inventory activity at Rijksmuseum - value: has_or_had_identifier: identifier_value: https://nde.nl/ontology/hc/activity/kb-digitization-medieval-2024 has_or_had_label: Medieval Manuscripts Digitization Project - has_or_had_activity_type: - - DigitizationActivityType - - ResearchActivityType has_or_had_description: "High-resolution digitization of 342 medieval manuscripts with \nHTR processing and metadata enhancement. IIIF-compliant output.\n" temporal_extent: begin_of_the_begin: '2024-03-01' end_of_the_end: '2025-12-31' has_or_had_status: IN_PROGRESS - preceding_activity: https://nde.nl/ontology/hc/activity/kb-condition-survey-2023 - description: Digitization and research project at KB + preceding_activity: https://nde.nl/ontology/hc/activity/kb-condition-survey-2023 \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/ActivityType.yaml b/schemas/20251121/linkml/modules/classes/ActivityType.yaml index 8ebbc71da3..12a3592579 100644 --- a/schemas/20251121/linkml/modules/classes/ActivityType.yaml +++ b/schemas/20251121/linkml/modules/classes/ActivityType.yaml @@ -54,39 +54,23 @@ classes: required: true identifier: true multivalued: true - description: 'Unique identifier(s) for this activity type. - - MIGRATED from type_id per Rule 56 (2026-01-16). - - Also includes Wikidata entity references (previously wikidata_entity). - - ' examples: - value: https://nde.nl/ontology/hc/activity-type/curation - description: Internal type identifier for curation - value: wd:Q1348059 - description: Wikidata entity for curation has_or_had_label: range: string required: true multivalued: true - description: 'Human-readable label for this activity type. - - MIGRATED from type_label per slot_fixes.yaml (Rule 53). - - ' examples: - value: - Curation@en - curatie@nl - Kuration@de - description: Multilingual labels for curation type has_or_had_description: range: string required: false examples: - value: Activities related to the ongoing management and care of collections - description: Description of curation activity type created: range: datetime modified: @@ -115,5 +99,4 @@ classes: has_or_had_label: - Curation@en - curatie@nl - has_or_had_description: Activities related to ongoing collection management - description: Curation activity type with multilingual labels and identifiers + has_or_had_description: Activities related to ongoing collection management \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/Address.yaml b/schemas/20251121/linkml/modules/classes/Address.yaml index f1df50c368..eb74e48860 100644 --- a/schemas/20251121/linkml/modules/classes/Address.yaml +++ b/schemas/20251121/linkml/modules/classes/Address.yaml @@ -132,7 +132,6 @@ classes: # Geographic coordinates (for geocoded addresses) - latitude - longitude - - geonames_id # Provenance - is_or_was_derived_from # was: was_derived_from - migrated per Rule 53 - is_or_was_generated_by # was: was_generated_by - migrated per Rule 53 @@ -140,14 +139,11 @@ classes: has_or_had_section: range: HouseNumber required: false - description: House/building number within street. examples: - value: has_or_had_value: "1" - description: Rijksmuseum - value: has_or_had_value: "221B" - description: Baker Street notation # REMOVED: street_name slot_usage - migrated to has_or_had_label + Label (2026-01-17, Rule 53/56) # Street names should now use Label class with language tagging via has_or_had_label # REMOVED: street_address slot_usage - redundant string slot removed (2026-01-17, Rule 53/56) @@ -155,17 +151,13 @@ classes: postal_code: range: string required: false - description: Postal/ZIP code examples: - value: "1071 XX" - description: Dutch postal code format locality: range: string required: false - description: City, town, or village name examples: - value: "Amsterdam" - description: City name # REMOVED: city slot_usage - migrated to is_or_was_located_in + City (2026-01-18, Rule 53) # city: # range: string @@ -175,34 +167,22 @@ classes: range: string required: false inlined: true - description: | - The city where this address is located, as a structured City entity. - MIGRATED from city (string) slot (2026-01-18, Rule 53). - Provides GeoNames ID, coordinates, and subregion linkage. examples: - value: settlement_name: "Amsterdam" - geonames_id: 2759794 country: "NL" - description: Address located in Amsterdam region: range: string required: false - description: State, province, or region examples: - value: "Noord-Holland" - description: Dutch province - value: "NL-NH" - description: ISO 3166-2 code country_name: range: string required: false - description: Country name or ISO 3166-1 code examples: - value: "Netherlands" - description: Full name - value: "NL" - description: ISO 3166-1 alpha-2 code # REMOVED 2026-01-22: address_formatted - migrated to has_or_had_label + Label (Rule 53, Feedback F1) # Formatted address strings now use has_or_had_label slot_usage below # REMOVED: address_type slot_usage - migrated to has_or_had_type (2026-01-17, Rule 53/56) @@ -212,64 +192,36 @@ classes: inlined: true inlined_as_list: true required: false - description: | - Labels for this address, including: - 1. **Street name** as Label with language tag - 2. **Formatted address** as Label with language tag - MIGRATED from: - - address_formatted (2026-01-22, Feedback F1) - formatted address strings - - street_name (2026-01-17, Rule 53/56) - street name component - Use Label class with language_code for multilingual support. examples: - value: - has_or_had_label: "Museumstraat" language: "nl" - has_or_had_label: "Museumstraat 1, 1071 XX Amsterdam, Netherlands" language: "nl" - description: Street name and formatted address as labels has_or_had_type: # was: address_type - migrated per Rule 53/56 (2026-01-17) range: AddressType required: false multivalued: false - description: | - Classification of the address by purpose or type. - MIGRATED from address_type (2026-01-13). - Uses AddressType class hierarchy for rich type semantics. - Common types: HeadquartersAddress, LegalAddress, VisitingAddress, - MailingAddress, StorageAddress, BranchAddress. examples: - value: HeadquartersAddress - description: Main organizational headquarters latitude: range: float required: false - description: WGS84 latitude coordinate examples: - value: 52.3600 - description: Amsterdam latitude longitude: range: float required: false - description: WGS84 longitude coordinate examples: - value: 4.8852 - description: Amsterdam longitude - geonames_id: - range: integer - required: false - description: GeoNames ID for geocoded locality - examples: - value: 2759794 - description: Amsterdam GeoNames ID is_or_was_derived_from: # was: was_derived_from - migrated per Rule 53 range: CustodianObservation multivalued: true required: false - description: Source observation from which address was extracted is_or_was_generated_by: # was: was_generated_by - migrated per Rule 53 range: ReconstructionActivity required: false - description: Activity that generated this address record comments: - vCard Address is the primary ontology class (RFC6350 standard) - Use structured components when available, address_formatted as fallback @@ -295,11 +247,8 @@ classes: locality: "Amsterdam" region: "Noord-Holland" country_name: "NL" - address_type: "HEADQUARTERS" latitude: 52.3600 longitude: 4.8852 - geonames_id: 2759794 - description: Rijksmuseum headquarters - fully structured address (street_name and street_address migrated to has_or_had_label) - value: has_or_had_section: - has_or_had_value: "40" @@ -307,8 +256,6 @@ classes: postal_code: "2011 RX" locality: "Haarlem" country_name: "NL" - address_type: "HEADQUARTERS" - description: Noord-Hollands Archief address - simplified structure - value: has_or_had_label: - has_or_had_label: "1600 Pennsylvania Avenue NW, Washington, DC 20500, USA" @@ -316,8 +263,6 @@ classes: locality: "Washington" region: "DC" country_name: "US" - address_type: "LEGAL" - description: US address with formatted string primary - value: has_or_had_label: - has_or_had_label: "Euterpelaan" @@ -330,8 +275,6 @@ classes: locality: "Amersfoort" region: "Utrecht" country_name: "NL" - address_type: "STORAGE" - description: Off-site storage depot address (street_name and street_address migrated to has_or_had_label) annotations: specificity_score: 0.25 specificity_rationale: "Address is broadly applicable to all heritage custodian types and many other entities. Universal across domains." diff --git a/schemas/20251121/linkml/modules/classes/AddressComponent.yaml b/schemas/20251121/linkml/modules/classes/AddressComponent.yaml index 0e25ed8ef8..0f2a1d8420 100644 --- a/schemas/20251121/linkml/modules/classes/AddressComponent.yaml +++ b/schemas/20251121/linkml/modules/classes/AddressComponent.yaml @@ -124,46 +124,28 @@ classes: long_name: range: string required: false - description: Full form of the address component value examples: - value: "Netherlands" - description: Country full name - value: "Noord-Holland" - description: Province full name - value: "Museumstraat" - description: Street name short_name: range: string required: false - description: Abbreviated or short form of the component value (may equal long_name) examples: - value: "NL" - description: ISO 3166-1 alpha-2 country code - value: "NH" - description: Province abbreviation - value: "Museumstraat" - description: Same as long_name when no abbreviation exists # MIGRATED 2026-01-22: component_type → has_or_had_type + ComponentType (Rule 53) has_or_had_type: - description: | - Semantic type(s) of this address component. - MIGRATED from component_type per slot_fixes.yaml (Rule 53, 2026-01-22). - - Uses ComponentType class hierarchy for structured classification. range: ComponentType multivalued: true inlined_as_list: true required: false examples: - value: StreetNumber - description: House/building number - value: Locality - description: City or town - value: Region - description: State or province - value: Country - description: Country - comments: - Source-agnostic representation of address components - Use for parsing/normalization workflows before constructing Address objects @@ -180,38 +162,26 @@ classes: long_name: "1" short_name: "1" has_or_had_type: [StreetNumber] - description: Street number component - - value: long_name: "Museumstraat" short_name: "Museumstraat" has_or_had_type: [Route] - description: Street name component - - value: long_name: "Amsterdam" short_name: "Amsterdam" has_or_had_type: [Locality] - description: City component - - value: long_name: "Noord-Holland" short_name: "NH" has_or_had_type: [Region] - description: Province component with abbreviation - - value: long_name: "Netherlands" short_name: "NL" has_or_had_type: [Country] - description: Country component with ISO code - - value: long_name: "1071 XX" short_name: "1071 XX" has_or_had_type: [PostalCode] - description: Dutch postal code component - annotations: specificity_score: 0.35 specificity_rationale: "Generic address parsing component. Broadly applicable across all address sources and custodian types." diff --git a/schemas/20251121/linkml/modules/classes/AddressType.yaml b/schemas/20251121/linkml/modules/classes/AddressType.yaml index f8b26d6933..28c3d229b5 100644 --- a/schemas/20251121/linkml/modules/classes/AddressType.yaml +++ b/schemas/20251121/linkml/modules/classes/AddressType.yaml @@ -53,9 +53,7 @@ classes: pattern: ^https://nde\.nl/ontology/hc/address-type/[a-z0-9-]+$ examples: - value: https://nde.nl/ontology/hc/address-type/headquarters - description: Main organizational headquarters address type - value: https://nde.nl/ontology/hc/address-type/legal - description: Registered legal address type has_or_had_code: range: string required: true @@ -87,32 +85,22 @@ classes: - value: Main organizational address where primary operations occur. has_or_had_hypernym: range: AddressType - description: Parent address type in the classification hierarchy. has_or_had_hyponym: range: AddressType multivalued: true inlined_as_list: true - description: Child address types in the classification hierarchy. is_or_was_related_to: range: AddressType multivalued: true inlined_as_list: true - description: Non-hierarchical associations with other address types. is_or_was_equivalent_to: range: WikiDataIdentifier multivalued: true inlined: true inlined_as_list: true - description: 'Wikidata equivalence for this address type concept. - - MIGRATED 2026-01-15: Replaces wikidata_id slot per Rule 53. - - ' examples: - value: - qid: Q1234567 - label: Headquarters address - description: Wikidata equivalence for headquarters address type annotations: specificity_score: '0.30' specificity_rationale: Address types are broadly applicable - all heritage custodians have addresses. @@ -142,7 +130,6 @@ classes: are located. ' - description: Headquarters address type definition - value: has_or_had_identifier: https://nde.nl/ontology/hc/address-type/legal has_or_had_code: LEGAL @@ -157,7 +144,6 @@ classes: For Dutch organizations, this is the address registered with KvK. ' - description: Legal/statutory address type definition - value: has_or_had_identifier: https://nde.nl/ontology/hc/address-type/visiting has_or_had_code: VISITING @@ -169,7 +155,6 @@ classes: or libraries with public reading rooms. ' - description: Public visiting address type definition - value: has_or_had_identifier: https://nde.nl/ontology/hc/address-type/storage has_or_had_code: STORAGE @@ -183,5 +168,4 @@ classes: ' is_or_was_related_to: - - https://nde.nl/ontology/hc/address-type/branch - description: Storage/depot address type definition + - https://nde.nl/ontology/hc/address-type/branch \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/AdministrativeLevel.yaml b/schemas/20251121/linkml/modules/classes/AdministrativeLevel.yaml index 51e3b1451a..1626964a93 100644 --- a/schemas/20251121/linkml/modules/classes/AdministrativeLevel.yaml +++ b/schemas/20251121/linkml/modules/classes/AdministrativeLevel.yaml @@ -46,10 +46,8 @@ classes: - has_or_had_description slot_usage: has_or_had_label: - description: Name of the level (e.g., "National") required: true has_or_had_code: - description: Code for the level (e.g., "NAT", "ISO-3166-2") required: false annotations: specificity_score: 0.1 diff --git a/schemas/20251121/linkml/modules/classes/AdministrativeOffice.yaml b/schemas/20251121/linkml/modules/classes/AdministrativeOffice.yaml index 850847956c..f630885983 100644 --- a/schemas/20251121/linkml/modules/classes/AdministrativeOffice.yaml +++ b/schemas/20251121/linkml/modules/classes/AdministrativeOffice.yaml @@ -55,7 +55,6 @@ classes: - schema:Corporation - org:OrganizationalUnit slots: - - has_or_had_access_restriction - has_or_had_description - has_or_had_identifier - has_or_had_label @@ -72,47 +71,28 @@ classes: has_or_had_identifier: range: uriorcurie required: true - description: Identifier for the administrative office. has_or_had_label: range: string required: true - description: Name of the administrative office. has_or_had_description: range: string - description: Description of the administrative office. has_or_had_function: range: FunctionType multivalued: true inlined: true inlined_as_list: true - description: Organizational functions performed at this administrative office. Uses generic FunctionType class with function_category classification. examples: - value: function_category: ADMINISTRATIVE function_name: Finance and accounting - description: Financial operations - value: function_category: ADMINISTRATIVE function_name: Human resources - description: HR functions - value: function_category: SUPPORT function_name: Information technology - description: IT support - has_or_had_access_restriction: - range: string - required: true - ifabsent: string(Staff access only) - examples: - - value: Staff badge required - description: Badge access - value: Management access only - description: Restricted access has_or_had_staff: - description: | - Staff associated with the administrative office. - MIGRATED from has_or_had_admin_staff_count per Rule 53. - Uses Staff class (with Quantity). range: Staff multivalued: true inlined: true @@ -124,19 +104,15 @@ classes: has_or_had_label: "FTE" has_or_had_type: has_or_had_label: "Administrative Staff" - description: Medium admin office is_leased: range: boolean examples: - value: true - description: Leased office space - value: false - description: Owned property lease_expiry: range: date examples: - value: '2028-12-31' - description: Lease expires end of 2028 is_or_was_derived_from: range: CustodianObservation multivalued: true @@ -158,7 +134,6 @@ classes: - value: has_or_had_identifier: identifier_value: https://nde.nl/ontology/hc/aux/rijksmuseum-admin-zuidas - identifier_scheme: URI has_or_had_label: has_or_had_label: Rijksmuseum Administrative Offices - Zuidas has_or_had_description: @@ -174,7 +149,6 @@ classes: function_name: Information technology - function_category: ADMINISTRATIVE function_name: Legal affairs - has_or_had_access_restriction: Staff badge required has_or_had_staff: - has_or_had_quantity: has_or_had_value: 45 @@ -184,11 +158,9 @@ classes: has_or_had_label: "Administrative Staff" is_leased: true lease_expiry: '2028-12-31' - description: Museum administrative office in business district - value: has_or_had_identifier: identifier_value: https://nde.nl/ontology/hc/aux/kb-digitization-center - identifier_scheme: URI has_or_had_label: has_or_had_label: Koninklijke Bibliotheek Digitization Support Center has_or_had_description: @@ -202,7 +174,6 @@ classes: function_name: Quality control - function_category: SUPPORT function_name: Technical support - has_or_had_access_restriction: Project staff only has_or_had_staff: - has_or_had_quantity: has_or_had_value: 12 @@ -212,7 +183,6 @@ classes: has_or_had_label: "Technical Staff" is_leased: false lease_expiry: null - description: Library digitization support facility annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/AdmissionFee.yaml b/schemas/20251121/linkml/modules/classes/AdmissionFee.yaml index a00112f05c..29df64b04e 100644 --- a/schemas/20251121/linkml/modules/classes/AdmissionFee.yaml +++ b/schemas/20251121/linkml/modules/classes/AdmissionFee.yaml @@ -19,4 +19,3 @@ classes: specificity_rationale: "Generic utility class created during migration" custodian_types: '["*"]' slots: - - has_or_had_amount diff --git a/schemas/20251121/linkml/modules/classes/AdvertisingRadioArchive.yaml b/schemas/20251121/linkml/modules/classes/AdvertisingRadioArchive.yaml index 1863c6b53c..a0c0845337 100644 --- a/schemas/20251121/linkml/modules/classes/AdvertisingRadioArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/AdvertisingRadioArchive.yaml @@ -60,7 +60,6 @@ classes: slot_usage: has_or_had_identifier: pattern: ^Q[0-9]+$ - description: Wikidata identifier for Advertising Radio Archive concept exact_mappings: - skos:Concept close_mappings: diff --git a/schemas/20251121/linkml/modules/classes/Age.yaml b/schemas/20251121/linkml/modules/classes/Age.yaml index ebf4eac2c8..7ae801785c 100644 --- a/schemas/20251121/linkml/modules/classes/Age.yaml +++ b/schemas/20251121/linkml/modules/classes/Age.yaml @@ -37,10 +37,8 @@ classes: slot_usage: has_or_had_quantity: range: integer - description: The age value (in years). required: true has_or_had_unit: - description: Unit of time (usually "years", "months"). range: string required: false annotations: diff --git a/schemas/20251121/linkml/modules/classes/Agent.yaml b/schemas/20251121/linkml/modules/classes/Agent.yaml index 6ec6d9a32d..a421c037b3 100644 --- a/schemas/20251121/linkml/modules/classes/Agent.yaml +++ b/schemas/20251121/linkml/modules/classes/Agent.yaml @@ -54,21 +54,12 @@ classes: required: false slot_usage: has_or_had_name: - description: 'Structured name for the agent. - - ' range: uriorcurie required: false has_or_had_type: - description: 'Classification of the agent type. - - ' range: uriorcurie required: false has_or_had_identifier: - description: 'Identifiers for the agent (ORCID, ISNI, etc.). - - ' range: uriorcurie multivalued: true required: false @@ -79,23 +70,10 @@ classes: custodian_types: "['*']" examples: - value: - agent_name: Dr. Jane Smith - agent_type: person - agent_role: collector - description: Field biologist who collected specimens - value: - agent_name: Rijksmuseum Foundation - agent_type: organization - agent_role: donor - description: Organization that donated artwork - value: - agent_name: National Archives of the Netherlands - agent_type: organization - agent_role: transferring_agency has_or_had_identifier: - identifier_scheme: ISIL - identifier_value: NL-HaNA - description: Archive transferring records comments: - Created per slot_fixes.yaml migration (2026-01-22) - 'RULE 53: Replaces collector string slot with structured model' diff --git a/schemas/20251121/linkml/modules/classes/AgentType.yaml b/schemas/20251121/linkml/modules/classes/AgentType.yaml index 871a279367..5ab7e82a58 100644 --- a/schemas/20251121/linkml/modules/classes/AgentType.yaml +++ b/schemas/20251121/linkml/modules/classes/AgentType.yaml @@ -30,11 +30,9 @@ classes: has_or_had_code: range: string required: true - description: Short code for the agent type has_or_had_label: range: string required: false - description: Human-readable name for the agent type annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Agreement.yaml b/schemas/20251121/linkml/modules/classes/Agreement.yaml index e946d3e64c..00f7b8f96b 100644 --- a/schemas/20251121/linkml/modules/classes/Agreement.yaml +++ b/schemas/20251121/linkml/modules/classes/Agreement.yaml @@ -47,11 +47,8 @@ classes: - temporal_extent slot_usage: has_or_had_label: - description: Title or name of the agreement. is_or_was_signed_on: - description: Date the agreement was signed. temporal_extent: - description: Validity period of the agreement. annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/AirChanges.yaml b/schemas/20251121/linkml/modules/classes/AirChanges.yaml index 150da8f900..9b964c8320 100644 --- a/schemas/20251121/linkml/modules/classes/AirChanges.yaml +++ b/schemas/20251121/linkml/modules/classes/AirChanges.yaml @@ -29,11 +29,9 @@ classes: slot_usage: has_or_had_quantity: range: float - description: The number of air changes. required: true has_or_had_unit: range: string - description: Unit of measurement (e.g., "per hour"). required: true annotations: specificity_score: 0.1 diff --git a/schemas/20251121/linkml/modules/classes/Alignment.yaml b/schemas/20251121/linkml/modules/classes/Alignment.yaml index ddd5fa9163..33bb921c27 100644 --- a/schemas/20251121/linkml/modules/classes/Alignment.yaml +++ b/schemas/20251121/linkml/modules/classes/Alignment.yaml @@ -28,49 +28,17 @@ classes: Captures horizontal alignment, vertical alignment, and position values. ' slots: - - horizontal_alignment - - vertical_alignment - - position_value - - position_unit slot_usage: - horizontal_alignment: - range: string - required: false - examples: - - value: left - description: Left-aligned content - value: center - description: Center-aligned content - value: right - description: Right-aligned content - vertical_alignment: - range: string - required: false - examples: - - value: top - description: Top-aligned (e.g., top subtitles) - value: bottom - description: Bottom-aligned (default for subtitles) - value: middle - description: Vertically centered - position_value: - range: string - required: false - description: Numeric or named position value examples: - value: '10' - description: Position 10 units from reference - value: default - description: Default positioning - position_unit: - range: string - required: false - description: Unit of measurement for position (px, %, em, etc.) examples: - value: px - description: Pixels - value: '%' - description: Percentage of container annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/AllocationEvent.yaml b/schemas/20251121/linkml/modules/classes/AllocationEvent.yaml index 6b06e527e7..2e6862e99a 100644 --- a/schemas/20251121/linkml/modules/classes/AllocationEvent.yaml +++ b/schemas/20251121/linkml/modules/classes/AllocationEvent.yaml @@ -26,7 +26,6 @@ classes: - temporal_extent slot_usage: temporal_extent: - description: Time period when the allocation occurred. required: true annotations: specificity_score: 0.1 diff --git a/schemas/20251121/linkml/modules/classes/Alpha2Code.yaml b/schemas/20251121/linkml/modules/classes/Alpha2Code.yaml index 25cef5e4f0..56ce2cfede 100644 --- a/schemas/20251121/linkml/modules/classes/Alpha2Code.yaml +++ b/schemas/20251121/linkml/modules/classes/Alpha2Code.yaml @@ -48,12 +48,9 @@ classes: has_or_had_code: pattern: ^[A-Z]{2}$ required: true - description: Two-letter ISO 3166-1 alpha-2 country code examples: - value: NL - description: Netherlands - value: BE - description: Belgium exact_mappings: - skos:Concept annotations: @@ -62,5 +59,4 @@ classes: custodian_types: "['*']" examples: - value: - has_or_had_code: NL - description: Netherlands country code + has_or_had_code: NL \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/Alpha3Code.yaml b/schemas/20251121/linkml/modules/classes/Alpha3Code.yaml index b828a14b49..20a2947b2d 100644 --- a/schemas/20251121/linkml/modules/classes/Alpha3Code.yaml +++ b/schemas/20251121/linkml/modules/classes/Alpha3Code.yaml @@ -48,12 +48,9 @@ classes: has_or_had_code: pattern: ^[A-Z]{3}$ required: true - description: Three-letter ISO 3166-1 alpha-3 country code examples: - value: NLD - description: Netherlands - value: BEL - description: Belgium exact_mappings: - skos:Concept annotations: @@ -62,5 +59,4 @@ classes: custodian_types: "['*']" examples: - value: - has_or_had_code: NLD - description: Netherlands country code + has_or_had_code: NLD \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/Animal.yaml b/schemas/20251121/linkml/modules/classes/Animal.yaml index 5f4f36ed35..2328d703d1 100644 --- a/schemas/20251121/linkml/modules/classes/Animal.yaml +++ b/schemas/20251121/linkml/modules/classes/Animal.yaml @@ -38,7 +38,6 @@ classes: slot_usage: is_or_was_categorized_as: range: Species - description: The species classification of the animal. annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/AnimalSoundArchive.yaml b/schemas/20251121/linkml/modules/classes/AnimalSoundArchive.yaml index f5f3cabab0..52811c814f 100644 --- a/schemas/20251121/linkml/modules/classes/AnimalSoundArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/AnimalSoundArchive.yaml @@ -33,7 +33,6 @@ classes: slot_usage: has_or_had_identifier: pattern: ^Q[0-9]+$ - description: Wikidata identifier for Animal Sound Archive concept exact_mappings: - skos:Concept close_mappings: diff --git a/schemas/20251121/linkml/modules/classes/Annotation.yaml b/schemas/20251121/linkml/modules/classes/Annotation.yaml index 720d0d8bcb..ada8255d38 100644 --- a/schemas/20251121/linkml/modules/classes/Annotation.yaml +++ b/schemas/20251121/linkml/modules/classes/Annotation.yaml @@ -41,18 +41,13 @@ classes: - has_or_had_type slot_usage: has_or_had_description: - description: The content of the annotation (body). is_or_was_created_by: - description: The agent who created the annotation. range: Agent has_or_had_rationale: - description: The motivation for the annotation (e.g. commenting, tagging). range: Rationale contains_or_contained: - description: The target segment being annotated. range: Segment has_or_had_type: - description: The type of annotation. range: AnnotationType annotations: specificity_score: 0.1 diff --git a/schemas/20251121/linkml/modules/classes/AnnotationType.yaml b/schemas/20251121/linkml/modules/classes/AnnotationType.yaml index 281fbb4934..1a90403c72 100644 --- a/schemas/20251121/linkml/modules/classes/AnnotationType.yaml +++ b/schemas/20251121/linkml/modules/classes/AnnotationType.yaml @@ -30,11 +30,9 @@ classes: has_or_had_code: range: string required: true - description: Short code for the annotation type has_or_had_label: range: string required: false - description: Human-readable name for the annotation type annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Appellation.yaml b/schemas/20251121/linkml/modules/classes/Appellation.yaml index 1e1e6bc2fc..8b7557dcd1 100644 --- a/schemas/20251121/linkml/modules/classes/Appellation.yaml +++ b/schemas/20251121/linkml/modules/classes/Appellation.yaml @@ -38,30 +38,15 @@ classes: - rdfs:label - dcterms:title slots: - - has_appellation_language - - has_appellation_type - - has_appellation_value - specificity_annotation - has_or_had_score - is_or_was_alternative_form_of slot_usage: - has_appellation_value: - range: string - required: true - has_appellation_language: - range: string - pattern: ^[a-z]{2}$ - has_appellation_type: - range: AppellationTypeEnum is_or_was_alternative_form_of: range: Label inlined: true - description: 'Reference to the CustodianName this appellation is a variant of. - MIGRATED 2026-01-14: Replaces variant_of_name slot. - ' examples: - value: "Label:\n label_value: \"Rijksmuseum\"\n label_language: \"nl\"\n" - description: Dutch name this appellation is variant of annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ApplicantRequirement.yaml b/schemas/20251121/linkml/modules/classes/ApplicantRequirement.yaml index 70e2d06810..8f0acaf356 100644 --- a/schemas/20251121/linkml/modules/classes/ApplicantRequirement.yaml +++ b/schemas/20251121/linkml/modules/classes/ApplicantRequirement.yaml @@ -34,10 +34,8 @@ classes: slot_usage: can_or_could_be_fulfilled_by: range: Applicant - description: The type of applicant that satisfies this requirement. imposes_or_imposed: range: GeographicExtent - description: Geographic constraints (e.g., eligible countries). annotations: custodian_types: '["*"]' specificity_score: 0.6 diff --git a/schemas/20251121/linkml/modules/classes/Appointment.yaml b/schemas/20251121/linkml/modules/classes/Appointment.yaml index 6a1a71c85c..26d439a091 100644 --- a/schemas/20251121/linkml/modules/classes/Appointment.yaml +++ b/schemas/20251121/linkml/modules/classes/Appointment.yaml @@ -86,21 +86,14 @@ classes: description: Appointment recommended but not required slot_usage: has_or_had_label: - description: Human-readable name for this appointment type examples: - value: Reading Room Appointment - value: Special Collections Viewing - value: Conservation Lab Access has_or_had_description: - description: Detailed description of appointment requirements examples: - value: "Appointments for the Special Collections reading room must be made \nat least 48 hours in advance. Please specify which materials you \nwish to consult. Maximum 5 items per visit.\n" temporal_extent: - description: 'When this appointment requirement is/was in effect. - - Enables historical tracking of when appointment policies changed. - - ' range: TimeSpan inlined: true examples: @@ -108,24 +101,10 @@ classes: appointment_id: hc:appointment/nationaal-archief-special-collections has_or_had_label: Special Collections Appointment has_or_had_description: Advance appointment required for manuscript and map collections - lead_time_hours: 48 - booking_method: - - email - - online_form - booking_contact: bijzondere.collecties@nationaalarchief.nl - confirmation_required: true - appointment_required: true - description: Nationaal Archief special collections appointment requirement - value: appointment_id: hc:appointment/reading-room-recommended has_or_had_label: Reading Room Reservation has_or_had_description: Reservations recommended but walk-ins accepted based on availability - lead_time_hours: 0 - booking_method: - - online_form - - in_person - appointment_required: false - description: Reading room with recommended but not required reservations annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/AppreciationEvent.yaml b/schemas/20251121/linkml/modules/classes/AppreciationEvent.yaml index 4ec1ab7fd2..bec1e11683 100644 --- a/schemas/20251121/linkml/modules/classes/AppreciationEvent.yaml +++ b/schemas/20251121/linkml/modules/classes/AppreciationEvent.yaml @@ -112,9 +112,6 @@ classes: slot_usage: has_or_had_quantity: - description: | - Structured quantity for the appreciation count. - Use Quantity class with numeric_value and has_or_had_unit. range: integer inlined: true required: false @@ -123,52 +120,30 @@ classes: numeric_value: 42 has_or_had_unit: unit_label: "likes" - description: 42 likes using Quantity class - has_or_had_unit: - description: | - Unit for the appreciation type (likes, favorites, etc.). - Can be specified directly or via has_or_had_quantity.has_or_had_unit. range: string inlined: true required: false examples: - value: unit_label: "likes" - description: Likes unit - temporal_extent: - description: | - Time when the appreciation count was observed/recorded. range: TimeSpan inlined: true required: false examples: - value: begin_of_the_begin: "2025-01-14T10:00:00Z" - description: Observation timestamp - examples: - value: - appreciation_type: "like" - appreciation_count: 42 - description: Simple like count (minimal) - - value: - appreciation_type: "like" has_or_had_quantity: numeric_value: 42 has_or_had_unit: unit_label: "likes" temporal_extent: begin_of_the_begin: "2025-01-14T10:00:00Z" - description: Full structured like count with timestamp - - value: - appreciation_type: "favorite" - appreciation_count: 15 - description: Favorite count - comments: - Created 2026-01-22 from comment_like_count migration (Rule 53) - Models appreciation metrics as structured events diff --git a/schemas/20251121/linkml/modules/classes/Approver.yaml b/schemas/20251121/linkml/modules/classes/Approver.yaml index c82943896b..6068e31d75 100644 --- a/schemas/20251121/linkml/modules/classes/Approver.yaml +++ b/schemas/20251121/linkml/modules/classes/Approver.yaml @@ -48,14 +48,11 @@ classes: range: string examples: - value: Board of Directors - description: Organizational approver - value: Museum Director - description: Role-based approver has_or_had_identifier: range: uriorcurie examples: - value: https://nde.nl/ontology/hc/person/jan-de-vries - description: Link to person entity comments: - Generic approver class for approval provenance - Can represent individuals or organizational bodies @@ -66,7 +63,6 @@ classes: - value: has_or_had_label: Museum Director has_or_had_identifier: https://nde.nl/ontology/hc/person/example-director - description: Individual approver annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ApproximationStatus.yaml b/schemas/20251121/linkml/modules/classes/ApproximationStatus.yaml index 7e8270bf1e..8c7a78c086 100644 --- a/schemas/20251121/linkml/modules/classes/ApproximationStatus.yaml +++ b/schemas/20251121/linkml/modules/classes/ApproximationStatus.yaml @@ -42,23 +42,17 @@ classes: has_or_had_level: range: string required: true - description: Level of approximation/uncertainty for the value. has_or_had_label: range: string required: false - description: Human-readable label for the approximation status. examples: - value: circa 1880 - description: Approximate date label - value: approximately 10,000 - description: Approximate quantity label has_or_had_description: range: string required: false - description: Explanation of why the value is approximate and how uncertainty was determined. examples: - value: Founding date derived from secondary sources, exact day unknown - description: Provenance of uncertainty comments: - ApproximationStatus replaces simple boolean approximate field - Provides structured uncertainty modeling for dates, quantities, etc. @@ -70,22 +64,18 @@ classes: - value: has_or_had_level: EXACT has_or_had_label: '1880-03-15' - description: Exact date with full precision - value: has_or_had_level: APPROXIMATE has_or_had_label: circa 1880 has_or_had_description: Founding date known only to year from newspaper accounts - description: Approximate date with explanation - value: has_or_had_level: ESTIMATED has_or_had_label: estimated 1875-1885 has_or_had_description: Date range inferred from building construction records - description: Estimated date range - value: has_or_had_level: UNKNOWN has_or_had_label: date unknown has_or_had_description: No founding records survive - description: Unknown date annotations: specificity_score: 0.3 specificity_rationale: Approximation status is broadly useful across contexts where uncertainty needs to be expressed. @@ -95,12 +85,7 @@ enums: description: Levels of approximation/uncertainty for values. permissible_values: EXACT: - description: Value is known with certainty APPROXIMATE: - description: Value is close but not exact (circa, roughly) ESTIMATED: - description: Value is calculated or inferred UNCERTAIN: - description: Significant doubt about accuracy - UNKNOWN: - description: Value cannot be determined + UNKNOWN: \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/Architect.yaml b/schemas/20251121/linkml/modules/classes/Architect.yaml index 7e92558ecb..57534d4174 100644 --- a/schemas/20251121/linkml/modules/classes/Architect.yaml +++ b/schemas/20251121/linkml/modules/classes/Architect.yaml @@ -36,7 +36,6 @@ classes: - has_or_had_identifier slot_usage: has_or_had_label: - description: Name of the architect. required: true annotations: specificity_score: 0.1 diff --git a/schemas/20251121/linkml/modules/classes/ArchitecturalArchive.yaml b/schemas/20251121/linkml/modules/classes/ArchitecturalArchive.yaml index 3d57b9d74c..bbb3726f3f 100644 --- a/schemas/20251121/linkml/modules/classes/ArchitecturalArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/ArchitecturalArchive.yaml @@ -35,7 +35,6 @@ classes: slot_usage: has_or_had_identifier: pattern: ^Q[0-9]+$ - description: Wikidata identifier for Architectural Archive concept has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' exact_mappings: diff --git a/schemas/20251121/linkml/modules/classes/ArchivalLibrary.yaml b/schemas/20251121/linkml/modules/classes/ArchivalLibrary.yaml index ec8d118565..ba2e81951d 100644 --- a/schemas/20251121/linkml/modules/classes/ArchivalLibrary.yaml +++ b/schemas/20251121/linkml/modules/classes/ArchivalLibrary.yaml @@ -28,14 +28,8 @@ classes: has_or_had_type: range: uriorcurie required: true - description: 'Type of branch. For archival libraries, this should be BranchLibraryUnit. - - MIGRATED from branch_type (2026-01-17) per Rule 53. - - ' examples: - value: BranchLibraryUnit - description: Archival library branch type is_branch_of: required: true exact_mappings: diff --git a/schemas/20251121/linkml/modules/classes/ArchivalReference.yaml b/schemas/20251121/linkml/modules/classes/ArchivalReference.yaml index 67d70879c7..4aeff07f67 100644 --- a/schemas/20251121/linkml/modules/classes/ArchivalReference.yaml +++ b/schemas/20251121/linkml/modules/classes/ArchivalReference.yaml @@ -30,7 +30,6 @@ classes: slot_usage: has_or_had_identifier: required: true - description: The reference code value. annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ArchivalStatus.yaml b/schemas/20251121/linkml/modules/classes/ArchivalStatus.yaml index 709d9be06a..c4d0d26bba 100644 --- a/schemas/20251121/linkml/modules/classes/ArchivalStatus.yaml +++ b/schemas/20251121/linkml/modules/classes/ArchivalStatus.yaml @@ -29,7 +29,6 @@ classes: slot_usage: has_or_had_code: required: true - description: Code for the status (e.g. UNPROCESSED, PROCESSED). annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ArchiveAssociation.yaml b/schemas/20251121/linkml/modules/classes/ArchiveAssociation.yaml index fd89e9f15d..a5e5ee21c2 100644 --- a/schemas/20251121/linkml/modules/classes/ArchiveAssociation.yaml +++ b/schemas/20251121/linkml/modules/classes/ArchiveAssociation.yaml @@ -27,7 +27,6 @@ classes: required: true has_or_had_identifier: pattern: ^Q[0-9]+$ - description: Wikidata identifier for Archive Association concept has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType", "hc:HeritageSocietyType"]' exact_mappings: diff --git a/schemas/20251121/linkml/modules/classes/ArchiveNetwork.yaml b/schemas/20251121/linkml/modules/classes/ArchiveNetwork.yaml index ad4e855df1..d6b5b1df22 100644 --- a/schemas/20251121/linkml/modules/classes/ArchiveNetwork.yaml +++ b/schemas/20251121/linkml/modules/classes/ArchiveNetwork.yaml @@ -39,14 +39,10 @@ classes: required: true minimum_cardinality: 1 maximum_cardinality: 1 - description: 'Geographic applicability of the network (must be FR for ArchiveNetwork). - MIGRATED from has_applicable_country per Rule 53. - ' examples: - value: has_or_had_identifier: FR has_or_had_name: France - description: France only has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' annotations: diff --git a/schemas/20251121/linkml/modules/classes/ArchiveOfInternationalOrganizationRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/ArchiveOfInternationalOrganizationRecordSetType.yaml index 4c697d301d..1fcad89db7 100644 --- a/schemas/20251121/linkml/modules/classes/ArchiveOfInternationalOrganizationRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/ArchiveOfInternationalOrganizationRecordSetType.yaml @@ -20,7 +20,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -30,9 +29,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ArchiveOrganizationType.yaml b/schemas/20251121/linkml/modules/classes/ArchiveOrganizationType.yaml index 642a45d14a..3e92d1487d 100644 --- a/schemas/20251121/linkml/modules/classes/ArchiveOrganizationType.yaml +++ b/schemas/20251121/linkml/modules/classes/ArchiveOrganizationType.yaml @@ -107,25 +107,10 @@ classes: has_or_had_identifier: pattern: ^Q[0-9]+$ required: true - description: Wikidata identifier (Q-number) for this archive organization type has_or_had_policy: range: string - description: 'Appraisal policies for this archive type. - - MIGRATED from has_or_had_appraisal_policy per Rule 53. - - Uses AppraisalPolicy class. - - ' has_or_had_scope: range: string - description: 'The scope of the archive organization type. - - MIGRATED from has_or_had_archive_scope per Rule 53. - - Uses ArchiveScope class. - - ' custodian_type_broader: range: ArchiveOrganizationType required: false @@ -168,7 +153,6 @@ classes: has_or_had_schema: - has_or_had_label: EAD3 access_policy: mixed - description: National Archive classification with domain-specific metadata - value: has_or_had_identifier: https://nde.nl/ontology/hc/type/archive/Q10605195 has_or_had_type_code: ARCHIVE @@ -185,5 +169,4 @@ classes: preservation_standard: - ISO 15489 - MoReq - access_policy: restricted - description: Business Archive with corporate-specific scope + access_policy: restricted \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/ArchivesRegionalesRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/ArchivesRegionalesRecordSetType.yaml index ab4bdd0377..ca1e6afc01 100644 --- a/schemas/20251121/linkml/modules/classes/ArchivesRegionalesRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/ArchivesRegionalesRecordSetType.yaml @@ -20,7 +20,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -30,9 +29,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ArchivingPlan.yaml b/schemas/20251121/linkml/modules/classes/ArchivingPlan.yaml index cd58e70c26..2a8e27109f 100644 --- a/schemas/20251121/linkml/modules/classes/ArchivingPlan.yaml +++ b/schemas/20251121/linkml/modules/classes/ArchivingPlan.yaml @@ -31,7 +31,6 @@ classes: - has_or_had_score slot_usage: temporal_extent: - description: The planned timeframe for archiving (e.g. transfer date). range: TimeSpan inlined: true annotations: diff --git a/schemas/20251121/linkml/modules/classes/Area.yaml b/schemas/20251121/linkml/modules/classes/Area.yaml index a4e060239a..4b30a59735 100644 --- a/schemas/20251121/linkml/modules/classes/Area.yaml +++ b/schemas/20251121/linkml/modules/classes/Area.yaml @@ -64,23 +64,12 @@ classes: - measurement_method - has_or_had_label slot_usage: - quantity_value: - description: >- - The numeric value of the area measurement. - MIGRATED from area_value (2026-01-22) which was migrated from - area_hectares, building_floor_area_sqm (Rule 53). - Using generic quantity_value aligns Area semantics with Quantity class. range: float required: true examples: - value: 25.0 - description: 25 hectares (outdoor site) - value: 5000.0 - description: 5000 square meters (building) has_or_had_unit: - description: >- - The unit of measurement for this area. - MIGRATED from implicit unit assumptions (Rule 53). range: MeasureUnit required: true inlined: true @@ -88,62 +77,40 @@ classes: - value: has_or_had_type: HECTARE has_or_had_symbol: "ha" - description: Hectare unit for outdoor site - value: has_or_had_type: SQUARE_METER has_or_had_symbol: "m²" - description: Square meter unit for building floor measurement_date: - description: >- - Date when the area was measured or recorded. range: date required: false examples: - value: "2024-01-15" - description: Recent measurement - value: "1985-06-01" - description: Historic measurement is_estimate: - description: >- - Whether the area is an estimate (true) or precise measurement (false). range: boolean required: false examples: - value: true - description: Estimated area for historic building - value: false - description: Precise surveyed measurement measurement_method: - description: >- - Method used to measure the area (survey, GIS, historical records, etc.). range: string required: false examples: - value: "GIS analysis" - description: Geographic Information System measurement - value: "Land survey" - description: Professional survey - value: "Historical records" - description: From archival documents has_or_had_label: - description: >- - Human-readable label for the area measurement. range: string examples: - value: "Total site area" - description: Label for outdoor site - value: "Building floor area" - description: Label for building examples: - value: - quantity_value: 25.0 has_or_had_unit: has_or_had_type: HECTARE has_or_had_symbol: "ha" has_or_had_label: "Sculpture garden area" - description: Outdoor site area in hectares (replaces area_hectares) - value: - quantity_value: 5000.0 has_or_had_unit: has_or_had_type: SQUARE_METER has_or_had_symbol: "m²" @@ -151,16 +118,13 @@ classes: is_estimate: false measurement_method: "Architectural survey" has_or_had_label: "Total floor area" - description: Building floor area in square meters (replaces building_floor_area_sqm) - value: - quantity_value: 650.0 has_or_had_unit: has_or_had_type: HECTARE has_or_had_symbol: "ha" is_estimate: true measurement_method: "Historical records" has_or_had_label: "Estate grounds" - description: Historic estate grounds with estimated area annotations: custodian_types: '["*"]' custodian_types_rationale: >- diff --git a/schemas/20251121/linkml/modules/classes/ArrangementLevel.yaml b/schemas/20251121/linkml/modules/classes/ArrangementLevel.yaml index 55a45a866b..93455da932 100644 --- a/schemas/20251121/linkml/modules/classes/ArrangementLevel.yaml +++ b/schemas/20251121/linkml/modules/classes/ArrangementLevel.yaml @@ -41,9 +41,7 @@ classes: slot_usage: has_or_had_code: required: true - description: Code for the level (e.g., "FONDS", "SERIES", "FILE", "ITEM"). has_or_had_rank: - description: Numeric rank indicating hierarchical position (lower = higher in hierarchy). annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ArtArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/ArtArchiveRecordSetType.yaml index 0f3984a18a..e6224c1724 100644 --- a/schemas/20251121/linkml/modules/classes/ArtArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/ArtArchiveRecordSetType.yaml @@ -20,7 +20,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -30,9 +29,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ArtDealer.yaml b/schemas/20251121/linkml/modules/classes/ArtDealer.yaml index fdb644e841..d2e6a3e30f 100644 --- a/schemas/20251121/linkml/modules/classes/ArtDealer.yaml +++ b/schemas/20251121/linkml/modules/classes/ArtDealer.yaml @@ -51,15 +51,12 @@ classes: slot_usage: has_or_had_name: - description: The name of the art dealer or gallery. range: Name inlined: true required: false examples: - value: has_or_had_label: "Duveen Brothers" - description: Famous art dealer firm - exact_mappings: - crm:E39_Actor close_mappings: @@ -90,12 +87,9 @@ classes: - value: has_or_had_name: has_or_had_label: "Duveen Brothers" - description: Famous art dealer firm (early 20th century) - value: has_or_had_name: has_or_had_label: "Paul Cassirer" - description: German art dealer (Impressionism specialist) - value: has_or_had_name: - has_or_had_label: "Jacques Goudstikker" - description: Dutch art dealer (notable Nazi-looted art case) + has_or_had_label: "Jacques Goudstikker" \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/ArtSaleService.yaml b/schemas/20251121/linkml/modules/classes/ArtSaleService.yaml index 420fc1934c..fd1b9d0f4a 100644 --- a/schemas/20251121/linkml/modules/classes/ArtSaleService.yaml +++ b/schemas/20251121/linkml/modules/classes/ArtSaleService.yaml @@ -87,43 +87,21 @@ classes: slot_usage: takes_or_took_comission: - description: | - Commission structure for this art sales service. range: CommissionRate inlined: true required: false examples: - value: - rate_type: "primary_market" has_or_had_percentage: - percentage_value: 50 - description: Standard 50% primary market commission - examples: - value: - service_name: "Primary Market Sales" - market_type: "primary" - artist_representation: true sales_activity: true takes_or_took_comission: - rate_type: "primary_market" has_or_had_percentage: - percentage_value: 50 - percentage_display: "50%" - description: Commercial gallery with 50% primary market commission - - value: - service_name: "Consignment Sales" - market_type: "secondary" - artist_representation: false sales_activity: true takes_or_took_comission: - rate_type: "secondary_market" has_or_had_percentage: - percentage_value: 15 - percentage_display: "10-20%" - description: Secondary market consignment with variable commission - comments: - Created 2026-01-22 from commission_rate migration (Rule 53) - Extends Service class for art sales context diff --git a/schemas/20251121/linkml/modules/classes/ArticlesOfAssociation.yaml b/schemas/20251121/linkml/modules/classes/ArticlesOfAssociation.yaml index 70bec862cb..4af6d1c41c 100644 --- a/schemas/20251121/linkml/modules/classes/ArticlesOfAssociation.yaml +++ b/schemas/20251121/linkml/modules/classes/ArticlesOfAssociation.yaml @@ -103,8 +103,6 @@ classes: - has_or_had_type - is_or_was_effective_at - is_or_was_signed_at - - governance_clause - - id - is_current_version - jurisdiction - language @@ -112,54 +110,33 @@ classes: - notarial_deed_number - notary_name - notary_office - - purpose_clause - refers_to_custodian - refers_to_legal_status - registered_office_clause - requires_articles_at_registration - specificity_annotation - supersedes_or_superseded - - superseded_by_articles - has_or_had_score - temporal_extent - has_or_had_version - is_or_was_derived_from - is_or_was_generated_by slot_usage: - id: - identifier: true - required: true has_or_had_title: - description: 'Title of the articles document. - MIGRATED from document_title per Rule 53 (2026-01-26). - ' range: string inlined: true required: true examples: - value: has_or_had_label: Statuten Stichting Rijksmuseum - description: Title of articles has_or_had_description: - description: 'Description of the articles document. - MIGRATED from document_description per Rule 53 (2026-01-26). - ' range: string inlined: true required: false examples: - value: description_text: Original founding articles of the Rijksmuseum foundation - description: Document description - document_type: - description: 'DEPRECATED 2026-01-26: Use has_or_had_type with DocumentType subclass. - ' - range: string - deprecated: Use has_or_had_type has_or_had_type: - description: 'Type of the document (e.g. NotarialDeed). - MIGRATED from document_type per Rule 53 (2026-01-26). - ' range: DocumentType inlined: true required: true @@ -167,122 +144,69 @@ classes: - value: has_or_had_label: Notarial Deed has_or_had_type: NotarialDeed - description: Standard Dutch notarial deed is_or_was_signed_at: range: Timestamp inlined: true required: true - description: Timestamp when the articles were signed/executed. MIGRATED from execution_date (2026-01-26). examples: - value: has_or_had_timestamp: '2024-03-15' - description: Date notary executed the deed is_or_was_effective_at: range: date required: false examples: - value: '2024-03-18' - description: Date of KvK registration (3 days after execution) notary_name: range: string required: false examples: - value: mr. J.A. van der Berg - description: Dutch notary with title 'mr.' notary_office: range: string required: false examples: - value: Amsterdam - description: City where notary office is located notarial_deed_number: range: string required: false examples: - value: 2024/0315/001 - description: Notarial deed reference number has_or_had_version: - description: 'Version number of the articles. - Original articles = 1, first amendment = 2, etc. - MIGRATED from version_number per Rule 53. - ' range: string required: false examples: - value: '1' - description: Original founding articles - value: '3' - description: Third version (two amendments) is_current_version: range: boolean required: true - purpose_clause: - range: string - required: false - examples: - - value: The foundation aims to manage, preserve, and make accessible the cultural heritage of the Netherlands through the operation of the national museum. - description: Purpose clause for a museum foundation registered_office_clause: range: string required: false examples: - value: De stichting heeft haar zetel in de gemeente Amsterdam. - description: Registered office clause - governance_clause: - range: string - required: false - has_amendment_history: - range: string - multivalued: true - required: false - examples: - - value: '2010-05-20: Amendment to expand purpose clause to include digital heritage' - description: Amendment record - value: '2015-11-12: Amendment to restructure board composition' - description: Amendment record language: range: string required: false examples: - value: nl - description: Dutch - value: de - description: German - has_articles_document_url: - range: uri - required: false - has_articles_document_format: - range: string - required: false - has_articles_archival_stage: - range: RecordsLifecycleStageEnum - required: true - examples: - - value: ACTIVE - description: Current version in use - value: PRE_EXISTENCE - description: Drafted but organization not yet registered is_or_was_archived_in: range: CustodianArchive required: false is_or_was_included_in: - description: 'CustodianCollection where heritage articles are preserved. - Only applicable when has_articles_archival_stage = HERITAGE. - MIGRATED from collected_in per slot_fixes.yaml (Rule 53). - ' range: CustodianCollection required: false examples: - value: https://nde.nl/ontology/hc/collection/rm/institutional-archive - description: Rijksmuseum institutional archive collection requires_articles_at_registration: range: boolean required: false examples: - value: true - description: Dutch stichting - requires notarial deed at registration - value: false - description: Dutch VOF - partnership agreement created post-registration refers_to_legal_status: range: CustodianLegalStatus required: true @@ -303,10 +227,6 @@ classes: range: ReconstructionActivity required: false temporal_extent: - description: 'Validity period for these articles using CIDOC-CRM TimeSpan. - MIGRATED from valid_from + valid_to per slot_fixes.yaml (Rule 53). - Uses begin_of_the_begin for effective date and end_of_the_end for supersession. - ' range: TimeSpan inlined: true required: false @@ -314,7 +234,6 @@ classes: - value: begin_of_the_begin: '1885-07-01' end_of_the_end: '2015-11-11' - description: Original articles valid from 1885 until superseded in 2015 comments: - Represents founding legal documents (statuten, articles of incorporation) - 'Handles PRE_EXISTENCE paradox: articles exist before organization exists' @@ -347,7 +266,6 @@ classes: has_or_had_version: '1' is_current_version: false superseded_by_articles: https://nde.nl/ontology/hc/articles/rm/v15 - purpose_clause: De stichting heeft ten doel het beheren en toegankelijk maken van het Rijksmuseum... registered_office_clause: De stichting heeft haar zetel in de gemeente Amsterdam. language: nl articles_archival_stage: HERITAGE @@ -356,13 +274,9 @@ classes: refers_to_legal_status: https://nde.nl/ontology/hc/legal-status/rm refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 legal_form: - elf_code: '8888' - has_or_had_country: NL - local_name: Stichting jurisdiction: jurisdiction_id: NL jurisdiction_type: NATIONAL - description: Original 1885 founding articles of Rijksmuseum (now in heritage collection) - value: id: https://nde.nl/ontology/hc/articles/nha/v3 has_or_had_title: @@ -380,8 +294,6 @@ classes: has_or_had_version: '3' is_current_version: true supersedes_or_superseded: https://nde.nl/ontology/hc/articles/nha/v2 - purpose_clause: De stichting heeft ten doel het beheren, behouden, en toegankelijk maken van archieven en collecties met betrekking tot de geschiedenis van Noord-Holland, inclusief digitaal erfgoed... - has_amendment_history: - '2001-01-01: Merger of Gemeentearchief Haarlem and Rijksarchief Noord-Holland' - '2015-11-12: Expansion of purpose to include digital heritage preservation' language: nl @@ -389,7 +301,6 @@ classes: requires_articles_at_registration: true refers_to_legal_status: https://nde.nl/ontology/hc/legal-status/nha refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-haa-a-nha - description: Current version of Noord-Hollands Archief articles annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Asserter.yaml b/schemas/20251121/linkml/modules/classes/Asserter.yaml index 14435625e6..a4dfbe4d90 100644 --- a/schemas/20251121/linkml/modules/classes/Asserter.yaml +++ b/schemas/20251121/linkml/modules/classes/Asserter.yaml @@ -51,34 +51,25 @@ classes: range: uriorcurie required: true identifier: true - description: Unique identifier for this asserter. examples: - value: https://nde.nl/ontology/hc/asserter/claude-opus-4 - description: AI agent asserter - value: https://nde.nl/ontology/hc/asserter/jane-doe-nde - description: Human analyst asserter has_or_had_label: range: string required: true - description: Name of the asserter. examples: - value: Claude Opus 4 - description: AI model name - value: Dr. Jane Doe - description: Human analyst name - value: primary-presence-classifier - description: Automated system name has_or_had_description: range: string required: false - description: Description of the asserter and their role in the assertion process. examples: - value: Anthropic Claude AI model used for heritage data assertions - value: Senior digital heritage analyst at NDE has_or_had_type: range: AsserterTypeEnum required: true - description: The type of agent making the assertion. examples: - value: AI_AGENT - value: HUMAN_ANALYST @@ -86,14 +77,12 @@ classes: has_or_had_version: range: string required: false - description: Version identifier for software agents. examples: - value: claude-opus-4-20250514 - value: 1.2.3 has_or_had_contact_point: range: string required: false - description: Contact information for human or organizational asserters. examples: - value: jane.doe@nde.nl - value: heritage-team@museum.nl @@ -112,21 +101,18 @@ classes: has_or_had_type: AI_AGENT has_or_had_description: Anthropic Claude AI model used for heritage data assertions has_or_had_version: claude-opus-4-20250514 - description: AI agent asserter - value: has_or_had_identifier: https://nde.nl/ontology/hc/asserter/jane-doe-nde has_or_had_label: Dr. Jane Doe has_or_had_type: HUMAN_ANALYST has_or_had_description: Senior digital heritage analyst at NDE has_or_had_contact_point: jane.doe@nde.nl - description: Human analyst asserter - value: has_or_had_identifier: https://nde.nl/ontology/hc/asserter/primary-presence-classifier has_or_had_label: primary-presence-classifier has_or_had_type: AUTOMATED_SYSTEM has_or_had_description: Automated system for classifying primary digital presence has_or_had_version: 1.0.0 - description: Automated system asserter annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/AssessmentCategory.yaml b/schemas/20251121/linkml/modules/classes/AssessmentCategory.yaml index 6a37d99c30..a9e384a5f7 100644 --- a/schemas/20251121/linkml/modules/classes/AssessmentCategory.yaml +++ b/schemas/20251121/linkml/modules/classes/AssessmentCategory.yaml @@ -20,8 +20,6 @@ classes: slot_usage: has_or_had_type: range: uriorcurie - description: The type of assessment category. - annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/AuctionHouse.yaml b/schemas/20251121/linkml/modules/classes/AuctionHouse.yaml index c5950d51e2..5add2829e0 100644 --- a/schemas/20251121/linkml/modules/classes/AuctionHouse.yaml +++ b/schemas/20251121/linkml/modules/classes/AuctionHouse.yaml @@ -20,7 +20,6 @@ classes: slot_usage: has_or_had_name: range: string - description: Name of the auction house. annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/AuctionSaleCatalog.yaml b/schemas/20251121/linkml/modules/classes/AuctionSaleCatalog.yaml index 7a2bed8f52..605430ec75 100644 --- a/schemas/20251121/linkml/modules/classes/AuctionSaleCatalog.yaml +++ b/schemas/20251121/linkml/modules/classes/AuctionSaleCatalog.yaml @@ -27,7 +27,6 @@ classes: slot_usage: has_or_had_name: range: string - description: Name or title of the auction sale/catalog. annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/AudioEventSegment.yaml b/schemas/20251121/linkml/modules/classes/AudioEventSegment.yaml index dd80d41238..b820fb89c9 100644 --- a/schemas/20251121/linkml/modules/classes/AudioEventSegment.yaml +++ b/schemas/20251121/linkml/modules/classes/AudioEventSegment.yaml @@ -157,30 +157,21 @@ classes: has_or_had_type: range: AudioEventTypeEnum required: true - description: The type of audio event detected in this segment. examples: - value: SPEECH - description: Speech detected in this segment - value: MUSIC - description: Music detected in this segment has_or_had_time_interval: range: TimeInterval required: true inlined: true - description: Duration of audio segment. Replaces end_seconds/end_time. Use duration_value for ISO 8601 (e.g. PT15S). examples: - value: - duration_value: PT0M15S - description: 15 second duration segment_text: range: string required: false - description: Text content for this segment (e.g., speech transcript, music description). examples: - value: Welcome to the Rijksmuseum - description: Speech transcript text - value: Classical background music - description: Music segment description is_or_was_generated_by: range: GenerationEvent required: false @@ -191,7 +182,6 @@ classes: has_or_had_score: has_or_had_score: 0.95 has_or_had_method: audio_classification - description: High confidence audio event detection comments: - Audio event segment for speech, music, silence, sound event detection - Temporal boundaries with start/end seconds (primary) and ISO 8601 (secondary) diff --git a/schemas/20251121/linkml/modules/classes/AudiovisualArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/AudiovisualArchiveRecordSetType.yaml index f05081d80d..582b09f86c 100644 --- a/schemas/20251121/linkml/modules/classes/AudiovisualArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/AudiovisualArchiveRecordSetType.yaml @@ -20,7 +20,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -30,9 +29,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Author.yaml b/schemas/20251121/linkml/modules/classes/Author.yaml index 170726d82e..bf3c217013 100644 --- a/schemas/20251121/linkml/modules/classes/Author.yaml +++ b/schemas/20251121/linkml/modules/classes/Author.yaml @@ -54,40 +54,28 @@ classes: has_or_had_name: range: string required: true - description: Full name of the author (person or organization). examples: - value: Jan de Vries - description: Individual author - value: Rijksmuseum Research Department - description: Corporate author has_or_had_role: range: AuthorRoleEnum required: false ifabsent: string(AUTHOR) - description: Role of this person in creating the work. examples: - value: AUTHOR - description: Primary author - value: EDITOR - description: Editor is_or_was_affiliated_with: range: string required: false - description: Organization the author is affiliated with. examples: - value: Rijksmuseum Amsterdam - description: Museum affiliation - value: Universiteit van Amsterdam - description: University affiliation has_or_had_identifier: range: uriorcurie required: false - description: Identifier for the author (ORCID, VIAF, etc.). examples: - value: https://orcid.org/0000-0001-2345-6789 - description: ORCID identifier - value: https://viaf.org/viaf/12345678 - description: VIAF identifier comments: - Author replaces simple string author lists with structured data - Supports both individual and organizational authors @@ -103,15 +91,12 @@ classes: has_or_had_role: AUTHOR is_or_was_affiliated_with: Rijksmuseum Amsterdam has_or_had_identifier: https://orcid.org/0000-0001-2345-6789 - description: Individual author with full metadata - value: has_or_had_name: Maria van Dijk has_or_had_role: EDITOR - description: Editor with minimal metadata - value: has_or_had_name: Rijksmuseum Research Department has_or_had_role: AUTHOR - description: Corporate author annotations: specificity_score: 0.35 specificity_rationale: Authorship is broadly useful for creative/documentary works. diff --git a/schemas/20251121/linkml/modules/classes/AuthorityFile.yaml b/schemas/20251121/linkml/modules/classes/AuthorityFile.yaml index 1ce585806b..6c5c4d89b5 100644 --- a/schemas/20251121/linkml/modules/classes/AuthorityFile.yaml +++ b/schemas/20251121/linkml/modules/classes/AuthorityFile.yaml @@ -34,8 +34,6 @@ classes: slot_usage: contains_or_contained: range: string - description: The types of entities contained in this authority file. - annotations: custodian_types: '["*"]' specificity_score: 0.4 diff --git a/schemas/20251121/linkml/modules/classes/AutoGeneration.yaml b/schemas/20251121/linkml/modules/classes/AutoGeneration.yaml index 59294ad727..fd0cc7aa89 100644 --- a/schemas/20251121/linkml/modules/classes/AutoGeneration.yaml +++ b/schemas/20251121/linkml/modules/classes/AutoGeneration.yaml @@ -46,16 +46,12 @@ classes: range: string examples: - value: YouTube Auto-Caption - description: Platform auto-generated captions - value: ASR Transcription - description: Automatic speech recognition has_or_had_description: range: string examples: - value: Automatically generated by YouTube's speech recognition system - description: Platform-provided auto-generation - value: Generated using Whisper ASR model - description: Specific ASR model used comments: - Generic auto-generation class replacing domain-specific boolean flags - Captures generation method and provenance @@ -67,7 +63,6 @@ classes: - value: has_or_had_label: YouTube Auto-Caption has_or_had_description: Automatically generated by YouTube's speech recognition - description: YouTube auto-generated subtitles annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/AuxiliaryDigitalPlatform.yaml b/schemas/20251121/linkml/modules/classes/AuxiliaryDigitalPlatform.yaml index a03748da1f..cc407da2ee 100644 --- a/schemas/20251121/linkml/modules/classes/AuxiliaryDigitalPlatform.yaml +++ b/schemas/20251121/linkml/modules/classes/AuxiliaryDigitalPlatform.yaml @@ -88,24 +88,19 @@ classes: - dcat:servesDataset slots: - has_or_had_documentation - - has_or_had_archival_status - is_or_was_archived_at - has_or_had_identifier - has_or_had_type - is_or_was_based_on - has_or_had_endpoint - - fixity_info - receives_or_received - - iiif_support - is_auxiliary_of_platform - linked_data - platform_description - platform_name - platform_purpose - platform_url - - has_or_had_powered_by_cm - has_or_had_type - - provides_access_to - refers_to_custodian - related_project - serves_finding_aid @@ -122,58 +117,41 @@ classes: identifier: true examples: - value: https://nde.nl/ontology/hc/aux-platform/rijksmuseum-rijksstudio - description: Rijksstudio platform ID platform_name: range: string required: true examples: - value: Rijksstudio - description: Personal collection tool - value: Operation Night Watch - description: Research project microsite - value: WW2 Portal - description: Thematic archive portal has_or_had_type: range: string required: false examples: - value: web_harvest - description: Platform captured via Internet Archive - value: migration - description: Content migrated to successor platform platform_url: range: uri required: true pattern: ^https?:// examples: - value: https://www.rijksmuseum.nl/nl/rijksstudio - description: Rijksstudio URL - value: https://data.rijksmuseum.nl/ - description: Data API URL platform_purpose: range: string examples: - value: Personal collection creation and high-res image downloads - description: Rijksstudio purpose - value: Interactive exploration of Night Watch research project - description: Exhibition microsite purpose platform_description: range: string examples: - value: Rijksstudio allows users to create personal collections from the Rijksmuseum's digitized artworks, download high-resolution images, and share curated sets with others. - description: Detailed platform description has_or_had_documentation: - description: Documentation resources for this auxiliary platform (API docs, user guides, etc.) range: uri multivalued: true examples: - value: https://data.rijksmuseum.nl/object-metadata/api/ - description: API documentation URL has_or_had_technological_infrastructure: - description: 'Structured technology stack components used by this platform. - MIGRATED from simple string list to TechnologicalInfrastructure class - for better semantic modeling, versioning, and component relationships. - ' range: TechnologicalInfrastructure multivalued: true inlined_as_list: true @@ -183,7 +161,6 @@ classes: has_or_had_type: FrontendFramework has_or_had_label: React has_or_had_version: '18.2' - description: React frontend framework - value: has_or_had_identifier: tech-django-backend has_or_had_type: BackendFramework @@ -191,126 +168,64 @@ classes: has_or_had_version: '4.2' includes_or_included: - Django REST Framework - description: Django backend stack with REST framework is_auxiliary_of_platform: range: DigitalPlatform required: true examples: - value: https://nde.nl/ontology/hc/platform/rijksmuseum-website - description: Main Rijksmuseum website - provides_access_to: - range: uriorcurie - multivalued: true - examples: - - value: https://nde.nl/ontology/hc/collection/rm-paintings - description: Paintings collection related_project: range: string examples: - value: Operation Night Watch - description: Research project name - value: 'EU Horizon 2020 Grant #123456' - description: Grant reference receives_or_received: - description: 'Funding source(s) for the auxiliary platform. - MIGRATED from funding_source per Rule 53. - Uses frapo:isFundedBy via receives_or_received slot. - ' range: FundingSource inlined: true examples: - value: has_or_had_label: European Commission Horizon 2020 - description: EU funding - value: has_or_had_label: Mondriaan Fund - description: Dutch cultural fund - iiif_support: - range: boolean - examples: - - value: true - description: IIIF enabled linked_data: range: boolean examples: - value: true - description: Provides RDF/JSON-LD temporal_extent: - description: 'Platform validity period using CIDOC-CRM TimeSpan. - MIGRATED from valid_from + valid_to per slot_fixes.yaml (Rule 53). - Replaces separate valid_from/valid_to slots with unified temporal model. - ' range: TimeSpan examples: - value: begin_of_the_begin: '2018-06-01' end_of_the_end: '2021-12-31' - description: Platform launched June 2018, closed end of 2021 has_or_had_status: range: ArchivalStatus inlined: true - description: 'Archival status of the platform (ACTIVE, DEPRECATED, MIGRATED). - MIGRATED from has_or_had_archival_status per Rule 53. - Uses ArchivalStatus class. - ' examples: - value: has_or_had_code: ACTIVE has_or_had_label: Active - description: Preserved in web archive - value: has_or_had_code: DEPRECATED has_or_had_label: Deprecated - description: Still accessible but not maintained - value: has_or_had_code: MIGRATED has_or_had_label: Migrated - description: Content migrated to successor platform is_or_was_archived_at: - description: URL where this platform is or was archived (e.g., Wayback Machine) range: uri examples: - value: https://web.archive.org/web/20211231/https://example.nl/exhibition/ - description: Wayback Machine URL - fixity_info: - range: string - required: false - examples: - - value: sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - description: SHA-256 checksum of archived content is_or_was_based_on: - description: 'CMS detected on this platform (replaces boolean cms_detected). - MIGRATED from boolean flag to structured CMS reference. - If present, a CMS was detected; if absent, no CMS detected. - **Migration**: - - Old: cms_detected: true - - New: is_or_was_based_on: {cms_name: WordPress, cms_version: "6.4"} - ' range: CMS multivalued: true inlined_as_list: true required: false examples: - value: - cms_name: WordPress cms_version: 6.4.2 has_or_had_type: CustomCMS detected_at: '2026-01-19T12:00:00Z' - detection_method: HTTP_HEADER - description: CMS detected via HTTP header - value: - cms_name: Omeka S cms_version: 4.0.1 has_or_had_type: MuseumCMS - detection_method: URL_PATTERN - description: Omeka S detected via URL pattern - has_or_had_powered_by_cm: - range: CollectionManagementSystem - multivalued: true - required: false - examples: - - value: https://nde.nl/ontology/hc/cms/rijksmuseum-adlib - description: Auxiliary platform powered by Adlib CMS is_or_was_derived_from: range: CustodianObservation multivalued: true @@ -323,7 +238,6 @@ classes: required: true examples: - value: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Rijksmuseum custodian hub serves_finding_aid: range: uriorcurie multivalued: true @@ -331,20 +245,7 @@ classes: required: false examples: - value: https://nde.nl/ontology/hc/finding-aid/rm/night-watch-guide - description: Night Watch Exhibition finding aid - has_or_had_data_service_endpoint: - range: DataServiceEndpoint - multivalued: true - inlined_as_list: true - required: false - examples: - - value: - - endpoint_id: https://nde.nl/ontology/hc/endpoint/rijksstudio-api - endpoint_name: Rijksstudio Image API has_or_had_url: https://www.rijksmuseum.nl/api/nl/collection - protocol: REST_JSON - status: ACTIVE - description: Rijksstudio auxiliary platform endpoints comments: - AuxiliaryDigitalPlatform models SUBORDINATE digital properties - DigitalPlatform models PRIMARY digital entry point @@ -368,16 +269,12 @@ classes: platform_purpose: Personal collection creation and high-res image downloads platform_description: Rijksstudio allows users to create personal collections from the Rijksmuseum's digitized artworks, download high-resolution images, and share curated sets with others. is_auxiliary_of_platform: https://nde.nl/ontology/hc/platform/rijksmuseum-website - provides_access_to: - https://nde.nl/ontology/hc/collection/rm-paintings - https://nde.nl/ontology/hc/collection/rm-prints - iiif_support: true linked_data: false - valid_from: '2012-10-01' has_or_had_status: has_or_had_code: ACTIVE refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Rijksstudio personal collection platform - value: has_or_had_identifier: https://nde.nl/ontology/hc/aux-platform/rijksmuseum-data-api platform_name: Rijksmuseum Data API @@ -396,13 +293,10 @@ classes: has_or_had_label: JSON has_or_had_description: JSON data format for API responses is_auxiliary_of_platform: https://nde.nl/ontology/hc/platform/rijksmuseum-website - iiif_support: true linked_data: true - valid_from: '2013-03-01' has_or_had_status: has_or_had_code: ACTIVE refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Rijksmuseum developer API - value: has_or_had_identifier: https://nde.nl/ontology/hc/aux-platform/rm-night-watch-experience platform_name: Operation Night Watch @@ -414,12 +308,9 @@ classes: receives_or_received: has_or_had_label: ING Bank is_auxiliary_of_platform: https://nde.nl/ontology/hc/platform/rijksmuseum-website - iiif_support: true - valid_from: '2019-07-01' has_or_had_status: has_or_had_code: ACTIVE refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Night Watch research project microsite - value: has_or_had_identifier: https://nde.nl/ontology/hc/aux-platform/na-ww2-portal platform_name: WW2 Archives Portal @@ -429,14 +320,11 @@ classes: platform_purpose: Thematic portal for World War 2 archival research platform_description: Specialized portal providing access to WW2-related archives including resistance records, persecution documents, and liberation materials. is_auxiliary_of_platform: https://nde.nl/ontology/hc/platform/nationaal-archief-website - provides_access_to: - https://nde.nl/ontology/hc/collection/na-resistance-archives - https://nde.nl/ontology/hc/collection/na-liberation-photos - valid_from: '2015-05-05' has_or_had_status: has_or_had_code: ACTIVE refers_to_custodian: https://nde.nl/ontology/hc/nl-na - description: National Archives WW2 thematic portal annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/AuxiliaryPlace.yaml b/schemas/20251121/linkml/modules/classes/AuxiliaryPlace.yaml index d944c2cc95..6f459d4039 100644 --- a/schemas/20251121/linkml/modules/classes/AuxiliaryPlace.yaml +++ b/schemas/20251121/linkml/modules/classes/AuxiliaryPlace.yaml @@ -97,8 +97,6 @@ classes: - has_or_had_type - is_or_was_located_in - country - - geonames_id - - has_feature_type - has_or_had_location - is_or_was_location_of - is_auxiliary_of_place @@ -111,7 +109,6 @@ classes: - settlement - specialized_place - specificity_annotation - - has_or_had_address - has_or_had_geographic_subdivision - has_or_had_score - temporal_extent @@ -125,35 +122,24 @@ classes: identifier: true examples: - value: https://nde.nl/ontology/hc/aux-place/rijksmuseum-depot-amersfoort - description: Rijksmuseum off-site storage facility place_name: range: string required: true examples: - value: Depot Amersfoort - description: Off-site storage facility name - value: Rijksmuseum Schiphol - description: Airport branch location - value: Reading Room Annex - description: Overflow reading room has_or_had_type: - description: 'Type of auxiliary place (e.g., STORAGE_FACILITY, BRANCH_OFFICE). - MIGRATED from has_auxiliary_place_type per Rule 53. - Uses PlaceType class (which wraps AuxiliaryPlaceTypeEnum). - ' range: PlaceType required: true inlined: true examples: - value: has_or_had_label: STORAGE_FACILITY - description: Off-site depot - value: has_or_had_label: BRANCH_OFFICE - description: Regional branch - value: has_or_had_label: RESEARCH_CENTER - description: Digitization center specialized_place: range: ReconstructedEntity required: false @@ -163,28 +149,16 @@ classes: research_center_id: https://nde.nl/hc/research/kb-digitization center_name: KB Digitization Center research_center_type: DIGITIZATION_CENTER - description: ResearchCenter instance for digitization facility - value: conservation_lab_id: https://nde.nl/hc/lab/rkd-paper lab_name: RKD Paper Conservation Lab conservation_specialties: - Works on paper - Drawings - description: ConservationLab instance place_description: range: string examples: - value: Off-site storage facility housing overflow collections. Staff access only. - description: Depot description - has_or_had_address: - range: Address - multivalued: true - inlined_as_list: true - required: false - description: 'Physical address(es) for this auxiliary place. - MIGRATED from street_address (string) to full Address class (2026-01-17, Rule 53/56). - Provides richer address modeling with components, geocoding, and provenance. - ' examples: - value: has_or_had_label: @@ -195,68 +169,45 @@ classes: postal_code: 3824 BK locality: Amersfoort country_name: NL - description: Depot street address as full Address object - value: has_or_had_label: - has_or_had_label: Schiphol Airport, Holland Boulevard, Lounge 2 language: en locality: Schiphol country_name: NL - description: Airport location as Address object postal_code: range: string examples: - value: 3824 BK - description: Dutch postal code is_or_was_located_in: range: string required: false inlined: true - description: 'The city where this auxiliary place is located, as a structured City entity. - MIGRATED from city (string) slot (2026-01-18, Rule 53). - Provides GeoNames ID, coordinates, and subregion linkage. - ' examples: - value: settlement_name: Amersfoort - geonames_id: 2759633 country: NL - description: Auxiliary place located in Amersfoort country: range: Country examples: - value: https://nde.nl/ontology/hc/country/NL - description: Netherlands has_or_had_geographic_subdivision: range: string examples: - value: https://nde.nl/ontology/hc/subregion/NL-UT - description: Utrecht province settlement: range: Settlement examples: - value: https://nde.nl/ontology/hc/settlement/2759633 - description: Amersfoort (GeoNames ID 2759633) latitude: range: float examples: - value: 52.1561 - description: Amersfoort latitude longitude: range: float examples: - value: 5.3878 - description: Amersfoort longitude - geonames_id: - range: integer - examples: - - value: 2759633 - description: Amersfoort GeoNames ID has_or_had_location: - description: 'Geospatial location of this auxiliary place. - MIGRATED from has_geospatial_location per Rule 53. - Uses GeoSpatialPlace class. - ' range: GeoSpatialPlace multivalued: true inlined_as_list: true @@ -275,8 +226,6 @@ classes: osm_id: way/234567890 has_accuracy_in_meters: 1.0 spatial_resolution: BUILDING - geospatial_source: Kadaster BAG - description: Storage depot with building footprint polygon - value: has_or_had_location: geospatial_id: https://nde.nl/ontology/hc/geo/schiphol-branch @@ -287,49 +236,30 @@ classes: has_or_had_value: POINT(4.7639 52.3086) has_or_had_type: has_or_had_label: POINT - geonames_id: 2747891 has_accuracy_in_meters: 50.0 spatial_resolution: BUILDING - geospatial_source: GeoNames API - description: Airport branch point location - has_feature_type: - range: FeaturePlace - examples: - - value: https://nde.nl/ontology/hc/feature/warehouse-type - description: Warehouse/depot building type is_or_was_location_of: range: OrganizationBranch multivalued: true inlined_as_list: true - description: | - Organization branch hosted at this auxiliary place. - MIGRATED from hosts_branch per Rule 53 (2026-01-28). examples: - value: has_or_had_label: Conservation Division - Amersfoort branch_type: CONSERVATION_LAB - description: Conservation branch at depot site is_auxiliary_of_place: range: CustodianPlace required: true examples: - value: https://nde.nl/ontology/hc/place/rijksmuseum-main - description: Main Rijksmuseum building temporal_extent: - description: 'Place validity period using CIDOC-CRM TimeSpan. - MIGRATED from valid_from + valid_to per slot_fixes.yaml (Rule 53). - Replaces separate valid_from/valid_to slots with unified temporal model. - ' range: TimeSpan examples: - value: begin_of_the_begin: '1995-06-01' end_of_the_end: '2010-12-31' - description: Depot opened June 1995, closed end of 2010 - value: begin_of_the_begin: '1970-01-01' end_of_the_begin: '1979-12-31' - description: Opened sometime in the 1970s (fuzzy) is_or_was_derived_from: range: CustodianObservation multivalued: true @@ -342,7 +272,6 @@ classes: required: true examples: - value: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Rijksmuseum custodian hub comments: - AuxiliaryPlace models SUBORDINATE physical locations (not main headquarters) - Analogous to CustodianAppellation (alternative names) for CustodianName @@ -363,7 +292,6 @@ classes: has_or_had_type: has_or_had_label: STORAGE_FACILITY place_description: Off-site storage facility for overflow collections. Climate-controlled. Staff access only. - has_or_had_address: - has_or_had_label: - has_or_had_label: Euterpelaan 25, 3824 BK Amersfoort, Netherlands language: nl @@ -376,17 +304,14 @@ classes: has_or_had_geographic_subdivision: https://nde.nl/ontology/hc/subregion/NL-UT latitude: 52.1561 longitude: 5.3878 - valid_from: '1995-06-01' is_auxiliary_of_place: https://nde.nl/ontology/hc/place/rijksmuseum-main refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Rijksmuseum off-site storage depot - value: has_or_had_identifier: https://nde.nl/ontology/hc/aux-place/rijksmuseum-schiphol place_name: Rijksmuseum Schiphol has_or_had_type: has_or_had_label: BRANCH_OFFICE place_description: Small exhibition space at Schiphol Airport featuring rotating highlights from the collection. - has_or_had_address: - has_or_had_label: - has_or_had_label: Schiphol Airport, Holland Boulevard, Lounge 2 language: en @@ -394,16 +319,13 @@ classes: country_name: NL is_or_was_located_in: settlement_name: Hoofddorp - geonames_id: 2753801 country: NL country: https://nde.nl/ontology/hc/country/NL - valid_from: '2002-10-01' is_or_was_location_of: - has_or_had_label: Schiphol Exhibition Team branch_type: EXHIBITION_SPACE is_auxiliary_of_place: https://nde.nl/ontology/hc/place/rijksmuseum-main refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Rijksmuseum airport branch exhibition - value: has_or_had_identifier: https://nde.nl/ontology/hc/aux-place/nha-reading-room-annex place_name: Noord-Hollands Archief Reading Room Annex @@ -415,7 +337,6 @@ classes: annex_reason: PEAK_DEMAND capacity_seats: 12 place_description: Overflow reading room for peak research periods. - has_or_had_address: - has_or_had_label: - has_or_had_label: Kleine Houtweg 20, 2012 CH Haarlem, Netherlands language: nl @@ -426,13 +347,9 @@ classes: country_name: NL is_or_was_located_in: settlement_name: Haarlem - geonames_id: 2755003 country: NL - valid_from: '2010-01-15' - valid_to: '2018-06-30' is_auxiliary_of_place: https://nde.nl/ontology/hc/place/noord-hollands-archief-main refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-haa-a-nha - description: Archive annex with specialized ReadingRoomAnnex details (closed 2018) annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/AvailabilityStatus.yaml b/schemas/20251121/linkml/modules/classes/AvailabilityStatus.yaml index 5dd4cea832..f94d4d247d 100644 --- a/schemas/20251121/linkml/modules/classes/AvailabilityStatus.yaml +++ b/schemas/20251121/linkml/modules/classes/AvailabilityStatus.yaml @@ -50,33 +50,21 @@ classes: required: false examples: - value: API Available - description: Indicates API is available - value: Service Unavailable - description: Indicates service is down has_or_had_description: range: string examples: - value: REST API available with JSON responses - description: Details about API availability temporal_extent: - description: 'Availability validity period using CIDOC-CRM TimeSpan. - - MIGRATED from valid_from + valid_to per slot_fixes.yaml (Rule 53). - - Uses begin_of_the_begin for when available since and end_of_the_end for deprecation. - - ' range: TimeSpan inlined: true required: false examples: - value: begin_of_the_begin: '2015-01-01' - description: API available since 2015 (no end date - still available) - value: begin_of_the_begin: '2015-06-01' end_of_the_end: '2020-12-31' - description: API available from 2015 to 2020 (deprecated) comments: - Generic availability status class replacing domain-specific boolean flags - Supports temporal validity for tracking when availability changed @@ -88,9 +76,6 @@ classes: - value: has_or_had_label: API Available has_or_had_description: REST API with JSON responses available for collection metadata access - valid_from: '2015-06-01' - valid_to: null - description: CMS API availability status annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/BOLDIdentifier.yaml b/schemas/20251121/linkml/modules/classes/BOLDIdentifier.yaml index 9f09663832..568e888020 100644 --- a/schemas/20251121/linkml/modules/classes/BOLDIdentifier.yaml +++ b/schemas/20251121/linkml/modules/classes/BOLDIdentifier.yaml @@ -1,8 +1,8 @@ id: https://nde.nl/ontology/hc/class/BOLDIdentifier name: bold_identifier_class title: BOLD Identifier Class -description: 'Barcode of Life Data System (BOLD) identifier for biological specimens. - Links heritage biological objects to their DNA barcode records in BOLD.' +description: Barcode of Life Data System (BOLD) identifier for biological specimens. Links heritage biological objects to + their DNA barcode records in BOLD. prefixes: linkml: https://w3id.org/linkml/ hc: https://nde.nl/ontology/hc/ @@ -22,49 +22,20 @@ classes: BOLDIdentifier: class_uri: schema:PropertyValue description: 'A Barcode of Life Data System (BOLD) identifier linking a biological specimen to its DNA barcode record. - **WHAT IS BOLD?** - BOLD (Barcode of Life Data System) is an online workbench and database for DNA barcoding. It stores specimen data and DNA barcode sequences, enabling species identification through DNA. - **USE CASES**: - 1. **Specimen Identification**: Link natural history specimens to DNA data 2. **Species Verification**: Cross-reference morphological IDs with DNA barcodes 3. **Research Provenance**: Document genetic sampling of collection objects - **IDENTIFIER FORMAT**: - BOLD identifiers follow the pattern: BOLD:XXXNNN - Process IDs: BOLD:AAA0001 - Sample IDs: Institution-specific prefixes - **EXTERNAL LINKS**: + **WHAT IS BOLD?** BOLD (Barcode of Life Data System) is an online workbench and database for DNA barcoding. It stores + specimen data and DNA barcode sequences, enabling species identification through DNA. **USE CASES**: 1. **Specimen Identification**: + Link natural history specimens to DNA data 2. **Species Verification**: Cross-reference morphological IDs with DNA barcodes + 3. **Research Provenance**: Document genetic sampling of collection objects **IDENTIFIER FORMAT**: BOLD identifiers + follow the pattern: BOLD:XXXNNN - Process IDs: BOLD:AAA0001 - Sample IDs: Institution-specific prefixes **EXTERNAL LINKS**: - BOLD Systems: https://boldsystems.org/ - Record URL pattern: https://boldsystems.org/index.php/Public_RecordView?processid={id}' exact_mappings: - schema:PropertyValue close_mappings: - dcterms:identifier slots: - - id - - identifier_value - - identifier_url - has_or_had_description - specificity_annotation - has_or_had_score - slot_usage: - id: - identifier: true - required: true - range: uriorcurie - pattern: ^https://nde\.nl/ontology/hc/bold-id/[A-Z0-9-]+$ - examples: - - value: https://nde.nl/ontology/hc/bold-id/NLNAT001-21 - description: Dutch natural history specimen BOLD ID - identifier_value: - description: The BOLD process ID or sample ID value. - range: string - required: true - pattern: ^[A-Z]{2,5}[0-9]{3,7}(-[0-9]{2})?$ - examples: - - value: NLNAT001-21 - description: Netherlands natural history specimen 2021 - - value: GBMIN12345-19 - description: UK specimen from 2019 - identifier_url: - description: URL to the BOLD record page. - range: uri - examples: - - value: https://boldsystems.org/index.php/Public_RecordView?processid=NLNAT001-21 comments: - Used for DNA barcode identifiers in natural history collections - Links physical specimens to molecular data @@ -72,11 +43,8 @@ classes: examples: - value: id: https://nde.nl/ontology/hc/bold-id/NLNAT001-21 - identifier_value: NLNAT001-21 identifier_url: https://boldsystems.org/index.php/Public_RecordView?processid=NLNAT001-21 - description: DNA barcode for Naturalis specimen - description: BOLD identifier for a Dutch natural history specimen annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/BackupStatus.yaml b/schemas/20251121/linkml/modules/classes/BackupStatus.yaml index db922b2611..08adbe82e3 100644 --- a/schemas/20251121/linkml/modules/classes/BackupStatus.yaml +++ b/schemas/20251121/linkml/modules/classes/BackupStatus.yaml @@ -46,28 +46,22 @@ classes: range: uriorcurie multivalued: true inlined_as_list: true - description: The backup type(s) in use for this status. examples: - value: - has_or_had_code: DAILY_AUTOMATED - has_or_had_code: CLOUD_AZURE - description: Daily automated backup to Azure has_or_had_description: range: string - description: Free text description of the backup status. examples: - value: Daily backup to Azure, replicated to secondary site in Rotterdam. has_or_had_note: range: string multivalued: true - description: Additional notes or concerns about the backup status. examples: - value: Encryption at rest enabled since 2024-01 - value: Annual disaster recovery test passed 2025-06 begin_of_the_begin: - description: When this backup status configuration began. end_of_the_end: - description: When this backup status configuration ended (if changed). annotations: specificity_score: '0.60' specificity_rationale: Backup status relevant to all heritage custodians with digital assets. @@ -91,12 +85,10 @@ classes: ' begin_of_the_begin: '2024-01-15T00:00:00Z' - description: Example backup status with multiple types - value: has_or_had_identifier: https://nde.nl/ontology/hc/backup-status/critical-001 has_or_had_type: - has_or_had_code: NOT_BACKED_UP has_or_had_description: Legacy system not yet included in backup. Migration planned for Q2 2026. has_or_had_note: - - 'CRITICAL: Data at risk until migration complete' - description: Critical status - not backed up + - 'CRITICAL: Data at risk until migration complete' \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/BackupType.yaml b/schemas/20251121/linkml/modules/classes/BackupType.yaml index 93b4df5700..5ec91e63cb 100644 --- a/schemas/20251121/linkml/modules/classes/BackupType.yaml +++ b/schemas/20251121/linkml/modules/classes/BackupType.yaml @@ -56,7 +56,6 @@ classes: pattern: ^https://nde\.nl/ontology/hc/backup-type/[a-z0-9-]+$ examples: - value: https://nde.nl/ontology/hc/backup-type/daily-automated - description: Daily automated backup type has_or_had_code: range: string required: true @@ -82,7 +81,6 @@ classes: - value: Daily automated backup to off-site storage with 30-day retention. has_or_had_hypernym: range: BackupType - description: Parent backup type in the classification hierarchy. has_or_had_hyponym: range: BackupType multivalued: true @@ -92,16 +90,9 @@ classes: multivalued: true inlined: true inlined_as_list: true - description: 'Wikidata equivalence for this backup type concept. - - MIGRATED 2026-01-15: Replaces wikidata_id slot per Rule 53. - - ' examples: - value: - qid: Q5227350 - label: data backup - description: Wikidata equivalence for backup concept annotations: specificity_score: '0.60' specificity_rationale: Backup types are relevant to all heritage custodians with digital assets. @@ -127,5 +118,4 @@ classes: Typically includes 30-day retention policy. - ' - description: Daily automated backup type definition + ' \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/BayNumber.yaml b/schemas/20251121/linkml/modules/classes/BayNumber.yaml index f0cfce998c..4d1b4ea831 100644 --- a/schemas/20251121/linkml/modules/classes/BayNumber.yaml +++ b/schemas/20251121/linkml/modules/classes/BayNumber.yaml @@ -33,13 +33,9 @@ classes: related_mappings: - schema:identifier slots: - - identifier_value - specificity_annotation - has_or_had_score slot_usage: - identifier_value: - required: true - description: The bay number/identifier value (string, may be numeric or alphanumeric). comments: - Storage bay identifier within a row/aisle - Part of hierarchical storage location addressing diff --git a/schemas/20251121/linkml/modules/classes/BindingType.yaml b/schemas/20251121/linkml/modules/classes/BindingType.yaml index a9e9ea89db..6c1cb7dd83 100644 --- a/schemas/20251121/linkml/modules/classes/BindingType.yaml +++ b/schemas/20251121/linkml/modules/classes/BindingType.yaml @@ -51,7 +51,6 @@ classes: pattern: ^https://nde\.nl/ontology/hc/binding-type/[a-z0-9-]+$ examples: - value: https://nde.nl/ontology/hc/binding-type/full-leather - description: Full leather binding type has_or_had_code: range: string required: true @@ -77,7 +76,6 @@ classes: - value: Entire cover bound in leather, typically calfskin, goatskin, or morocco. has_or_had_hypernym: range: BindingType - description: Parent binding type in the classification hierarchy. has_or_had_hyponym: range: BindingType multivalued: true @@ -87,16 +85,9 @@ classes: multivalued: true inlined: true inlined_as_list: true - description: 'Wikidata equivalence for this binding type concept. - - MIGRATED 2026-01-15: Replaces wikidata_id slot per Rule 53. - - ' examples: - value: - qid: Q188960 - label: bookbinding - description: Wikidata equivalence for binding types annotations: specificity_score: '0.70' specificity_rationale: Binding types are specific to bound volumes in libraries and archives. @@ -122,5 +113,4 @@ classes: or morocco. Common in fine bindings and historical books. - ' - description: Full leather binding type definition + ' \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/BioCustodianSubtype.yaml b/schemas/20251121/linkml/modules/classes/BioCustodianSubtype.yaml index bc1837397d..03351ef8ff 100644 --- a/schemas/20251121/linkml/modules/classes/BioCustodianSubtype.yaml +++ b/schemas/20251121/linkml/modules/classes/BioCustodianSubtype.yaml @@ -97,9 +97,7 @@ classes: range: uriorcurie examples: - value: hc:BioCustodianSubtype/BOTANICAL_GARDEN - description: Standard botanical garden type - value: hc:BioCustodianSubtype/ZOOLOGICAL_GARDEN - description: Standard zoological park type has_or_had_label: required: true range: string @@ -114,20 +112,10 @@ classes: is_or_was_equivalent_to: required: false range: WikiDataIdentifier - description: Wikidata entity equivalent for this subtype (e.g., Q167346 for botanical garden). Replaces wikidata_id (Rule 53). examples: - value: - qid: Q167346 - label: botanical garden - description: botanical garden - value: - qid: Q43501 - label: zoo - description: zoo/zoological garden - value: - qid: Q2281788 - label: public aquarium - description: public aquarium comments: - Abstract base class for BioCustodianSubtypes hierarchy - Follows Type/Types naming convention (Rule 0b) diff --git a/schemas/20251121/linkml/modules/classes/BioCustodianSubtypes.yaml b/schemas/20251121/linkml/modules/classes/BioCustodianSubtypes.yaml index 289b313991..b21b19f873 100644 --- a/schemas/20251121/linkml/modules/classes/BioCustodianSubtypes.yaml +++ b/schemas/20251121/linkml/modules/classes/BioCustodianSubtypes.yaml @@ -35,7 +35,6 @@ classes: has_or_had_label: Botanical Garden is_or_was_equivalent_to: - qid: Q167346 - description: Standard botanical garden type annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration @@ -62,7 +61,6 @@ classes: has_or_had_label: Arboretum is_or_was_equivalent_to: - qid: Q167951 - description: Arboretum subtype AlpineGardenSubtype: is_a: BioCustodianSubtype class_uri: hc:AlpineGardenSubtype @@ -131,7 +129,6 @@ classes: has_or_had_label: Zoological Garden is_or_was_equivalent_to: - qid: Q43501 - description: Standard zoo subtype WildlifeParkSubtype: is_a: BioCustodianSubtype class_uri: hc:WildlifeParkSubtype @@ -216,7 +213,6 @@ classes: has_or_had_label: Public Aquarium is_or_was_equivalent_to: - qid: Q2281788 - description: Standard aquarium subtype OceanariumSubtype: is_a: BioCustodianSubtype class_uri: hc:OceanariumSubtype diff --git a/schemas/20251121/linkml/modules/classes/BioCustodianType.yaml b/schemas/20251121/linkml/modules/classes/BioCustodianType.yaml index 841ca26d96..74050aa36f 100644 --- a/schemas/20251121/linkml/modules/classes/BioCustodianType.yaml +++ b/schemas/20251121/linkml/modules/classes/BioCustodianType.yaml @@ -175,7 +175,6 @@ classes: - conservation_breeding - has_or_had_type - living_collection - - public_education - research_program - specificity_annotation - specimen_type @@ -186,33 +185,16 @@ classes: multivalued: true required: false has_or_had_quantity: - description: 'MIGRATED from collection_size per slot_fixes.yaml (Rule 53, 2026-01-19). - - Quantitative description of the living collection size using Quantity class. - - Can express species count, individual organisms, or both. - - Default unit is "item" (species count) or "specimen" (individual count). - - ' range: integer inlined: true multivalued: true required: false examples: - value: - quantity_value: 900 - quantity_type: COLLECTION_SIZE has_or_had_unit: - unit_value: species - description: Zoo species count - value: - quantity_value: 50000 - quantity_type: COLLECTION_SIZE has_or_had_unit: - unit_value: specimen is_estimate: true - description: Botanical garden specimen count living_collection: range: boolean required: true @@ -220,10 +202,6 @@ classes: range: string multivalued: true required: false - public_education: - range: string - multivalued: true - required: false conservation_breeding: range: string required: false diff --git a/schemas/20251121/linkml/modules/classes/BioTypeClassification.yaml b/schemas/20251121/linkml/modules/classes/BioTypeClassification.yaml index 53a0bca8f4..e2bca359c2 100644 --- a/schemas/20251121/linkml/modules/classes/BioTypeClassification.yaml +++ b/schemas/20251121/linkml/modules/classes/BioTypeClassification.yaml @@ -38,9 +38,7 @@ classes: range: uriorcurie examples: - value: hc:BioTypeClassification/BOTANICAL - description: Botanical institution classification - value: hc:BioTypeClassification/ZOOLOGICAL - description: Zoological institution classification has_or_had_label: required: true range: string @@ -54,7 +52,6 @@ classes: is_or_was_equivalent_to: required: false range: WikiDataIdentifier - description: Wikidata entity equivalent for this classification (if applicable). Replaces wikidata_id (Rule 53). comments: - Abstract base class for BioTypeClassifications hierarchy - Follows Type/Types naming convention (Rule 0b) diff --git a/schemas/20251121/linkml/modules/classes/BioTypeClassifications.yaml b/schemas/20251121/linkml/modules/classes/BioTypeClassifications.yaml index 6a35ea4956..4fd5fc8f19 100644 --- a/schemas/20251121/linkml/modules/classes/BioTypeClassifications.yaml +++ b/schemas/20251121/linkml/modules/classes/BioTypeClassifications.yaml @@ -43,16 +43,12 @@ classes: ' slot_usage: - wikidata_id: - ifabsent: string(Q167346) has_or_had_label: ifabsent: string(Botanical Institution) examples: - value: has_or_had_identifier: hc:BioTypeClassification/BOTANICAL has_or_had_label: Botanical Institution - wikidata_id: Q167346 - description: Botanical institution classification annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration @@ -80,16 +76,12 @@ classes: ' slot_usage: - wikidata_id: - ifabsent: string(Q43501) has_or_had_label: ifabsent: string(Zoological Institution) examples: - value: has_or_had_identifier: hc:BioTypeClassification/ZOOLOGICAL has_or_had_label: Zoological Institution - wikidata_id: Q43501 - description: Zoological institution classification annotations: custodian_types: "['*']" AquaticInstitutionClassification: @@ -115,16 +107,12 @@ classes: ' slot_usage: - wikidata_id: - ifabsent: string(Q2281788) has_or_had_label: ifabsent: string(Aquatic Institution) examples: - value: has_or_had_identifier: hc:BioTypeClassification/AQUATIC has_or_had_label: Aquatic Institution - wikidata_id: Q2281788 - description: Aquatic institution classification annotations: custodian_types: "['*']" MixedBioInstitutionClassification: @@ -151,7 +139,6 @@ classes: - value: has_or_had_identifier: hc:BioTypeClassification/MIXED_BIO has_or_had_label: Mixed Biological Institution - description: Mixed biological institution classification annotations: custodian_types: "['*']" ConservationFocusedClassification: diff --git a/schemas/20251121/linkml/modules/classes/BiologicalObject.yaml b/schemas/20251121/linkml/modules/classes/BiologicalObject.yaml index f2386c748e..936b145657 100644 --- a/schemas/20251121/linkml/modules/classes/BiologicalObject.yaml +++ b/schemas/20251121/linkml/modules/classes/BiologicalObject.yaml @@ -102,12 +102,7 @@ classes: - has_or_had_type - is_or_was_identified_through - has_or_had_identifier - - gbif_id - - genbank_accession - has_or_had_habitat - - higher_classification - - identification_qualifier - - identified_by - is_type_specimen - iucn_status - legal_provenance_note @@ -129,21 +124,12 @@ classes: - has_or_had_status slot_usage: is_or_was_associated_with: - description: MIGRATED from associated_taxa (Rule 53). Links biological object to associated taxa. Range narrowed to Taxon class. range: Taxon multivalued: true inlined_as_list: true examples: - value: https://nde.nl/ontology/hc/taxon/raphus-cucullatus - description: Associated with Dodo taxon has_or_had_identifier: - description: 'Identifiers for this biological object, including field numbers. - MIGRATED from field_number (2026-01-26). - Use has_or_had_type to distinguish identifier types: - - FieldNumber (dwc:fieldNumber) - - BOLDIdentifier (BOLD ID) - - WikiDataIdentifier (Wikidata Q-number) - ' range: uriorcurie multivalued: true inlined: true @@ -156,37 +142,19 @@ classes: - range: uriorcurie examples: - value: - identifier_value: ARW-1234 has_or_had_type: FieldNumber - description: Field number (was field_number) - value: id: https://nde.nl/ontology/hc/bold-id/NLNAT001-21 - identifier_value: NLNAT001-21 has_or_had_type: BOLDIdentifier - description: BOLD identifier (was bold_id) - value: - qid: Q193493 - label: Oxford Dodo has_or_had_type: WikiDataIdentifier - description: Wikidata identifier (from ExhibitedObject) has_or_had_label: - description: 'Scientific taxonomic name for this biological object. - MIGRATED from taxon_name per slot_fixes.yaml (Rule 53). - Uses TaxonName class for structured representation. - ' range: TaxonName inlined: true required: true examples: - value: - scientific_name: Raphus cucullatus (Linnaeus, 1758) - authorship: Linnaeus, 1758 - taxonomic_rank: SPECIES - description: Dodo with nomenclatural authority - value: - scientific_name: Panthera leo - taxonomic_rank: SPECIES - description: Lion (authority omitted) has_or_had_name: description: "Common/vernacular names for this biological object.\nMIGRATED from common_name and common_name_language per slot_fixes.yaml (Rule 53, 2026-01-22).\n\nUses Name class for structured representation including:\n- Name value (has_or_had_label)\n- Name type (has_or_had_type \u2192 NameType, e.g., CommonName)\n- Language (has_or_had_language)\n" required: false @@ -199,12 +167,10 @@ classes: has_or_had_label: Dodo has_or_had_type: CommonName has_or_had_language: en - description: English common name - value: has_or_had_label: Dronte has_or_had_type: CommonName has_or_had_language: nl - description: Dutch common name - value: has_or_had_label: Lion has_or_had_type: CommonName @@ -216,75 +182,37 @@ classes: has_or_had_rank: required: false range: string - description: 'Taxonomic rank of the identification. - MIGRATED from taxonomic_rank per slot_fixes.yaml (Rule 53/56, 2026-01-17). - ' examples: - value: SPECIES - value: SUBSPECIES - value: GENUS - description: When only identified to genus level has_or_had_authority: required: false range: TaxonomicAuthority inlined: true - description: 'Structured taxonomic authority information. - MIGRATED from taxonomic_authority per slot_fixes.yaml (Rule 53/56, 2026-01-16). - ' examples: - value: has_or_had_label: Linnaeus, 1758 has_or_had_author: - Carl Linnaeus - has_or_had_date: 1758 - is_or_was_recombined: false - nomenclatural_code: ICZN - description: Standard zoological authority - value: has_or_had_label: (Gray, 1821) has_or_had_author: - John Edward Gray - has_or_had_date: 1821 - is_or_was_recombined: true - description: Parentheses indicate recombination from original genus - higher_classification: - required: false - range: string - examples: - - value: Animalia|Chordata|Aves|Columbiformes|Columbidae|Raphus - description: Dodo classification has_or_had_comment: required: false range: string examples: - value: Previously classified as Didus ineptus - identification_qualifier: - required: false - range: string - examples: - - value: cf. - description: Uncertain, compare with named taxon - value: aff. - description: Related to but distinct from named taxon - identified_by: - required: false - range: string - multivalued: true - examples: - - value: Dr. Jane Smith is_or_was_identified_through: required: false range: IdentificationEvent inlined: true - description: 'Identification event for this specimen. - MIGRATED from date_identified per slot_fixes.yaml (Rule 53). - Uses IdentificationEvent class with temporal_extent for dates. - ' examples: - value: temporal_extent: begin_of_the_begin: '2020-03-15' - identified_by: - agent_name: Dr. Jane Smith description: 'Was date_identified: 2020-03-15' specimen_type: @@ -298,17 +226,12 @@ classes: range: boolean examples: - value: true - description: Type specimen has_or_had_status: range: TypeStatus inlined: true - description: 'Type status designation for this specimen. - MIGRATED 2026-01-14: Replaces type_status slot. - ' required: false examples: - value: "TypeStatus:\n status_value: \"Holotype of Raphus cucullatus Linnaeus, 1758\"\n status_type: \"nomenclatural\"\n" - description: Holotype status sex: required: false range: string @@ -337,7 +260,6 @@ classes: examples: - value: 1 - value: 50 - description: Lot of 50 insects on one pin/slide preservation_method: required: false range: PreservationMethodEnum @@ -369,7 +291,6 @@ classes: range: Acquisition inlined: true inlined_as_list: true - description: Acquisition event capturing when and how specimen was collected. Replaces simple collection_date with structured acquisition data. examples: - value: "acquisition_method: FIELD_COLLECTION\ntemporal_extent:\n begin_of_the_begin: \"2020-06-15\"\n end_of_the_end: \"2020-06-15\"\nacquisition_date_text: \"2020-06-15\"\n" - value: "acquisition_method: FIELD_COLLECTION\ntemporal_extent:\n begin_of_the_begin: \"2020-06-01\"\n end_of_the_end: \"2020-07-31\"\nacquisition_date_text: \"2020-06/2020-07\"\nacquisition_notes: \"Collected sometime in June-July 2020\"\n" @@ -378,8 +299,6 @@ classes: required: false range: CustodianPlace inlined: true - description: 'Structured location where specimen was collected. MIGRATED from collection_location per slot_fixes.yaml (Rule 53, 2026-01-19). - Uses CustodianPlace for detailed location including coordinates.' examples: - value: place_name: Mauritius @@ -391,22 +310,11 @@ classes: range: Locality inlined: true inlined_as_list: true - description: 'Verbatim locality description as recorded on specimen label. MIGRATED from collection_locality_text per slot_fixes.yaml (Rule 53, 2026-01-19). - Uses Locality class for structured representation including original text, language, and provenance.' examples: - value: - verbatim_text: Mauritius, near Port Louis, in forest - original_language: en - description: Locality for Dodo specimen - value: verbatim_text: 'Indonesia: Java: Mt. Gede, 1500m' - original_language: en - interpretation_notes: Mt. Gede is Gunung Gede volcano - description: Indonesian specimen with elevation is_or_was_acquired_by: - description: 'The person(s) or organization(s) who collected this specimen. - Migrated from collector per slot_fixes.yaml revision. - ' required: false range: Agent multivalued: true @@ -414,15 +322,7 @@ classes: inlined_as_list: true examples: - value: - agent_name: Alfred Russel Wallace - agent_type: person - agent_role: collector - description: Victorian naturalist collector - value: - agent_name: Charles Darwin - agent_type: person - agent_role: collector - description: HMS Beagle expedition collector has_or_had_habitat: required: false range: Habitat @@ -435,10 +335,6 @@ classes: has_or_had_label: Coral reef has_or_had_description: Depth 15m has_or_had_hypernym: - description: 'Associated taxon (e.g. host, parasite) relationship. - MIGRATED from has_associated_taxon per slot_fixes.yaml (Rule 53). - Uses Taxon class. - ' required: false range: Taxon multivalued: true @@ -448,7 +344,6 @@ classes: - value: has_or_had_label: Quercus robur description: host:Quercus robur - description: Insect collected from oak tree - value: has_or_had_label: Cervus elaphus description: parasite of:Cervus elaphus @@ -457,13 +352,8 @@ classes: range: string examples: - value: EX - description: Extinct (e.g., Dodo) - value: CR - description: Critically Endangered is_or_was_listed_in: - description: 'CITES (Convention on International Trade in Endangered Species) listing. MIGRATED from cites_appendix per slot_fixes.yaml (Rule 53, 2026-01-19). - Uses CITESAppendix class for structured representation including appendix level, listing date, and exemption notes. - Important for legal compliance in specimen transfers between institutions.' range: CITESAppendix inlined: true required: false @@ -471,32 +361,14 @@ classes: - value: has_or_had_type: APPENDIX_I has_or_had_label: CITES Appendix I - Most Endangered - listing_effective_date: '1975-07-01' - species_covered: Loxodonta africana - description: African elephant - highest CITES protection - value: has_or_had_type: NOT_LISTED has_or_had_label: Not regulated under CITES - species_covered: Raphus cucullatus - exemption_note: Extinct species - historical specimens pre-date CITES - description: Dodo - extinct, not subject to CITES restrictions legal_provenance_note: required: false range: string examples: - value: 'Collected pre-CITES (1975). Import permit #12345.' - gbif_id: - required: false - range: string - examples: - - value: https://www.gbif.org/occurrence/1234567890 - genbank_accession: - required: false - range: string - multivalued: true - examples: - - value: MW123456 - - value: MN987654 has_or_had_type: equals_expression: '["hc:BioCustodianType", "hc:MuseumType", "hc:ResearchOrganizationType"]' comments: @@ -516,9 +388,6 @@ classes: object_name: Oxford Dodo object_description: "The only surviving dodo soft tissue - a head with preserved skin and \\nfeathers, plus associated\\\n \\ foot. The most complete dodo specimen known.\\nDonated by Elias Ashmole in 1683.\\n" has_or_had_label: - scientific_name: Raphus cucullatus (Linnaeus, 1758) - authorship: Linnaeus, 1758 - taxonomic_rank: SPECIES has_or_had_name: - has_or_had_label: Dodo has_or_had_type: CommonName @@ -527,18 +396,15 @@ classes: has_or_had_type: CommonName has_or_had_language: nl has_or_had_rank: SPECIES - higher_classification: Animalia|Chordata|Aves|Columbiformes|Columbidae|Raphus part_type: - HEAD - FOOT preservation_method: DRIED_WHOLE was_acquired_through: - acquisition_method: FIELD_COLLECTION - acquisition_date_text: pre-1662 temporal_extent: begin_of_the_begin: '1600-01-01' end_of_the_end: '1662-12-31' - notes: Pre-1662 (before Great Fire of London destroyed records) has_or_had_place: place_name: Mauritius country: MU @@ -547,8 +413,6 @@ classes: accession_number: OUM 11605 has_or_had_identifier: - qid: Q193493 - label: Oxford Dodo - description: Oxford Dodo - most complete dodo specimen, Oxford University Museum - value: object_id: https://nde.nl/ontology/hc/object/naturalis-megatherium object_name: Megatherium skeleton @@ -556,9 +420,6 @@ classes: One of the finest examples of this extinct megafauna. ' has_or_had_label: - scientific_name: Megatherium americanum Cuvier, 1796 - authorship: Cuvier, 1796 - taxonomic_rank: SPECIES has_or_had_name: - has_or_had_label: Giant Ground Sloth has_or_had_type: CommonName @@ -569,19 +430,14 @@ classes: preservation_method: FOSSIL_PREPARED describes_or_described: - verbatim_text: Argentina, Buenos Aires Province - original_language: en iucn_status: EX current_keeper: https://nde.nl/ontology/hc/custodian/nl/naturalis - description: Megatherium skeleton at Naturalis Biodiversity Center - value: object_id: https://nde.nl/ontology/hc/object/kew-type-specimen object_name: Quercus robur type specimen object_description: 'Herbarium type specimen of English Oak collected by Linnaeus. ' has_or_had_label: - scientific_name: Quercus robur L. - authorship: L. - taxonomic_rank: SPECIES has_or_had_name: - has_or_had_label: English Oak has_or_had_type: CommonName @@ -594,30 +450,22 @@ classes: has_or_had_label: Linnaeus, 1753 has_or_had_author: - Carl Linnaeus - has_or_had_date: 1753 - nomenclatural_code: ICN specimen_type: LECTOTYPE is_type_specimen: true has_or_had_status: status_value: Lectotype of Quercus robur L., designated by Schwarz (1936) - status_type: nomenclatural part_type: - LEAF - FLOWER preservation_method: DRIED_PRESSED was_acquired_through: - acquisition_method: FIELD_COLLECTION - acquisition_date_text: 1750s temporal_extent: begin_of_the_begin: '1750-01-01' end_of_the_end: '1759-12-31' - notes: Collected by Linnaeus in the 1750s is_or_was_acquired_by: - agent_name: Carl Linnaeus - agent_type: person - agent_role: collector current_keeper: https://nde.nl/ontology/hc/custodian/uk/royal-botanic-gardens-kew - description: Oak type specimen at Royal Botanic Gardens, Kew annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/BirthDate.yaml b/schemas/20251121/linkml/modules/classes/BirthDate.yaml index 75dca20c2e..3ab226300d 100644 --- a/schemas/20251121/linkml/modules/classes/BirthDate.yaml +++ b/schemas/20251121/linkml/modules/classes/BirthDate.yaml @@ -58,23 +58,16 @@ classes: description: 'Source reference for the birth date information. MIGRATED 2026-01-22: Replaces birth_source_text with structured Reference. Reference.citation_text preserves original verbatim source text.' examples: - value: - citation_text: born in the year of our Lord 1823 source_type: parish_register - source_location: Amsterdam Stadsarchief, DTB 456 - description: Parish register reference - value: - citation_text: ca. 1750 source_type: biography - description: Biographical reference with approximate date is_inferred: range: boolean required: false ifabsent: 'false' - description: Whether this birth date was inferred (vs. directly extracted). If true, inference_provenance MUST be provided per Rule 45. inference_provenance: range: string required: false - description: JSON string documenting inference chain per Rule 45. Required when is_inferred is true. examples: - value: '{"method": "earliest_education_heuristic", "inference_chain": [...]}' is_or_was_generated_by: @@ -87,13 +80,11 @@ classes: has_or_had_score: has_or_had_score: 0.95 has_or_had_method: document_extraction - description: High confidence date extraction - value: has_or_had_score: has_or_had_score: 0.5 has_or_had_method: education_inference has_or_had_description: Inferred from education start year - description: Low confidence inferred date temporal_extent: range: TimeSpan required: true @@ -112,17 +103,14 @@ classes: has_or_had_notation: '1970-08-15' begin_of_the_begin: '1970-08-15T00:00:00Z' end_of_the_end: '1970-08-15T23:59:59Z' - description: Full date known - EDTF and TimeSpan bounds - value: has_or_had_notation: 197X begin_of_the_begin: '1970-01-01T00:00:00Z' end_of_the_end: '1979-12-31T23:59:59Z' - description: Decade known (1970s) - EDTF with 10-year range - value: has_or_had_notation: 1970~ begin_of_the_begin: '1968-01-01T00:00:00Z' end_of_the_end: '1972-12-31T23:59:59Z' - description: Approximate (circa 1970) - EDTF with uncertainty range comments: - "MIGRATED 2026-01-22: birth_edtf, birth_iso_date \u2192 temporal_extent.has_or_had_notation" - TimeSpan provides CIDOC-CRM E52 temporal bounds with EDTF notation preservation @@ -142,7 +130,6 @@ classes: has_or_had_score: has_or_had_score: 0.95 has_or_had_method: birth_certificate_extraction - description: Full date known with high confidence - value: temporal_extent: has_or_had_notation: 197X @@ -154,7 +141,6 @@ classes: has_or_had_score: has_or_had_score: 0.4 has_or_had_method: education_inference - description: Decade inferred from education start year - value: temporal_extent: has_or_had_notation: '1823' @@ -163,13 +149,11 @@ classes: has_or_had_reference: - citation_text: born in the year of our Lord 1823 source_type: parish_register - source_location: Amsterdam Stadsarchief, DTB 456, folio 23r is_inferred: false is_or_was_generated_by: has_or_had_score: has_or_had_score: 0.75 has_or_had_method: document_extraction - description: Year extracted from historical document with structured reference annotations: specificity_score: 0.45 specificity_rationale: Birth dates are relevant for person research across all heritage sectors. @@ -179,10 +163,6 @@ enums: description: Confidence levels for birth date values. permissible_values: HIGH: - description: Full date from authoritative source (e.g., birth certificate) MEDIUM: - description: Date from reliable source (e.g., official biography) LOW: - description: Date inferred or from uncertain source - VERY_LOW: - description: Decade/century estimated from indirect evidence + VERY_LOW: \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/BirthPlace.yaml b/schemas/20251121/linkml/modules/classes/BirthPlace.yaml index 9746d6e3fe..2d528ab1ef 100644 --- a/schemas/20251121/linkml/modules/classes/BirthPlace.yaml +++ b/schemas/20251121/linkml/modules/classes/BirthPlace.yaml @@ -47,7 +47,6 @@ classes: - modern_place_name - country_code - region_code - - geonames_id - has_or_had_identifier - coordinates - place_source_text @@ -57,60 +56,40 @@ classes: place_name: range: string required: true - description: Name of the birth place as recorded in source. May be historical name that has since changed. examples: - value: Amsterdam - description: Current name - value: Batavia - description: Historical name (now Jakarta) modern_place_name: range: string required: false - description: Modern equivalent name if place_name is historical. Leave null if place_name is current. examples: - value: Jakarta - description: Modern name for Batavia country_code: range: string required: false pattern: ^[A-Z]{2}$ - description: ISO 3166-1 alpha-2 country code. examples: - value: NL - value: ID region_code: range: string required: false - description: ISO 3166-2 region/province code or GeoNames admin1 code. examples: - value: NH - description: Noord-Holland - geonames_id: - range: integer - required: false - description: GeoNames geographic identifier for the place. Authoritative source per AGENTS.md. - examples: - value: 2759794 - description: Amsterdam GeoNames ID has_or_had_identifier: range: WikiDataIdentifier required: false - description: Wikidata entity identifier for the place. MIGRATED from wikidata_id (Rule 53). examples: - value: - qid: Q727 - description: Amsterdam Wikidata ID coordinates: range: string required: false - description: Geographic coordinates as "lat,lon" string. examples: - value: 52.3676,4.9041 - description: Amsterdam coordinates place_source_text: range: string required: false - description: Original place text from source document, preserved verbatim. Useful when source contains additional context. examples: - value: born at the family estate in rural Gelderland comments: @@ -125,25 +104,18 @@ classes: place_name: Amsterdam country_code: NL region_code: NH - geonames_id: 2759794 has_or_had_identifier: - qid: Q727 coordinates: 52.3676,4.9041 - description: Birth place with full geographic resolution - value: place_name: Batavia modern_place_name: Jakarta country_code: ID - geonames_id: 1642911 has_or_had_identifier: - qid: Q3630 - description: Historical place name with modern equivalent - value: place_name: rural Gelderland country_code: NL region_code: GE place_source_text: born at the family estate in rural Gelderland - description: Imprecise location from archival source annotations: specificity_score: 0.45 specificity_rationale: Birth places are relevant for person research across heritage sectors. diff --git a/schemas/20251121/linkml/modules/classes/Bookplate.yaml b/schemas/20251121/linkml/modules/classes/Bookplate.yaml index 818b6f0af3..e1b88341d0 100644 --- a/schemas/20251121/linkml/modules/classes/Bookplate.yaml +++ b/schemas/20251121/linkml/modules/classes/Bookplate.yaml @@ -39,36 +39,19 @@ classes: - crm:E37_Mark - schema:Thing slots: - - id - has_or_had_label - has_or_had_description - has_or_had_owner - specificity_annotation - has_or_had_score slot_usage: - id: - identifier: true - required: true - range: uriorcurie - pattern: ^https://nde\.nl/ontology/hc/bookplate/[a-z0-9-]+$ - examples: - - value: https://nde.nl/ontology/hc/bookplate/kb-exlibris-001 - description: KB bookplate record has_or_had_label: - description: Text or name on the bookplate. range: string required: true examples: - value: Ex Libris Johann Wolfgang von Goethe - description: Goethe's bookplate - value: Bibliotheca Regia - description: Royal library bookplate - description: - range: string - examples: - - value: Armorial bookplate with three lions, gilt border, 18th century has_or_had_owner: - description: Person or institution who owned the book according to this bookplate. range: string examples: - value: Johann Wolfgang von Goethe @@ -81,9 +64,7 @@ classes: - value: id: https://nde.nl/ontology/hc/bookplate/kb-exlibris-goethe-001 has_or_had_label: Ex Libris J.W. von Goethe - description: Armorial bookplate with oak wreath, early 19th century has_or_had_owner: Johann Wolfgang von Goethe - description: Goethe bookplate in rare book collection annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/BoundingBox.yaml b/schemas/20251121/linkml/modules/classes/BoundingBox.yaml index 29d4f6d88f..3eacfac5b2 100644 --- a/schemas/20251121/linkml/modules/classes/BoundingBox.yaml +++ b/schemas/20251121/linkml/modules/classes/BoundingBox.yaml @@ -26,7 +26,6 @@ classes: slot_usage: has_or_had_coordinates: range: PlanarCoordinates - description: Origin coordinates (x, y) of the bounding box. required: true annotations: specificity_score: 0.1 diff --git a/schemas/20251121/linkml/modules/classes/BoxNumber.yaml b/schemas/20251121/linkml/modules/classes/BoxNumber.yaml index e8b87c821e..652fc8a99c 100644 --- a/schemas/20251121/linkml/modules/classes/BoxNumber.yaml +++ b/schemas/20251121/linkml/modules/classes/BoxNumber.yaml @@ -46,7 +46,6 @@ classes: numeric_value: required: true minimum_value: 1 - description: The box number (position on shelf or inventory number). comments: - Storage box position identifier - Typically integer representing shelf position or inventory number diff --git a/schemas/20251121/linkml/modules/classes/BranchOffice.yaml b/schemas/20251121/linkml/modules/classes/BranchOffice.yaml index 3d456cd46c..5d5410baca 100644 --- a/schemas/20251121/linkml/modules/classes/BranchOffice.yaml +++ b/schemas/20251121/linkml/modules/classes/BranchOffice.yaml @@ -56,7 +56,6 @@ classes: - has_or_had_label - has_or_had_service_area - has_or_had_quantity - - has_local_collection - is_public_facing - operating_hour - services_offered @@ -69,78 +68,52 @@ classes: range: uriorcurie required: true identifier: true - description: Unique identifier for this branch office. MIGRATED from branch_office_id (2026-01-14) per Rule 53. examples: - value: https://nde.nl/ontology/hc/aux/nha-zaanstreek-branch - description: Noord-Hollands Archief regional branch has_or_had_label: range: string required: true multivalued: false - description: Name of this branch office. MIGRATED from branch_office_name (2026-01-14) per Rule 53. Typically includes parent organization name + branch location/function. examples: - value: Noord-Hollands Archief - Zaanstreek-Waterland - description: Regional archive branch - value: Rijksmuseum Schiphol - description: Airport exhibition branch - value: Universiteitsbibliotheek Science Park - description: University library satellite has_or_had_description: range: string - description: Description of this branch office, including services offered, target audience, and distinguishing features. MIGRATED from branch_office_description (2026-01-15) per Rule 53. examples: - value: Regional branch serving Zaanstreek-Waterland area. Holds municipal records from Zaandam, Wormerland, Purmerend. Open to researchers Tuesday-Thursday. - description: Archive branch description has_or_had_service_area: range: ServiceArea inlined: true - description: Geographic area or community served by this branch. MIGRATED from branch_service_area (Rule 53) - changed from string to ServiceArea class for richer geographic modeling. examples: - value: service_area_id: https://nde.nl/ontology/hc/servicearea/zaanstreek-waterland service_area_name: Zaanstreek-Waterland region service_area_type: REGIONAL - description: Regional coverage as structured ServiceArea is_public_facing: range: boolean required: true ifabsent: 'true' examples: - value: true - description: Public-facing branch services_offered: range: string multivalued: true examples: - value: Archival research access - description: Core research service - value: Genealogical consultations - description: Specialized service - value: Local history reference - description: Reference service operating_hour: range: string examples: - value: Tu-Th 09:00-17:00 - description: Limited weekday hours has_or_had_quantity: range: integer inlined: true - description: Quantified values associated with this branch office (e.g., staff count). MIGRATED from branch_staff_count (Rule 53) - changed from integer to Quantity class for richer measurement context (units, dates, estimates). examples: - value: - quantity_value: 3 - quantity_type: STAFF_COUNT - quantity_unit: FTE has_or_had_description: Staff assigned to this branch - quantity_date: '2025-01-01' is_estimate: false - description: Branch staff count as structured Quantity - has_local_collection: - range: boolean - examples: - - value: true - description: Branch holds local municipal records is_or_was_derived_from: range: CustodianObservation multivalued: true @@ -174,12 +147,7 @@ classes: - Local history reference operating_hours: Tu-Th 09:00-17:00 has_or_had_quantity: - quantity_value: 3 - quantity_type: STAFF_COUNT - quantity_unit: FTE has_or_had_description: Staff assigned to Zaanstreek-Waterland branch - has_local_collection: true - description: Regional archive branch - value: has_or_had_identifier: https://nde.nl/ontology/hc/aux/rijksmuseum-schiphol has_or_had_label: Rijksmuseum Schiphol @@ -194,12 +162,7 @@ classes: - Museum shop operating_hours: Daily 07:00-20:00 has_or_had_quantity: - quantity_value: 5 - quantity_type: STAFF_COUNT - quantity_unit: FTE has_or_had_description: Staff assigned to Schiphol branch - has_local_collection: false - description: Museum airport branch annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/BranchType.yaml b/schemas/20251121/linkml/modules/classes/BranchType.yaml index 6276cf6d23..47e9b1b410 100644 --- a/schemas/20251121/linkml/modules/classes/BranchType.yaml +++ b/schemas/20251121/linkml/modules/classes/BranchType.yaml @@ -52,7 +52,6 @@ classes: pattern: ^https://nde\.nl/ontology/hc/branch-type/[a-z0-9-]+$ examples: - value: https://nde.nl/ontology/hc/branch-type/regional-office - description: Regional office branch type has_or_had_code: range: string required: true @@ -78,7 +77,6 @@ classes: - value: Geographic regional branch serving local community. has_or_had_hypernym: range: BranchType - description: Parent branch type in the classification hierarchy. has_or_had_hyponym: range: BranchType multivalued: true @@ -88,16 +86,9 @@ classes: multivalued: true inlined: true inlined_as_list: true - description: 'Wikidata equivalence for this branch type concept. - - MIGRATED 2026-01-15: Replaces wikidata_id slot per Rule 53. - - ' examples: - value: - qid: Q4830453 - label: organizational unit - description: Wikidata equivalence for organizational branch types annotations: specificity_score: '0.55' specificity_rationale: Branch types are moderately specific - relevant for organizational structure. @@ -123,5 +114,4 @@ classes: May provide full or partial services of parent organization. - ' - description: Regional office branch type definition + ' \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/Budget.yaml b/schemas/20251121/linkml/modules/classes/Budget.yaml index 7360b27776..9f3160860d 100644 --- a/schemas/20251121/linkml/modules/classes/Budget.yaml +++ b/schemas/20251121/linkml/modules/classes/Budget.yaml @@ -87,8 +87,6 @@ classes: - schema:MonetaryAmount - frapo:hasFunding slots: - - has_or_had_acquisition_budget - - has_approval_date - is_or_was_approved_by - has_or_had_currency - has_or_had_description @@ -100,7 +98,6 @@ classes: - has_or_had_endowment_draw - includes_or_included - temporal_extent - - id - innovation_budget - internal_funding - managing_unit @@ -118,47 +115,28 @@ classes: - is_or_was_generated_by - is_or_was_documented_by slot_usage: - id: - identifier: true - required: true has_or_had_label: range: string required: true description: Name/title for this budget document. MIGRATED from budget_name (2026-01-15) per Rule 53. Maps to dcterms:title as a formal title for a financial planning resource. examples: - value: Rijksmuseum Operating Budget FY2024 - description: Major museum annual budget - value: Noord-Hollands Archief Annual Budget 2024-2025 - description: Provincial archive budget has_or_had_description: range: string required: false description: Narrative description of this budget document's scope and purpose. MIGRATED from budget_description (2026-01-15) per Rule 53. Maps to dcterms:description for financial planning documentation. examples: - value: Annual operating budget for fiscal year 2024, including major exhibition initiatives and digitization expansion. - description: Comprehensive budget description has_or_had_type: range: uriorcurie multivalued: true required: true - description: 'Type(s) of budget classification. - MIGRATED from budget_type (2026-01-13). - Uses BudgetType class hierarchy for rich type semantics. - Common types: OperatingBudget, CapitalBudget, ProjectBudget, - AcquisitionBudget, ConservationBudget. - ' examples: - value: - OperatingBudget - ConsolidatedBudget - description: Institution-wide operating budget temporal_extent: - description: 'Validity period for this budget using CIDOC-CRM TimeSpan. - MIGRATED from valid_from + valid_to per slot_fixes.yaml (Rule 53). - Use begin_of_the_begin for budget effective date (was valid_from). - Use end_of_the_end for budget expiration date (was valid_to). - For precise dates, set begin_of_the_begin == end_of_the_begin. - ' range: TimeSpan inlined: true required: false @@ -168,40 +146,29 @@ classes: end_of_the_begin: '2024-01-01' begin_of_the_end: '2024-12-31' end_of_the_end: '2024-12-31' - description: Calendar year budget with precise start/end - value: begin_of_the_begin: '2024-04-01' end_of_the_begin: '2024-04-01' begin_of_the_end: '2025-03-31' end_of_the_end: '2025-03-31' - description: Government fiscal year budget (Apr-Mar) has_or_had_quantity: range: decimal required: false - description: 'Total monetary amount for this budget. - FIXED: Previously used has_or_had_budget which has range: Budget - (for linking TO budgets). Now uses total_amount slot which has - range: decimal (for the actual monetary value). - ' examples: - value: 45000000.0 - description: EUR 45 million annual budget has_or_had_currency: range: Currency inlined: true required: true - description: Currency for all monetary amounts in this budget. MIGRATED from budget_currency (Rule 53) - changed from string to Currency class for richer currency metadata (ISO 4217 code, symbol, name). examples: - value: currency_code: EUR has_or_had_label: Euro currency_symbol: "\u20AC" - description: Euro currency as structured Currency object - value: currency_code: USD has_or_had_label: US Dollar currency_symbol: $ - description: US Dollar currency operating_budget: range: decimal required: false @@ -209,20 +176,11 @@ classes: range: MainPart inlined: true required: false - description: 'Capital budget allocation (infrastructure, equipment, major purchases). - MIGRATED from capital_budget per slot_fixes.yaml (Rule 53, 2026-01-22). - MainPart provides structured representation with Quantity for amount and currency metadata. - ' examples: - value: has_or_had_quantity: - quantity_value: 3000000.0 part_type: capital_budget currency_code: EUR - description: Capital budget of 3 million EUR - has_or_had_acquisition_budget: - range: decimal - required: false personnel_budget: range: decimal required: false @@ -234,7 +192,6 @@ classes: required: false multivalued: true inlined: true - description: Budget allocated for digitization activities. MIGRATED from digitization_budget (2026-01-25) per Rule 53. innovation_budget: range: decimal required: false @@ -242,33 +199,21 @@ classes: range: string multivalued: true inlined: true - description: External funding sources and amounts. MIGRATED from external_funding (2026-01-26). internal_funding: range: decimal required: false has_or_had_endowment_draw: range: decimal required: false - description: Amount drawn from endowment fund. MIGRATED from endowment_draw per Rule 53 (2026-01-26). - has_approval_date: - range: date - required: false is_or_was_approved_by: - description: Agent (person/organization) that approved this budget. MIGRATED from approved_by (2026-01-15) per Rule 39. Range changed from string to Approver class for structured approval tracking. range: Approver required: false has_or_had_status: - description: 'MIGRATED from budget_status (Rule 53). - Current status of this budget in its lifecycle. - Uses BudgetStatus class for structured status tracking. - ' range: BudgetStatus required: true examples: - value: '{value: "ACTIVE", is_or_was_effective_at: "2024-01-01"}' - description: Budget currently in effect - value: '{value: "DRAFT", is_or_was_effective_at: "2023-10-01"}' - description: Budget under development revision_number: range: integer required: false @@ -276,17 +221,12 @@ classes: range: date required: false is_or_was_documented_by: - description: 'Financial statements (actuals) documenting this budget (plan). - MIGRATED from documented_by string slot (2026-01-26). - Now links to FinancialStatement class. - ' range: FinancialStatement multivalued: true inlined: false required: false examples: - value: https://nde.nl/ontology/hc/financial/rijksmuseum-annual-report-2024 - description: Annual report auditing 2024 budget refers_to_custodian: range: Custodian required: true @@ -326,7 +266,6 @@ classes: operating_budget: 38000000.0 has_or_had_main_part: has_or_had_quantity: - quantity_value: 3000000.0 part_type: capital_budget currency_code: EUR acquisition_budget: 2000000.0 @@ -340,7 +279,6 @@ classes: innovation_budget: 750000.0 includes_or_included: - has_or_had_quantity: - quantity_value: 15000000.0 has_or_had_label: External Grants & Subsidies internal_funding: 25000000.0 has_or_had_endowment_draw: 5000000.0 @@ -352,7 +290,6 @@ classes: value: ACTIVE is_or_was_effective_at: '2024-01-01' refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Major museum annual operating budget - value: id: https://nde.nl/ontology/hc/budget/nha/fy2024-2025 has_or_had_label: Noord-Hollands Archief Annual Budget 2024-2025 @@ -371,7 +308,6 @@ classes: operating_budget: 7500000.0 has_or_had_main_part: has_or_had_quantity: - quantity_value: 500000.0 part_type: capital_budget currency_code: EUR personnel_budget: 5200000.0 @@ -382,7 +318,6 @@ classes: has_or_had_label: EUR includes_or_included: - has_or_had_quantity: - quantity_value: 6000000.0 has_or_had_label: Province Subsidy internal_funding: 2500000.0 is_or_was_approved_on: @@ -393,7 +328,6 @@ classes: value: ACTIVE is_or_was_effective_at: '2024-04-01' refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-haa-a-nha - description: Regional archive government-funded budget annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/BudgetStatus.yaml b/schemas/20251121/linkml/modules/classes/BudgetStatus.yaml index 3ebef1191c..ada021bc62 100644 --- a/schemas/20251121/linkml/modules/classes/BudgetStatus.yaml +++ b/schemas/20251121/linkml/modules/classes/BudgetStatus.yaml @@ -34,16 +34,10 @@ classes: related_mappings: - dcterms:status slots: - - identifier_value - is_or_was_effective_at - specificity_annotation - has_or_had_score slot_usage: - identifier_value: - required: true - description: 'The budget status value. - Valid values: DRAFT, PROPOSED, APPROVED, ACTIVE, REVISED, CLOSED, REJECTED, SUPERSEDED - ' comments: - Budget lifecycle status tracking - Supports audit trail of budget state changes diff --git a/schemas/20251121/linkml/modules/classes/BudgetType.yaml b/schemas/20251121/linkml/modules/classes/BudgetType.yaml index 564ab01aa1..5b2fe70532 100644 --- a/schemas/20251121/linkml/modules/classes/BudgetType.yaml +++ b/schemas/20251121/linkml/modules/classes/BudgetType.yaml @@ -47,7 +47,6 @@ classes: pattern: ^https://nde\.nl/ontology/hc/budget-type/[a-z0-9-]+$ examples: - value: https://nde.nl/ontology/hc/budget-type/operating - description: Operating budget type has_or_had_code: range: string required: true @@ -73,7 +72,6 @@ classes: - value: Day-to-day operational expenses including staff, utilities, and supplies. has_or_had_hypernym: range: BudgetType - description: Parent budget type in the classification hierarchy. has_or_had_hyponym: range: BudgetType multivalued: true @@ -83,16 +81,9 @@ classes: multivalued: true inlined: true inlined_as_list: true - description: 'Wikidata equivalence for this budget type concept. - - MIGRATED 2026-01-15: Replaces wikidata_id slot per Rule 53. - - ' examples: - value: - qid: Q178848 - label: budget - description: Wikidata equivalence for budget concept annotations: specificity_score: '0.45' specificity_rationale: Budget types are moderately specific - relevant for financial management. @@ -115,5 +106,4 @@ classes: supplies, and ongoing maintenance. - ' - description: Operating budget type definition + ' \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/BusinessCriticality.yaml b/schemas/20251121/linkml/modules/classes/BusinessCriticality.yaml index c24f9d45e4..97d9ff8446 100644 --- a/schemas/20251121/linkml/modules/classes/BusinessCriticality.yaml +++ b/schemas/20251121/linkml/modules/classes/BusinessCriticality.yaml @@ -32,42 +32,30 @@ classes: - has_or_had_description slot_usage: has_or_had_label: - description: Criticality level label (CRITICAL, HIGH, MEDIUM, LOW). required: true examples: - value: CRITICAL - description: Institution cannot function without this (hours to impact) - value: HIGH - description: Significant impact if unavailable (days to impact) - value: MEDIUM - description: Important but workarounds exist (weeks to impact) - value: LOW - description: Minimal operational impact has_or_had_description: - description: Explanation of criticality assessment. required: false examples: - value: Financial system required for daily operations, payroll processing - description: Why system is CRITICAL - value: Historical project files, reference only, no operational dependency - description: Why system is MEDIUM examples: - value: has_or_had_label: CRITICAL has_or_had_description: Financial system - required for operations, payroll cannot be processed without - description: Critical financial system - value: has_or_had_label: HIGH has_or_had_description: Director's correspondence - important for decision continuity - description: High-priority communications - value: has_or_had_label: MEDIUM has_or_had_description: Historical project files - reference only, operational workarounds exist - description: Medium-priority archives - value: has_or_had_label: LOW has_or_had_description: Promotional materials archive - minimal impact on operations - description: Low-priority materials annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/BusinessModel.yaml b/schemas/20251121/linkml/modules/classes/BusinessModel.yaml index 83827dbcab..90255d8f74 100644 --- a/schemas/20251121/linkml/modules/classes/BusinessModel.yaml +++ b/schemas/20251121/linkml/modules/classes/BusinessModel.yaml @@ -31,42 +31,30 @@ classes: - has_or_had_description slot_usage: has_or_had_label: - description: Short label for business model type. required: true examples: - value: For-profit brand attraction - description: Heineken Experience model - value: Corporate archive, parent company funded - description: Ford Motor archive model - value: Brand heritage center - description: Coca-Cola World of Coke model has_or_had_description: - description: Detailed business model description including revenue sources, ownership structure, profitability, and reporting. required: false examples: - value: For-profit brand attraction, Admission fees, Merchandise, Marketing budget - description: Full business model description - value: Corporate archive within business, Fully funded by parent company, No public access - description: Internal corporate archive model - value: Brand heritage center, Event venue rental, Corporate hospitality, Tourism revenue - description: Brand heritage center model examples: - value: has_or_had_label: For-profit brand attraction has_or_had_description: "Admission fees (\u20AC21), Merchandise sales, Beer tasting experiences, Event venue rental. Reports to Marketing division." - description: Heineken Experience business model - value: has_or_had_label: Corporate archive has_or_had_description: Fully funded by parent company, No direct revenue, Serves internal research and legal compliance needs - description: Ford Motor Company Archive model - value: has_or_had_label: Brand heritage center has_or_had_description: Event venue rental, Corporate hospitality, Tourism revenue, Integrated with brand marketing budget - description: Coca-Cola World of Coke model - value: has_or_had_label: Factory museum has_or_had_description: Visitor fees supplement production operations, Marketing tool for brand awareness, Tours integrated with factory operations - description: Factory museum business model annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/CITESAppendix.yaml b/schemas/20251121/linkml/modules/classes/CITESAppendix.yaml index 7c9dd2d3fb..42f60cfa9b 100644 --- a/schemas/20251121/linkml/modules/classes/CITESAppendix.yaml +++ b/schemas/20251121/linkml/modules/classes/CITESAppendix.yaml @@ -29,71 +29,33 @@ classes: - has_or_had_label slot_usage: has_or_had_type: - description: The CITES appendix level (APPENDIX_I, APPENDIX_II, APPENDIX_III, or NOT_LISTED). range: string required: true pattern: ^(APPENDIX_I|APPENDIX_II|APPENDIX_III|NOT_LISTED)$ examples: - value: APPENDIX_I - description: Highest protection - species threatened with extinction - value: APPENDIX_II - description: Moderate protection - trade must be controlled - value: APPENDIX_III - description: Protected in at least one country requesting cooperation - value: NOT_LISTED - description: Species not regulated under CITES has_or_had_label: - description: Human-readable description of the CITES listing status. range: string required: false examples: - value: CITES Appendix I - Trade Prohibited - value: CITES Appendix II - Trade Regulated attributes: - listing_effective_date: - deprecated: Use is_or_was_effective_at (Rule 53, 2026-01-26) - description: 'DEPRECATED 2026-01-26: Use is_or_was_effective_at instead. Date when the species was added to this CITES appendix.' - range: date - required: false is_or_was_effective_at: range: date required: false - description: Date when the CITES listing became effective. MIGRATED from listing_effective_date (2026-01-26). examples: - value: '1975-07-01' - description: Original CITES listing - value: '2019-08-28' - description: Added at CoP18 - listing_authority: - description: Authority responsible for the listing (typically CITES Secretariat or a specific Conference of the Parties decision). - range: string - required: false - examples: - value: CITES Secretariat - value: CoP18 Decision 18.219 - species_covered: - description: Scientific name of the species covered by this listing. May be at species, genus, or family level. - range: string - required: false - examples: - value: Raphus cucullatus - description: Extinct dodo (historical listing) - value: Elephantidae - description: All elephant species (family-level listing) - population_specific: - description: Indicates if the listing applies to a specific population rather than the entire species. Some CITES listings are population-specific. - range: boolean - required: false - examples: - value: true - description: Population-specific listing (e.g., African elephant populations) - value: false - description: Applies to all populations of the species - exemption_note: - description: Notes on any exemptions or special provisions that apply. - range: string - required: false - examples: - value: Pre-Convention specimens exempt with documentation - value: Captive-bred specimens listed as Appendix II exact_mappings: @@ -108,17 +70,9 @@ classes: has_or_had_type: APPENDIX_I has_or_had_label: CITES Appendix I - Most Endangered is_or_was_effective_at: '1975-07-01' - listing_authority: CITES Secretariat - species_covered: Loxodonta africana - population_specific: true - exemption_note: Some populations listed in Appendix II - description: African elephant CITES listing - value: has_or_had_type: NOT_LISTED has_or_had_label: Not regulated under CITES - species_covered: Raphus cucullatus - exemption_note: Extinct species - historical specimens pre-date CITES - description: Dodo - extinct, not subject to CITES trade restrictions annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/CMS.yaml b/schemas/20251121/linkml/modules/classes/CMS.yaml index 5c7b783f60..7b52c9aa17 100644 --- a/schemas/20251121/linkml/modules/classes/CMS.yaml +++ b/schemas/20251121/linkml/modules/classes/CMS.yaml @@ -53,61 +53,38 @@ classes: close_mappings: - doap:Project slots: - - cms_name - has_or_had_version - has_or_had_type - - detected_at - - detection_method slot_usage: - cms_name: - description: Name of the detected CMS (e.g., WordPress, Drupal, Omeka) range: string required: true examples: - value: WordPress - description: WordPress CMS - value: Omeka S - description: Omeka S digital collections platform - value: CollectiveAccess - description: CollectiveAccess museum CMS has_or_had_version: - description: Detected version of the CMS range: string required: false examples: - value: "6.4.2" - description: WordPress version - value: "4.0.1" - description: Omeka S version has_or_had_type: - description: CMS type classification (maps to CMSType hierarchy) range: CMSType required: false examples: - value: MuseumCMS - description: Museum-focused CMS - value: ArchiveCMS - description: Archive-focused CMS - detected_at: - description: ISO 8601 timestamp when CMS was detected range: datetime required: false examples: - value: "2026-01-19T12:00:00Z" - description: Detection timestamp - detection_method: - description: Method used to detect the CMS range: string required: false examples: - value: HTTP_HEADER - description: Detected via X-Powered-By header - value: META_TAG - description: Detected via HTML generator meta tag - value: URL_PATTERN - description: Detected via URL structure - value: MANUAL - description: Manually identified annotations: custodian_types: '["D"]' custodian_types_rationale: Digital platforms (D) are the primary users of CMS detection diff --git a/schemas/20251121/linkml/modules/classes/CMSType.yaml b/schemas/20251121/linkml/modules/classes/CMSType.yaml index f7e949e7e4..b5bcc0403a 100644 --- a/schemas/20251121/linkml/modules/classes/CMSType.yaml +++ b/schemas/20251121/linkml/modules/classes/CMSType.yaml @@ -72,24 +72,16 @@ classes: slot_usage: has_or_had_label: - description: | - Display label for this CMS type. range: string required: true examples: - value: "MUSEUM_CMS" - description: Museum collection management system has_or_had_description: - description: | - Description of what this CMS type covers. examples: - value: description_text: "Collection management systems designed for museum collections, including object cataloging, provenance tracking, and exhibition management." description_type: definition - description: Museum CMS type definition includes_or_included: - description: | - Subtypes included in this CMS type (for hierarchical types). range: CMSType multivalued: true diff --git a/schemas/20251121/linkml/modules/classes/CacheValidation.yaml b/schemas/20251121/linkml/modules/classes/CacheValidation.yaml index 12998ce58a..55a558d2fe 100644 --- a/schemas/20251121/linkml/modules/classes/CacheValidation.yaml +++ b/schemas/20251121/linkml/modules/classes/CacheValidation.yaml @@ -31,10 +31,8 @@ classes: has_or_had_identifier: range: ETag required: false - description: The ETag associated with this validation method. has_or_had_type: range: string - description: Type of validation (e.g. "ETag", "Last-Modified"). annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/CalendarSystem.yaml b/schemas/20251121/linkml/modules/classes/CalendarSystem.yaml index b8c01ea3fd..33eeb2d8c9 100644 --- a/schemas/20251121/linkml/modules/classes/CalendarSystem.yaml +++ b/schemas/20251121/linkml/modules/classes/CalendarSystem.yaml @@ -71,21 +71,11 @@ classes: has_or_had_label: range: string inlined: true - description: Human-readable label for the calendar system. examples: - value: - system_code: "gregorian" - system_name: "Gregorian Calendar" system_uri: "http://www.opengis.net/def/trs/BIPM/0/Gregorian" - description: Standard Gregorian calendar (ISO 8601) - value: - system_code: "julian" - system_name: "Julian Calendar" - description: Julian calendar for pre-1582 dates - value: - system_code: "hebrew" - system_name: "Hebrew Calendar" - description: Hebrew calendar for Jewish dates annotations: custodian_types: '["*"]' specificity_score: 0.5 diff --git a/schemas/20251121/linkml/modules/classes/CallForApplication.yaml b/schemas/20251121/linkml/modules/classes/CallForApplication.yaml index 2bf6940f42..a57d789e97 100644 --- a/schemas/20251121/linkml/modules/classes/CallForApplication.yaml +++ b/schemas/20251121/linkml/modules/classes/CallForApplication.yaml @@ -101,16 +101,7 @@ classes: slot_usage: is_or_was_due_on: range: TimeSpan - description: | - Deadline for submitting applications. - Replaces has_application_deadline per Rule 53. - Use end_of_the_end for the exact deadline timestamp. offers_or_offered: # was: funding_rate - migrated per Rule 53 (2026-01-26) - description: | - Funding rates offered by this call. - MIGRATED from funding_rate per Rule 53. - Uses frapo:hasFundingRate or similar. - Here we use generic offers_or_offered with FundingRate class. range: FundingRate multivalued: true inlined: true @@ -119,27 +110,16 @@ classes: - value: has_or_had_rate: "100%" maximal_of_maximal: 100 - description: 100% funding rate for non-profits is_or_was_opened_on: range: TimeSpan - description: | - Date when applications opened. - Replaces has_application_opening_date per Rule 53. - Use start_of_the_start for the opening timestamp. examples: - value: start_of_the_start: "2023-01-01T00:00:00Z" - description: Opening date has_or_had_budget: # was: total_budget - migrated per Rule 53 (2026-01-15) range: Budget multivalued: true inlined: true inlined_as_list: true - description: | - Total funding budget for this call. - MIGRATED from total_budget slot per Rule 53 (2026-01-15). - Now uses Budget class for structured budget information including - amount, currency, fiscal year, and temporal validity. examples: - value: has_or_had_label: Horizon Europe CL2 2025 Budget @@ -150,29 +130,17 @@ classes: currency_symbol: € fiscal_year_start: '2025-01-01' fiscal_year_end: '2025-12-31' - description: Horizon Europe heritage budget (€82.5M) - eligible_applicant: - range: string - multivalued: true - inlined_as_list: true - examples: - - value: Public bodies issuing_organisation: required: true range: uriorcurie examples: - value: https://nde.nl/ontology/hc/encompassing-body/funding/ec-rea - description: European Research Executive Agency has_or_had_provenance: # was: web_observation - migrated per Rule 53 range: WebObservation multivalued: true inlined_as_list: true - description: | - Web observations documenting when and where call information was retrieved. - MIGRATED from web_observation per slot_fixes.yaml (Rule 53, 2026-01-15). examples: - value: https://nde.nl/ontology/hc/observation/web/2025-11-29/eu-horizon-cl2 - description: Web observation of Horizon Europe call page has_or_had_requirement: range: FundingRequirement multivalued: true @@ -180,31 +148,20 @@ classes: inlined_as_list: true examples: - value: See FundingRequirement class examples - description: Structured requirements with provenance has_or_had_funded: # was: funded_project - migrated per Rule 53 (2026-01-26) - description: | - Projects funded by this call. - MIGRATED from funded_project per Rule 53. - Uses frapo:funds (has_or_had_funded). range: uriorcurie multivalued: true inlined_as_list: true examples: - value: https://nde.nl/ontology/hc/project/nde/heritage-digitization-2025 - description: Project funded by this call requires_or_required: # was: co_funding_required - migrated per Rule 53 (2026-01-19) range: CoFunding multivalued: false inlined: true - description: | - Co-funding/match funding requirement for this call. - MIGRATED from co_funding_required (boolean) to structured CoFunding class per Rule 53 (2026-01-19). - Now captures whether co-funding is required, percentage/amount requirements, and human-readable descriptions. examples: - value: is_or_was_required: true has_or_had_description: "Partnership funding 5-50% depending on grant size" - description: NLHF co-funding requirement with percentage range comments: - CallForApplication links FundingOrganisation to heritage custodian funding opportunities - Lifecycle tracked via CallForApplicationStatusEnum (ANNOUNCED through RESULTS_PUBLISHED) @@ -218,7 +175,6 @@ classes: - value: has_or_had_identifier: # was: call_id, call_identifier - migrated per Rule 53 (2026-01-17) - identifier_value: https://nde.nl/ontology/hc/call/ec/cl2-2025-heritage-01 - identifier_scheme: URI has_or_had_label: # was: call_title, call_short_name - migrated per Rule 53 (2026-01-17) - Cultural heritage, cultural and creative industries - HORIZON-CL2-2025-HERITAGE-01 @@ -238,15 +194,11 @@ classes: has_or_had_budget: # was: total_budget - migrated per Rule 53 (2026-01-15) has_or_had_range: - minimal_of_minimal: - quantity_value: 2000000 has_or_had_measurement_unit: unit_label: EUR maximal_of_maximal: - quantity_value: 4000000 has_or_had_measurement_unit: unit_label: EUR - range_description: Typical project funding range - range_currency: EUR has_or_had_requirement: - can_or_could_be_fulfilled_by: - has_or_had_type: @@ -259,18 +211,11 @@ classes: - Climate change impact on heritage - Heritage skills and crafts - Community engagement with heritage - heritage_type: - - Tangible heritage - - Intangible heritage - - Digital heritage - - Documentary heritage partnership_required: true minimum_partners: 3 issuing_organisation: https://nde.nl/ontology/hc/encompassing-body/funding/ec-rea parent_programme: Horizon Europe Cluster 2 - programme_year: 2025 has_or_had_contact_point: - email: REA-C2@ec.europa.eu info_session_date: - 2025-02-15 - Virtual info day - 2025-04-10 - Brokerage event Brussels @@ -283,5 +228,4 @@ classes: - EU funding - Horizon Europe has_or_had_funded: # was: funded_project - migrated per Rule 53 (2026-01-26) - - https://nde.nl/ontology/hc/project/europeana/common-culture-2024 - description: Horizon Europe CL2 2025 Cultural Heritage call + - https://nde.nl/ontology/hc/project/europeana/common-culture-2024 \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/Cancellation.yaml b/schemas/20251121/linkml/modules/classes/Cancellation.yaml index 69b65c2e00..6bf699c952 100644 --- a/schemas/20251121/linkml/modules/classes/Cancellation.yaml +++ b/schemas/20251121/linkml/modules/classes/Cancellation.yaml @@ -31,7 +31,6 @@ classes: has_or_had_rationale: range: string inlined: true - description: The reason for cancellation. annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/CanonicalForm.yaml b/schemas/20251121/linkml/modules/classes/CanonicalForm.yaml index e62f5ad4e6..3875c22838 100644 --- a/schemas/20251121/linkml/modules/classes/CanonicalForm.yaml +++ b/schemas/20251121/linkml/modules/classes/CanonicalForm.yaml @@ -41,35 +41,17 @@ classes: range: string required: true inlined: true - description: The canonical/normalized value as a Label. Label.has_or_had_text contains the actual normalized string. attributes: - normalization_rule: - range: string - required: false - description: The rule or standard used to normalize this value. E.g., "ISNI_REMOVE_SPACES", "WIKIDATA_EXTRACT_QID", "DOI_LOWERCASE" - source_format: - range: string - required: false - description: The original format/scheme before normalization. E.g., "ISNI_DISPLAY", "WIKIDATA_URI", "DOI_URL" examples: - value: has_or_had_label: has_or_had_text: '0000000121465765' - normalization_rule: ISNI_REMOVE_SPACES - source_format: ISNI_DISPLAY - description: ISNI canonical form (spaces removed) - value: has_or_had_label: has_or_had_text: Q190804 - normalization_rule: WIKIDATA_EXTRACT_QID - source_format: WIKIDATA_URI - description: Wikidata canonical form (Q-number extracted) - value: has_or_had_label: has_or_had_text: 10.1234/example - normalization_rule: DOI_LOWERCASE_NO_PREFIX - source_format: DOI_URL - description: DOI canonical form (lowercase, no resolver prefix) annotations: specificity_score: 0.3 specificity_rationale: Canonical forms are relevant for identifier lookup across all heritage sectors. diff --git a/schemas/20251121/linkml/modules/classes/CantonalArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/CantonalArchiveRecordSetType.yaml index 89b47f9796..60b9dfb25d 100644 --- a/schemas/20251121/linkml/modules/classes/CantonalArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/CantonalArchiveRecordSetType.yaml @@ -20,7 +20,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -30,9 +29,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Capacity.yaml b/schemas/20251121/linkml/modules/classes/Capacity.yaml index 83f8eeb2ad..7da1cf3cdb 100644 --- a/schemas/20251121/linkml/modules/classes/Capacity.yaml +++ b/schemas/20251121/linkml/modules/classes/Capacity.yaml @@ -61,66 +61,44 @@ classes: has_or_had_identifier: range: uriorcurie required: false - description: Optional identifier for this capacity specification. examples: - value: https://nde.nl/ontology/hc/capacity/na-depot-b-shelving - description: National Archives depot B shelf capacity has_or_had_type: range: uriorcurie required: false - description: The type of capacity measurement (volume, length, count, etc.). MIGRATED from capacity_type per slot_fixes.yaml (Rule 53, 2026-01-22). Uses CapacityType class hierarchy instead of CapacityTypeEnum. examples: - value: ShelfLengthCapacity - description: Linear shelf capacity - value: VolumeCapacity - description: Cubic volume capacity - value: ItemCountCapacity - description: Item count capacity - value: FloorAreaCapacity - description: Floor area capacity has_or_had_measurement_unit: range: MeasureUnit required: false inlined: true - description: The unit of measurement for this capacity. Uses MeasureUnit class for structured unit representation. examples: - value: has_or_had_type: LINEAR_METER has_or_had_symbol: m - description: Linear meters (shelf length) - value: has_or_had_type: CUBIC_METER has_or_had_symbol: "m\xB3" - description: Cubic meters (volume) - value: has_or_had_type: ITEM has_or_had_symbol: archive boxes - description: Item count has_or_had_quantity: range: integer required: true inlined: true - description: The capacity measurement as a structured Quantity. MIGRATED from capacity_value per slot_fixes.yaml (Rule 53, 2026-01-22). Contains quantity_value (numeric), and can include unit via has_or_had_unit. examples: - value: - quantity_value: 8000.0 has_or_had_unit: - unit_value: linear_meter - description: 8,000 linear meters of shelving - value: - quantity_value: 2500.0 has_or_had_unit: - unit_value: cubic_meter - description: 2,500 cubic meters of storage - value: - quantity_value: 50000 has_or_had_unit: - unit_value: item - description: 50,000 archive boxes has_or_had_description: range: string required: false - description: Textual description of the capacity. MIGRATED from capacity_description per slot_fixes.yaml (Rule 53). examples: - value: Approximately 5,000 linear meters of shelving across 3 floors - value: Large-scale art storage for paintings up to 4m x 6m @@ -129,17 +107,14 @@ classes: range: TimeSpan required: false inlined: true - description: Time period when this capacity specification is/was valid. examples: - value: begin_of_the_begin: '2020-01-01T00:00:00Z' end_of_the_end: '2030-12-31T23:59:59Z' - description: Capacity valid for decade is_estimate: range: boolean required: false ifabsent: 'false' - description: Whether this capacity is an estimate rather than exact measurement. comments: - Created 2026-01-17 per Rule 53 to consolidate capacity_* slots - Based on QUDT Quantity pattern with capacity-specific typing @@ -151,32 +126,22 @@ classes: - value: has_or_had_identifier: https://nde.nl/ontology/hc/capacity/rijksmuseum-depot-shelving has_or_had_quantity: - quantity_value: 8000.0 has_or_had_unit: - unit_value: linear_meter has_or_had_type: ShelfLengthCapacity has_or_had_description: Total linear shelf capacity in Depot Amersfoort is_estimate: false - description: Archive depot shelf capacity (was capacity_linear_meters) - value: has_or_had_quantity: - quantity_value: 2500.0 has_or_had_unit: - unit_value: cubic_meter has_or_had_type: VolumeCapacity - description: Cold storage volume capacity (was capacity_cubic_meters) - value: has_or_had_quantity: - quantity_value: 50000 has_or_had_unit: - unit_value: item has_or_had_type: ItemCountCapacity has_or_had_description: Capacity for 50,000 standard archive boxes - description: Archive box storage capacity (was capacity_item) - value: has_or_had_description: Approximately 5,000 linear meters of shelving across 3 floors. Large-scale art storage for paintings up to 4m x 6m. is_estimate: true - description: Descriptive capacity only (was capacity_description) annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/CapacityType.yaml b/schemas/20251121/linkml/modules/classes/CapacityType.yaml index 6608d57384..20cace817f 100644 --- a/schemas/20251121/linkml/modules/classes/CapacityType.yaml +++ b/schemas/20251121/linkml/modules/classes/CapacityType.yaml @@ -59,10 +59,7 @@ classes: slot_usage: has_or_had_label: - description: Human-readable label for this capacity type. has_or_had_description: - description: Description of what this capacity type measures. - annotations: custodian_types: '["*"]' custodian_types_rationale: Capacity types apply to all storage facilities. diff --git a/schemas/20251121/linkml/modules/classes/Caption.yaml b/schemas/20251121/linkml/modules/classes/Caption.yaml index 674d5cf6a8..c810d64721 100644 --- a/schemas/20251121/linkml/modules/classes/Caption.yaml +++ b/schemas/20251121/linkml/modules/classes/Caption.yaml @@ -32,42 +32,20 @@ classes: range: string required: false inlined: true - description: Caption text content. Label.has_or_had_text contains the actual caption. language: range: string required: false - description: ISO 639-1 language code for the caption (e.g., "en", "nl", "de"). attributes: - caption_format: - range: string - required: false - description: Caption format (e.g., "SRT", "VTT", "TTML", "closed_caption", "open_caption"). - is_available: - range: boolean - required: false - description: Whether captions are available for this media. Replaces simple caption_available boolean/string. - caption_url: - range: uri - required: false - description: URL to external caption file (for SRT, VTT, etc.). examples: - value: - is_available: true language: en - caption_format: closed_caption - description: English closed captions available - value: - is_available: true language: nl - caption_format: SRT caption_url: https://example.org/video/captions_nl.srt - description: Dutch subtitles in SRT format - value: has_or_had_label: has_or_had_text: Video beschrijving voor slechthorenden language: nl - is_available: true - description: Dutch caption with descriptive text annotations: specificity_score: 0.6 specificity_rationale: Captions are specific to media content, moderately relevant for digital heritage. diff --git a/schemas/20251121/linkml/modules/classes/Carrier.yaml b/schemas/20251121/linkml/modules/classes/Carrier.yaml index c7cf6940d4..37dd8cd7c5 100644 --- a/schemas/20251121/linkml/modules/classes/Carrier.yaml +++ b/schemas/20251121/linkml/modules/classes/Carrier.yaml @@ -43,26 +43,21 @@ classes: - has_or_had_note slot_usage: has_or_had_type: - description: The type of physical carrier from the CarrierType taxonomy. Use CarrierType subclasses per Rule 0b (Type/Types pattern). range: CarrierType required: true examples: - value: carrier_type_code: CODEX carrier_type_label: Codex - description: Bound volume form - value: carrier_type_code: VINYL_DISC carrier_type_label: Vinyl Disc - description: Audio recording medium has_or_had_description: - description: Description of the physical carrier characteristics. Includes material, condition, dimensions, etc. range: string required: false examples: - value: Paper codex with leather binding, 324 leaves has_or_had_note: - description: Additional notes about the carrier. range: string required: false examples: @@ -71,13 +66,11 @@ classes: carrier_type_code: CODEX carrier_type_label: Codex has_or_had_description: Paper codex, 18th-century red morocco binding - description: Bound book carrier - value: has_or_had_type: carrier_type_code: VINYL_DISC carrier_type_label: Vinyl Disc has_or_had_description: "12-inch 33\u2153 RPM long-playing record" - description: Audio carrier annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/CarrierType.yaml b/schemas/20251121/linkml/modules/classes/CarrierType.yaml index 9a53dfb1fb..648f92f480 100644 --- a/schemas/20251121/linkml/modules/classes/CarrierType.yaml +++ b/schemas/20251121/linkml/modules/classes/CarrierType.yaml @@ -36,17 +36,14 @@ classes: - has_or_had_description slot_usage: has_or_had_code: - description: Short code for the carrier type (e.g., CODEX, SCROLL, VINYL_DISC). range: string required: true identifier: true pattern: ^[A-Z][A-Z0-9_]*$ has_or_had_label: - description: Human-readable label for the carrier type. range: string required: true has_or_had_description: - description: Definition and scope of this carrier type. range: string required: false comments: diff --git a/schemas/20251121/linkml/modules/classes/CatalogSystem.yaml b/schemas/20251121/linkml/modules/classes/CatalogSystem.yaml index 789ef2d45b..ba14b8d0b1 100644 --- a/schemas/20251121/linkml/modules/classes/CatalogSystem.yaml +++ b/schemas/20251121/linkml/modules/classes/CatalogSystem.yaml @@ -67,7 +67,6 @@ classes: - has_or_had_url slot_usage: has_or_had_name: - description: The name of the catalog or collection management system. required: true examples: - value: ALMA @@ -75,11 +74,9 @@ classes: - value: Sierra - value: Adlib has_or_had_type: - description: The type of catalog system (ILS, CMS, DAM, etc.). range: CatalogSystemType inlined: true has_or_had_url: - description: URL to the system vendor or documentation. exact_mappings: - schema:SoftwareApplication close_mappings: @@ -91,21 +88,18 @@ classes: has_or_had_name: Integrated Library System has_or_had_description: Ex Libris ALMA cloud-based library services platform has_or_had_url: https://exlibrisgroup.com/products/alma-library-services-platform/ - description: Ex Libris ALMA library platform - value: has_or_had_name: Koha has_or_had_type: has_or_had_name: Integrated Library System has_or_had_description: Open-source integrated library system has_or_had_url: https://koha-community.org/ - description: Koha open-source ILS - value: has_or_had_name: Adlib has_or_had_type: has_or_had_name: Collection Management System has_or_had_description: Axiell Adlib museum collection management system has_or_had_url: https://www.axiell.com/solutions/product/axiell-collections/ - description: Adlib/Axiell Collections for museums annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/CatalogSystemType.yaml b/schemas/20251121/linkml/modules/classes/CatalogSystemType.yaml index fcee288a31..562f93ea2c 100644 --- a/schemas/20251121/linkml/modules/classes/CatalogSystemType.yaml +++ b/schemas/20251121/linkml/modules/classes/CatalogSystemType.yaml @@ -53,10 +53,8 @@ classes: - has_or_had_description slot_usage: has_or_had_name: - description: The name of this catalog system type category. required: true has_or_had_description: - description: Description of this catalog system type and its typical use cases. exact_mappings: - skos:Concept close_mappings: diff --git a/schemas/20251121/linkml/modules/classes/CatalogingStandard.yaml b/schemas/20251121/linkml/modules/classes/CatalogingStandard.yaml index f6dc83336b..02607ce965 100644 --- a/schemas/20251121/linkml/modules/classes/CatalogingStandard.yaml +++ b/schemas/20251121/linkml/modules/classes/CatalogingStandard.yaml @@ -67,16 +67,10 @@ classes: - has_or_had_label - has_or_had_description - has_or_had_url - - standard_domain slot_usage: has_or_had_identifier: required: true range: string - description: 'Short identifier/code for the standard (e.g., "LIDO", "MARC21"). - - MIGRATED from cataloging_standard string value (2026-01-17). - - ' examples: - value: LIDO - value: MARC21 @@ -84,7 +78,6 @@ classes: has_or_had_label: required: false range: string - description: Full name of the standard. examples: - value: Lightweight Information Describing Objects - value: Machine-Readable Cataloging 21 @@ -92,26 +85,14 @@ classes: has_or_had_description: required: false range: string - description: Purpose and scope of the standard. examples: - value: XML schema for museum object metadata harvesting has_or_had_url: required: false range: uri - description: URL to the standard specification or documentation. examples: - value: https://lido-schema.org/ - value: https://www.loc.gov/marc/ - standard_domain: - required: false - range: string - multivalued: true - description: 'Domain(s) where this standard is primarily used. - - Values: museum, library, archive, natural_history, general - - ' - examples: - value: museum - value: library examples: @@ -120,26 +101,16 @@ classes: has_or_had_label: Lightweight Information Describing Objects has_or_had_description: XML schema for museum object metadata harvesting and exchange has_or_had_url: https://lido-schema.org/ - standard_domain: - - museum - description: LIDO museum cataloging standard - value: has_or_had_identifier: MARC21 has_or_had_label: Machine-Readable Cataloging 21 has_or_had_description: Library cataloging format for bibliographic data has_or_had_url: https://www.loc.gov/marc/ - standard_domain: - - library - description: MARC21 library cataloging standard - value: has_or_had_identifier: Darwin Core has_or_had_label: Darwin Core has_or_had_description: Data standard for biodiversity specimen information has_or_had_url: https://dwc.tdwg.org/ - standard_domain: - - natural_history - - museum - description: Darwin Core for natural history collections annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/CategoryStatus.yaml b/schemas/20251121/linkml/modules/classes/CategoryStatus.yaml index 4b15acdcde..07722c741f 100644 --- a/schemas/20251121/linkml/modules/classes/CategoryStatus.yaml +++ b/schemas/20251121/linkml/modules/classes/CategoryStatus.yaml @@ -53,13 +53,10 @@ classes: - has_or_had_value slot_usage: has_or_had_value: - description: The status value from StorageConditionStatusEnum. range: StorageConditionStatusEnum required: true has_or_had_name: - description: Human-readable name for this status (e.g., "Good", "Poor"). has_or_had_description: - description: Additional context or notes about this status assessment. exact_mappings: - crm:E55_Type close_mappings: @@ -69,12 +66,10 @@ classes: has_or_had_value: GOOD has_or_had_name: Good has_or_had_description: Acceptable temperature control with minor fluctuations - description: Good status with explanatory note - value: has_or_had_value: CRITICAL has_or_had_name: Critical has_or_had_description: Immediate pest treatment required - description: Critical status requiring action annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/CateringPlace.yaml b/schemas/20251121/linkml/modules/classes/CateringPlace.yaml index e0ea8857bd..453f5d7509 100644 --- a/schemas/20251121/linkml/modules/classes/CateringPlace.yaml +++ b/schemas/20251121/linkml/modules/classes/CateringPlace.yaml @@ -74,7 +74,6 @@ classes: - has_or_had_type - cuisine_type - is_or_was_founded_through - - has_michelin_star - has_or_had_service - is_or_was_classified_as - michelin_star @@ -94,121 +93,83 @@ classes: range: uriorcurie required: true identifier: true - description: Unique identifier for the catering place. examples: - value: https://nde.nl/ontology/hc/aux/rijksmuseum-restaurant - description: Rijksmuseum fine dining restaurant has_or_had_label: range: string inlined: true required: true - description: The name of the catering place. examples: - value: label_text: RIJKS Restaurant - description: Museum fine dining - value: label_text: "Nationaal Archief Caf\xE9" - description: "Archive caf\xE9" - value: label_text: "Van Gogh Museum Caf\xE9" - description: "Museum caf\xE9" has_or_had_description: range: string inlined: true - description: A description of the catering place. examples: - value: description_text: Michelin-starred restaurant serving modern Dutch cuisine using seasonal ingredients. Located in the museum's atrium with views of the garden. - description: Fine dining restaurant has_or_had_type: - description: 'MIGRATED from catering_type per Rule 53/56 (2026-01-24). - Type classification of catering facility. - ' range: CateringType required: true inlined: true examples: - value: has_or_had_name: Restaurant - description: Full-service restaurant - value: has_or_had_name: "Caf\xE9" - description: "Caf\xE9" is_or_was_classified_as: range: HeritageType - description: | - Classification of heritage type (e.g. Historic Restaurant). - MIGRATED from heritage_type_classification (Rule 53, 2026-01-28). required: false examples: - value: has_or_had_label: HISTORIC_RESTAURANT - description: Heritage restaurant cuisine_type: range: string examples: - value: Modern Dutch fine dining - description: Dutch cuisine - value: "Organic caf\xE9 fare" - description: "Caf\xE9 food" - value: Traditional Dutch pancakes - description: Dutch specialty seating_capacity: range: integer examples: - value: 80 - description: 80 indoor seats has_or_had_service: range: boolean examples: - value: true - description: Has terrace outdoor_seating_capacity: range: integer examples: - value: 40 - description: 40 terrace seats opening_hour: range: string examples: - value: Tu-Su 10:00-17:00 - description: Museum hours - value: Tu-Su 10:00-22:00 - description: Extended evening hours serves_visitors_only: range: boolean examples: - value: true - description: Visitors only - value: false - description: Public access serves_staff: range: boolean examples: - value: true - description: Serves staff reservation_required: range: boolean examples: - value: true - description: Reservations required - has_michelin_star: - range: boolean - examples: - - value: true - description: Michelin starred michelin_star: range: integer minimum_value: 1 maximum_value: 3 examples: - value: 1 - description: One Michelin star has_or_had_price: - description: 'MIGRATED from catering_price_range per Rule 53/56 (2026-01-24). - Price range or pricing information for the catering place. - ' range: Price inlined: true examples: @@ -217,36 +178,26 @@ classes: has_or_had_type: has_or_had_name: Luxury has_or_had_description: "Over \u20AC60 per person" - description: Fine dining price range - value: has_or_had_value: "\u20AC\u20AC" has_or_had_type: has_or_had_name: Moderate - description: Moderate price range - value: has_or_had_value: "\u20AC" has_or_had_type: has_or_had_name: Budget - description: Budget-friendly price range has_or_had_accessibility_feature: range: string multivalued: true examples: - value: Wheelchair accessible - description: Wheelchair access - value: Accessible restrooms - description: Accessible WC operator: range: string examples: - value: Vermaat Groep - description: Dutch catering company - value: In-house - description: Museum-operated is_or_was_founded_through: - description: 'The founding event for this catering place. - Migrated from founded_year per slot_fixes.yaml revision. - ' range: FoundingEvent inlined: true examples: @@ -254,8 +205,6 @@ classes: temporal_extent: begin_of_the_begin: '1902-01-01' end_of_the_begin: '1902-12-31' - founding_description: "Established as historic caf\xE9" - description: "Historic caf\xE9 founding event (1902)" is_or_was_derived_from: range: CustodianObservation multivalued: true @@ -289,14 +238,12 @@ classes: opening_hour: Tu-Su 12:00-15:00, 18:00-22:00 serves_visitors_only: false reservation_required: true - has_michelin_star: true michelin_star: 1 has_or_had_price: has_or_had_value: "\u20AC\u20AC\u20AC\u20AC" has_or_had_type: has_or_had_name: Luxury operator: Vermaat Groep - description: Michelin-starred museum restaurant - value: has_or_had_identifier: https://nde.nl/ontology/hc/aux/na-cafe has_or_had_label: @@ -316,7 +263,6 @@ classes: has_or_had_name: Budget has_or_had_accessibility_feature: - Wheelchair accessible - description: "Archive visitor caf\xE9" - value: has_or_had_identifier: https://nde.nl/ontology/hc/aux/cafe-americain has_or_had_label: @@ -335,12 +281,10 @@ classes: temporal_extent: begin_of_the_begin: '1902-01-01' end_of_the_begin: '1902-12-31' - founding_description: "Historic art deco caf\xE9 established in 1902" has_or_had_price: has_or_had_value: "\u20AC\u20AC\u20AC" has_or_had_type: has_or_had_name: Upscale - description: "Historic heritage caf\xE9" annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/CateringType.yaml b/schemas/20251121/linkml/modules/classes/CateringType.yaml index 2fb4344f21..4795efdd31 100644 --- a/schemas/20251121/linkml/modules/classes/CateringType.yaml +++ b/schemas/20251121/linkml/modules/classes/CateringType.yaml @@ -36,10 +36,8 @@ classes: - has_or_had_description slot_usage: has_or_had_name: - description: The name of this catering type category. required: true has_or_had_description: - description: Description of this catering type and typical characteristics. exact_mappings: - skos:Concept close_mappings: diff --git a/schemas/20251121/linkml/modules/classes/CathedralArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/CathedralArchiveRecordSetType.yaml index a49853abb9..4c7ef8da2c 100644 --- a/schemas/20251121/linkml/modules/classes/CathedralArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/CathedralArchiveRecordSetType.yaml @@ -20,7 +20,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -30,9 +29,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/CauseOfDeath.yaml b/schemas/20251121/linkml/modules/classes/CauseOfDeath.yaml index 8786d9689a..3df0e864fe 100644 --- a/schemas/20251121/linkml/modules/classes/CauseOfDeath.yaml +++ b/schemas/20251121/linkml/modules/classes/CauseOfDeath.yaml @@ -43,21 +43,9 @@ classes: ' has_or_had_description: range: string - description: 'Detailed narrative description of the death circumstances. - - Include source documentation and context. - - Handle with respect and verify facts before documenting. - - ' has_or_had_location: range: string inlined: true - description: 'The location where the death occurred. - - Important for conflict deaths to document the specific location. - - ' comments: - Structured cause of death for heritage workers - Wikidata P1196 (manner of death) is semantically equivalent diff --git a/schemas/20251121/linkml/modules/classes/CertaintyLevel.yaml b/schemas/20251121/linkml/modules/classes/CertaintyLevel.yaml index b089fcdd23..e838f7b9ff 100644 --- a/schemas/20251121/linkml/modules/classes/CertaintyLevel.yaml +++ b/schemas/20251121/linkml/modules/classes/CertaintyLevel.yaml @@ -71,24 +71,14 @@ classes: slot_usage: level_value: - description: | - The certainty/confidence level value. - Standard values: CERTAIN, PROBABLE, POSSIBLE, UNCERTAIN. range: string required: true examples: - value: CERTAIN - description: Documentary evidence confirms claim - value: PROBABLE - description: Strong circumstantial evidence - value: POSSIBLE - description: Reasonable inference - value: UNCERTAIN - description: Speculative/unverified has_or_had_note: - description: | - Notes explaining the certainty assessment. - Use Note class with note_type: "certainty" for certainty-specific notes. range: string multivalued: true inlined: true @@ -97,16 +87,12 @@ classes: - value: note_type: certainty note_content: "Confirmed by sale catalogue and receipt" - description: Documentary evidence note - value: note_type: certainty note_content: "Inferred from stylistic analysis and collection history" - description: Circumstantial evidence note - value: note_type: certainty note_content: "Provenance gap 1933-1945 requires further research" - description: Research gap note - annotations: custodian_types: '["*"]' custodian_types_rationale: Certainty documentation applicable to all custodian types. @@ -121,18 +107,15 @@ classes: - note_type: certainty note_content: "Confirmed by sale catalogue and receipt" note_date: "2025-06-15" - description: "Certain provenance event with documentary evidence" - value: | level_value: PROBABLE has_or_had_note: - note_type: certainty note_content: "Van Ruijven was Vermeer's patron; likely acquired directly from artist" - description: "Probable ownership based on historical relationship" - value: | level_value: UNCERTAIN has_or_had_note: - note_type: certainty note_content: "Provenance gap 1933-1945 requires further research" - note_type: certainty - note_content: "Documentation incomplete; collector fled Vienna 1938" - description: "Uncertain Nazi-era provenance requiring research" + note_content: "Documentation incomplete; collector fled Vienna 1938" \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/ChAnnotatorAnnotationMetadata.yaml b/schemas/20251121/linkml/modules/classes/ChAnnotatorAnnotationMetadata.yaml index 1889fd351f..482efc9ecf 100644 --- a/schemas/20251121/linkml/modules/classes/ChAnnotatorAnnotationMetadata.yaml +++ b/schemas/20251121/linkml/modules/classes/ChAnnotatorAnnotationMetadata.yaml @@ -42,17 +42,7 @@ classes: has_or_had_score: has_or_had_score: 0.92 has_or_had_method: annotation_validation - description: High confidence annotation attributes: - verified: - range: boolean - description: Whether annotation has been verified - verification_date: - range: datetime - description: When verification occurred - verified_by: - range: string - description: Who verified the annotation comments: - "MIGRATED 2026-01-19: confidence_score \u2192 is_or_was_generated_by + ConfidenceScore" annotations: diff --git a/schemas/20251121/linkml/modules/classes/ChAnnotatorEntityClaim.yaml b/schemas/20251121/linkml/modules/classes/ChAnnotatorEntityClaim.yaml index 15a326ebd3..f1a3156504 100644 --- a/schemas/20251121/linkml/modules/classes/ChAnnotatorEntityClaim.yaml +++ b/schemas/20251121/linkml/modules/classes/ChAnnotatorEntityClaim.yaml @@ -38,36 +38,7 @@ classes: range: uriorcurie inlined: true required: true - description: 'MIGRATED from claim_type per slot_fixes.yaml (Rule 53/56, 2026-01-19). - Type of claim (full_name, institution_type, etc.). - Uses ClaimType class hierarchy with 507 concrete subtypes. - ' attributes: - claim_value: - range: string - required: true - description: Value of the claim - property_uri: - range: string - description: Property URI (e.g., skos:prefLabel) - hypernym_code: - range: string - description: CH-Annotator hypernym code (e.g., GRP, TOP) - hypernym_label: - range: string - description: Human-readable hypernym label (e.g., GROUP, TOPONYM) - extraction_source: - range: ExtractionSourceInfo - description: Structured extraction source information - provenance: - range: ChAnnotatorProvenance - description: Provenance of this claim - confidence: - range: float - description: Confidence score for this claim - resolution_method: - range: string - description: Method used to resolve/extract the claim annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ChurchArchiveRecordSetTypes.yaml b/schemas/20251121/linkml/modules/classes/ChurchArchiveRecordSetTypes.yaml index 9c86d344f3..dbefecd64e 100644 --- a/schemas/20251121/linkml/modules/classes/ChurchArchiveRecordSetTypes.yaml +++ b/schemas/20251121/linkml/modules/classes/ChurchArchiveRecordSetTypes.yaml @@ -61,16 +61,10 @@ classes: in_language: pt keywords: - church governance - - kerkbestuur - synod records - - synode - - consistory - - kerkenraad - church council - visitation records - - kerkorde - membership rolls - - lidmatenregisters exact_mappings: - rico:RecordSetType related_mappings: @@ -154,11 +148,8 @@ classes: - parish registers - DTB boeken - baptism records - - doopregisters - marriage records - - trouwregisters - burial records - - begraafregisters - church records - genealogy sources - vital records @@ -248,7 +239,6 @@ classes: in_language: pt keywords: - pastoral correspondence - - predikantenarchief - clergy papers - sermon manuscripts - visitation reports @@ -340,13 +330,8 @@ classes: - church property - kerkelijke goederen - property deeds - - eigendomsakten - building records - - bouwdossiers - financial accounts - - rekeningen - - endowments - - legaten - cemetery records exact_mappings: - rico:RecordSetType @@ -426,16 +411,10 @@ classes: in_language: pt keywords: - congregational life - - gemeenteleven - church societies - - verenigingen - sunday school - - zondagsschool - choir records - - koor - church publications - - kerkbladen - - diaconie - photograph - youth groups exact_mappings: diff --git a/schemas/20251121/linkml/modules/classes/ChurchArchiveSwedenRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/ChurchArchiveSwedenRecordSetType.yaml index c2d500eb8e..349e3901db 100644 --- a/schemas/20251121/linkml/modules/classes/ChurchArchiveSwedenRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/ChurchArchiveSwedenRecordSetType.yaml @@ -20,7 +20,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -30,9 +29,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ClaimType.yaml b/schemas/20251121/linkml/modules/classes/ClaimType.yaml index 785fd5bb7f..0dff28ce5a 100644 --- a/schemas/20251121/linkml/modules/classes/ClaimType.yaml +++ b/schemas/20251121/linkml/modules/classes/ClaimType.yaml @@ -27,10 +27,8 @@ classes: - has_or_had_description slot_usage: has_or_had_label: - description: The claim type identifier (e.g., "full_name", "email", "facebook") required: true has_or_had_description: - description: Description of what this claim type represents and where to find it annotations: specificity_score: '0.65' specificity_rationale: Claim types are moderately specific - useful for web extraction workflows but not universally applicable to all heritage queries. @@ -47,8 +45,6 @@ classes: - value: has_or_had_label: full_name has_or_had_description: 'Official full name of the organization. Expected in: , <h1>, logo text, og:title' - description: Identity claim for organization name - value: has_or_had_label: email - has_or_had_description: 'Contact email address. Expected in: <a href=''mailto:...''>, contact page, footer' - description: Contact claim for email + has_or_had_description: 'Contact email address. Expected in: <a href=''mailto:...''>, contact page, footer' \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/ClassificationStatus.yaml b/schemas/20251121/linkml/modules/classes/ClassificationStatus.yaml index 9989316980..554617c2b6 100644 --- a/schemas/20251121/linkml/modules/classes/ClassificationStatus.yaml +++ b/schemas/20251121/linkml/modules/classes/ClassificationStatus.yaml @@ -66,36 +66,21 @@ classes: range: uriorcurie required: true inlined: true - description: >- - The type of classification status. - One of: IndeterminateStatus, AmbiguousStatus, TransitionalStatus, - NovelStatus, UnderReviewStatus, PendingVerificationStatus. examples: - value: - type: IndeterminateStatus has_or_had_label: "Indeterminate" - description: Cannot determine from available evidence - value: - type: AmbiguousStatus has_or_had_label: "Ambiguous" - description: Conflicting evidence about function has_or_had_description: range: string required: true - description: >- - Human-readable description of the classification status. - Explains the specific reason for the status. examples: - value: "Type indeterminate - insufficient evidence" - description: Defunct organization, minimal records - value: "Sources conflict: museum (website) vs archive (ISIL registry)" - description: Ambiguous status with conflicting sources temporal_extent: range: TimeSpan required: false inlined: true - description: >- - When this classification status was assessed. annotations: custodian_types: '["U"]' custodian_types_rationale: >- @@ -108,23 +93,17 @@ classes: - value: | ClassificationStatus: has_or_had_type: - type: IndeterminateStatus has_or_had_label: "Indeterminate" has_or_had_description: "Type indeterminate - insufficient evidence. Defunct organization, minimal records." - description: Indeterminate status for defunct organization - value: | ClassificationStatus: has_or_had_type: - type: AmbiguousStatus has_or_had_label: "Ambiguous" has_or_had_description: "Sources conflict: museum (website) vs archive (ISIL registry)" temporal_extent: begin_of_the_begin: "2026-01-19T00:00:00Z" - description: Ambiguous status with temporal context - value: | ClassificationStatus: has_or_had_type: - type: TransitionalStatus has_or_had_label: "Transitional" - has_or_had_description: "Merger in progress between museum and archive, final type TBD" - description: Transitional status during organizational change + has_or_had_description: "Merger in progress between museum and archive, final type TBD" \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/Classroom.yaml b/schemas/20251121/linkml/modules/classes/Classroom.yaml index 1ae1bfbd08..9aa01818a4 100644 --- a/schemas/20251121/linkml/modules/classes/Classroom.yaml +++ b/schemas/20251121/linkml/modules/classes/Classroom.yaml @@ -27,31 +27,18 @@ classes: has_or_had_quantity: range: integer inlined: true - description: 'Number of classroom spaces in this facility. - ' examples: - value: 'numeric_value: 4 ' - description: 4 classroom spaces has_or_had_unit: range: string inlined: true - description: 'Unit specification for the count (classroom, seat, etc.). - ' examples: - value: 'unit_type: CLASSROOM ' - description: Counting classrooms attributes: seating_capacity: range: integer - description: Total seating capacity across all classrooms - av_equipped: - range: boolean - description: Whether classrooms have AV equipment - flexible_seating: - range: boolean - description: Whether seating can be reconfigured exact_mappings: - schema:Classroom close_mappings: @@ -64,23 +51,12 @@ classes: custodian_types: "['*']" examples: - value: - facility_name: Education Wing Classrooms - facility_description: Four fully-equipped classroom spaces for educational programs has_or_had_quantity: numeric_value: 4 has_or_had_unit: - unit_type: CLASSROOM seating_capacity: 120 - av_equipped: true - flexible_seating: true - description: Museum education center classroom facility - value: - facility_name: Archive Learning Rooms - facility_description: Two seminar rooms for genealogy and research workshops has_or_had_quantity: numeric_value: 2 has_or_had_unit: - unit_type: CLASSROOM - seating_capacity: 40 - av_equipped: true - description: Archive education classroom facility + seating_capacity: 40 \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/ClimateArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/ClimateArchiveRecordSetType.yaml index fe89bf00db..05c42388f8 100644 --- a/schemas/20251121/linkml/modules/classes/ClimateArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/ClimateArchiveRecordSetType.yaml @@ -20,7 +20,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -30,9 +29,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ClimateControl.yaml b/schemas/20251121/linkml/modules/classes/ClimateControl.yaml index 5c9650cc0f..d1b83a7c12 100644 --- a/schemas/20251121/linkml/modules/classes/ClimateControl.yaml +++ b/schemas/20251121/linkml/modules/classes/ClimateControl.yaml @@ -83,38 +83,24 @@ classes: slot_usage: has_or_had_label: - description: | - Name or identifier for this climate control system. range: string required: false examples: - value: "Main Stack HVAC System" - description: Named HVAC system - value: "Depot B Climate Control" - description: Named by location has_or_had_description: - description: | - Description of the climate control system capabilities. examples: - value: description_text: "Precision HVAC with temperature control ±1°C, humidity control ±3% RH. Redundant systems with automatic failover." description_type: technical - description: Detailed technical description has_or_had_type: range: uriorcurie required: true - description: | - Type of climate control (HEATED, HVAC, DEHUMIDIFIED, NONE, etc.). examples: - value: HVAC - description: Full heating/cooling system - value: HEATED - description: Heating only - value: DEHUMIDIFIED - description: Humidity control only - value: NONE - description: No climate control - annotations: custodian_types: '["*"]' custodian_types_rationale: Climate control applies to all heritage custodian types with physical facilities. @@ -135,18 +121,15 @@ classes: has_or_had_description: description_text: "Precision climate control with T=20±1°C, RH=50±3%. Redundant compressors, backup power, 24/7 monitoring." description_type: technical - description: Museum collection storage climate system - value: has_or_had_label: "Logistics Warehouse Heating" has_or_had_type: HEATED has_or_had_description: description_text: "Basic gas heating to prevent freezing. No humidity control." description_type: technical - description: Basic warehouse heating - value: has_or_had_label: "Photo Archive Dehumidifier" has_or_had_type: DEHUMIDIFIED has_or_had_description: description_text: "Portable dehumidifier maintaining RH below 50%." - description_type: technical - description: Dehumidification for photos + description_type: technical \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/ClimateControlPolicy.yaml b/schemas/20251121/linkml/modules/classes/ClimateControlPolicy.yaml index 0d8ba1b7d9..2f67d2e32a 100644 --- a/schemas/20251121/linkml/modules/classes/ClimateControlPolicy.yaml +++ b/schemas/20251121/linkml/modules/classes/ClimateControlPolicy.yaml @@ -83,33 +83,23 @@ classes: slot_usage: has_or_had_label: - description: | - Name of this climate control policy. range: string required: true examples: - value: "Archives Preservation Environment Standard" - description: Policy for archival storage has_or_had_description: - description: | - Detailed description of policy requirements. examples: - value: description_text: "Temperature must be maintained between 18-22°C with relative humidity 45-55%. Continuous monitoring required." description_type: policy - description: Preservation environment requirements regulates_or_regulated: range: ClimateControl - description: | - Climate control system(s) governed by this policy. inlined: true inlined_as_list: true examples: - value: has_or_had_label: "Main Stack HVAC" has_or_had_type: HVAC - description: HVAC system regulated by policy - annotations: custodian_types: '["A", "L", "M", "R"]' custodian_types_rationale: Climate policies primarily for archives, libraries, museums, and research centers with preservation needs. @@ -133,7 +123,6 @@ classes: has_or_had_type: HVAC - has_or_had_label: "Depot B HVAC System" has_or_had_type: HVAC - description: Museum collection storage climate policy - value: has_or_had_label: "Warehouse Basic Climate Requirements" has_or_had_description: @@ -141,5 +130,4 @@ classes: description_type: policy regulates_or_regulated: - has_or_had_label: "Logistics Warehouse Heating" - has_or_had_type: HEATED - description: Basic warehouse climate requirements + has_or_had_type: HEATED \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/ClimateControlType.yaml b/schemas/20251121/linkml/modules/classes/ClimateControlType.yaml index 646a994208..1068ee656d 100644 --- a/schemas/20251121/linkml/modules/classes/ClimateControlType.yaml +++ b/schemas/20251121/linkml/modules/classes/ClimateControlType.yaml @@ -69,24 +69,16 @@ classes: slot_usage: has_or_had_label: - description: | - Display label for this climate control type. range: string required: true examples: - value: "HVAC" - description: Heating, ventilation, air conditioning has_or_had_description: - description: | - Description of what this climate control type provides. examples: - value: description_text: "Full heating, ventilation, and air conditioning with temperature and humidity control." description_type: definition - description: HVAC type definition includes_or_included: - description: | - Subtypes included in this climate control type (for hierarchical types). range: ClimateControlType multivalued: true diff --git a/schemas/20251121/linkml/modules/classes/CoFunding.yaml b/schemas/20251121/linkml/modules/classes/CoFunding.yaml index b0564ed68a..881d0015c8 100644 --- a/schemas/20251121/linkml/modules/classes/CoFunding.yaml +++ b/schemas/20251121/linkml/modules/classes/CoFunding.yaml @@ -36,30 +36,14 @@ classes: is_or_was_required: required: true range: boolean - description: 'Whether co-funding is required for this funding opportunity. - - True = applicants must provide matching funds. - - False = full funding provided (no co-funding required). - - ' examples: - value: true - description: Co-funding required (e.g., 30% match) - value: false - description: Full funding provided (100% grant rate) has_or_had_description: range: string - description: 'Human-readable description of co-funding requirements. - - May include eligibility notes, in-kind contribution rules, etc. - - ' examples: - value: 30% co-funding required; in-kind contributions accepted up to 10% - description: Mixed co-funding with in-kind allowance - value: Partnership funding required ranging from 5% to 50% depending on grant size - description: Sliding scale co-funding has_or_had_quantity: range: integer multivalued: true @@ -68,15 +52,11 @@ classes: description: "Quantified co-funding requirements expressed as:\n- Percentage (e.g., 30% of total project cost)\n- Minimum amount (e.g., \u20AC50,000)\n- Maximum amount (e.g., up to \u20AC1,000,000)\n" examples: - value: - quantity_value: 30 has_or_had_measurement_unit: unit_label: '%' - description: 30% co-funding percentage - value: - quantity_value: 50000 has_or_had_measurement_unit: unit_label: EUR - description: "Minimum \u20AC50,000 co-funding" comments: - Replaces simple co_funding_required boolean with structured class - Captures both percentage and absolute co-funding amounts @@ -93,7 +73,6 @@ classes: - quantity_value: 30 has_or_had_measurement_unit: unit_label: '%' - description: EU Creative Europe style co-funding (30%) - value: is_or_was_required: true has_or_had_description: Partnership funding 5-50% depending on grant size; in-kind contributions permitted @@ -104,11 +83,9 @@ classes: - quantity_value: 50 has_or_had_measurement_unit: unit_label: '%' - description: NLHF sliding scale co-funding range - value: is_or_was_required: false has_or_had_description: 100% funding rate for academic and non-profit partners - description: Horizon Europe full funding (no co-funding) annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/CollectingArchivesRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/CollectingArchivesRecordSetType.yaml index eabe02b884..b9705a3de8 100644 --- a/schemas/20251121/linkml/modules/classes/CollectingArchivesRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/CollectingArchivesRecordSetType.yaml @@ -20,7 +20,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -30,9 +29,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Collection.yaml b/schemas/20251121/linkml/modules/classes/Collection.yaml index d85cb5191d..f16705e5c4 100644 --- a/schemas/20251121/linkml/modules/classes/Collection.yaml +++ b/schemas/20251121/linkml/modules/classes/Collection.yaml @@ -72,37 +72,27 @@ classes: - edm:ProvidedCHO related_mappings: slots: - - has_or_had_policy_reference - is_or_was_acquired_through - - has_arrangement - has_or_had_description - has_or_had_identifier - has_or_had_label - is_or_was_categorized_as - - has_or_had_curation_activity - custodial_history - has_or_had_type - is_or_was_instantiated_by - - extent - has_or_had_quantity - - has_or_had_finding_aid - item - is_or_was_sub_collection_of - part_of_custodian_collection - has_or_had_provenance - record_set_type - specificity_annotation - - has_or_had_sub_collection - is_or_was_categorized_as - has_or_had_score - has_or_had_content - temporal_extent slot_usage: has_or_had_identifier: - description: 'MIGRATED from collection_id per slot_fixes.yaml (Rule 53, 2026-01-18). - Unique identifier for this collection using Identifier class. - Use identifier_scheme: COLLECTION_URI for collection URI identifiers. - ' range: uriorcurie inlined: true required: true @@ -111,34 +101,20 @@ classes: range: DigitalInstantiation multivalued: true inlined: true - description: 'Digital surrogates (URL) or digitization status. - MIGRATED from digital_surrogate_url and digitization_status (2026-01-25). - ' examples: - value: has_or_had_status: has_or_had_label: PARTIAL has_or_had_url: url_value: https://www.nationaalarchief.nl/onderzoeken/archief/1.04.02/download - description: Partial digitization with download link has_or_had_label: - description: 'MIGRATED from collection_name per slot_fixes.yaml (Rule 53/56, 2026-01-18). - The name of this specific collection (e.g., "Records of the Dutch East India Company (VOC)"). - Uses Label class for structured labeling. - ' range: Label inlined: true required: true examples: - value: has_or_had_label: Records of the Dutch East India Company (VOC) - description: Archival fonds name has_or_had_description: - description: 'MIGRATED from collection_description per slot_fixes.yaml (Rule 53/56, 2026-01-18). - Narrative description of the collection''s contents, scope, and significance. - Uses Description class with description_type for type discrimination. - Use description_type: "collection_description" to indicate collection narrative format. - ' range: string inlined: true required: false @@ -148,57 +124,31 @@ classes: - value: description_text: The VOC archives comprise the administrative records of the Dutch East India Company from its founding in 1602 until its dissolution in 1799. The fonds includes correspondence, resolutions, journals, accounts, ship's logs, and maps documenting trade relations across Asia. description_type: collection_description - description: VOC archival fonds description record_set_type: range: uriorcurie examples: - value: rico:Fonds - description: Archival fonds - extent: - range: string - examples: - - value: 1,250 linear meters - description: Archival extent has_or_had_quantity: range: integer examples: - value: 125 - description: 125 artworks has_or_had_content: range: string multivalued: true inlined_as_list: true - description: 'Content scope of the collection including temporal, spatial, and topical coverage. - MIGRATED from temporal_coverage per slot_fixes.yaml (Rule 53/56, 2026-01-16). - Uses Content class which includes temporal_extent for time periods. - ' examples: - value: has_or_had_label: VOC Trade Records temporal_extent: begin_of_the_begin: '1602-01-01' end_of_the_end: '1799-12-31' - description: VOC records content with temporal coverage is_or_was_categorized_as: - description: 'MIGRATED from subject_area (2026-01-17) and collection_type_ref (2026-01-18) per slot_fixes.yaml (Rule 53/56). - Unified categorization slot for: - 1. Collection type classification (CollectionType instances) - REQUIRED - 2. Subject area categorization (string values) - OPTIONAL - Uses polymorphic range (uriorcurie) allowing both CollectionType references and subject strings. - The first value SHOULD be a CollectionType for RiC-O RecordSetType alignment. - ' range: uriorcurie multivalued: true required: true examples: - value: https://nde.nl/ontology/hc/collection-type/fonds - description: Archival fonds (CollectionType) has_or_had_provenance: - description: 'Narrative provenance description for this collection. - MIGRATED from provenance_statement per slot_fixes.yaml (Rule 53/56, 2026-01-18). - Uses Provenance class with has_or_had_description for text content. - Use description_type: "provenance_statement" to indicate RiC-O history format. - ' required: false range: Provenance inlined: true @@ -207,7 +157,6 @@ classes: has_or_had_description: - description_text: The VOC archives were transferred to the Dutch state upon the company's dissolution in 1799. They were initially held by the Ministry of Colonies, then transferred to the Algemeen Rijksarchief (now Nationaal Archief) in 1856. description_type: provenance_statement - description: VOC archives provenance narrative custodial_history: range: string multivalued: true @@ -217,12 +166,7 @@ classes: - Ministry of Colonies (1799-1856) - Algemeen Rijksarchief (1856-2002) - Nationaal Archief (2002-present) - description: VOC records custodial history is_or_was_acquired_through: - description: 'Acquisition event for this collection. - MIGRATED from has_acquisition_source, has_acquisition_method, has_acquisition_date per Rule 53. - Uses AcquisitionEvent class. - ' range: AcquisitionEvent multivalued: true inlined: true @@ -234,57 +178,14 @@ classes: has_or_had_label: TRANSFER temporal_extent: begin_of_the_begin: '1856-01-01' - description: Source of VOC archives transfer has_or_had_policy: range: string examples: - value: https://nde.nl/ontology/hc/access-policy/open-access - description: Publicly accessible - has_arrangement: - range: string - examples: - - value: Organized by provenance, then chronologically within each creating office - description: Archival has_arrangement - has_or_had_finding_aid: - range: FindingAid - multivalued: true - inlined_as_list: true - examples: - - value: - - finding_aid_id: https://nde.nl/finding-aid/voc-inventory - title: VOC Inventory - finding_aid_type_ref: ArchivalInventory - url: https://www.nationaalarchief.nl/onderzoeken/archief/1.04.02 - description: VOC finding aid - digitization_status: - range: string - examples: - - value: PARTIAL - description: 30% digitized - digital_surrogate_url: - range: uri - multivalued: true - examples: - - value: https://www.nationaalarchief.nl/onderzoeken/archief/1.04.02/download - description: Digital scans of VOC records is_or_was_sub_collection_of: range: Collection - description: 'Parent collection in hierarchical arrangement. - MIGRATED from parent_collection slot per slot_fixes.yaml (Rule 53, 2025-01-15). - ' examples: - value: https://nde.nl/ontology/hc/collection/nationaal-archief-voc-fonds - description: Series within VOC fonds - has_or_had_sub_collection: - range: Collection - multivalued: true - inlined_as_list: true - examples: - - value: - - has_or_had_label: - has_or_had_label: Hoge Regering Batavia - collection_type_ref: series - description: Series within VOC fonds item: range: ExhibitedObject multivalued: true @@ -292,32 +193,18 @@ classes: examples: - value: - https://nde.nl/ontology/hc/object/mauritshuis-girl-pearl-earring - description: Paintings in Mauritshuis collection - has_or_had_curation_activity: - range: CurationActivity - multivalued: true - inlined: false - examples: - - value: - - https://nde.nl/ontology/hc/activity/nationaal-archief-voc-digitization-2024 - description: Curation activities for VOC fonds part_of_custodian_collection: range: CustodianCollection required: true examples: - value: https://nde.nl/ontology/hc/custodian-collection/nationaal-archief - description: Part of Nationaal Archief's overall collection temporal_extent: - description: 'Collection validity period using CIDOC-CRM TimeSpan. - MIGRATED from valid_from + valid_to per slot_fixes.yaml (Rule 53). - ' range: TimeSpan inlined: true required: false examples: - value: begin_of_the_begin: '1856-01-01' - description: Collection acquired in 1856 (no end date) has_or_had_type: equals_expression: '["hc:GalleryType", "hc:LibraryType", "hc:ArchiveOrganizationType", "hc:MuseumType", "hc:BioCustodianType", "hc:HolySacredSiteType"]' comments: @@ -336,7 +223,6 @@ classes: examples: - value: has_or_had_identifier: - identifier_scheme: COLLECTION_URI identifier_value: https://nde.nl/ontology/hc/collection/nationaal-archief-voc-fonds has_or_had_label: has_or_had_label: Records of the Dutch East India Company (VOC) @@ -344,7 +230,6 @@ classes: - description_text: The VOC archives comprise the administrative records of the Dutch East India Company from its founding in 1602 until its dissolution in 1799. description_type: collection_description record_set_type: rico:Fonds - extent: 1,250 linear meters has_or_had_content: is_or_was_categorized_as: - https://nde.nl/ontology/hc/collection-type/fonds @@ -363,20 +248,7 @@ classes: temporal_extent: begin_of_the_begin: '1856-01-01' has_or_had_policy: 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 - title: Inventory of the Records of the Dutch East India Company (VOC) - finding_aid_type_ref: ArchivalInventory - url: https://www.nationaalarchief.nl/onderzoeken/archief/1.04.02 - format: - - EAD - - HTML - language: - - nl - - en part_of_custodian_collection: https://nde.nl/ontology/hc/custodian-collection/nationaal-archief - description: VOC archival fonds at Nationaal Archief annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/CollectionContent.yaml b/schemas/20251121/linkml/modules/classes/CollectionContent.yaml index 0f81a55abd..09c5c7cbf2 100644 --- a/schemas/20251121/linkml/modules/classes/CollectionContent.yaml +++ b/schemas/20251121/linkml/modules/classes/CollectionContent.yaml @@ -30,19 +30,7 @@ classes: range: uriorcurie multivalued: true inlined: true - description: 'Type(s) of content in this collection. - Uses CollectionContentType taxonomy (Archival, Library, Art, etc.). - ' attributes: - content_description: - range: string - description: Free-text description of the collection content - content_extent: - range: string - description: Extent/size of this content (e.g., "500 linear meters", "10,000 items") - content_date_range: - range: string - description: Date range covered by this content (e.g., "1500-1900") exact_mappings: - rico:RecordResource close_mappings: @@ -54,20 +42,13 @@ classes: custodian_types: "['*']" examples: - value: - content_description: Medieval manuscripts and parish registers from 14th-18th century - content_extent: 2,500 volumes - content_date_range: 1350-1800 has_or_had_type: - type_label: Archival - type_label: Library - description: Church archive with mixed archival and library content - value: - content_description: Religious art including icons, paintings, and stained glass - content_extent: 450 objects has_or_had_type: - type_label: Art - type_label: Liturgical - description: Cathedral treasury art collection comments: - Created per slot_fixes.yaml migration (2026-01-19) - 'RULE 53: Replaces collection_type string slot with structured model' diff --git a/schemas/20251121/linkml/modules/classes/CollectionEvent.yaml b/schemas/20251121/linkml/modules/classes/CollectionEvent.yaml index 20fcffed7e..43f0e4adbc 100644 --- a/schemas/20251121/linkml/modules/classes/CollectionEvent.yaml +++ b/schemas/20251121/linkml/modules/classes/CollectionEvent.yaml @@ -79,9 +79,6 @@ classes: - value: Coral reef, depth 15m slot_usage: has_or_had_place: - description: 'Structured location where specimen was collected. MIGRATED from collection_location per slot_fixes.yaml (Rule 53, 2026-01-19). - - Uses CustodianPlace for detailed location including coordinates.' range: CustodianPlace inlined: true examples: @@ -91,42 +88,26 @@ classes: latitude: -20.2 longitude: 57.5 temporal_extent: - description: Time period when collection occurred. Supports exact dates, ranges, and approximate periods. range: TimeSpan inlined: true examples: - value: begin_of_the_begin: '2020-06-15' end_of_the_end: '2020-06-15' - description: Exact date - value: begin_of_the_begin: '1870-01-01' end_of_the_end: '1879-12-31' - notes: 1870s - description: Approximate decade has_or_had_provenance: - description: Provenance of this collection event record. range: ProvenanceBlock inlined: true is_or_was_acquired_by: - description: 'Person(s) who collected the specimen. MIGRATED from collector attribute per slot_fixes.yaml (Rule 53, 2026-01-22). - - Uses Agent class for structured representation with name, type, and role. Maps to dwc:recordedBy via Agent.' range: Agent multivalued: true inlined: true inlined_as_list: true examples: - value: - agent_name: Alfred Russel Wallace - agent_type: person - agent_role: collector - description: Victorian naturalist collector - value: - agent_name: Charles Darwin - agent_type: person - agent_role: collector - description: HMS Beagle expedition collector comments: - Created 2026-01-19 from collection_location migration (Rule 53) - "2026-01-22: collector attribute \u2192 is_or_was_acquired_by slot + Agent class (Rule 53)" @@ -154,12 +135,8 @@ classes: temporal_extent: begin_of_the_begin: '1600-01-01' end_of_the_end: '1662-12-31' - notes: Pre-1662 (before extinction) is_or_was_acquired_by: - agent_name: Unknown Dutch sailor - agent_type: person - agent_role: collector - description: Historical Dodo collection event - value: has_or_had_identifier: https://nde.nl/ontology/hc/event/wallace-java-1234 has_or_had_place: @@ -172,10 +149,4 @@ classes: begin_of_the_begin: '1854-06-01' end_of_the_end: '1854-06-30' is_or_was_acquired_by: - - agent_name: Alfred Russel Wallace - agent_type: person - agent_role: collector - field_number: ARW-1234 - sampling_protocol: Hand collection - habitat_description: Montane forest, 1500m elevation - description: Wallace collection in Java + - agent_name: Alfred Russel Wallace \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/CollectionManagementSystem.yaml b/schemas/20251121/linkml/modules/classes/CollectionManagementSystem.yaml index 05dea334c3..67d8bc7c8a 100644 --- a/schemas/20251121/linkml/modules/classes/CollectionManagementSystem.yaml +++ b/schemas/20251121/linkml/modules/classes/CollectionManagementSystem.yaml @@ -83,14 +83,11 @@ classes: - has_or_had_version - has_or_had_type - is_or_was_deployed_at - - documentation_url - - iiif_compatible - license - linked_data_export - manages_collection - open_source - powers_platform - - programming_language - refers_to_custodian - repository_url - specificity_annotation @@ -104,94 +101,43 @@ classes: - is_or_was_generated_by slot_usage: has_or_had_identifier: - description: 'MIGRATED from cms_id per slot_fixes.yaml (Rule 53, 2026-01-18). - Unique identifier for the CMS deployment. - Uses Identifier class for structured representation with scheme and value. - The identifier scheme should be "CMS_URI" and value should be the full URI. - ' range: uriorcurie inlined: true required: true identifier: true examples: - value: - identifier_scheme: CMS_URI identifier_value: https://nde.nl/ontology/hc/cms/rijksmuseum-adlib - description: Rijksmuseum's Adlib deployment - value: - identifier_scheme: CMS_URI identifier_value: https://nde.nl/ontology/hc/cms/nationaal-archief-mais - description: National Archives MAIS deployment has_or_had_version: - description: 'MIGRATED from cms_product_version per slot_fixes.yaml (Rule 53, 2026-01-19). - Version of the CMS software deployed. - Uses Version class for structured version representation: - - version_string: Full version (e.g., "1.8.0", "7.4") - - major_version, minor_version, patch_version: Semantic versioning components - - release_date: When this version was released - - temporal_extent: When this version was deployed at the custodian - ' range: Version multivalued: true inlined_as_list: true examples: - value: - version_string: 1.8.0 - major_version: 1 - minor_version: 8 - patch_version: 0 - description: CollectiveAccess version with semantic components - value: - version_string: '7.4' - major_version: 7 - minor_version: 4 - description: MuseumPlus version has_or_had_type: - description: 'MIGRATED from cms_category per slot_fixes.yaml (Rule 53, 2026-01-19). - The type of collection management system. - Uses CMSType class hierarchy for structured type representation: - - MuseumCMS: Museum-focused collection management (e.g., TMS, CollectiveAccess) - - ArchiveCMS: Archives-focused (e.g., ArchivesSpace, MAIS-Flexis) - - LibraryCMS: Library-focused (e.g., Koha, Alma) - - DigitalAssetManagement: DAM systems (e.g., ResourceSpace) - - DigitalRepository: Repository platforms (e.g., DSpace, Fedora) - - MixedCMS: Multi-domain systems - - CustomCMS: Institution-specific systems - ' range: CMSType inlined: true examples: - value: has_or_had_label: Museum CMS has_or_had_type: museum_cms - description: Museum-focused CMS - value: has_or_had_label: Archive CMS has_or_had_type: archive_cms - description: Archives-focused CMS open_source: range: boolean examples: - value: true - description: Open-source CMS - value: false - description: Proprietary CMS license: range: string examples: - value: GPL-3.0 - description: GNU GPL v3 license - value: Proprietary - description: Commercial license has_or_had_label: - description: 'Labels for the CMS, including vendor name and product name. - **MIGRATED 2026-01-18**: Now covers BOTH vendor_name AND cms_product_name. - Uses Label class with has_or_had_type for discrimination: - - has_or_had_type: "vendor_name" - Name of the CMS vendor/developer - - has_or_had_type: "product_name" - Name of the CMS software product - MIGRATED from vendor_name per slot_fixes.yaml (Rule 53, 2026-01-14). - MIGRATED from cms_product_name per slot_fixes.yaml (Rule 53, 2026-01-18). - ' range: Label inlined: true inlined_as_list: true @@ -200,23 +146,16 @@ classes: - value: has_or_had_label: CollectiveAccess has_or_had_type: product_name - description: CMS product name - value: has_or_had_label: Whirl-i-Gig has_or_had_type: vendor_name - description: CMS vendor/developer name - value: has_or_had_label: MuseumPlus has_or_had_type: product_name - description: Zetcom CMS product name - value: has_or_had_label: Zetcom AG has_or_had_type: vendor_name - description: MuseumPlus developer has_or_had_url: - description: 'Website URL of the CMS vendor/developer. - MIGRATED from vendor_url per slot_fixes.yaml (Rule 53). - ' range: uri inlined: true multivalued: true @@ -224,105 +163,50 @@ classes: - value: url_value: https://www.collectiveaccess.org/ url_type: vendor - description: CollectiveAccess website - value: url_value: https://www.zetcom.com/ url_type: vendor - description: Zetcom website - documentation_url: - range: uri - examples: - - value: https://manual.collectiveaccess.org/ - description: CollectiveAccess documentation - programming_language: - range: string - multivalued: true - examples: - - value: PHP - description: Server-side language - value: JavaScript - description: Frontend language repository_url: range: uri examples: - value: https://github.com/collectiveaccess/providence - description: CollectiveAccess GitHub repo - value: https://github.com/archivesspace/archivesspace - description: ArchivesSpace GitHub repo has_or_had_standard: range: string multivalued: true inlined_as_list: true - description: 'Metadata standards supported by this CMS. - MIGRATED from supported_metadata_standard slot per slot_fixes.yaml (Rule 53/56, 2026-01-16). - Uses MetadataStandard class for structured standard representation including: - - Standard name - - Standard URI - - Standard type - ' examples: - value: - standard_name: Dublin Core standard_uri: http://purl.org/dc/elements/1.1/ - description: Dublin Core metadata standard - value: - standard_name: LIDO standard_uri: http://www.lido-schema.org/ - description: LIDO museum object standard - value: - standard_name: EAD standard_uri: http://www.loc.gov/ead/ - description: Encoded Archival Description standard - iiif_compatible: - range: boolean - examples: - - value: true - description: IIIF compatible linked_data_export: range: boolean examples: - value: true - description: Supports LOD export is_or_was_available: - description: Whether this CMS provides API access (REST, GraphQL, OAI-PMH, SPARQL, SRU/SRW) range: boolean examples: - value: true - description: API available powers_platform: range: DigitalPlatform multivalued: true examples: - value: https://nde.nl/ontology/hc/platform/rijksmuseum-website - description: Platform powered by this CMS manages_collection: range: CustodianCollection multivalued: true examples: - value: https://nde.nl/ontology/hc/collection/rm-paintings - description: Collection managed by this CMS is_or_was_used_by: range: Custodian multivalued: true - description: 'Custodians that use or used this CMS. - MIGRATED 2026-01-14: Replaces used_by_custodian slot. - ' examples: - value: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Rijksmuseum uses this CMS - deployment_date: - description: 'DEPRECATED 2026-01-25: Migrated to is_or_was_deployed_at slot with DeploymentEvent class. - See is_or_was_deployed_at slot_usage for current pattern. - ' - deprecated: Use is_or_was_deployed_at with DeploymentEvent class is_or_was_deployed_at: - description: 'MIGRATED from deployment_date per slot_fixes.yaml (Rule 53, 2026-01-25). - Deployment events for this CMS. Uses DeploymentEvent class which includes: - - temporal_extent: TimeSpan with fuzzy boundaries for deployment date - - refers_to_custodian: Institution where deployment occurred - - description: Deployment notes and context - Enables tracking multiple deployments (initial, upgrades, re-deployments). - ' range: DeploymentEvent multivalued: true inlined_as_list: true @@ -335,14 +219,12 @@ classes: refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 has_or_had_description: has_or_had_text: Initial deployment of Adlib CMS - description: Rijksmuseum Adlib deployment (migrated from deployment_date) temporal_extent: range: TimeSpan examples: - value: begin_of_the_begin: '2015-06-01' end_of_the_end: null - description: Active since June 2015 is_or_was_derived_from: range: CustodianObservation multivalued: true @@ -355,7 +237,6 @@ classes: required: true examples: - value: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Rijksmuseum custodian hub comments: - CMS represents SOFTWARE PRODUCT deployed at institution - DigitalPlatform represents WEB INTERFACE powered by CMS @@ -371,12 +252,8 @@ classes: examples: - value: has_or_had_identifier: - identifier_scheme: CMS_URI identifier_value: https://nde.nl/ontology/hc/cms/rijksmuseum-adlib has_or_had_version: - version_string: '7.4' - major_version: 7 - minor_version: 4 has_or_had_type: MuseumCMS open_source: false license: Proprietary @@ -395,7 +272,6 @@ classes: standard_uri: http://purl.org/dc/elements/1.1/ - standard_name: LIDO standard_uri: http://www.lido-schema.org/ - iiif_compatible: true linked_data_export: true is_or_was_available: true powers_platform: @@ -410,16 +286,10 @@ classes: end_of_the_end: '2015-06-01' has_or_had_description: has_or_had_text: Initial deployment of Adlib CMS at Rijksmuseum - description: Rijksmuseum Adlib CMS deployment - value: has_or_had_identifier: - identifier_scheme: CMS_URI identifier_value: https://nde.nl/ontology/hc/cms/example-museum-collectiveaccess has_or_had_version: - version_string: 1.8.0 - major_version: 1 - minor_version: 8 - patch_version: 0 has_or_had_type: MuseumCMS open_source: true license: GPL-3.0 @@ -432,10 +302,6 @@ classes: url_value: https://www.collectiveaccess.org/ url_type: vendor documentation_url: https://manual.collectiveaccess.org/ - programming_language: - - PHP - - JavaScript - - MySQL repository_url: https://github.com/collectiveaccess/providence has_or_had_standard: - standard_name: Dublin Core @@ -444,14 +310,11 @@ classes: standard_uri: http://www.vraweb.org/vracore/ - standard_name: LIDO standard_uri: http://www.lido-schema.org/ - iiif_compatible: true linked_data_export: true is_or_was_available: true refers_to_custodian: https://nde.nl/ontology/hc/example-museum - description: Open-source CollectiveAccess deployment - value: has_or_had_identifier: - identifier_scheme: CMS_URI identifier_value: https://nde.nl/ontology/hc/cms/nationaal-archief-mais has_or_had_type: ArchiveCMS open_source: false @@ -468,13 +331,11 @@ classes: standard_uri: http://www.loc.gov/ead/ - standard_name: MDTO standard_uri: https://www.nationaalarchief.nl/mdto - iiif_compatible: false linked_data_export: false is_or_was_available: true manages_collection: - https://nde.nl/ontology/hc/collection/na-government-records refers_to_custodian: https://nde.nl/ontology/hc/nl-na - description: Dutch National Archives MAIS-Flexis deployment annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/CollectionType.yaml b/schemas/20251121/linkml/modules/classes/CollectionType.yaml index ff6c645e31..85086db861 100644 --- a/schemas/20251121/linkml/modules/classes/CollectionType.yaml +++ b/schemas/20251121/linkml/modules/classes/CollectionType.yaml @@ -49,7 +49,6 @@ classes: - dcterms:DCMIType slots: - has_or_had_hypernym - - has_or_had_collection_narrower_type - has_or_had_description - has_or_had_identifier - has_or_had_label @@ -61,43 +60,25 @@ classes: - is_or_was_equivalent_to slot_usage: has_or_had_identifier: - description: 'MIGRATED from collection_type_id per slot_fixes.yaml (Rule 53, 2026-01-18). - Unique identifier for this collection type using Identifier class. - Use identifier_scheme: COLLECTION_TYPE_URI for collection type URI identifiers. - ' range: uriorcurie inlined: true required: true identifier: true examples: - value: - identifier_scheme: COLLECTION_TYPE_URI identifier_value: https://nde.nl/ontology/hc/collection-type/fonds - description: Archival fonds type has_or_had_label: - description: 'MIGRATED from collection_type_name per slot_fixes.yaml (Rule 53/56, 2026-01-18). - The human-readable name/label of this collection type (e.g., "Fonds", "Special Collection"). - Uses Label class for structured labeling with optional type discrimination. - ' range: Label inlined: true required: true examples: - value: has_or_had_label: Fonds - description: Archival fonds - value: has_or_had_label: Special Collection - description: Library special collection - value: has_or_had_label: Named Collection - description: Museum named collection has_or_had_description: - description: 'MIGRATED from collection_type_description per slot_fixes.yaml (Rule 53/56, 2026-01-18). - Definition of this collection type. - Maps to skos:definition for formal definition of a controlled vocabulary term. - Uses Description class with description_type: "collection_type_description". - ' range: string inlined: true required: false @@ -105,16 +86,12 @@ classes: - value: description_text: A fonds is a group of documents of any nature brought together by virtue of being accumulated by the same creator in the exercise of their activities and functions. description_type: collection_type_description - description: Fonds definition (ISAD(G)) record_equivalent: range: uriorcurie examples: - value: rico:Fonds - description: RiC-O Fonds - value: rico:Series - description: RiC-O Series - value: rico:Collection - description: RiC-O Collection (assembled) is_or_was_equivalent_to: range: string pattern: ^Q[0-9]+$ @@ -124,10 +101,6 @@ classes: - value: Q185583 description: 'Wikidata equivalent: archive collection' has_or_had_hypernym: - description: 'MIGRATED from collection_broader_type per slot_fixes.yaml (Rule 53, 2026-01-19). - Parent type in hierarchy using Hypernym class. - Maps to skos:broader for hierarchical relationship. - ' range: Hypernym inlined: true examples: @@ -135,34 +108,15 @@ classes: hypernym_uri: https://nde.nl/ontology/hc/collection-type/archival-record-set-type has_or_had_label: - label_text: Archival Record Set Type - description: SERIES broader type is ArchivalRecordSetType - has_or_had_collection_narrower_type: - range: CollectionType - multivalued: true - examples: - - value: - - https://nde.nl/ontology/hc/collection-type/series - - https://nde.nl/ontology/hc/collection-type/sub-series - description: FONDS narrower types has_or_had_domain: range: Domain inlined: true multivalued: true - description: 'Domain context for this collection type. - MIGRATED from domain_context string (2026-01-26). - ' examples: - value: - domain_name: ARCHIVE has_or_had_type: - type_name: Heritage Domain - description: FONDS is archival domain - value: - domain_name: LIBRARY - description: SPECIAL_COLLECTION is library domain - value: - domain_name: MUSEUM - description: NAMED_COLLECTION is museum domain has_or_had_type: equals_expression: '["*"]' comments: @@ -177,7 +131,6 @@ classes: examples: - value: has_or_had_identifier: - identifier_scheme: COLLECTION_TYPE_URI identifier_value: https://nde.nl/ontology/hc/collection-type/fonds has_or_had_label: has_or_had_label: Fonds @@ -188,13 +141,10 @@ classes: is_or_was_equivalent_to: wikidata:Q1643722 has_or_had_domain: - domain_name: ARCHIVE - has_or_had_collection_narrower_type: - https://nde.nl/ontology/hc/collection-type/series - https://nde.nl/ontology/hc/collection-type/sub-fonds - description: Archival fonds collection type - value: has_or_had_identifier: - identifier_scheme: COLLECTION_TYPE_URI identifier_value: https://nde.nl/ontology/hc/collection-type/special-collection has_or_had_label: has_or_had_label: Special Collection @@ -203,7 +153,6 @@ classes: description_type: collection_type_description has_or_had_domain: - domain_name: LIBRARY - description: Library special collection type annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ColonialStatus.yaml b/schemas/20251121/linkml/modules/classes/ColonialStatus.yaml index 52a5725d9c..8c5ae7f61b 100644 --- a/schemas/20251121/linkml/modules/classes/ColonialStatus.yaml +++ b/schemas/20251121/linkml/modules/classes/ColonialStatus.yaml @@ -139,64 +139,32 @@ classes: - value: dependency slot_usage: has_or_had_label: - description: 'Display label for the colonial status. - - MIGRATION: Used for simple string representation of colonial territory name. - - ' range: string examples: - value: Dutch East Indies (1602-1949) temporal_extent: - description: 'Time period of colonial relationship. - - - Use CIDOC-CRM TimeSpan for precise temporal modeling. - - ' range: TimeSpan inlined: true examples: - value: begin_of_the_begin: '1602-01-01' end_of_the_end: '1949-12-27' - description: Dutch colonial period in Indonesia (VOC founding to sovereignty transfer) examples: - value: - territory_name: Dutch East Indies - colonizing_power: Netherlands - modern_equivalent: - - ID - status_type: colony has_or_had_label: Dutch East Indies (1602-1949) temporal_extent: begin_of_the_begin: '1602-03-20' end_of_the_end: '1949-12-27' - description: Dutch colonial Indonesia - VOC founding to sovereignty transfer - value: - territory_name: Suriname - colonizing_power: Netherlands - modern_equivalent: - - SR - status_type: colony has_or_had_label: Dutch Suriname (1667-1975) temporal_extent: begin_of_the_begin: '1667-01-01' end_of_the_end: '1975-11-25' - description: Dutch colonial Suriname - value: - territory_name: Netherlands Antilles - colonizing_power: Netherlands - modern_equivalent: - - CW - - SX - - BQ - status_type: overseas territory has_or_had_label: Netherlands Antilles (1954-2010) temporal_extent: begin_of_the_begin: '1954-01-01' end_of_the_end: '2010-10-10' - description: "Former Netherlands Antilles (now Cura\xE7ao, Sint Maarten, Caribbean Netherlands)" comments: - Created per slot_fixes.yaml migration from colonial slot (2026-01-22) - Models colonial territories with temporal and geographic context diff --git a/schemas/20251121/linkml/modules/classes/ComarcalArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/ComarcalArchiveRecordSetType.yaml index 2c0c9f7e8e..1c1ed81ff3 100644 --- a/schemas/20251121/linkml/modules/classes/ComarcalArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/ComarcalArchiveRecordSetType.yaml @@ -20,7 +20,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -30,9 +29,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Comment.yaml b/schemas/20251121/linkml/modules/classes/Comment.yaml index d3d94210c2..3d4f110ece 100644 --- a/schemas/20251121/linkml/modules/classes/Comment.yaml +++ b/schemas/20251121/linkml/modules/classes/Comment.yaml @@ -41,39 +41,22 @@ classes: description: Number of likes on the comment slot_usage: has_or_had_content: - description: 'MIGRATED from comment_text per slot_fixes.yaml (Rule 53/56, 2026-01-18). - - Text content of the comment. - - Uses Content class with has_or_had_description for the actual text. - - ' range: string inlined: true required: true examples: - value: has_or_had_description: Great video about the collection! - description: Comment text using Content class has_or_had_author: - description: 'MIGRATED from comment_author per slot_fixes.yaml (Rule 53, 2026-01-18). - - Author of the comment. - - Uses Author class for structured author representation. - - ' range: Author inlined: true required: false examples: - value: has_or_had_name: Visitor123 - description: Comment author using Author class - value: has_or_had_name: MuseumFan2024 has_or_had_identifier: https://youtube.com/channel/UC123 - description: Comment author with channel identifier exact_mappings: - schema:Comment annotations: @@ -86,5 +69,4 @@ classes: has_or_had_description: Great video about the collection! has_or_had_author: has_or_had_name: Visitor123 - comment_date: '2025-01-14T10:30:00Z' - description: User comment on video + comment_date: '2025-01-14T10:30:00Z' \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/CommentReply.yaml b/schemas/20251121/linkml/modules/classes/CommentReply.yaml index ff577fffff..6354342cb2 100644 --- a/schemas/20251121/linkml/modules/classes/CommentReply.yaml +++ b/schemas/20251121/linkml/modules/classes/CommentReply.yaml @@ -113,9 +113,6 @@ classes: slot_usage: has_or_had_quantity: - description: | - Structured quantity for the reply count. - Use Quantity class with numeric_value and has_or_had_unit. range: integer inlined: true required: false @@ -124,52 +121,30 @@ classes: numeric_value: 5 has_or_had_unit: unit_label: "replies" - description: 5 replies using Quantity class - has_or_had_unit: - description: | - Unit for the reply type (replies, responses, etc.). - Can be specified directly or via has_or_had_quantity.has_or_had_unit. range: string inlined: true required: false examples: - value: unit_label: "replies" - description: Replies unit - temporal_extent: - description: | - Time when the reply count was observed/recorded. range: TimeSpan inlined: true required: false examples: - value: begin_of_the_begin: "2025-01-14T10:00:00Z" - description: Observation timestamp - examples: - value: - reply_count: 5 - description: Simple reply count (minimal) - - value: - reply_count: 5 - reply_type: "comment_reply" has_or_had_quantity: numeric_value: 5 has_or_had_unit: unit_label: "replies" temporal_extent: begin_of_the_begin: "2025-01-14T10:00:00Z" - description: Full structured reply count with timestamp - - value: - reply_count: 0 - reply_type: "comment_reply" - description: Comment with no replies - comments: - Created 2026-01-22 from comment_reply_count migration (Rule 53) - Models reply metrics as structured data diff --git a/schemas/20251121/linkml/modules/classes/CommercialCustodianTypes.yaml b/schemas/20251121/linkml/modules/classes/CommercialCustodianTypes.yaml index e158f39047..5fedec4543 100644 --- a/schemas/20251121/linkml/modules/classes/CommercialCustodianTypes.yaml +++ b/schemas/20251121/linkml/modules/classes/CommercialCustodianTypes.yaml @@ -114,38 +114,17 @@ classes: - value: Brand Heritage Center slot_usage: has_or_had_label: - description: 'Display label for the commercial custodian type collection. - - ' examples: - value: Auction Houses and Art Dealers has_or_had_identifier: - description: 'Wikidata or other identifier for this type. - - ' examples: - value: - identifier_scheme: wikidata - identifier_value: Q1078426 examples: - value: - subtype_code: - - AUCTION_HOUSE - subtype_label: Auction House wikidata_qid: wd:Q1078426 - description: Auction house type - value: - subtype_code: - - CORPORATE_ARCHIVE - subtype_label: Corporate Archive wikidata_qid: wd:Q17537576 - description: Corporate archive type - value: - subtype_code: - - ART_DEALER - - GALLERY - subtype_label: Art Dealer/Gallery - description: Combined art dealer and gallery type comments: - Created 2026-01-22 from commercial_custodian_subtype migration (Rule 53) - Follows Type/Types naming pattern (Rule 0b) diff --git a/schemas/20251121/linkml/modules/classes/CommercialOrganizationType.yaml b/schemas/20251121/linkml/modules/classes/CommercialOrganizationType.yaml index cfbdfe4524..7eaa2967b8 100644 --- a/schemas/20251121/linkml/modules/classes/CommercialOrganizationType.yaml +++ b/schemas/20251121/linkml/modules/classes/CommercialOrganizationType.yaml @@ -167,8 +167,6 @@ classes: - includes_or_included - corporate_integration - has_or_had_type - - heritage_holding - - public_access - specificity_annotation - has_or_had_score slot_usage: @@ -176,151 +174,87 @@ classes: range: string inlined: true required: true - description: How the commercial heritage operation is funded and generates revenue. Describes funding structure, ownership, profitability, business function. examples: - value: has_or_had_label: For-profit brand attraction has_or_had_description: Admission fees, Merchandise sales, Event rental - description: Heineken Experience model - value: has_or_had_label: Corporate archive has_or_had_description: Parent company funded, Internal research and compliance - description: Ford Motor archive model - value: has_or_had_label: Brand heritage center has_or_had_description: Event rental, Hospitality, Tourism revenue - description: Coca-Cola World of Coke model collects_or_collected: range: Collection inlined: true inlined_as_list: true required: false - description: 'What the commercial organization collects for heritage purposes. MIGRATED from collection_purpose per slot_fixes.yaml (Rule 53, 2026-01-19). - Uses Collection class with has_or_had_rationale for purpose documentation.' examples: - value: collection_name: Brand Heritage Collection has_or_had_rationale: rationale_text: Brand communication, Consumer engagement, Tourism, Identity rationale_category: marketing - description: Heineken Experience purpose - value: collection_name: Corporate Archive has_or_had_rationale: rationale_text: Legal record-keeping, Product history, IP documentation rationale_category: compliance - description: Ford Motor archive purpose - value: collection_name: Innovation Archive has_or_had_rationale: rationale_text: Corporate culture, Brand storytelling, Innovation rationale_category: corporate_culture - description: IBM archive purpose has_or_had_rationale: range: string inlined: true required: true - description: Why the commercial organization maintains heritage collections. Documents corporate motivations (marketing, compliance, culture, etc.). examples: - value: rationale_text: Brand heritage communication, Consumer engagement rationale_category: marketing - description: Marketing-driven heritage purpose - value: rationale_text: Legal compliance, IP documentation rationale_category: compliance - description: Compliance-driven heritage purpose includes_or_included: - description: 'MIGRATED from commercial_custodian_subtype per slot_fixes.yaml (Rule 53, 2026-01-22). - Specific subtypes of commercial heritage custodian from the 295-type Wikidata taxonomy. - Uses CommercialCustodianTypes class for structured representation with Wikidata links. - ' range: CommercialCustodianTypes inlined: true inlined_as_list: true required: false examples: - value: - subtype_code: - - AUCTION_HOUSE - subtype_label: Auction House wikidata_qid: wd:Q1078426 - description: Christie's, Sotheby's type - value: - subtype_code: - - CORPORATE_ARCHIVE - subtype_label: Corporate Archive wikidata_qid: wd:Q17537576 - description: Ford Motor Archives type - value: - subtype_code: - - ART_DEALER - subtype_label: Art Dealer - description: Gagosian type corporate_integration: range: string required: true examples: - value: Fully owned by Heineken N.V., Marketing dept, Brand - description: Heineken Experience integration - value: Separate foundation, Independent board, Endowment - description: Ford Foundation archive integration - value: Records department, Legal division, Compliance - description: Corporate archive integration - public_access: - range: string - required: true - examples: - - value: Daily 10:30-19:30, Paid admission, Self-guided, Bookings - description: Heineken Experience access - value: Appointment-only, Free for researchers, Advance booking - description: Ford archive access - value: Corporate guests only, Escorted tours, Business hours - description: Private company museum access - heritage_holding: - range: string - multivalued: true - required: true - examples: - - value: Brewing equipment (1867-present), Advertising, Bottles - description: Heineken Experience holdings - value: Vehicle prototypes, Engineering drawings, Patents - description: Ford Motor holdings - value: Perfume formulas, Bottle designs, Fashion sketches - description: Chanel archive holdings has_or_had_service: range: string inlined: true multivalued: true required: false - description: Revenue-generating commercial services offered by the organization. Uses Service class with CommercialService type for structured representation. examples: - value: - service_name: Admission tickets - service_description: Paid entry to heritage experience price: "\u20AC21" has_or_had_type: CommercialService - description: Heineken Experience admission - value: - service_name: Beer tasting experience - service_description: Guided tasting of Heineken products price: Included in admission has_or_had_type: CommercialService - description: Heineken tasting service - value: - service_name: Gift shop - service_description: Branded merchandise and reproductions has_or_had_type: CommercialService - description: Retail service - value: - service_name: Event venue rental - service_description: Corporate events, weddings, conferences has_or_had_type: CommercialService - description: Event rental service - value: - service_name: Image licensing - service_description: Rights for reproduction of archival materials has_or_had_type: CommercialService - description: Corporate archive licensing service has_or_had_type: equals_expression: '["hc:CommercialOrganizationType"]' diff --git a/schemas/20251121/linkml/modules/classes/CommissionRate.yaml b/schemas/20251121/linkml/modules/classes/CommissionRate.yaml index 075028025f..ebaa285ab7 100644 --- a/schemas/20251121/linkml/modules/classes/CommissionRate.yaml +++ b/schemas/20251121/linkml/modules/classes/CommissionRate.yaml @@ -98,44 +98,18 @@ classes: slot_usage: has_or_had_percentage: - description: | - The percentage value of this commission rate. range: Percentage inlined: true required: true examples: - value: - percentage_value: 50 - percentage_display: "50%" - description: 50% commission - examples: - value: - rate_type: "primary_market" - rate_description: "Standard 50/50 split between gallery and artist" has_or_had_percentage: - percentage_value: 50 - percentage_display: "50%" - description: Standard primary market commission - - value: - rate_type: "secondary_market" - rate_description: "Consignment fee for resale works" has_or_had_percentage: - percentage_value: 15 - percentage_min: 10 - percentage_max: 20 - percentage_display: "10-20%" - description: Variable secondary market commission - - value: - rate_type: "auction_buyers_premium" - rate_description: "Buyer's premium at auction" has_or_had_percentage: - percentage_value: 25 - percentage_display: "25%" - description: Auction house buyer's premium - comments: - Created 2026-01-22 from commission_rate migration (Rule 53) - Provides structured commission representation diff --git a/schemas/20251121/linkml/modules/classes/CommunityArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/CommunityArchiveRecordSetType.yaml index 3ae9df180c..588e45377b 100644 --- a/schemas/20251121/linkml/modules/classes/CommunityArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/CommunityArchiveRecordSetType.yaml @@ -20,7 +20,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -30,9 +29,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/CompanyArchiveRecordSetTypes.yaml b/schemas/20251121/linkml/modules/classes/CompanyArchiveRecordSetTypes.yaml index 7a3269d0b4..25c07d5786 100644 --- a/schemas/20251121/linkml/modules/classes/CompanyArchiveRecordSetTypes.yaml +++ b/schemas/20251121/linkml/modules/classes/CompanyArchiveRecordSetTypes.yaml @@ -65,15 +65,10 @@ classes: in_language: pt keywords: - corporate governance - - bedrijfsbestuur - board minutes - - directieverslagen - - shareholders - - aandeelhouders - executive records - mergers acquisitions - articles of incorporation - - statuten - supervisory board - raad van commissarissen exact_mappings: @@ -162,14 +157,10 @@ classes: in_language: pt keywords: - product development - - productontwikkeling - R&D records - research and development - technical drawings - technische tekeningen - - patents - - octrooien - - prototypes - engineering records - industrial design - laboratory notebooks @@ -253,19 +244,9 @@ classes: in_language: pt keywords: - marketing archive - - marketingarchief - - advertising - - reclame - brand heritage - - merkerfgoed - - packaging - - verpakking - promotional materials - - promotiemateriaal - - campaigns - - campagnes - trade fair - - beurs exact_mappings: - rico:RecordSetType related_mappings: @@ -349,17 +330,12 @@ classes: in_language: pt keywords: - personnel records - - personeelsdossiers - employment contracts - - arbeidsovereenkomsten - - payroll - - salarisadministratie - human resources - HR records - training records - performance evaluations - works council - - ondernemingsraad exact_mappings: - rico:RecordSetType related_mappings: @@ -439,15 +415,9 @@ classes: in_language: pt keywords: - corporate publications - - bedrijfspublicaties - annual reports - - jaarverslagen - house magazines - - personeelsbladen - - newsletters - - nieuwsbrieven - commemorative publications - - jubileumuitgaven - corporate communications exact_mappings: - rico:RecordSetType diff --git a/schemas/20251121/linkml/modules/classes/ComplianceStatus.yaml b/schemas/20251121/linkml/modules/classes/ComplianceStatus.yaml index f2b89ddee0..5ab920cce7 100644 --- a/schemas/20251121/linkml/modules/classes/ComplianceStatus.yaml +++ b/schemas/20251121/linkml/modules/classes/ComplianceStatus.yaml @@ -95,8 +95,6 @@ classes: slot_usage: has_or_had_type: - description: | - The compliance status value. range: string required: true examples: @@ -105,14 +103,12 @@ classes: - value: "PARTIALLY_COMPLIANT" - value: "NOT_ASSESSED" has_or_had_label: - description: Human-readable label for this compliance status. range: string required: false examples: - value: "ISO 11799 Compliant" - value: "Requires Temperature Control Upgrade" has_or_had_description: - description: Detailed description of the compliance assessment. range: string required: false @@ -145,24 +141,14 @@ classes: has_or_had_type: "COMPLIANT" has_or_had_label: "ISO 11799 Compliant" standard_reference: "ISO 11799:2015" - assessment_date: "2024-06-15" - assessor: "Heritage Conservation Consultant" - description: Fully compliant storage condition - value: has_or_had_type: "PARTIALLY_COMPLIANT" has_or_had_label: "Temperature Control Issues" standard_reference: "BS 5454:2000" - assessment_date: "2024-03-01" - compliance_gaps: - - "Temperature fluctuation exceeds ±2°C threshold" - - "No backup HVAC system" remediation_required: true - remediation_deadline: "2024-12-31" - description: Partial compliance with remediation plan - value: has_or_had_type: "NON_COMPLIANT" has_or_had_label: "Requires Major Renovation" standard_reference: "PAS 197:2009" remediation_required: true - has_or_had_description: "Building requires significant upgrades to meet modern archival storage standards" - description: Non-compliant status requiring intervention + has_or_had_description: "Building requires significant upgrades to meet modern archival storage standards" \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/Component.yaml b/schemas/20251121/linkml/modules/classes/Component.yaml index 24981c1213..a9d3d8de30 100644 --- a/schemas/20251121/linkml/modules/classes/Component.yaml +++ b/schemas/20251121/linkml/modules/classes/Component.yaml @@ -58,29 +58,19 @@ classes: slot_usage: has_or_had_type: - description: | - The type classification of this component. - Range narrowed to ComponentType class hierarchy. range: ComponentType multivalued: true required: false examples: - value: StreetNumber - description: House/building number - value: Route - description: Street name - value: Locality - description: City/town has_or_had_label: - description: The value/content of this component. range: string required: false examples: - value: "1" - description: Street number value - value: "Museumstraat" - description: Street name value - exact_mappings: - schema:ItemList close_mappings: @@ -107,8 +97,6 @@ classes: - value: has_or_had_type: StreetNumber has_or_had_label: "1" - description: Street number component - value: has_or_had_type: Locality - has_or_had_label: "Amsterdam" - description: City component + has_or_had_label: "Amsterdam" \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/ComponentType.yaml b/schemas/20251121/linkml/modules/classes/ComponentType.yaml index 709eeee20b..84380180b9 100644 --- a/schemas/20251121/linkml/modules/classes/ComponentType.yaml +++ b/schemas/20251121/linkml/modules/classes/ComponentType.yaml @@ -47,14 +47,12 @@ classes: slot_usage: has_or_had_label: - description: Human-readable label for this component type. range: string required: true examples: - value: "Street Number" - value: "Locality" has_or_had_description: - description: Explanation of this component type. range: string required: false diff --git a/schemas/20251121/linkml/modules/classes/Condition.yaml b/schemas/20251121/linkml/modules/classes/Condition.yaml index 9b1015e433..10f521efec 100644 --- a/schemas/20251121/linkml/modules/classes/Condition.yaml +++ b/schemas/20251121/linkml/modules/classes/Condition.yaml @@ -13,7 +13,11 @@ imports: classes: Condition: class_uri: schema:OfferItemCondition - description: "The physical or preservation condition of a heritage object or collection.\n\nCondition assessments document the state of preservation, conservation\nneeds, and handling requirements for heritage materials. Used to track\nobject condition over time and plan conservation interventions.\n\nMaps to schema:OfferItemCondition for interoperability with general\nitem condition vocabularies.\n\n**Migration (2026-01-18)**:\n- `condition_description` (inline attribute) \u2192 `has_or_had_description` slot with `Description` range\n- Per slot_fixes.yaml (Rule 53, 56)\n" + description: "The physical or preservation condition of a heritage object or collection.\n\nCondition assessments document\ + \ the state of preservation, conservation\nneeds, and handling requirements for heritage materials. Used to track\n\ + object condition over time and plan conservation interventions.\n\nMaps to schema:OfferItemCondition for interoperability\ + \ with general\nitem condition vocabularies.\n\n**Migration (2026-01-18)**:\n- `condition_description` (inline attribute)\ + \ \u2192 `has_or_had_description` slot with `Description` range\n- Per slot_fixes.yaml (Rule 53, 56)\n" slots: - has_or_had_type - has_or_had_description @@ -22,19 +26,11 @@ classes: range: uriorcurie has_or_had_description: range: string - description: 'Textual description of the condition state. - MIGRATED from inline condition_description attribute per slot_fixes.yaml (Rule 53, 2026-01-18). - ' examples: - value: description_text: Good physical condition with minor wear description_type: condition - description: Condition description using Description class - attributes: - condition_date: - description: Date when the condition was assessed - range: date annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/ConditionPolicy.yaml b/schemas/20251121/linkml/modules/classes/ConditionPolicy.yaml index 7684914a31..502c9f915c 100644 --- a/schemas/20251121/linkml/modules/classes/ConditionPolicy.yaml +++ b/schemas/20251121/linkml/modules/classes/ConditionPolicy.yaml @@ -55,16 +55,11 @@ classes: - odrl:Policy - crm:E29_Design_or_Procedure slots: - - has_or_had_requirement_status - standards_compliance - is_or_was_approved_by slot_usage: - has_or_had_requirement_status: - description: Requirements that must be met under this policy. standards_compliance: - description: Standards this policy complies with (ISO, EN, etc.). is_or_was_approved_by: - description: Authority that approved this policy. annotations: custodian_types: '["*"]' custodian_types_rationale: Condition policies apply to all heritage types. @@ -82,9 +77,7 @@ classes: - "ISO/TR 19815:2018" - "EN 16893:2018" policy_effective_from: "2020-01-01" - description: Archive climate control policy - value: policy_name: "Exhibition Light Policy" policy_description: "Maximum light exposure for sensitive materials" - policy_effective_from: "2022-06-01" - description: Display condition policy for light-sensitive materials + policy_effective_from: "2022-06-01" \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/ConditionState.yaml b/schemas/20251121/linkml/modules/classes/ConditionState.yaml index 2a39224c47..74fa5613a8 100644 --- a/schemas/20251121/linkml/modules/classes/ConditionState.yaml +++ b/schemas/20251121/linkml/modules/classes/ConditionState.yaml @@ -17,83 +17,49 @@ default_prefix: hc classes: ConditionState: class_uri: crm:E3_Condition_State - description: | - The physical or preservation state of an object at a specific point in time. - Maps to CIDOC-CRM E3 Condition State, which describes "the physical condition - of an object at a specific time, typically relevant for conservation." - **USE CASES**: - 1. **Conservation Records**: Before/after treatment states - - `initial_of_the_initial`: Pre-treatment condition - - `final_of_the_final`: Post-treatment condition - 2. **Condition Assessments**: Periodic condition surveys - 3. **Loan Records**: Condition at departure/return - **RELATION TO ConditionType**: - - Uses `has_or_had_type` with `ConditionType` subclasses for classification - - E.g., ExcellentCondition, GoodCondition, FairCondition, PoorCondition, CriticalCondition - **TEMPORAL SEMANTICS**: - - Each ConditionState instance represents a snapshot at a moment in time - - Multiple states can be tracked for the same object over time - **Migration (2026-01-22)**: - - `condition_after` → `final_of_the_final` + `ConditionState` - - `condition_before` → `initial_of_the_initial` + `ConditionState` - - Per slot_fixes.yaml (Rule 53) + description: "The physical or preservation state of an object at a specific point in time.\nMaps to CIDOC-CRM E3 Condition\ + \ State, which describes \"the physical condition\nof an object at a specific time, typically relevant for conservation.\"\ + \n**USE CASES**:\n1. **Conservation Records**: Before/after treatment states\n - `initial_of_the_initial`: Pre-treatment\ + \ condition\n - `final_of_the_final`: Post-treatment condition\n2. **Condition Assessments**: Periodic condition surveys\n\ + 3. **Loan Records**: Condition at departure/return\n**RELATION TO ConditionType**:\n- Uses `has_or_had_type` with `ConditionType`\ + \ subclasses for classification\n- E.g., ExcellentCondition, GoodCondition, FairCondition, PoorCondition, CriticalCondition\n\ + **TEMPORAL SEMANTICS**:\n- Each ConditionState instance represents a snapshot at a moment in time\n- Multiple states\ + \ can be tracked for the same object over time\n**Migration (2026-01-22)**:\n- `condition_after` \u2192 `final_of_the_final`\ + \ + `ConditionState`\n- `condition_before` \u2192 `initial_of_the_initial` + `ConditionState`\n- Per slot_fixes.yaml\ + \ (Rule 53)\n" exact_mappings: - - crm:E3_Condition_State + - crm:E3_Condition_State close_mappings: - - schema:OfferItemCondition + - schema:OfferItemCondition slots: - - has_or_had_type - - has_or_had_description + - has_or_had_type + - has_or_had_description slot_usage: has_or_had_type: range: uriorcurie - description: | - Classification of this condition state (e.g., ExcellentCondition, GoodCondition). - Uses ConditionType taxonomy from ConditionTypes.yaml. examples: - - value: GoodCondition - description: Object in good physical condition - - value: PoorCondition - description: Object requires conservation attention + - value: GoodCondition + - value: PoorCondition has_or_had_description: range: string - description: | - Detailed textual description of the condition state. - May include observations, measurements, damage descriptions. examples: - - value: - description_text: "Minor foxing on page margins, binding intact" - description: Book condition description - attributes: - state_date: - description: Date when this condition state was observed/recorded - range: date - assessed_by: - description: Person or entity who assessed the condition - range: string + - value: + description_text: Minor foxing on page margins, binding intact annotations: custodian_types: '["M", "A", "L", "R"]' - custodian_types_rationale: "Primarily used by museums, archives, libraries, research centers with physical collections." + custodian_types_rationale: Primarily used by museums, archives, libraries, research centers with physical collections. specificity_score: 0.6 - specificity_rationale: "Moderately specific - used in conservation and preservation contexts." + specificity_rationale: Moderately specific - used in conservation and preservation contexts. examples: - - value: - has_or_had_type: GoodCondition - has_or_had_description: - description_text: "Object stabilized after treatment. Surface cleaned, minor losses filled." - state_date: "2026-01-15" - assessed_by: "Conservation Department" - description: Post-conservation condition state - - value: - has_or_had_type: PoorCondition - has_or_had_description: - description_text: "Significant foxing, loose binding, torn pages 45-48." - state_date: "2025-12-01" - assessed_by: "Jane Smith, Conservator" - description: Pre-treatment condition state - - value: - has_or_had_type: FairCondition - has_or_had_description: - description_text: "Minor wear consistent with age, no active deterioration." - state_date: "2026-01-20" - description: Routine condition assessment + - value: + has_or_had_type: GoodCondition + has_or_had_description: + description_text: Object stabilized after treatment. Surface cleaned, minor losses filled. + - value: + has_or_had_type: PoorCondition + has_or_had_description: + description_text: Significant foxing, loose binding, torn pages 45-48. + - value: + has_or_had_type: FairCondition + has_or_had_description: + description_text: Minor wear consistent with age, no active deterioration. diff --git a/schemas/20251121/linkml/modules/classes/ConfidenceMeasure.yaml b/schemas/20251121/linkml/modules/classes/ConfidenceMeasure.yaml index c60d709aa9..98e8d9b618 100644 --- a/schemas/20251121/linkml/modules/classes/ConfidenceMeasure.yaml +++ b/schemas/20251121/linkml/modules/classes/ConfidenceMeasure.yaml @@ -59,15 +59,8 @@ classes: minimum_value: 0.0 maximum_value: 1.0 required: true - description: | - Numeric confidence score (0.0-1.0). - MIGRATED from confidence_value per Rule 53 (2026-01-28). has_or_had_method: range: string - description: | - Method used to calculate confidence (e.g. "exact_match", "fuzzy_score"). - MIGRATED from confidence_method per Rule 53 (2026-01-28). - annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ConfidenceMethod.yaml b/schemas/20251121/linkml/modules/classes/ConfidenceMethod.yaml index 5a8ff1d203..d4bf1faf3f 100644 --- a/schemas/20251121/linkml/modules/classes/ConfidenceMethod.yaml +++ b/schemas/20251121/linkml/modules/classes/ConfidenceMethod.yaml @@ -1,128 +1,71 @@ id: https://nde.nl/ontology/hc/class/ConfidenceMethod name: confidence_method_class title: Confidence Method - prefixes: linkml: https://w3id.org/linkml/ hc: https://nde.nl/ontology/hc/ prov: http://www.w3.org/ns/prov# schema: http://schema.org/ - imports: - linkml:types - ../slots/has_or_had_description - ../slots/has_or_had_identifier - ../slots/has_or_had_type default_prefix: hc - classes: ConfidenceMethod: - description: >- - A method or algorithm used to calculate confidence scores. - - **USAGE**: - Documents how confidence values were computed: - - Fuzzy string matching algorithms - - ML model predictions - - Rule-based validation - - XPath match verification - - Human assessment - - **COMMON METHODS**: - | Method | Description | - |--------|-------------| - | fuzzy_matching | Levenshtein, Jaro-Winkler, etc. | - | xpath_validation | XPath match confidence | - | llm_classification | LLM-based entity classification | - | ml_prediction | Machine learning model output | - | human_assessment | Manual quality assessment | - | ensemble | Combined multiple methods | - + description: 'A method or algorithm used to calculate confidence scores. + + **USAGE**: Documents how confidence values were computed: - Fuzzy string matching algorithms - ML model predictions + - Rule-based validation - XPath match verification - Human assessment + + **COMMON METHODS**: | Method | Description | |--------|-------------| | fuzzy_matching | Levenshtein, Jaro-Winkler, + etc. | | xpath_validation | XPath match confidence | | llm_classification | LLM-based entity classification | | ml_prediction + | Machine learning model output | | human_assessment | Manual quality assessment | | ensemble | Combined multiple methods + |' class_uri: prov:Plan - exact_mappings: - - prov:Plan - + - prov:Plan close_mappings: - - schema:HowTo - + - schema:HowTo slots: - - has_or_had_type - - has_or_had_description - - has_or_had_identifier - + - has_or_had_type + - has_or_had_description + - has_or_had_identifier slot_usage: has_or_had_type: range: string required: true - description: >- - Type of confidence calculation method. examples: - - value: "fuzzy_matching" - description: String similarity algorithm - - value: "ml_prediction" - description: Machine learning model - - value: "human_assessment" - description: Manual human review - + - value: fuzzy_matching + - value: ml_prediction + - value: human_assessment has_or_had_description: range: string required: false - description: >- - Detailed description of the method implementation. examples: - - value: "Jaro-Winkler similarity with 0.7 threshold" - description: Fuzzy matching configuration - + - value: Jaro-Winkler similarity with 0.7 threshold has_or_had_identifier: range: string required: false - description: >- - Identifier for the method (e.g., algorithm name, model version). examples: - - value: "rapidfuzz-2.15.1" - description: Library version - - attributes: - threshold: - range: float - description: >- - Confidence threshold used by this method for accept/reject decisions. - examples: - - value: 0.85 - description: 85% threshold for acceptance - - is_deterministic: - range: boolean - description: >- - Whether the method produces consistent results for same inputs. - + - value: rapidfuzz-2.15.1 annotations: custodian_types: '["*"]' - custodian_types_rationale: >- - Confidence methods apply universally to data quality assessment. - custodian_types_primary: "*" + custodian_types_rationale: Confidence methods apply universally to data quality assessment. + custodian_types_primary: '*' specificity_score: 0.25 - specificity_rationale: >- - Low specificity - fundamental methodology documentation. - + specificity_rationale: Low specificity - fundamental methodology documentation. examples: - - value: - has_or_had_type: "fuzzy_matching" - has_or_had_description: "Levenshtein distance with ratio normalization" - has_or_had_identifier: "rapidfuzz-levenshtein" - threshold: 0.85 - is_deterministic: true - description: Fuzzy string matching method - - - value: - has_or_had_type: "llm_classification" - has_or_had_description: "GPT-4 based entity type classification" - has_or_had_identifier: "gpt-4-turbo-2024-04-09" - is_deterministic: false - description: LLM-based classification method - + - value: + has_or_had_type: fuzzy_matching + has_or_had_description: Levenshtein distance with ratio normalization + has_or_had_identifier: rapidfuzz-levenshtein + - value: + has_or_had_type: llm_classification + has_or_had_description: GPT-4 based entity type classification + has_or_had_identifier: gpt-4-turbo-2024-04-09 comments: - - Created from slot_fixes.yaml migration (2026-01-19) - - Documents confidence calculation methodology - - Used with ConfidenceScore class + - Created from slot_fixes.yaml migration (2026-01-19) + - Documents confidence calculation methodology + - Used with ConfidenceScore class diff --git a/schemas/20251121/linkml/modules/classes/ConfidenceScore.yaml b/schemas/20251121/linkml/modules/classes/ConfidenceScore.yaml index 48fe366f84..77636fd0b5 100644 --- a/schemas/20251121/linkml/modules/classes/ConfidenceScore.yaml +++ b/schemas/20251121/linkml/modules/classes/ConfidenceScore.yaml @@ -59,38 +59,22 @@ classes: minimum_value: 0.0 maximum_value: 1.0 required: true - description: >- - The confidence score value, ranging from 0.0 (no confidence) to 1.0 (complete confidence). examples: - value: 0.95 - description: High confidence (95%) - value: 0.50 - description: Moderate confidence (50%) - value: 0.10 - description: Low confidence (10%) - has_or_had_method: range: string required: false - description: >- - Method or algorithm used to calculate the confidence score. examples: - value: "fuzzy_string_matching" - description: String similarity method - value: "xpath_extraction_validation" - description: XPath match validation - value: "llm_classification" - description: LLM-based classification - has_or_had_description: range: string required: false - description: >- - Human-readable explanation of the confidence assessment. examples: - value: "High confidence - exact name match with verified ISIL code" - description: Explanation for high score - annotations: custodian_types: '["*"]' custodian_types_rationale: >- @@ -105,14 +89,10 @@ classes: has_or_had_score: 0.95 has_or_had_method: "xpath_extraction" has_or_had_description: "Exact match found at expected XPath location" - description: High confidence XPath extraction - - value: has_or_had_score: 0.65 has_or_had_method: "fuzzy_string_matching" has_or_had_description: "Moderate similarity to reference name (Levenshtein ratio 0.85)" - description: Moderate confidence entity resolution - comments: - Created from slot_fixes.yaml migration (2026-01-19) - Replaces simple confidence_score float slot diff --git a/schemas/20251121/linkml/modules/classes/ConfidenceThreshold.yaml b/schemas/20251121/linkml/modules/classes/ConfidenceThreshold.yaml index 9997025bd5..285b704177 100644 --- a/schemas/20251121/linkml/modules/classes/ConfidenceThreshold.yaml +++ b/schemas/20251121/linkml/modules/classes/ConfidenceThreshold.yaml @@ -71,8 +71,6 @@ classes: slot_usage: has_or_had_description: range: string - description: Detailed description of the threshold and its application - annotations: custodian_types: '["*"]' custodian_types_rationale: "Threshold-based processing applies across heritage types." @@ -81,22 +79,5 @@ classes: examples: - value: - threshold_value: 0.85 - threshold_type: CONFIDENCE - threshold_operator: GTE - threshold_description: "Entity extraction requires ≥85% confidence" - description: NLP entity extraction threshold - - value: - threshold_value: 0.70 - threshold_type: SIMILARITY - threshold_operator: GTE - threshold_description: "Name matching requires ≥70% Levenshtein similarity" - description: Fuzzy matching threshold - - - value: - threshold_value: 0.95 - threshold_type: QUALITY - threshold_operator: GTE - threshold_description: "Data must pass 95% quality checks" - description: Data quality threshold + - value: \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/Conflict.yaml b/schemas/20251121/linkml/modules/classes/Conflict.yaml index 15bd2c1a2e..b037f2f72e 100644 --- a/schemas/20251121/linkml/modules/classes/Conflict.yaml +++ b/schemas/20251121/linkml/modules/classes/Conflict.yaml @@ -98,11 +98,7 @@ classes: has_or_had_type: range: uriorcurie required: true - description: | - The type of conflict (ARMED_CONFLICT, NATURAL_DISASTER, etc.). - Uses ConflictType class hierarchy per Rule 0b. has_or_had_label: - description: Human-readable name for the conflict. examples: - value: label_text: "Gaza War 2023-2024" @@ -111,33 +107,21 @@ classes: label_text: "Syrian Civil War" language: en has_or_had_description: - description: Detailed description of the conflict and its impact on heritage. temporal_extent: - description: | - Time period of the conflict. - Uses TimeSpan class with fuzzy temporal bounds. examples: - value: begin_of_the_begin: "2023-10-07" end_of_the_end: null - description: "Gaza War - ongoing as of 2024" has_or_had_provenance: # was: has_or_had_documentation_source - migrated per Rule 53 (2026-01-27) - description: | - Sources documenting the conflict's impact on heritage. - MIGRATED from has_or_had_documentation_source per Rule 53. - Uses Provenance class to wrap is_or_was_based_on → DocumentationSource. range: Provenance inlined: true examples: - value: is_or_was_based_on: has_or_had_label: "UNESCO Cultural Heritage in Gaza Assessment" - description: "Assessment report" - value: is_or_was_based_on: has_or_had_label: "Librarians and Archivists with Palestine - Gaza Report 2024" - description: "Damage report" - annotations: custodian_types: '["*"]' custodian_types_rationale: Conflicts can affect all heritage custodian types. @@ -161,9 +145,4 @@ classes: begin_of_the_begin: "2023-10-07" has_or_had_provenance: is_or_was_based_on: - has_or_had_label: "Librarians and Archivists with Palestine" - involvement_status: - status: destroyed - destruction_date: "2023-12-08" - conflict_description: "Library destroyed by airstrike" - description: "Gaza heritage institution destroyed in conflict" + has_or_had_label: "Librarians and Archivists with Palestine" \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/ConnectionDegree.yaml b/schemas/20251121/linkml/modules/classes/ConnectionDegree.yaml index e0dc8266f1..fb77ff17ce 100644 --- a/schemas/20251121/linkml/modules/classes/ConnectionDegree.yaml +++ b/schemas/20251121/linkml/modules/classes/ConnectionDegree.yaml @@ -55,17 +55,10 @@ classes: has_or_had_type: range: uriorcurie required: true - description: | - The type of connection degree (FIRST, SECOND, THIRD_PLUS). - Uses ConnectionDegreeType class hierarchy. examples: - value: FIRST - description: "First-degree (direct) connection" - value: SECOND - description: "Second-degree connection (friend of friend)" has_or_had_description: - description: Optional description of the connection context. - annotations: custodian_types: '["*"]' custodian_types_rationale: Connection degrees apply to any heritage sector network. @@ -80,9 +73,7 @@ classes: examples: - value: has_or_had_type: FIRST - description: "First-degree direct connection" - value: has_or_had_type: SECOND has_or_had_description: - description_text: "Connected through mutual colleague" - description: "Second-degree connection with context" + description_text: "Connected through mutual colleague" \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/ConnectionDegreeType.yaml b/schemas/20251121/linkml/modules/classes/ConnectionDegreeType.yaml index 9bfd2ce75e..7571740e8c 100644 --- a/schemas/20251121/linkml/modules/classes/ConnectionDegreeType.yaml +++ b/schemas/20251121/linkml/modules/classes/ConnectionDegreeType.yaml @@ -66,9 +66,7 @@ classes: - has_or_had_description slot_usage: has_or_had_label: - description: Human-readable label for this degree type. has_or_had_description: - description: Description of what this degree level means. annotations: custodian_types: '["*"]' custodian_types_rationale: Connection degrees apply to all heritage sector networks. diff --git a/schemas/20251121/linkml/modules/classes/ConnectionNetwork.yaml b/schemas/20251121/linkml/modules/classes/ConnectionNetwork.yaml index 505e46ab2e..2ee5855fca 100644 --- a/schemas/20251121/linkml/modules/classes/ConnectionNetwork.yaml +++ b/schemas/20251121/linkml/modules/classes/ConnectionNetwork.yaml @@ -88,13 +88,6 @@ classes: multivalued: true inlined: true inlined_as_list: true - description: 'Network connections/members extracted from LinkedIn. - - MIGRATED from connection slot per slot_fixes.yaml (Rule 53, 2026-01-22). - - Uses PersonConnection as range (subtype of SocialNetworkMember). - - ' network_analysis: range: NetworkAnalysis inlined: true diff --git a/schemas/20251121/linkml/modules/classes/ConnectionSourceMetadata.yaml b/schemas/20251121/linkml/modules/classes/ConnectionSourceMetadata.yaml index dbdb22d540..a3f2273433 100644 --- a/schemas/20251121/linkml/modules/classes/ConnectionSourceMetadata.yaml +++ b/schemas/20251121/linkml/modules/classes/ConnectionSourceMetadata.yaml @@ -79,7 +79,6 @@ classes: required: true examples: - value: https://www.linkedin.com/search/results/people/?network=%5B%22F%22%2C%22S%22%2C%22O%22%5D - description: LinkedIn connection search URL scraped_timestamp: range: datetime required: true @@ -93,28 +92,10 @@ classes: has_or_had_label: range: string inlined: true - description: 'Target name of the connection source (person name). - - MIGRATED 2026-01-14: Replaces target_name slot. - - ' required: true examples: - value: "Label:\n label_value: \"Giovanna Fossati\"\n label_type: \"person_name\"\n" - description: Person name for connection source has_or_had_profile: - description: 'LinkedIn profile of the person whose connections were extracted. - - MIGRATED 2026-01-16: Replaces target_profile slot per Rule 53/56. - - - The SocialMediaProfile class provides structured representation - - including platform type, account name, and profile URL rather than - - just a string slug. - - ' range: SocialMediaProfile inlined: true required: true @@ -122,16 +103,12 @@ classes: - value: social_media_profile_id: https://nde.nl/ontology/hc/social-media/giovanna-fossati-linkedin platform_type: LINKEDIN - has_or_had_account_name: giovanna-fossati-12345 profile_url: https://www.linkedin.com/in/giovanna-fossati-12345/ refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-efm - description: LinkedIn profile for connection extraction source - value: social_media_profile_id: https://nde.nl/ontology/hc/social-media/alexandr-belov-linkedin platform_type: LINKEDIN - has_or_had_account_name: alexandr-belov-bb547b46 profile_url: https://www.linkedin.com/in/alexandr-belov-bb547b46/ - description: LinkedIn profile with minimal required fields connections_extracted: range: integer required: true diff --git a/schemas/20251121/linkml/modules/classes/ConservationLab.yaml b/schemas/20251121/linkml/modules/classes/ConservationLab.yaml index 1658de8f33..ceded84159 100644 --- a/schemas/20251121/linkml/modules/classes/ConservationLab.yaml +++ b/schemas/20251121/linkml/modules/classes/ConservationLab.yaml @@ -61,13 +61,8 @@ classes: - schema:ResearchOrganization slots: - accepts_or_accepted - - has_or_had_accreditation_body - conservation_specialization - has_or_had_equipment - - has_climate_control - - has_deacidification_facility - - has_fume_hood - - has_imaging_equipment - is_accredited - has_or_had_identifier - has_or_had_label @@ -83,115 +78,66 @@ classes: range: uriorcurie required: true identifier: true - description: Unique identifier for the conservation lab. MIGRATED from lab_id (2026-01-15) per Rule 53. examples: - value: https://nde.nl/ontology/hc/aux/rijksmuseum-conservation - description: Rijksmuseum conservation studio has_or_had_label: range: string inlined: true required: true - description: Name of the conservation lab. MIGRATED from lab_name (2026-01-15) per Rule 53. examples: - value: label_text: Rijksmuseum Conservation Studio - description: Museum conservation lab - value: label_text: Nationaal Archief Restauratie Atelier - description: Archive restoration workshop - value: label_text: KB Preservation Laboratory - description: Library preservation lab has_or_had_description: range: string inlined: true - description: Description of the conservation lab. MIGRATED from lab_description (2026-01-15) per Rule 53. examples: - value: description_text: State-of-the-art conservation studio specializing in 17th-century Dutch paintings. Features advanced imaging suite for technical art history research. - description: Paintings conservation lab conservation_specialization: range: string multivalued: true examples: - value: Paintings - description: Paintings conservation - value: Works on paper - description: Paper conservation - value: Furniture - description: Furniture conservation has_or_had_equipment_type: range: EquipmentType multivalued: true inlined: true inlined_as_list: true - description: Types of specialized conservation equipment available in this lab. MIGRATED from equipment_type (string list) per Rule 53. examples: - value: has_or_had_label: Stereomicroscope has_or_had_type: MicroscopyEquipment - description: Magnification equipment - value: has_or_had_label: X-ray fluorescence spectrometer has_or_had_type: AnalyticalEquipment - description: Material analysis - value: has_or_had_label: Suction table has_or_had_type: PaperConservationEquipment - description: Paper conservation equipment - has_imaging_equipment: - range: boolean - examples: - - value: true - description: Has imaging suite - has_climate_control: - range: boolean - ifabsent: 'true' - examples: - - value: true - description: Climate controlled - has_fume_hood: - range: boolean - examples: - - value: true - description: Has fume hoods - has_deacidification_facility: - range: boolean - examples: - - value: true - description: Has deacidification safety_certification: range: string multivalued: true examples: - value: ISO 45001 Occupational Health and Safety - description: Safety certification is_accredited: range: boolean examples: - value: true - description: Professionally accredited - has_or_had_accreditation_body: - range: string - examples: - - value: VeRes - Vereniging van Registerloodsen Restauratoren - description: Dutch accreditation - value: ICON - Institute of Conservation - description: UK accreditation has_or_had_quantity: range: integer inlined: true - description: Quantity of staff members. MIGRATED from staff_count (2026-01-28). accepts_or_accepted: range: ExternalWork inlined: true multivalued: true - description: External work types that this conservation lab accepts (e.g., conservation commissions, digitization). examples: - value: - work_type: conservation - description: Paper and textile conservation - description: Accepts external conservation commissions is_or_was_derived_from: range: CustodianObservation multivalued: true @@ -226,17 +172,13 @@ classes: - has_or_had_label: X-ray fluorescence spectrometer - has_or_had_label: Infrared reflectography system - has_or_had_label: High-resolution digital imaging - has_imaging_equipment: true - has_climate_control: true has_fume_hoods: true is_accredited: true accreditation_body: VeRes has_or_had_quantity: range: integer inlined: true - description: Quantity of staff members. MIGRATED from staff_count (2026-01-28). accepts_or_accepted: [] - description: Major museum conservation studio - value: has_or_had_identifier: https://nde.nl/ontology/hc/aux/na-restauratie has_or_had_label: @@ -253,19 +195,13 @@ classes: - has_or_had_label: Suction tables - has_or_had_label: Book presses - has_or_had_label: Ultrasonic humidifiers - has_climate_control: true has_fume_hoods: true - has_deacidification_facility: true has_or_had_quantity: range: integer inlined: true - description: Quantity of staff members. MIGRATED from staff_count (2026-01-28). accepts_or_accepted: - work_type: paper_conservation - description: Paper and parchment conservation commissions - work_type: seal_restoration - description: Historical seal restoration - description: Archive paper conservation workshop annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ConservationRecord.yaml b/schemas/20251121/linkml/modules/classes/ConservationRecord.yaml index 5179e2ee24..56e4577b36 100644 --- a/schemas/20251121/linkml/modules/classes/ConservationRecord.yaml +++ b/schemas/20251121/linkml/modules/classes/ConservationRecord.yaml @@ -85,10 +85,7 @@ classes: - cost - cost_currency - has_or_had_type - - has_or_had_environmental_condition - - has_or_had_examination_method - indicates_or_indicated - - funding_source - materials_used - object_ref - photograph @@ -139,38 +136,25 @@ classes: - value: begin_of_the_begin: '1994-03-01' end_of_the_end: '1994-09-30' - description: Six-month restoration project initial_of_the_initial: required: false range: ConditionState inlined: true - description: 'Condition state BEFORE treatment/intervention using structured ConditionState class. - MIGRATED from condition_before (ConservationStatusEnum) per slot_fixes.yaml (Rule 53, 2026-01-22). - ' examples: - value: has_or_had_type: FairCondition has_or_had_description: description_text: Yellowed varnish, surface dirt - description: Pre-treatment condition state final_of_the_final: required: false range: ConditionState inlined: true - description: 'Condition state AFTER treatment/intervention using structured ConditionState class. - MIGRATED from condition_after (ConservationStatusEnum) per slot_fixes.yaml (Rule 53, 2026-01-22). - ' examples: - value: has_or_had_type: ExcellentCondition has_or_had_description: description_text: After cleaning and restoration - description: Post-treatment condition state has_or_had_condition: - description: 'Conditions (object or environmental) associated with the record. - MIGRATED from has_or_had_environmental_condition per Rule 53. - Uses EnvironmentalCondition class for structured data. - ' range: Condition multivalued: true inlined: true @@ -182,42 +166,25 @@ classes: has_or_had_type: EnvironmentalCondition has_or_had_value: 21 has_or_had_unit: Celsius - description: Treatment temperature has_or_had_treatment: required: false range: Treatment multivalued: true inlined_as_list: true - description: 'Structured treatment records for this conservation activity. - MIGRATED from treatment_description per slot_fixes.yaml (Rule 53, 2026-01-15). - ' examples: - value: - treatment_type: CLEANING - treatment_description: Removal of discolored natural resin varnish using acetone-based solvent mixture. - treated_by: "Dr. J\xF8rgen Wadum" - description: Cleaning treatment with description - value: - treatment_type: RESTORATION - treatment_description: Losses in-painted with conservation-grade reversible paints. materials_used: - Gamblin conservation colors - Dammar varnish - description: Restoration treatment with materials has_or_had_type: required: false range: TreatmentType multivalued: true - description: 'The type(s) of conservation treatment applied. - Uses TreatmentType class hierarchy (CLEANING, RESTORATION, REFRAMING, etc.). - ' examples: - value: CLEANING - description: Surface or solvent cleaning - value: RESTORATION - description: Comprehensive restoration - value: REFRAMING - description: Frame replacement or repair conservator: required: false range: string @@ -251,30 +218,20 @@ classes: range: Technique multivalued: true inlined_as_list: true - description: 'Structured technique records for this conservation activity. - MIGRATED from techniques_used per slot_fixes.yaml (Rule 53/56, 2026-01-16). - ' examples: - value: has_or_had_type: SolventCleaning has_or_had_label: Varnish removal with acetone/white spirit mixture has_or_had_description: Removal of discolored varnish using 50:50 acetone/white spirit - description: Solvent cleaning technique - value: has_or_had_type: TratteggioInpainting has_or_had_label: Tratteggio inpainting of losses has_or_had_description: Losses in-painted with fine parallel brushstrokes - description: Tratteggio inpainting technique - value: has_or_had_type: VacuumLining has_or_had_label: Vacuum hot table lining has_or_had_description: Canvas lined using vacuum table with BEVA 371 adhesive - description: Vacuum lining technique describes_or_described: - description: 'Examination methods used (e.g. X-RADIOGRAPHY). - MIGRATED from has_or_had_examination_method per Rule 53. - Uses ExaminationMethod class. - ' range: ExaminationMethod multivalued: true inlined: true @@ -282,16 +239,6 @@ classes: - value: has_or_had_type: X-RADIOGRAPHY has_or_had_label: Digital X-Ray - description: X-Ray examination - has_or_had_environmental_condition: - required: false - range: string - multivalued: true - examples: - - value: X-RADIOGRAPHY - - value: INFRARED_REFLECTOGRAPHY - - value: UV_FLUORESCENCE - - value: MACRO_PHOTOGRAPHY photograph: required: false range: uri @@ -320,10 +267,6 @@ classes: - value: Limit light exposure to 50 lux maximum - value: Handle with cotton gloves; fragile frame corners indicates_or_indicated: - description: 'Indicates a future review or assessment. - MIGRATED from follow_up_date per Rule 53. - Uses ConservationReview class with temporal_extent. - ' range: ConservationReview inlined: true required: false @@ -332,7 +275,6 @@ classes: temporal_extent: begin_of_the_begin: '2019-01-01' has_or_had_label: 25-year follow-up from 1994 restoration - description: Follow-up inspection date related_loan: required: false range: uriorcurie @@ -344,7 +286,6 @@ classes: range: decimal examples: - value: 150000 - description: "\u20AC150,000 for major restoration" cost_currency: required: false range: string @@ -352,10 +293,6 @@ classes: - value: EUR - value: USD receives_or_received: - description: 'Funding source(s) for the conservation work. - MIGRATED from funding_source per Rule 53. - Uses frapo:isFundedBy via receives_or_received slot and FundingSource class. - ' range: FundingSource inlined: true inlined_as_list: true @@ -364,13 +301,10 @@ classes: examples: - value: has_or_had_label: Mondriaan Fund - description: External grant funding - value: has_or_had_label: Getty Foundation - description: Foundation grant - value: has_or_had_label: Bank Giro Loterij - description: Lottery funding conservation_note: required: false range: string @@ -414,7 +348,6 @@ classes: has_or_had_treatment: - treatment_type: RESTORATION treatment_description: "Comprehensive restoration including: removal of discolored varnish \nusing carefully calibrated solvent mixtures; cleaning of accumulated \nsurface grime; removal of disfiguring old retouches; consolidation \nof minor paint losses; minimal inpainting using reversible materials; \napplication of new protective varnish.\n" - treated_by: "Dr. J\xF8rgen Wadum" has_or_had_type: - CLEANING - RESTORATION @@ -433,11 +366,6 @@ classes: - has_or_had_type: TratteggioInpainting has_or_had_label: Tratteggio inpainting has_or_had_description: Losses in-painted using fine parallel brushstrokes - has_or_had_examination_method: - - X-RADIOGRAPHY - - INFRARED_REFLECTOGRAPHY - - UV_FLUORESCENCE - - MACRO_PHOTOGRAPHY photograph: - https://mauritshuis.nl/conservation/670/before-1994.jpg - https://mauritshuis.nl/conservation/670/during-1994.jpg @@ -453,7 +381,6 @@ classes: conservation_note: - Vermeer's monogram 'IVMeer' discovered during cleaning - Treatment documented in Burlington Magazine (1995) - description: 1994 restoration of Girl with a Pearl Earring - value: record_id: https://nde.nl/ontology/hc/conservation/mauritshuis-670-2023-001 object_ref: https://nde.nl/ontology/hc/object/mauritshuis-girl-pearl-earring @@ -471,14 +398,10 @@ classes: related_loan: https://nde.nl/ontology/hc/loan/mauritshuis-rijksmuseum-2023-001 conservator: - Abbie Vandivere - has_or_had_examination_method: - - RAKING_LIGHT - - UV_FLUORESCENCE recommendation: - Cleared for loan - Courier required for transport - Climate case recommended - description: Pre-loan condition check for Vermeer 2023 - value: record_id: https://nde.nl/ontology/hc/conservation/rijksmuseum-sk-c-5-2019-001 object_ref: https://nde.nl/ontology/hc/object/rijksmuseum-night-watch @@ -493,12 +416,6 @@ classes: has_or_had_description: description_text: Comprehensive technical examination as part of Operation Night Watch. Canvas shows historical damage from 1715 trimming and 1911/1975 attacks. Paint layer stable with localized losses. Varnish slightly yellowed. description_type: condition - has_or_had_examination_method: - - X-RADIOGRAPHY - - MACRO_XRF_SCANNING - - INFRARED_REFLECTOGRAPHY - - 3D_SCANNING - - MACRO_PHOTOGRAPHY conservator: - Petria Noble - Robert Erdmann @@ -508,7 +425,6 @@ classes: - Part of multi-year Operation Night Watch project - Largest and most detailed examination ever of this painting - Live-streamed to public - description: Operation Night Watch technical examination annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ContactDetails.yaml b/schemas/20251121/linkml/modules/classes/ContactDetails.yaml index 9be1d782ff..4b87c7ca0f 100644 --- a/schemas/20251121/linkml/modules/classes/ContactDetails.yaml +++ b/schemas/20251121/linkml/modules/classes/ContactDetails.yaml @@ -30,8 +30,6 @@ classes: slot_usage: includes_or_included: range: string - description: Email addresses included in these contact details. - annotations: custodian_types: '["*"]' specificity_score: 0.2 diff --git a/schemas/20251121/linkml/modules/classes/Content.yaml b/schemas/20251121/linkml/modules/classes/Content.yaml index aafa2f3fa9..eb813e5039 100644 --- a/schemas/20251121/linkml/modules/classes/Content.yaml +++ b/schemas/20251121/linkml/modules/classes/Content.yaml @@ -66,46 +66,32 @@ classes: - temporal_extent slot_usage: has_or_had_type: - description: >- - The type of intellectual content from ContentType taxonomy. - Uses ContentType subclasses per Rule 0b (Type/Types pattern). - Added 2026-01-23 per F25 migration. range: ContentType required: false examples: - value: has_or_had_code: RELIGIOUS has_or_had_label: Religious Content - description: Religious text content - value: has_or_had_code: CARTOGRAPHIC has_or_had_label: Cartographic Content - description: Maps and geographic content has_or_had_label: - description: Label or title for the content scope examples: - value: "Dutch Colonial Period Records" - value: "Medieval Manuscript Collection" has_or_had_description: - description: Detailed description of the intellectual content examples: - value: "Administrative records, correspondence, and financial documents from the Dutch colonial administration in the East Indies." temporal_extent: - description: | - Time period covered by the content (NOT when collected or created). - Uses TimeSpan for fuzzy temporal bounds. - MIGRATED from temporal_coverage slot (2026-01-16). range: TimeSpan inlined: true examples: - value: begin_of_the_begin: "1602-01-01" end_of_the_end: "1799-12-31" - description: VOC period (1602-1799) - value: begin_of_the_begin: "1200-01-01" end_of_the_end: "1500-12-31" - description: Late medieval period close_mappings: - dcterms:coverage - schema:about @@ -121,10 +107,8 @@ classes: temporal_extent: begin_of_the_begin: "1602-03-20" end_of_the_end: "1799-12-31" - description: VOC archival content with temporal coverage - value: has_or_had_label: "Medieval Illuminated Manuscripts" temporal_extent: begin_of_the_begin: "0800-01-01" - end_of_the_end: "1450-12-31" - description: Medieval manuscript collection content + end_of_the_end: "1450-12-31" \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/ContentType.yaml b/schemas/20251121/linkml/modules/classes/ContentType.yaml index 71350668ab..01ae86dcfd 100644 --- a/schemas/20251121/linkml/modules/classes/ContentType.yaml +++ b/schemas/20251121/linkml/modules/classes/ContentType.yaml @@ -36,17 +36,14 @@ classes: - has_or_had_description slot_usage: has_or_had_code: - description: Short code for the content type. range: string required: true identifier: true pattern: ^[A-Z][A-Z0-9_]*$ has_or_had_label: - description: Human-readable label for the content type. range: string required: true has_or_had_description: - description: Definition and scope of this content type. range: string required: false comments: diff --git a/schemas/20251121/linkml/modules/classes/ContributingAgency.yaml b/schemas/20251121/linkml/modules/classes/ContributingAgency.yaml index eb5e650bb6..de3f85144b 100644 --- a/schemas/20251121/linkml/modules/classes/ContributingAgency.yaml +++ b/schemas/20251121/linkml/modules/classes/ContributingAgency.yaml @@ -138,7 +138,6 @@ classes: slots: - has_or_had_label - contributes_or_contributed - - has_authority_file_url - record_format - provides_or_provided - contributes_to @@ -157,17 +156,12 @@ classes: range: string multivalued: true inlined: true - description: 'Authority files provided by this agency. - MIGRATED from entity_types_covered per slot_fixes.yaml (Rule 53, 2026-01-26). - The AuthorityFile indicates which Entity types it contains. - ' examples: - value: has_or_had_label: Library of Congress Name Authority File contains_or_contained: - has_or_had_type: PERSON - has_or_had_type: CORPORATE_BODY - description: LCNAF covering persons and corporate bodies contributes_to: range: string is_or_was_also_allocation_agency: @@ -176,29 +170,19 @@ classes: range: StandardsOrganization is_or_was_represented_by: range: Agent - description: Representative in the governance council. has_or_had_role: range: GovernanceRole - description: Role in the consortium (e.g. Founding Member). has_or_had_url: range: uri inlined: true multivalued: false - description: 'Official website of the contributing agency. - MIGRATED from website slot per slot_fixes.yaml (Rule 53, 2025-01-15). - ' contributes_or_contributed: - description: 'Contributes authority data/abbreviation to the consortium. - MIGRATED from has_authority_file_abbreviation per Rule 53. - Uses AuthorityData class. - ' range: AuthorityData inlined: true examples: - value: has_or_had_label: LCNAF has_or_had_type: abbreviation - description: Contributes the LCNAF abbreviation annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ConversionRate.yaml b/schemas/20251121/linkml/modules/classes/ConversionRate.yaml index 1b7a1f4d67..6ad9171719 100644 --- a/schemas/20251121/linkml/modules/classes/ConversionRate.yaml +++ b/schemas/20251121/linkml/modules/classes/ConversionRate.yaml @@ -107,30 +107,20 @@ classes: has_or_had_type: range: uriorcurie inlined: true - description: >- - The type of conversion being measured. - Use concrete types from ConversionRateTypes (VisitorToPurchaseConversion, etc.) examples: - value: | has_or_had_type: has_or_had_label: "Visitor to Purchase" source_population: "museum visitors" target_action: "made gift shop purchase" - description: Visitor to purchase conversion type - temporal_extent: range: TimeSpan inlined: true - description: >- - The time period during which this conversion rate was measured. - Use begin/end dates to specify the measurement window. examples: - value: | temporal_extent: begin_of_the_begin: "2024-01-01" end_of_the_end: "2024-12-31" - description: Calendar year 2024 measurement period - annotations: custodian_types: '["*"]' custodian_types_rationale: >- @@ -144,33 +134,19 @@ classes: - value: | ConversionRate: rate_value: 0.35 - rate_percentage: 35.0 - sample_size: 500000 - converted_count: 175000 has_or_had_type: has_or_had_label: "Visitor to Purchase" temporal_extent: begin_of_the_begin: "2024-01-01" end_of_the_end: "2024-12-31" - measurement_period_description: "Calendar Year 2024" - benchmark_comparison: "Above average (industry avg 15-25%)" - description: Gift shop 35% visitor-to-purchase conversion rate. - - value: | ConversionRate: rate_value: 0.05 - rate_percentage: 5.0 - sample_size: 100000 - converted_count: 5000 has_or_had_type: has_or_had_label: "Visitor to Member" temporal_extent: begin_of_the_begin: "2024-06-01" end_of_the_end: "2024-08-31" - measurement_period_description: "Summer membership drive" - benchmark_comparison: "Strong (industry avg 1-3%)" - description: Summer membership campaign with 5% conversion. - comments: - Created from slot_fixes.yaml migration (2026-01-14) - Replaces simple float visitor_conversion_rate slot diff --git a/schemas/20251121/linkml/modules/classes/ConversionRateTypes.yaml b/schemas/20251121/linkml/modules/classes/ConversionRateTypes.yaml index de0818e351..339f4d988e 100644 --- a/schemas/20251121/linkml/modules/classes/ConversionRateTypes.yaml +++ b/schemas/20251121/linkml/modules/classes/ConversionRateTypes.yaml @@ -148,9 +148,6 @@ classes: Use this when tracking novel metrics or institution-specific conversions. class_uri: hc:OtherConversion attributes: - custom_type_name: - range: string - description: Name of the custom conversion type. broad_mappings: - crm:E54_Dimension - schema:QuantitativeValue diff --git a/schemas/20251121/linkml/modules/classes/Country.yaml b/schemas/20251121/linkml/modules/classes/Country.yaml index 094c61ad90..971c5f0b45 100644 --- a/schemas/20251121/linkml/modules/classes/Country.yaml +++ b/schemas/20251121/linkml/modules/classes/Country.yaml @@ -56,25 +56,21 @@ classes: has_or_had_code: NL - _type: Alpha3Code has_or_had_code: NLD - description: Netherlands - using structured code classes - value: has_or_had_code: - _type: Alpha2Code has_or_had_code: PE - _type: Alpha3Code has_or_had_code: PER - description: Peru - using structured code classes - value: has_or_had_code: - _type: Alpha2Code has_or_had_code: US - _type: Alpha3Code has_or_had_code: USA - description: United States - using structured code classes - value: has_or_had_code: - _type: Alpha2Code has_or_had_code: JP - _type: Alpha3Code - has_or_had_code: JPN - description: Japan - using structured code classes + has_or_had_code: JPN \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/CourtRecords.yaml b/schemas/20251121/linkml/modules/classes/CourtRecords.yaml index f528004d63..8c0a40fafb 100644 --- a/schemas/20251121/linkml/modules/classes/CourtRecords.yaml +++ b/schemas/20251121/linkml/modules/classes/CourtRecords.yaml @@ -41,9 +41,7 @@ classes: range: string examples: - value: state - description: State-level court records - value: federal - description: Federal court system records court_types_covered: range: string multivalued: true @@ -52,7 +50,6 @@ classes: - civil - criminal - commercial - description: General court archive covering main jurisdictions has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' exact_mappings: @@ -85,7 +82,6 @@ classes: - civil - criminal - administrative - description: Federal court records archive example annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/CreationEvent.yaml b/schemas/20251121/linkml/modules/classes/CreationEvent.yaml index 05d64fb99e..160e3197c5 100644 --- a/schemas/20251121/linkml/modules/classes/CreationEvent.yaml +++ b/schemas/20251121/linkml/modules/classes/CreationEvent.yaml @@ -55,69 +55,27 @@ classes: - temporal_extent - has_or_had_description - has_or_had_place - - has_or_had_creator - - creation_method - - display_date slot_usage: temporal_extent: range: TimeSpan inlined: true - description: | - When the creation occurred, using CIDOC-CRM TimeSpan. - Supports fuzzy/approximate dates via display_date. examples: - value: begin_of_the_begin: "1665-01-01" end_of_the_end: "1665-12-31" - display_date: "c. 1665" - description: Approximate creation date - has_or_had_creator: - range: Agent - multivalued: true - inlined_as_list: true - description: Person(s) or organization(s) who created the object. - examples: - value: - agent_name: "Johannes Vermeer" - description: Single artist has_or_had_place: range: Place inlined: true - description: Location where creation occurred. examples: - value: place_name: "Delft" - description: City of creation - display_date: - range: string - description: | - Human-readable date string for display purposes. - Preserves original date expressions like "c. 1665", "17th century", - "196 BCE", "1642". - examples: - value: "c. 1665" - description: Circa date - value: "17th century" - description: Century-level precision - value: "196 BCE" - description: Historical date - creation_method: - range: string - description: Technique or method used in creation. - examples: - value: "oil on canvas" - description: Painting technique attributes: - has_or_had_creator: - range: Agent - multivalued: true - inlined_as_list: true - display_date: - range: string - description: Human-readable date for display. - creation_method: - range: string - description: Technique or method of creation. annotations: custodian_types: '["G", "M", "L", "A"]' custodian_types_rationale: "Creation events primarily relevant to galleries, museums, libraries, archives with collections." diff --git a/schemas/20251121/linkml/modules/classes/CulturalInstitution.yaml b/schemas/20251121/linkml/modules/classes/CulturalInstitution.yaml index d71d3ceeff..b87f03bae3 100644 --- a/schemas/20251121/linkml/modules/classes/CulturalInstitution.yaml +++ b/schemas/20251121/linkml/modules/classes/CulturalInstitution.yaml @@ -87,8 +87,6 @@ classes: institution_function: - collection - exhibition - - education - description: General cultural institution example annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/CurationActivity.yaml b/schemas/20251121/linkml/modules/classes/CurationActivity.yaml index 5cf342a74e..85a4e228ea 100644 --- a/schemas/20251121/linkml/modules/classes/CurationActivity.yaml +++ b/schemas/20251121/linkml/modules/classes/CurationActivity.yaml @@ -60,7 +60,6 @@ classes: - has_or_had_type - has_or_had_objective - has_or_had_output - - funding_source - is_recurring - objects_added - objects_affected @@ -68,189 +67,118 @@ classes: - objects_removed - priority - recurrence_pattern - - has_or_had_related_activity - responsible_actor - responsible_department - spectrum_procedure slot_usage: - has_or_had_activity_type: - range: CurationActivityTypeEnum - required: true - description: 'Classification of this curation activity. - Uses CurationActivityTypeEnum with SPECTRUM procedure mappings. - ' examples: - value: INVENTORY - description: Physical count and verification - value: DIGITIZATION - description: Systematic digitization - value: ACCESSIONING - description: Formal acceptance into collection curated_holding: range: Collection multivalued: true inlined: false - description: Collection(s) affected by this curation activity. examples: - value: https://nde.nl/ontology/hc/collection/rijksmuseum-dutch-masters - description: Dutch Masters collection at Rijksmuseum responsible_actor: range: PersonObservation multivalued: true inlined: false - description: Person(s) responsible for executing this activity. examples: - value: https://nde.nl/ontology/hc/person/jan-de-vries-registrar - description: Museum registrar responsible_department: range: string - description: Department responsible for this activity. examples: - value: Registration Department - description: For inventory activities - value: Digital Initiatives - description: For digitization projects - value: Conservation Lab - description: For condition surveys is_recurring: range: boolean - description: Whether this activity recurs on a schedule. examples: - value: true - description: Annual inventory - value: false - description: One-time digitization project recurrence_pattern: range: string - description: Pattern for recurring activities (ISO 8601 duration or human-readable). examples: - value: P1Y - description: Annual (ISO 8601) - value: P3M - description: Quarterly - value: Every January - description: Human-readable objects_affected: range: ExhibitedObject multivalued: true inlined: false - description: Objects examined, processed, or modified during this activity. examples: - value: - https://nde.nl/ontology/hc/object/rijksmuseum-nightwatch - https://nde.nl/ontology/hc/object/rijksmuseum-milkmaid - description: Objects in condition survey objects_added: range: ExhibitedObject multivalued: true inlined: false - description: Objects added to collection during this activity. examples: - value: - https://nde.nl/ontology/hc/object/new-acquisition-2025-001 - description: Newly accessioned object objects_removed: range: ExhibitedObject multivalued: true inlined: false - description: Objects removed from collection during this activity. examples: - value: - https://nde.nl/ontology/hc/object/deaccessioned-2025-001 - description: Deaccessioned object objects_count: range: integer - description: Number of objects processed in this activity. examples: - value: 10000 - description: Inventory covered 10,000 objects - value: 342 - description: Digitization of 342 manuscripts has_or_had_output: range: Documentation multivalued: true - description: Documentation created as a result of this activity. MIGRATED from documentation_produced (2026-01-26). examples: - value: has_or_had_label: Inventory reconciliation report (2025-03-31) - description: Inventory report - value: has_or_had_label: Condition notation updates - description: Condition updates has_or_had_objective: range: string multivalued: true inlined: true inlined_as_list: true - description: 'Deliverable resources produced by this curation activity. - MIGRATED from ''deliverable'' slot per slot_fixes.yaml (Rule 53). - Uses Deliverable class for structured representation. - ' examples: - value: has_or_had_label: has_or_had_text: Inventory reconciliation report - deliverable_type: report deliverable_url: https://example.org/reports/inventory-2025.pdf is_completed: true - description: Inventory report deliverable - value: has_or_had_label: has_or_had_text: VOC Series Finding Aid - deliverable_type: finding_aid deliverable_url: https://example.org/finding-aids/voc-series-1.ead is_completed: true - description: EAD finding aid deliverable - funding_source: - range: string - description: Source of funding for this activity. examples: - value: NEH Preservation and Access Grant - description: External grant - value: Annual operating budget - description: Internal funding - value: Friends of the Museum donation - description: Donor-funded is_or_was_allocated_budget: range: string - description: 'Budget allocated for this activity. - MIGRATED 2026-01-15: Replaces budget slot per Rule 53. - For structured budget information, override range to Budget class. - ' examples: - value: EUR 125,000 - description: Digitization project budget - value: USD 50,000 - description: Conservation survey budget - has_or_had_related_activity: - range: CurationActivity - multivalued: true - inlined: false - description: Related curation activities (not successor/predecessor). examples: - value: - https://nde.nl/ontology/hc/activity/digitization-phase-1 - description: Related earlier phase priority: range: string - description: Priority level for this activity. examples: - value: HIGH - description: High priority activity - value: CRITICAL - description: Urgent/emergency activity spectrum_procedure: range: string - description: SPECTRUM procedure this activity implements. examples: - value: inventory - description: SPECTRUM Inventory Control - value: cataloguing - description: SPECTRUM Cataloguing - value: condition-assessment - description: SPECTRUM Condition Checking has_or_had_type: - description: Heritage custodian types for which this activity applies. equals_expression: '["hc:GalleryType", "hc:LibraryType", "hc:ArchiveOrganizationType", "hc:MuseumType", "hc:ResearchOrganizationType", "hc:HolySacredSiteType", "hc:BioCustodianType"]' annotations: specificity_score: '0.65' @@ -274,7 +202,6 @@ classes: - value: has_or_had_identifier: https://nde.nl/ontology/hc/activity/rijksmuseum-inventory-2025-001 has_or_had_label: 2025 Annual Collection Inventory - Dutch Masters - has_or_had_activity_type: INVENTORY has_or_had_description: "Annual physical inventory of the Dutch Masters collection \n(Gallery of Honour and adjacent galleries). Spot-check methodology \nwith 20% sample verification against CMS records. Includes \ncondition notation and location verification.\n" curated_holding: - https://nde.nl/ontology/hc/collection/rijksmuseum-dutch-masters @@ -291,15 +218,11 @@ classes: - has_or_had_label: Inventory reconciliation report - has_or_had_label: Location discrepancy list (3 items) - has_or_had_label: Condition notation updates (28 records) - funding_source: Annual operating budget - status: IN_PROGRESS priority: MEDIUM spectrum_procedure: inventory - description: Annual inventory activity at Rijksmuseum - value: has_or_had_identifier: https://nde.nl/ontology/hc/activity/nationaal-archief-digitization-voc-2024 has_or_had_label: VOC Archives Digitization Project - Phase 2 - has_or_had_activity_type: DIGITIZATION has_or_had_description: "Second phase of systematic digitization of VOC (Dutch East India \nCompany) archives. Focus on Hoge Regering Batavia series (1.04.02). \nHigh-resolution scanning with OCR/HTR processing for searchability. \nIIIF-compliant output.\n" curated_holding: - https://nde.nl/ontology/hc/collection/nationaal-archief-voc-fonds @@ -316,20 +239,15 @@ classes: has_or_had_objective: - has_or_had_label: has_or_had_text: VOC Digital Archive - deliverable_type: digital_collection deliverable_url: https://www.nationaalarchief.nl/onderzoeken/archief/1.04.02/digital is_completed: true - funding_source: Metamorfoze National Digitization Programme is_or_was_allocated_budget: EUR 850,000 - status: IN_PROGRESS priority: HIGH spectrum_procedure: documentation preceding_activity: https://nde.nl/ontology/hc/activity/voc-digitization-phase-1 - description: Multi-year digitization project at Nationaal Archief - value: has_or_had_identifier: https://nde.nl/ontology/hc/activity/kb-rehousing-medieval-2025 has_or_had_label: Medieval Manuscripts Rehousing Initiative - has_or_had_activity_type: REHOUSING has_or_had_description: "Transfer of 342 medieval manuscripts from legacy storage to \ncustom-fitted archival boxes with acid-free tissue interleaving. \nIncludes updated location records and condition photography.\n" curated_holding: - https://nde.nl/ontology/hc/collection/kb-medieval-manuscripts @@ -343,10 +261,7 @@ classes: - has_or_had_label: Rehousing completion report - has_or_had_label: Before/after condition photographs - has_or_had_label: Updated location records in CMS - funding_source: Andrew W. Mellon Foundation Grant is_or_was_allocated_budget: EUR 95,000 - status: PLANNED priority: HIGH spectrum_procedure: object-storage - preceding_activity: https://nde.nl/ontology/hc/activity/kb-condition-survey-2024 - description: Preservation rehousing project at Koninklijke Bibliotheek + preceding_activity: https://nde.nl/ontology/hc/activity/kb-condition-survey-2024 \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/Currency.yaml b/schemas/20251121/linkml/modules/classes/Currency.yaml index 46f38debc7..3bc0f10608 100644 --- a/schemas/20251121/linkml/modules/classes/Currency.yaml +++ b/schemas/20251121/linkml/modules/classes/Currency.yaml @@ -42,28 +42,20 @@ classes: has_or_had_identifier: range: uriorcurie required: false - description: Optional identifier for this currency. examples: - value: https://nde.nl/ontology/hc/currency/EUR - description: Euro currency identifier currency_code: range: string required: true pattern: ^[A-Z]{3}$ - description: ISO 4217 three-letter currency code. examples: - value: EUR - description: Euro - value: USD - description: US Dollar - value: GBP - description: British Pound - value: NLG - description: Dutch Guilder (historical) has_or_had_label: range: string required: false - description: Full name of the currency. examples: - value: Euro - value: US Dollar @@ -71,20 +63,14 @@ classes: currency_symbol: range: string required: false - description: Currency symbol for display. examples: - value: "\u20AC" - description: Euro symbol - value: $ - description: Dollar symbol - value: "\xA3" - description: Pound symbol - value: "\u0192" - description: Guilder symbol (historical) has_or_had_description: range: string required: false - description: Additional information about the currency, such as historical context. examples: - value: Official currency of the Eurozone since 1999 - value: Dutch national currency until replaced by Euro in 2002 @@ -102,18 +88,15 @@ classes: has_or_had_label: Euro currency_symbol: "\u20AC" has_or_had_description: Official currency of the Eurozone - description: Euro currency - value: currency_code: NLG has_or_had_label: Dutch Guilder currency_symbol: "\u0192" has_or_had_description: Dutch national currency until replaced by Euro in 2002 - description: Historical Dutch Guilder - value: currency_code: USD has_or_had_label: US Dollar currency_symbol: $ - description: US Dollar currency annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/CurrentArchive.yaml b/schemas/20251121/linkml/modules/classes/CurrentArchive.yaml index 4acbc12fc2..2b5a9a2b49 100644 --- a/schemas/20251121/linkml/modules/classes/CurrentArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/CurrentArchive.yaml @@ -40,7 +40,6 @@ classes: slots: - creating_organization - has_or_had_type - - has_narrower_instance - hold_or_held_record_set_type - retention_schedule - specificity_annotation @@ -61,9 +60,6 @@ classes: examples: - value: Ministry of Finance has_or_had_policy: - description: 'Policy governing transfers of records from this archive type. - Replaces bespoke transfer_policy slot. - ' range: TransferPolicy multivalued: true inlined: true @@ -71,10 +67,6 @@ classes: - value: policy_name: Government Records Transfer Policy policy_text: Records transferred to National Archives after 20 years - has_narrower_instance: - range: CustodianArchive - multivalued: true - required: false has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' exact_mappings: @@ -107,7 +99,6 @@ classes: has_or_had_description: Archive for records in active operational use creating_organization: Ministry of Finance retention_schedule: Finance Records Schedule 2023 - description: Current archive for ministry records annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Custodian.yaml b/schemas/20251121/linkml/modules/classes/Custodian.yaml index 7b8cf393d3..ca8fe056a8 100644 --- a/schemas/20251121/linkml/modules/classes/Custodian.yaml +++ b/schemas/20251121/linkml/modules/classes/Custodian.yaml @@ -71,36 +71,21 @@ imports: classes: Custodian: class_uri: crm:E39_Actor - description: 'An abstract hub class that serves as the central connection point for all - information about a heritage custodian entity. The Custodian itself contains - minimal information - essentially just its persistent identifier (has_or_had_identifier) - and - acts as a node to which all observations (CustodianObservation, CustodianName) - and reconstructions (CustodianLegalStatus) attach. - This hub pattern allows multiple observations from different sources to be - connected to a single logical entity without asserting which observation - is "correct" or "primary". - **HUB ARCHITECTURE**: - - The Custodian hub is identified by: https://nde.nl/ontology/hc/{abstracted-ghcid} - - All observations refer to the hub via refers_to_custodian - - All reconstructions refer to the hub via refers_to_custodian - - The hub persists while observations and interpretations evolve - **CUSTODIAN** is defined broadly to include: - - **Individual people** (private collectors, curators, archivists) - - **Groups and collectives** (heritage societies, collecting groups, guilds) - - **Organizations** (museums, libraries, archives, foundations) - - **Governments** (national archives, state museums, municipal collections) - - **Corporations** (company archives, corporate museums) - - **Religious entities** (churches, monasteries, temples with heritage collections) - - **Educational institutions** (university libraries, school archives) - - **Any entity exercising custody** over heritage materials - - CIDOC-CRM: crm:E39_Actor (primary) - - PROV-O: prov:Agent - - Schema.org: schema:Person OR schema:Organization - - CPOV: cpov:PublicOrganisation (for public sector) - - RiC-O: rico:Agent, rico:CorporateBody - - FOAF: foaf:Agent, foaf:Person, foaf:Organization - - TOOI: tooi:Overheidsorganisatie (Dutch government) - ' + description: 'An abstract hub class that serves as the central connection point for all information about a heritage custodian + entity. The Custodian itself contains minimal information - essentially just its persistent identifier (has_or_had_identifier) + - and acts as a node to which all observations (CustodianObservation, CustodianName) and reconstructions (CustodianLegalStatus) + attach. This hub pattern allows multiple observations from different sources to be connected to a single logical entity + without asserting which observation is "correct" or "primary". **HUB ARCHITECTURE**: - The Custodian hub is identified + by: https://nde.nl/ontology/hc/{abstracted-ghcid} - All observations refer to the hub via refers_to_custodian - All + reconstructions refer to the hub via refers_to_custodian - The hub persists while observations and interpretations evolve + **CUSTODIAN** is defined broadly to include: - **Individual people** (private collectors, curators, archivists) - **Groups + and collectives** (heritage societies, collecting groups, guilds) - **Organizations** (museums, libraries, archives, + foundations) - **Governments** (national archives, state museums, municipal collections) - **Corporations** (company + archives, corporate museums) - **Religious entities** (churches, monasteries, temples with heritage collections) - **Educational + institutions** (university libraries, school archives) - **Any entity exercising custody** over heritage materials - + CIDOC-CRM: crm:E39_Actor (primary) - PROV-O: prov:Agent - Schema.org: schema:Person OR schema:Organization - CPOV: cpov:PublicOrganisation + (for public sector) - RiC-O: rico:Agent, rico:CorporateBody - FOAF: foaf:Agent, foaf:Person, foaf:Organization - TOOI: + tooi:Overheidsorganisatie (Dutch government) ' exact_mappings: - crm:E39_Actor - prov:Agent @@ -155,19 +140,13 @@ classes: - has_or_had_digital_presence - is_or_was_encompassed_by - has_or_had_exhibition - - gift_shop - - has_administration - - has_budget - has_or_had_collection - - has_operational_archive - has_or_had_identifier - has_or_had_identifier - legal_status - mission_statement - modified - - has_or_had_organizational_change_event - organizational_structure - - has_or_had_participated_in_project - place_designation - preferred_label - preserves_or_preserved @@ -196,55 +175,24 @@ classes: multivalued: true required: false inlined_as_list: true - description: 'Digital platform(s) or online presence(s) associated with this custodian. - MIGRATED from digital_platform per slot_fixes.yaml (Rule 53, 2026-01-25). - ' has_or_had_collection: range: CustodianCollection multivalued: true required: false inlined_as_list: true - description: 'Heritage collection(s) associated with this custodian. - MIGRATED from has_collection slot per slot_fixes.yaml (Rule 53, 2025-01-15). - ' organizational_structure: range: uriorcurie multivalued: true required: false inlined_as_list: true - has_or_had_organizational_change_event: - range: uriorcurie - multivalued: true - required: false - inlined_as_list: true is_or_was_encompassed_by: range: EncompassingBody multivalued: true required: false inlined_as_list: true - description: 'Governance bodies that encompass this custodian. - MIGRATED from encompassing_body slot per slot_fixes.yaml (Rule 53, 2025-01-15). - ' has_or_had_policy: range: string required: false - description: 'Data licensing and openness policy for this custodian. - MIGRATED from data_license_policy per slot_fixes.yaml (Rule 53). - ' - has_or_had_participated_in_project: - range: Project - multivalued: true - inlined_as_list: true - required: false - examples: - - value: - - project_id: https://nde.nl/ontology/hc/project/nde/versnellen-2024 - project_name: Versnellen 2024 - project_status: IN_PROGRESS - - project_id: https://nde.nl/ontology/hc/project/europeana/common-culture-2024 - project_name: Europeana Common Culture - project_status: IN_PROGRESS - description: Museum participating in multiple heritage network projects has_or_had_social_media_profile: range: SocialMediaProfile multivalued: true @@ -256,30 +204,17 @@ classes: account_name: rijksmuseum profile_url: https://www.instagram.com/rijksmuseum is_primary_digital_presence: false - verified: true - follower_count: 1200000 - platform_type: X_TWITTER account_name: rijksmuseum profile_url: https://x.com/rijksmuseum is_primary_digital_presence: false - description: Museum with multiple social media profiles supporting main website preserves_or_preserved: range: IntangibleHeritageForm multivalued: true inlined: false - identifier: - range: CustodianIdentifier - multivalued: true - inlined_as_list: true temporal_extent: range: TimeSpan required: false - description: 'Temporal extent of custodian''s destruction or significant damage. - Documents when a heritage custodian institution was destroyed, damaged, - or rendered non-operational due to armed conflict, natural disasters, - deliberate destruction, or state actions. - MIGRATED from time_of_destruction slot per slot_fixes.yaml (Rule 53, 2026-01-15). - ' mission_statement: range: MissionStatement multivalued: true @@ -290,23 +225,29 @@ classes: range: datetime comments: - The Custodian class is intentionally minimal - it exists primarily as an abstract hub - - All substantive information stored in CustodianObservation, CustodianName, CustodianLegalStatus, CustodianPlace, CustodianCollection, DigitalPlatform, SocialMediaProfile, Storage, CustodianArchive, CustodianAdministration, Budget, IntangibleHeritageForm + - All substantive information stored in CustodianObservation, CustodianName, CustodianLegalStatus, CustodianPlace, CustodianCollection, + DigitalPlatform, SocialMediaProfile, Storage, CustodianArchive, CustodianAdministration, Budget, IntangibleHeritageForm - Hub pattern prevents privileging one source over another - - 'Fourteen aspects can independently reference the hub: legal status (formal), name (emic), place (nominal), collection (metonymic), digital platform (operational), social media profiles (third-party presence), data license policy (openness), project participation (collaborative), storage facilities (preservation), operational archives (unprocessed), administration (active records), budget (financial planning), intangible heritage safeguarding (cultural), time of destruction (conflict/disaster)' + - 'Fourteen aspects can independently reference the hub: legal status (formal), name (emic), place (nominal), collection + (metonymic), digital platform (operational), social media profiles (third-party presence), data license policy (openness), + project participation (collaborative), storage facilities (preservation), operational archives (unprocessed), administration + (active records), budget (financial planning), intangible heritage safeguarding (cultural), time of destruction (conflict/disaster)' - 'Broader semantic scope than ''organization'': includes individuals, groups, organizations, governments, corporations' - - Digital platforms are operational infrastructure - both physical institutions (websites) and digital-first custodians use this slot + - Digital platforms are operational infrastructure - both physical institutions (websites) and digital-first custodians + use this slot - Social media profiles represent THIRD-PARTY accounts distinct from owned DigitalPlatform and AuxiliaryDigitalPlatform - Storage facilities track preservation infrastructure with condition monitoring and policy compliance - Data license policy captures both the custodian's own policy AND their stance on open data advocacy - Project participation tracks collaborative initiatives with other custodians through EncompassingBody networks - - "Three-tier records lifecycle: CustodianAdministration (ACTIVE) \u2192 CustodianArchive (INACTIVE) \u2192 CustodianCollection (HERITAGE)" + - "Three-tier records lifecycle: CustodianAdministration (ACTIVE) \u2192 CustodianArchive (INACTIVE) \u2192 CustodianCollection\ + \ (HERITAGE)" - Budget and FinancialStatement track financial planning (forward-looking) and actuals (backward-looking) - - temporal_extent documents when heritage institutions were destroyed in conflicts, disasters, or deliberate destruction (was time_of_destruction - migrated 2026-01-15) + - temporal_extent documents when heritage institutions were destroyed in conflicts, disasters, or deliberate destruction + (was time_of_destruction - migrated 2026-01-15) examples: - value: has_or_had_identifier: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Minimal Custodian hub for Rijksmuseum with only persistent identifier annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/CustodianAdministration.yaml b/schemas/20251121/linkml/modules/classes/CustodianAdministration.yaml index ef3213bb58..8a4b38a6ac 100644 --- a/schemas/20251121/linkml/modules/classes/CustodianAdministration.yaml +++ b/schemas/20251121/linkml/modules/classes/CustodianAdministration.yaml @@ -78,39 +78,31 @@ classes: - rico:isAssociatedWithActivity - org:Organization slots: - - has_or_had_access_control - is_or_was_active_since - has_or_had_description - has_or_had_label - has_or_had_status - - has_or_had_business_criticality - creating_function - has_or_had_level - has_or_had_quantity - has_or_had_roadmap - contains_or_contained - estimates_or_estimated - - id - managing_unit - primary_system - record_type - refers_to_custodian - retention_period_year - retention_schedule - - is_or_was_stored_in - specificity_annotation - has_or_had_score - temporal_extent - is_or_was_derived_from - is_or_was_generated_by slot_usage: - id: - identifier: true - required: true has_or_had_label: range: string required: true - description: Name of the administration system/record set. inlined: true examples: - value: @@ -118,7 +110,6 @@ classes: has_or_had_description: range: string required: false - description: Description of the administration system/record set. inlined: true examples: - value: @@ -132,7 +123,6 @@ classes: - Correspondence - Reports - Meeting minutes - description: Director's office typical records managing_unit: range: OrganizationalStructure required: false @@ -141,73 +131,47 @@ classes: required: false examples: - value: Collection acquisition - description: Function generating acquisition records is_or_was_active_since: range: date required: false examples: - value: '2015-01-01' - description: System implemented January 2015 has_or_had_quantity: range: integer multivalued: true inlined: true - description: Estimated or measured volume of the administrative records. MIGRATED from estimated_volume per slot_fixes.yaml (Rule 53). Uses Quantity class for structured volume representation. examples: - value: - quantity_value: 150000 has_or_had_measurement_unit: has_or_had_symbol: documents is_estimate: true - description: Document count estimate - value: - quantity_value: 800 has_or_had_measurement_unit: has_or_had_symbol: GB is_estimate: true - description: Storage volume estimate estimates_or_estimated: - description: 'Estimated growth rate of the records. - MIGRATED from growth_rate per Rule 53. - Uses GrowthRate class. - ' range: GrowthRate inlined: true required: false examples: - value: has_or_had_description: ~30,000 documents/year - description: Active growth rate primary_system: range: DigitalPlatform required: false examples: - value: https://nde.nl/ontology/hc/platform/rm-sharepoint - description: SharePoint as primary document system - is_or_was_stored_in: - range: DigitalPlatform - multivalued: true - required: false retention_schedule: range: string required: false examples: - value: Selectielijst Gemeenten 2020, categorie 4.2.3 - description: Dutch municipal retention schedule reference retention_period_year: range: integer required: false examples: - value: 7 - description: 7-year retention for financial records - value: 20 - description: 20-year retention for personnel files - expected_transfer_date: - range: date - required: false - examples: - - value: '2027-01-01' - description: Oldest records eligible for transfer in 2027 has_or_had_level: range: string inlined: true @@ -218,12 +182,7 @@ classes: has_or_had_label: Confidential has_or_had_code: CONFIDENTIAL has_or_had_description: Personnel data - need-to-know basis - description: HR files classification contains_or_contained: - description: 'Personal data contained in this administration. - MIGRATED from gdpr_relevant (boolean) per Rule 53. - Uses PersonalData class for structured representation. - ' range: PersonalData inlined: true multivalued: true @@ -234,40 +193,18 @@ classes: has_or_had_label: GDPR Sensitive has_or_had_code: SPECIAL_CATEGORY has_or_had_description: Contains employee personal data - description: Contains personal data (migrated from gdpr_relevant=true) - has_or_had_business_criticality: - range: BusinessCriticality - inlined: true - required: false - description: 'Business criticality level for continuity planning. Levels: CRITICAL (hours), HIGH (days), MEDIUM (weeks), LOW (minimal impact). Drives backup and disaster recovery priorities.' - examples: - - value: - has_or_had_label: CRITICAL - has_or_had_description: Financial system - required for operations - description: Critical financial system - value: has_or_had_label: MEDIUM has_or_had_description: Historical project files - reference only - description: Medium priority archives has_or_had_status: range: BackupStatus required: false - description: 'Current backup and disaster recovery status (replaces backup_status string). - Provides structured type classification via BackupType hierarchy. - ' examples: - value: has_or_had_type: - has_or_had_code: DAILY_AUTOMATED - has_or_had_code: CLOUD_AZURE has_or_had_description: Daily backup to Azure, 30-day retention - description: Structured backup status with type classification - has_or_had_access_control: - range: string - required: false - examples: - - value: 'AD Group: HR-Staff; MFA required' - description: Active Directory with multi-factor auth refers_to_custodian: range: Custodian required: true @@ -279,9 +216,6 @@ classes: range: ReconstructionActivity required: false temporal_extent: - description: 'Administration record validity period using CIDOC-CRM TimeSpan. - MIGRATED from valid_from + valid_to per slot_fixes.yaml (Rule 53). - ' range: TimeSpan inlined: true required: false @@ -338,9 +272,6 @@ classes: has_or_had_label: GDPR Sensitive has_or_had_code: PERSONAL_DATA has_or_had_description: Contains personal correspondence - has_or_had_business_criticality: - has_or_had_label: HIGH - has_or_had_description: Director's correspondence - important for decision continuity has_or_had_status: has_or_had_type: - has_or_had_code: DAILY_AUTOMATED @@ -348,7 +279,6 @@ classes: has_or_had_description: Daily backup to Azure, replicated to secondary site access_control: 'AD Group: RM-Directors-Staff' refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Active director's correspondence system - value: id: https://nde.nl/ontology/hc/administration/rm/hr-personnel has_or_had_label: @@ -386,9 +316,6 @@ classes: has_or_had_label: GDPR Sensitive has_or_had_code: SPECIAL_CATEGORY has_or_had_description: Contains employee personal data - has_or_had_business_criticality: - has_or_had_label: CRITICAL - has_or_had_description: HR personnel system - payroll and compliance critical has_or_had_status: has_or_had_type: - has_or_had_code: REALTIME_REPLICATION @@ -396,7 +323,6 @@ classes: has_or_had_description: Real-time replication, encrypted at rest access_control: HR Department only, individual file permissions refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Active HR personnel records system - value: id: https://nde.nl/ontology/hc/administration/rm/conservation-lab has_or_had_label: @@ -424,7 +350,6 @@ classes: estimates_or_estimated: has_or_had_description: ~2,000 treatments/year primary_system: https://nde.nl/ontology/hc/platform/rm-conservation-db - is_or_was_stored_in: - https://nde.nl/ontology/hc/platform/rm-adlib retention_schedule: Permanent - linked to collection objects retention_period_years: null @@ -432,16 +357,12 @@ classes: has_or_had_label: Internal has_or_had_code: INTERNAL has_or_had_description: For internal staff use only - has_or_had_business_criticality: - has_or_had_label: HIGH - has_or_had_description: Conservation records - permanently linked to collection objects has_or_had_status: has_or_had_type: - has_or_had_code: DAILY_AUTOMATED - has_or_had_code: LONG_RETENTION has_or_had_description: Daily backup, 10-year retention, linked to object records refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Active conservation treatment documentation annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/CustodianArchive.yaml b/schemas/20251121/linkml/modules/classes/CustodianArchive.yaml index 006604c809..7cab60f710 100644 --- a/schemas/20251121/linkml/modules/classes/CustodianArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/CustodianArchive.yaml @@ -73,18 +73,15 @@ classes: is_a: ReconstructedEntity class_uri: rico:RecordSet slots: - - has_or_had_access_restriction - is_or_was_accessioned_through - has_or_had_accumulation - has_or_had_note - has_or_had_description - has_or_had_label - - has_or_had_assigned_processor - creating_agency - has_or_had_type - has_or_had_quantity - hold_or_held_record_set_type - - id - lifecycle_phase_type - managing_unit - processing_completed_date @@ -118,33 +115,20 @@ classes: - rico:Activity - crm:E78_Curated_Holding slot_usage: - id: - identifier: true - required: true has_or_had_label: range: string required: true - description: Name or title of the archive. inlined: true examples: - value: label_text: Director's Office Correspondence 2010-2020 - description: Archive name has_or_had_description: range: string - description: 'Description of the archive content and context. - Replaces has_archive_description per Rule 53. - ' inlined: true examples: - value: has_or_had_description: Incoming and outgoing correspondence of the museum director including policy discussions, loan requests, and exhibition planning. - description: Archive content description is_or_was_accessioned_through: - description: 'Accession event for the archive record set. - MIGRATED from has_accession_date and has_accession_number per Rule 53. - Uses AccessionEvent class with temporal_extent and has_or_had_identifier. - ' range: AccessionEvent inlined: true required: false @@ -155,95 +139,59 @@ classes: has_or_had_identifier: - has_or_had_value: 2024-0001 has_or_had_type: Accession Number - description: Records accessioned January 2024 with number has_or_had_accumulation: range: Accumulation inlined: true - description: 'Accumulation period of the records. - MIGRATED from has_accumulation_start_date/end_date per Rule 53. - ' examples: - value: temporal_extent: begin_of_the_begin: '1990-01-01' end_of_the_end: '2020-12-31' - description: Accumulated 1990-2020 creating_agency: range: string required: false has_or_had_type: - description: 'Type of custodian archive. - MIGRATED from has_or_had_type per Rule 53. - Uses CustodianType class. - ' range: CustodianType inlined: true examples: - value: has_or_had_label: Municipal Archive - description: Archive type has_or_had_quantity: range: integer multivalued: true inlined: true - description: 'Estimated or measured extent of the archive (e.g., linear meters, file count). - MIGRATED from estimated_extent per slot_fixes.yaml (Rule 53). - Uses Quantity class with is_estimate=true for estimates. - ' examples: - value: - quantity_value: 25 has_or_had_measurement_unit: has_or_had_label: linear meters is_estimate: true - description: Physical extent estimate - value: - quantity_value: 500 has_or_had_measurement_unit: has_or_had_symbol: GB has_or_had_description: ~50,000 files is_estimate: true - description: Digital extent estimate is_or_was_stored_at: range: StorageLocation multivalued: true required: false - description: 'Physical or digital storage location for this archive. - MIGRATED from storage_location per slot_fixes.yaml (Rule 53). - Uses StorageLocation class for unified location modeling. - ' - has_or_had_tracked_in_cm: - range: CollectionManagementSystem - multivalued: true - required: false is_or_was_conducted_by: - description: | - Processor agent assigned to the archive. - MIGRATED from has_or_had_assigned_processor per Rule 53. - Uses ProcessorAgent class (wraps prov:Agent). range: ProcessorAgent required: false inlined: true examples: - value: has_or_had_name: "Dr. Maria van den Berg" - description: Senior archivist assigned processing_started_date: range: date required: false examples: - value: '2024-03-01' - description: Processing started March 2024 processing_completed_date: range: date required: false examples: - value: '2024-09-15' - description: Processing completed September 2024 is_or_was_transferred: - description: 'Transfer events for this archive, including transfer to CustodianCollection. - Replaces bespoke transfer_to_collection_date slot. - ' range: TransferEvent multivalued: true inlined: true @@ -256,25 +204,12 @@ classes: has_or_had_timestamp: '2024-10-01T00:00:00Z' has_or_had_description: description_text: Transferred to collection after processing complete - description: Transfer to CustodianCollection October 2024 is_or_was_appended_with: - description: The collection this archive was appended to after processing. Uses RiC-O is_or_was_appended_with predicate for temporal relationship between record sets. range: uriorcurie required: false examples: - value: https://nde.nl/ontology/hc/collection/rm-director-correspondence-2010-2020 - description: Collection derived from this archive after processing - has_or_had_access_restriction: - range: string - required: false - examples: - - value: Closed - Contains personnel files with personal data - description: Privacy restriction has_or_had_note: - description: 'Notes associated with the archive. - MIGRATED from has_or_had_notes per Rule 53. - Uses Note class. - ' range: string multivalued: true inlined: true @@ -303,9 +238,7 @@ classes: has_or_had_label: linear meters has_or_had_description: 48 boxes is_estimate: true - has_or_had_access_restriction: Restricted - Contains sensitive correspondence refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Unprocessed director's correspondence awaiting archival processing - value: id: https://nde.nl/ontology/hc/archive/na/2015-gov-0234 has_or_had_label: @@ -337,6 +270,5 @@ classes: note_content: Retained all policy files; weeded duplicate copies per retention schedule. note_date: '2024-01-10' refers_to_custodian: https://nde.nl/ontology/hc/nl-na - description: Government records in active processing (9 years after accession) annotations: custodian_types: "['*']" diff --git a/schemas/20251121/linkml/modules/classes/CustodianCollection.yaml b/schemas/20251121/linkml/modules/classes/CustodianCollection.yaml index f388a7565f..8d6fa65dcd 100644 --- a/schemas/20251121/linkml/modules/classes/CustodianCollection.yaml +++ b/schemas/20251121/linkml/modules/classes/CustodianCollection.yaml @@ -74,17 +74,12 @@ classes: - premis:relationship - dcterms:hasPart slots: - - has_or_had_access_right - - has_or_had_arrangement_system - has_or_had_description - has_or_had_label - has_or_had_scope - has_or_had_type - custody_history - is_or_was_instantiated_by - - extent - - id - - has_or_had_managed_by_cm - managing_unit - preservation_level - has_or_had_provenance @@ -97,10 +92,6 @@ classes: - is_or_was_generated_by slot_usage: has_or_had_label: - description: 'MIGRATED from collection_name per slot_fixes.yaml (Rule 53/56, 2026-01-18). - The name of this custodian collection. - Uses Label class for structured labeling. - ' range: Label inlined: true required: true @@ -109,24 +100,13 @@ classes: range: OrganizationalStructure required: false temporal_extent: - description: 'Collection validity period using CIDOC-CRM TimeSpan. - MIGRATED from valid_from + valid_to per slot_fixes.yaml (Rule 53). - ' range: TimeSpan inlined: true required: false - id: - identifier: true - required: true refers_to_custodian: range: Custodian required: true has_or_had_description: - description: 'MIGRATED from collection_description per slot_fixes.yaml (Rule 53/56, 2026-01-18). - Narrative description of the custodian collection''s scope and significance. - Uses Description class with description_type for type discrimination. - Use description_type: "collection_description" to indicate collection narrative format. - ' range: string inlined: true required: false @@ -136,25 +116,15 @@ classes: - value: description_text: The Nationaal Archief holdings comprise over 137 km of archival records documenting Dutch government and society from the medieval period to the present. description_type: collection_description - description: National archive custodian collection description has_or_had_scope: - description: 'MIGRATED from collection_scope per slot_fixes.yaml (Rule 53/56, 2026-01-18). - Subject scope or thematic focus of the collection. - Uses CollectionScope class for structured scope representation. - Use scope_type: "collection_scope" to indicate collection scope format. - ' range: CollectionScope inlined: true required: false examples: - value: scope_description: 17th-century Dutch painting - scope_type: collection_scope - description: Art collection scope example - value: scope_description: Municipal government records, 1578-present - scope_type: archival_scope - description: Archival collection scope example has_or_had_content: range: string multivalued: true @@ -164,68 +134,33 @@ classes: description: "Content held by this collection with typed categorization.\nMIGRATED from:\n- temporal_coverage per slot_fixes.yaml (Rule 53/56, 2026-01-16)\n- collection_type per slot_fixes.yaml (Rule 53, 2026-01-22)\n\nCollectionContent unifies content description with type classification:\n- content_description: Free-text description of the content\n- content_date_range: Temporal coverage (e.g., \"1602-1799\")\n- content_extent: Size/extent of content\n- has_or_had_type \u2192 CollectionContentType: Type classification (Archival, Library, Art, etc.)\n" examples: - value: - content_description: Colonial period administrative records - content_date_range: 1602-1800 has_or_had_type: - type_label: Archival - description: Colonial archives content with type - value: - content_description: Religious art and liturgical objects - content_extent: 450 objects has_or_had_type: - type_label: Art - type_label: Liturgical - description: Religious heritage content with multiple types - extent: - range: string - required: false - has_or_had_access_right: - range: string - required: false is_or_was_instantiated_by: range: DigitalInstantiation multivalued: true inlined: true - description: 'Digital surrogates or digitization status. - MIGRATED from digital_surrogate and digitization_status (2026-01-25). - ' preservation_level: range: string required: false examples: - value: FULL - description: Long-term preservation with format migration - value: BIT_LEVEL - description: Bit-level preservation in institutional repository - has_or_had_managed_by_cm: - range: CollectionManagementSystem - multivalued: true - required: false - examples: - - value: https://nde.nl/ontology/hc/cms/rijksmuseum-adlib - description: Collection managed by Rijksmuseum Adlib CMS has_or_had_arrangement: range: ArrangementType required: false - description: 'Arrangement system used for this collection (e.g. ProvenanceBased, SubjectBased). - MIGRATED from has_or_had_arrangement_system per Rule 53. - Uses ArrangementType class hierarchy. - ' examples: - value: has_or_had_type: ProvenanceBasedArrangement has_or_had_description: Arranged by creator/provenance (respect des fonds) - description: Provenance-based arrangement - value: has_or_had_type: NumericalArrangement has_or_had_description: Arranged by accession number - description: Numerical arrangement has_or_had_provenance: - description: 'Custody transfer notes for this collection. - MIGRATED from provenance_note per slot_fixes.yaml (Rule 53/56, 2026-01-18). - Uses Provenance class with has_or_had_description for text content. - Use description_type: "provenance_note" to indicate custody transfer format. - ' required: false range: Provenance inlined: true @@ -234,7 +169,6 @@ classes: has_or_had_description: - description_text: Transferred from private donor 2015; previously held by estate since 1923. description_type: provenance_note - description: Custody transfer note example is_or_was_generated_by: range: ReconstructionActivity required: false diff --git a/schemas/20251121/linkml/modules/classes/CustodianLegalNameClaim.yaml b/schemas/20251121/linkml/modules/classes/CustodianLegalNameClaim.yaml index e42f2975b1..b41938e79a 100644 --- a/schemas/20251121/linkml/modules/classes/CustodianLegalNameClaim.yaml +++ b/schemas/20251121/linkml/modules/classes/CustodianLegalNameClaim.yaml @@ -30,21 +30,9 @@ classes: range: uriorcurie inlined: true required: false - description: 'MIGRATED from claim_type per slot_fixes.yaml (Rule 53/56, 2026-01-19). - Type of claim (always "legal_name" for this class). - Uses ClaimType class hierarchy. - ' attributes: - claim_value: - range: string - required: true - description: The legal name value - extraction_timestamp: - range: datetime - description: When the claim was extracted note: range: string - description: Notes about the legal name detection annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/CustodianLegalStatus.yaml b/schemas/20251121/linkml/modules/classes/CustodianLegalStatus.yaml index e35979428b..2170222655 100644 --- a/schemas/20251121/linkml/modules/classes/CustodianLegalStatus.yaml +++ b/schemas/20251121/linkml/modules/classes/CustodianLegalStatus.yaml @@ -73,9 +73,24 @@ classes: CustodianLegalStatus: is_a: ReconstructedEntity class_uri: org:FormalOrganization - description: "Formal legal entity representing ONE ASPECT of a heritage custodian - the LEGAL dimension.\n\nCRITICAL: CustodianLegalStatus is ONE OF FIVE possible outputs from ReconstructionActivity:\n1. CustodianLegalStatus - Formal legal entity (PRECISE, registered)\n2. CustodianName - Emic label (ambiguous, contextual)\n3. CustodianPlace - Nominal place designation (not coordinates!)\n4. CustodianCollection - Heritage collections managed by the custodian\n5. DigitalPlatform - Digital systems and platforms operated by the custodian\n\nAll five aspects independently identify the SAME Custodian hub and have independent\ntemporal lifecycles. Each is derived from CustodianObservation(s) via prov:wasDerivedFrom\nand generated by ReconstructionActivity via prov:wasGeneratedBy.\n\n**Characteristics of CustodianLegalStatus**:\n- Precisely defined through legal registration\n- Has formal legal name (as registered)\n- Has legal form (ISO 20275 codes: stichting, association, government agency,\ - \ etc.)\n- Has registration number (KvK, company number, charity number, etc.)\n- LESS AMBIGUOUS than CustodianName (legal names are formally defined)\n\n**Example Distinction**:\n- CustodianLegalStatus: \"Stichting Rijksmuseum\" (legal entity, KvK 41215422)\n- CustodianName: \"Rijksmuseum\" (emic label, how it presents itself)\n- CustodianPlace: \"het museum op het Museumplein\" (place reference)\n\n**For Legal Entities** (organizations, corporations, governments):\n- MUST have legal registration number and legal form\n- Formal governance structures documented\n\n**For Individuals** (private collectors, curators):\n- May not have legal registration (unless operating as sole proprietor)\n- Identity established through biographical sources\n\nNOTE: Informal groups WITHOUT legal status do NOT get CustodianLegalStatus.\nThey may still have CustodianName or CustodianPlace.\n\nA legal status MUST derive from one or more CustodianObservations \nvia prov:wasDerivedFrom. The reconstruction\ - \ process (entity resolution, \nreconciliation) MUST be documented via prov:wasGeneratedBy.\n" + description: "Formal legal entity representing ONE ASPECT of a heritage custodian - the LEGAL dimension.\n\nCRITICAL:\ + \ CustodianLegalStatus is ONE OF FIVE possible outputs from ReconstructionActivity:\n1. CustodianLegalStatus - Formal\ + \ legal entity (PRECISE, registered)\n2. CustodianName - Emic label (ambiguous, contextual)\n3. CustodianPlace - Nominal\ + \ place designation (not coordinates!)\n4. CustodianCollection - Heritage collections managed by the custodian\n5. DigitalPlatform\ + \ - Digital systems and platforms operated by the custodian\n\nAll five aspects independently identify the SAME Custodian\ + \ hub and have independent\ntemporal lifecycles. Each is derived from CustodianObservation(s) via prov:wasDerivedFrom\n\ + and generated by ReconstructionActivity via prov:wasGeneratedBy.\n\n**Characteristics of CustodianLegalStatus**:\n-\ + \ Precisely defined through legal registration\n- Has formal legal name (as registered)\n- Has legal form (ISO 20275\ + \ codes: stichting, association, government agency, etc.)\n- Has registration number (KvK, company number, charity number,\ + \ etc.)\n- LESS AMBIGUOUS than CustodianName (legal names are formally defined)\n\n**Example Distinction**:\n- CustodianLegalStatus:\ + \ \"Stichting Rijksmuseum\" (legal entity, KvK 41215422)\n- CustodianName: \"Rijksmuseum\" (emic label, how it presents\ + \ itself)\n- CustodianPlace: \"het museum op het Museumplein\" (place reference)\n\n**For Legal Entities** (organizations,\ + \ corporations, governments):\n- MUST have legal registration number and legal form\n- Formal governance structures\ + \ documented\n\n**For Individuals** (private collectors, curators):\n- May not have legal registration (unless operating\ + \ as sole proprietor)\n- Identity established through biographical sources\n\nNOTE: Informal groups WITHOUT legal status\ + \ do NOT get CustodianLegalStatus.\nThey may still have CustodianName or CustodianPlace.\n\nA legal status MUST derive\ + \ from one or more CustodianObservations \nvia prov:wasDerivedFrom. The reconstruction process (entity resolution, \n\ + reconciliation) MUST be documented via prov:wasGeneratedBy.\n" exact_mappings: - rico:CorporateBody - org:FormalOrganization @@ -127,56 +142,39 @@ classes: required: true examples: - value: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: References the Rijksmuseum custodian hub is_or_was_responsible_for: range: LegalResponsibilityCollection multivalued: true - description: 'Collections (informatieobjecten) for which this legal entity bears formal legal responsibility. - - MIGRATED from collections_under_responsibility per slot_fixes.yaml (Rule 53, 2026-01-19). - - ' examples: - value: '- https://nde.nl/ontology/hc/collection/rm-national-collection - https://nde.nl/ontology/hc/collection/rm-library ' - description: Rijksmuseum foundation responsible for National Collection and Library - value: '- https://nde.nl/ontology/hc/collection/nha-provincial-archive ' - description: Noord-Hollands Archief responsible for Provincial Archive legal_entity_type: range: LegalEntityType required: true examples: - value: ORGANIZATION - description: Formal organizational entity (foundation, corporation, government body) reconstruction_method: range: string examples: - value: Synthesized from official website, historical records, and academic references - description: Reconstruction methodology documentation legal_name: range: LegalName required: true examples: - value: full_name: Stichting Rijksmuseum - name_without_type: Rijksmuseum - display_name: Rijksmuseum - description: Legal name structure (vs. 'Rijksmuseum' emic name) legal_form: range: LegalForm required: false examples: - value: - elf_code: '8888' - has_or_had_country: NL - local_name: Stichting abbreviation: St. - description: Dutch foundation legal form todos: - Validate against /data/ontology/2023-09-28-elf-code-list-v1.5.csv (Status='ACTV') - Map to gleif_elf:EntityLegalForm individuals @@ -187,12 +185,7 @@ classes: range: RegistrationNumber multivalued: true examples: - - value: - number: '41215422' - type: KvK - temporal_validity: - begin_of_the_begin: '1885-07-01' - description: Dutch Chamber of Commerce registration + - value: null registration_date: deprecated: true range: date @@ -203,8 +196,6 @@ classes: name: Kamer van Koophandel abbreviation: KvK jurisdiction: NL - gleif_ra_code: RA000439 - description: Dutch Chamber of Commerce primary_register: range: TradeRegister examples: @@ -212,8 +203,6 @@ classes: register_name: Commercial Register register_name_local: Handelsregister register_abbreviation: HR - gleif_ra_code: RA000439 - description: Netherlands commercial register legal_jurisdiction: range: Jurisdiction examples: @@ -223,15 +212,9 @@ classes: country: alpha_2: NL alpha_3: NLD - description: Netherlands national jurisdiction is_or_was_dissolved_by: range: DissolutionEvent inlined: true - description: 'Dissolution event for the legal entity. - - MIGRATED from dissolution_date per slot_fixes.yaml (Rule 53, 2026-01-26). - - ' temporal_extent: range: TimeSpan examples: @@ -240,33 +223,23 @@ classes: end_of_the_begin: '1805-12-31' begin_of_the_end: '1950-01-01' end_of_the_end: '1955-12-31' - description: Museum founded sometime between 1800-1805, closed between 1950-1955 is_or_was_suborganization_of: range: CustodianLegalStatus - description: 'Parent organization in hierarchical structure. - - MIGRATED from parent_custodian slot per slot_fixes.yaml (Rule 53, 2025-01-15). - - ' has_or_had_status: range: LegalStatus required: true examples: - value: - status_code: ACTIVE has_or_had_label: Active - description: Currently operating entity defines_or_defined: range: GovernanceStructure examples: - value: has_or_had_type: hierarchical has_or_had_description: Board of trustees with director-led departments - description: Museum governance structure has_or_had_document: range: ArticlesOfAssociation inlined: true - description: Articles of Association or other founding documents. MIGRATED from has_articles_of_association per Rule 53 (2026-01-27). multivalued: true required: false examples: @@ -283,7 +256,6 @@ classes: has_or_had_version: 15 is_current_version: true current_archival_stage: ACTIVE - description: Rijksmuseum has 15 versions of articles, original in heritage collection is_or_was_derived_from: range: CustodianObservation multivalued: true @@ -293,14 +265,6 @@ classes: required: true is_or_was_revision_of: range: CustodianLegalStatus - description: 'Previous version of this legal status. - - MIGRATED from was_revision_of per Rule 39/53 (RiC-O temporal naming, 2026-01-15). - - ' - identifier: - range: CustodianIdentifier - multivalued: true service_area: range: ServiceArea multivalued: true @@ -311,15 +275,17 @@ classes: service_area_type: REGIONAL cover_or_covered_subregion: - iso_3166_2_code: NL-NH - description: Archive service area covering Noord-Holland comments: - 'Represents the LEGAL ASPECT of a custodian: ''what is the formal legal entity?''' - One of five possible outputs from ReconstructionActivity (legal status, name, place, collection, digital platform) - - 'Example: ''Stichting Rijksmuseum'' (legal entity) vs ''Rijksmuseum'' (emic name) vs ''het museum op het Museumplein'' (place)' - - "Reconstruction process documented via prov:wasGeneratedBy \u2192 ReconstructionActivity (entity resolution, reconciliation, expert review)" + - 'Example: ''Stichting Rijksmuseum'' (legal entity) vs ''Rijksmuseum'' (emic name) vs ''het museum op het Museumplein'' + (place)' + - "Reconstruction process documented via prov:wasGeneratedBy \u2192 ReconstructionActivity (entity resolution, reconciliation,\ + \ expert review)" - 'CRITICAL: CustodianLegalStatus is ONLY for formally registered legal entities (natural persons and legal persons)' - Informal groups without legal status do NOT get CustodianLegalStatus (may still have CustodianName or CustodianPlace) - - All legal attributes (legal_name, legal_form, registration_numbers, etc.) use proper class ranges instead of primitive types + - All legal attributes (legal_name, legal_form, registration_numbers, etc.) use proper class ranges instead of primitive + types - Legal forms follow ISO 20275 Entity Legal Forms standard with jurisdiction-specific codes - has_articles_of_association links to ArticlesOfAssociation documenting founding and governance - service_area links to ServiceArea defining geographic jurisdiction/werkgebied @@ -330,33 +296,18 @@ classes: examples: - value: id: https://w3id.org/heritage/org/rijksmuseum - legal_entity_type: - code: ORGANIZATION - label: Legal Person + legal_entity_type: null legal_name: full_name: Stichting Rijksmuseum - name_without_type: Rijksmuseum - display_name: Rijksmuseum language: nl legal_form: - elf_code: '8888' - has_or_had_country: NL - local_name: Stichting abbreviation: St. has_or_had_identifier: - number: '41215422' - type: KvK - trade_register: - register_id: NL-HR - register_name: Commercial Register - register_name_local: Handelsregister - temporal_validity: - begin_of_the_begin: '1885-07-01' registration_authority: name: Chamber of Commerce name_local: Kamer van Koophandel abbreviation: KvK - gleif_ra_code: RA000439 jurisdiction: jurisdiction_id: NL jurisdiction_type: NATIONAL @@ -364,7 +315,6 @@ classes: register_id: NL-HR register_name: Commercial Register register_name_local: Handelsregister - gleif_ra_code: RA000439 register_type: COMMERCIAL legal_jurisdiction: jurisdiction_id: NL @@ -374,7 +324,6 @@ classes: alpha_3: NLD legal_system_type: CIVIL_LAW has_or_had_status: - status_code: ACTIVE has_or_had_label: Active is_or_was_derived_from: - https://w3id.org/heritage/observation/rijks-letterhead-2015 @@ -382,10 +331,8 @@ classes: is_or_was_generated_by: null identifier: - has_or_had_identifier_scheme: ISIL - identifier_value: NL-AmRMA - has_or_had_identifier_scheme: Wikidata - identifier_value: Q190804 annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/CustodianName.yaml b/schemas/20251121/linkml/modules/classes/CustodianName.yaml index 5f4095a828..c028f3f342 100644 --- a/schemas/20251121/linkml/modules/classes/CustodianName.yaml +++ b/schemas/20251121/linkml/modules/classes/CustodianName.yaml @@ -69,7 +69,6 @@ classes: - foaf:nick - gleif:hasOtherName slots: - - endorsement_source - has_or_had_label - name_authority - name_language @@ -88,37 +87,22 @@ classes: range: string inlined: true multivalued: true - description: 'The name(s) of the custodian. - Includes: - - Emic name (has_or_had_type: EmicLabel) - MIGRATED from emic_name - - Alternative names (has_or_had_type: AlternativeName) - MIGRATED from has_or_had_alternative_name - ' examples: - value: has_or_had_label: Rijksmuseum has_or_had_type: EmicLabel - description: Standardized emic name - value: has_or_had_label: State Museum has_or_had_type: AlternativeName - description: Alternative name name_language: range: string pattern: ^[a-z]{2}(-[A-Z]{2})?$ standardized_name: range: string required: true - endorsement_source: - range: uriorcurie - required: true name_authority: range: string temporal_extent: - description: 'Name validity period using CIDOC-CRM TimeSpan. - MIGRATED from valid_from + valid_to per slot_fixes.yaml (Rule 53). - NOTE: name_validity_period slot is ALSO available for backward compatibility, - but new code should use temporal_extent for consistency with other classes. - ' range: TimeSpan inlined: true required: false @@ -126,7 +110,6 @@ classes: - value: begin_of_the_begin: '1920-01-01' end_of_the_end: '1950-12-31' - description: Name valid from 1920 to 1950 name_validity_period: range: TimeSpan examples: @@ -135,7 +118,6 @@ classes: end_of_the_begin: '1929-12-31' begin_of_the_end: '1945-01-01' end_of_the_end: '1955-12-31' - description: Name adopted sometime in the 1920s, changed around 1950 is_or_was_derived_from: range: CustodianObservation multivalued: true diff --git a/schemas/20251121/linkml/modules/classes/CustodianNameConsensus.yaml b/schemas/20251121/linkml/modules/classes/CustodianNameConsensus.yaml index 171efb4a9b..1a1e27c300 100644 --- a/schemas/20251121/linkml/modules/classes/CustodianNameConsensus.yaml +++ b/schemas/20251121/linkml/modules/classes/CustodianNameConsensus.yaml @@ -40,117 +40,21 @@ classes: range: uriorcurie inlined: true required: false - description: 'MIGRATED from claim_type per slot_fixes.yaml (Rule 53/56, 2026-01-19). - Type of claim (always "custodian_name" for this class). - Uses ClaimType class hierarchy. - ' attributes: - claim_value: - range: string - description: Determined name - claim_value_arabic: - range: string - description: Arabic name (for Middle East institutions) - claim_value_english: - range: string - description: English name (for non-English institutions) source: range: string - description: Primary source (original_entry, wikidata, etc.) source_url: range: uri - description: URL of the source source_type: range: string - description: Type of source (ch_annotator, nde_csv, etc.) - confidence: - range: float - description: Confidence score (0-1) - consensus_method: - range: boolean - description: Whether consensus method was used - sources_checked: - range: integer - description: Number of sources checked - sources_matched: - range: integer - description: Number of sources that matched - extraction_timestamp: - range: datetime - matching_sources: - range: MatchingSource - multivalued: true - inlined_as_list: true - emic_name: - range: string - description: Name in original/native language (emic form) name_language: range: string - description: ISO 639-1 language code of the emic name standardized_name: range: string - description: Standardized/normalized form of the name - has_or_had_alternative_name: - range: string - multivalued: true - inlined_as_list: true - description: Alternative names from various sources (can be strings or structured objects with language and provenance) - alternative_names: - range: string - multivalued: true - inlined_as_list: true - description: Alternative names from various sources (alias for has_or_had_alternative_name) - previous_value: - range: string - description: Previous claim value (if changed) - previous_source: - range: string - description: Previous source (if changed) note: range: string - description: Additional notes about the name determination - correction_note: - range: string - description: Note explaining manual correction made to the name - merge_notes: - any_of: - - range: string - - range: MergeNote - multivalued: true - inlined_as_list: true - description: Notes about name merging or deduplication (string or array of structured objects) - has_or_had_abbreviation: - range: string - description: Short form or has_or_had_abbreviation of the name - emic_name_language: - range: string - description: ISO 639-1 language code of the emic name (alias for name_language) - official_name: - range: string - description: Official registered name - former_names: - any_of: - - range: string - multivalued: true - - range: FormerName - multivalued: true - inlined_as_list: true - description: Previous names the institution was known by (strings or structured objects) short_name: range: string - description: Short name or commonly used abbreviated form of the institution name - english_name: - range: string - description: English translation or variant of the institution name - name_source: - range: string - description: Source from which the name was derived - name_verified: - range: boolean - description: Whether the name has been manually verified - emic_name_source: - range: string - description: Source from which the emic name was derived (e.g., wikidata, website) annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/CustodianObservation.yaml b/schemas/20251121/linkml/modules/classes/CustodianObservation.yaml index 8b8e624cbd..1d1b586dbb 100644 --- a/schemas/20251121/linkml/modules/classes/CustodianObservation.yaml +++ b/schemas/20251121/linkml/modules/classes/CustodianObservation.yaml @@ -79,20 +79,13 @@ classes: range: string multivalued: true inlined: true - description: 'Observed name or alternative name in the source. - MIGRATED from has_or_had_alternative_observed_name (Rule 53). - Use has_or_had_type: ObservedName for primary observed name. - Use has_or_had_type: AlternativeName for variants. - ' examples: - value: has_or_had_label: Rijksmuseum Amsterdam has_or_had_type: ObservedName - description: Primary observed name - value: has_or_had_label: Het Rijks has_or_had_type: AlternativeName - description: Alternative observed name observation_date: range: date source: @@ -100,25 +93,12 @@ classes: required: true observation_context: range: string - derived_from_entity: - description: 'DEPRECATED 2026-01-25: Migrated to refers_or_referred_to slot with EntityReconstruction class. - See refers_or_referred_to slot_usage for current pattern. - ' - deprecated: Use refers_or_referred_to with EntityReconstruction class refers_or_referred_to: - description: 'MIGRATED from derived_from_entity per slot_fixes.yaml (Rule 53, 2026-01-25). - Links observation to the formal entity it references (reconstructed entity). - Uses EntityReconstruction class hierarchy (CustodianLegalStatus, CustodianName, CustodianPlace). - ' range: CustodianLegalStatus required: false examples: - value: https://nde.nl/ontology/hc/legal/stichting-rijksmuseum - description: Observation refers to Rijksmuseum legal entity has_or_had_value: - description: | - Confidence value associated with this observation. - MIGRATED from has_or_had_confidence_measure per Rule 53 (2026-01-28). range: ConfidenceValue has_or_had_type: equals_expression: '["hc:GalleryType", "hc:LibraryType", "hc:ArchiveOrganizationType", "hc:MuseumType", "hc:OfficialInstitutionType", "hc:ResearchOrganizationType", "hc:CommercialOrganizationType", "hc:UnspecifiedType", "hc:BioCustodianType", "hc:EducationProviderType", "hc:HeritageSocietyType", "hc:FeatureCustodianType", "hc:IntangibleHeritageGroupType", "hc:MixedCustodianType", "hc:PersonalCollectionType", "hc:HolySacredSiteType", "hc:DigitalPlatformType", "hc:NonProfitType", "hc:TasteScentHeritageType"]' diff --git a/schemas/20251121/linkml/modules/classes/CustodianPlace.yaml b/schemas/20251121/linkml/modules/classes/CustodianPlace.yaml index 24ae359557..66dfbf58b2 100644 --- a/schemas/20251121/linkml/modules/classes/CustodianPlace.yaml +++ b/schemas/20251121/linkml/modules/classes/CustodianPlace.yaml @@ -56,7 +56,6 @@ classes: slots: - has_or_had_auxiliary_entities - country - - has_feature_type - has_or_had_location - place_language - place_name @@ -76,75 +75,49 @@ classes: required: true examples: - value: het herenhuis in de Schilderswijk - description: Neighborhood-level place reference - value: the mansion - description: Vague building reference - value: Rijksmuseum - description: Building name used as place reference place_language: range: string required: false examples: - value: nl - description: Dutch place name - value: en - description: English place name place_specificity: range: PlaceSpecificityEnum required: false examples: - value: NEIGHBORHOOD - description: het herenhuis in de Schilderswijk - value: BUILDING - description: het museum op het Museumplein - value: VAGUE - description: the mansion place_note: range: string required: false examples: - value: Used as place reference in archival documents, not as institution name - description: Clarifies nominal use of 'Rijksmuseum' country: range: Country inlined: true required: false examples: - value: https://nde.nl/ontology/hc/country/NL - description: Place located in Netherlands - value: https://nde.nl/ontology/hc/country/PE - description: Place located in Peru has_or_had_geographic_subdivision: range: string inlined: true required: false examples: - value: https://nde.nl/ontology/hc/subregion/US-PA - description: Pennsylvania, United States - value: https://nde.nl/ontology/hc/subregion/ID-BA - description: Bali, Indonesia settlement: range: Settlement inlined: true required: false examples: - value: https://nde.nl/ontology/hc/settlement/2759794 - description: Amsterdam (GeoNames ID 2759794) - value: https://nde.nl/ontology/hc/settlement/5206379 - description: Pittsburgh (GeoNames ID 5206379) - has_feature_type: - range: FeaturePlace - required: false - examples: - - value: https://nde.nl/ontology/hc/feature/rijksmuseum-museum-building - description: Links 'Rijksmuseum' place to MUSEUM feature type - value: https://nde.nl/ontology/hc/feature/herenhuis-mansion - description: Links 'het herenhuis' place to MANSION feature type has_or_had_location: - description: 'Geospatial location of this place reference. - MIGRATED from has_geospatial_location per Rule 53. - Uses GeoSpatialPlace class. - ' range: GeoSpatialPlace multivalued: true inlined_as_list: true @@ -155,8 +128,6 @@ classes: geospatial_id: https://nde.nl/ontology/hc/geo/rijksmuseum-building latitude: 52.36 longitude: 4.8852 - geonames_id: 6930126 - description: Rijksmuseum building geospatial location - value: has_or_had_location: geospatial_id: https://nde.nl/ontology/hc/geo/schilderswijk-herenhuis @@ -164,12 +135,7 @@ classes: longitude: 4.2894 has_accuracy_in_meters: 50.0 spatial_resolution: NEIGHBORHOOD - geospatial_source: Geocoded from neighborhood reference - description: Approximate location from neighborhood reference has_or_had_auxiliary_entities: - description: 'MIGRATED from auxiliary_places (Rule 53). - Subordinate or auxiliary locations associated with this custodian place. - ' range: AuxiliaryPlace multivalued: true inlined_as_list: true @@ -180,23 +146,12 @@ classes: auxiliary_place_type: STORAGE_FACILITY - place_name: Rijksmuseum Schiphol auxiliary_place_type: BRANCH_OFFICE - description: Rijksmuseum subordinate locations - derived_from_observation: - description: 'DEPRECATED 2026-01-25: Migrated to is_or_was_based_on slot with Observation class. - See is_or_was_based_on slot_usage for current pattern. - ' - deprecated: Use is_or_was_based_on with Observation class is_or_was_based_on: - description: 'MIGRATED from derived_from_observation per slot_fixes.yaml (Rule 53, 2026-01-25). - Links to observations from which this place designation was derived. - Uses Observation class hierarchy (CustodianObservation, etc.). - ' range: uriorcurie multivalued: true required: true examples: - value: https://w3id.org/heritage/observation/notarial-deed-1850 - description: Observation from historical document is_or_was_generated_by: range: ReconstructionActivity required: false @@ -205,11 +160,7 @@ classes: required: true examples: - value: https://nde.nl/ontology/hc/nl-zh-hag-m-xyz - description: References custodian identified by place temporal_extent: - description: 'Place validity period using CIDOC-CRM TimeSpan. - MIGRATED from valid_from + valid_to per slot_fixes.yaml (Rule 53). - ' range: TimeSpan inlined: true required: false @@ -217,7 +168,6 @@ classes: - value: begin_of_the_begin: '1850-01-01' end_of_the_end: '1900-12-31' - description: Place reference valid from 1850 to 1900 comments: - 'Represents the PLACE ASPECT of a custodian: ''how is this custodian identified by place reference?''' - One of three possible outputs from ReconstructionActivity (legal status, name, PLACE) @@ -247,23 +197,15 @@ classes: longitude: 4.2894 has_accuracy_in_meters: 100.0 spatial_resolution: NEIGHBORHOOD - geospatial_source: Geocoded from neighborhood reference is_or_was_derived_from: - https://w3id.org/heritage/observation/notarial-deed-1850 is_or_was_generated_by: null refers_to_custodian: https://nde.nl/ontology/hc/nl-zh-hag-m-xyz - valid_from: '1850-01-01' - valid_to: '1900-12-31' - description: Historical mansion place reference with approximate geospatial location - value: place_name: Rijksmuseum place_language: nl place_specificity: BUILDING place_note: Used as place reference in guidebooks, not as institution name - has_feature_type: - feature_type: MUSEUM - feature_name: Rijksmuseum building - feature_description: Neo-Gothic museum building designed by P.J.H. Cuypers (1885) feature_note: Rijksmonument, national heritage building has_or_had_location: - has_or_had_location: @@ -275,15 +217,12 @@ classes: has_or_had_value: POLYGON((4.8830 52.3590, 4.8870 52.3590, 4.8870 52.3610, 4.8830 52.3610, 4.8830 52.3590)) has_or_had_type: has_or_had_label: POLYGON - geonames_id: 6930126 osm_id: way/27083908 has_accuracy_in_meters: 1.0 spatial_resolution: BUILDING - geospatial_source: OpenStreetMap is_or_was_derived_from: - https://w3id.org/heritage/observation/guidebook-1920 refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Building name with precise geospatial location (building footprint polygon) annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/CustodianSourceFile.yaml b/schemas/20251121/linkml/modules/classes/CustodianSourceFile.yaml index b3dc14691b..7088dc423c 100644 --- a/schemas/20251121/linkml/modules/classes/CustodianSourceFile.yaml +++ b/schemas/20251121/linkml/modules/classes/CustodianSourceFile.yaml @@ -36,7 +36,12 @@ imports: default_range: string classes: CustodianSourceFile: - description: "Root class representing the complete structure of a custodian YAML file, serving as the tree_root for LinkML validation. Aggregates all enrichment data including original entry, Google Maps, Wikidata, web claims, museum register, and other source data with full provenance tracking.\nOntology mapping rationale: - class_uri is prov:Entity because this represents a complete data\n record/file that aggregates multiple enrichment sources\n- close_mappings includes prov:Bundle as this bundles multiple\n provenance-tracked data elements\n- related_mappings includes schema:Dataset as this is essentially\n a structured dataset file" + description: "Root class representing the complete structure of a custodian YAML file, serving as the tree_root for LinkML\ + \ validation. Aggregates all enrichment data including original entry, Google Maps, Wikidata, web claims, museum register,\ + \ and other source data with full provenance tracking.\nOntology mapping rationale: - class_uri is prov:Entity because\ + \ this represents a complete data\n record/file that aggregates multiple enrichment sources\n- close_mappings includes\ + \ prov:Bundle as this bundles multiple\n provenance-tracked data elements\n- related_mappings includes schema:Dataset\ + \ as this is essentially\n a structured dataset file" class_uri: prov:Entity close_mappings: - prov:Bundle @@ -81,11 +86,6 @@ classes: nan_isil_enrichment: range: NanIsilEnrichment description: Nationaal Archief ISIL registry match - identifier: - range: Identifier - multivalued: true - inlined_as_list: true - description: All identifiers (ISIL, GHCID variants, etc.) wikidata_enrichment: range: WikidataEnrichment description: Full Wikidata enrichment data @@ -315,10 +315,6 @@ classes: range: string description: Conflict/destruction status for heritage at risk inlined: true - description: - range: string - description: Institution description (can be object with language keys like en, ar) - inlined: true parent_organization: range: string description: Parent organization information @@ -346,4 +342,4 @@ classes: annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/CustodianTimelineEvent.yaml b/schemas/20251121/linkml/modules/classes/CustodianTimelineEvent.yaml index 26c2f5766b..f7e5de6734 100644 --- a/schemas/20251121/linkml/modules/classes/CustodianTimelineEvent.yaml +++ b/schemas/20251121/linkml/modules/classes/CustodianTimelineEvent.yaml @@ -75,16 +75,13 @@ classes: has_or_had_type: required: true range: OrganizationalChangeEventTypeEnum - description: Type of event. MIGRATED from event_type (2026-01-26). temporal_extent: range: TimeSpan inlined: true - description: Time period of the event. MIGRATED from event_date per slot_fixes.yaml (Rule 53). Use begin_of_the_begin for single point in time events. examples: - value: begin_of_the_begin: '2005-04-30' end_of_the_end: '2005-04-30' - description: Event date degree_of_certainty: range: DatePrecision inlined: true @@ -94,43 +91,31 @@ classes: - value: has_or_had_code: DAY has_or_had_description: Full date with day precision - description: Day precision - value: has_or_had_code: YEAR has_or_had_description: Year-only precision - description: Year precision is_or_was_approximate: range: ApproximationStatus inlined: true required: true - description: Whether the event date is approximate or uncertain. MIGRATED from approximate (Rule 53) - changed from boolean to ApproximationStatus class for structured uncertainty modeling. examples: - value: has_or_had_status: EXACT - description: Exact date known - value: has_or_had_status: APPROXIMATE has_or_had_label: circa 1880 has_or_had_description: Founding date known only to year - description: Approximate date with explanation - description: - required: true source_url: required: false has_or_had_method: required: true range: TimelineExtractionMethodEnum is_or_was_retrieved_through: - description: 'Retrieval event containing extraction timestamp. - MIGRATED from extraction_timestamp per Rule 53 (2026-01-26). - ' range: RetrievalEvent inlined: true required: true has_or_had_note: required: false - has_archive_path: - required: false has_or_had_level: range: string inlined: true @@ -140,11 +125,9 @@ classes: - value: has_or_had_code: TIER_4_INFERRED has_or_had_description: Extracted via LLM - pending verification - description: Initial extraction tier - value: has_or_had_code: TIER_2_VERIFIED has_or_had_description: Verified against institutional website - description: Verified tier observation_ref: required: false rules: @@ -152,11 +135,6 @@ classes: slot_conditions: temporal_extent: value_presence: PRESENT - postconditions: - slot_conditions: - degree_of_certainty: - value_presence: PRESENT - description: If temporal_extent is provided, degree_of_certainty (precision) must be specified comments: - 'Source-agnostic design - see Rule 37: Provenance Separation' - Use observation_ref to link to detailed source provenance @@ -179,7 +157,6 @@ classes: has_or_had_description: Full date with day precision is_or_was_approximate: has_or_had_status: EXACT - description: Het RHC Drents Archief werd opgericht op 30 april 2005. source_url: - https://nl.wikipedia.org/wiki/Drents_Archief has_or_had_method: api_response_regex @@ -189,7 +166,6 @@ classes: has_or_had_level: has_or_had_code: TIER_4_INFERRED has_or_had_description: Extracted via API response - pending verification - description: Founding event extracted from API response - value: has_or_had_type: MERGER temporal_extent: @@ -200,7 +176,6 @@ classes: has_or_had_description: Year-only precision is_or_was_approximate: has_or_had_status: EXACT - description: In 2005 ging het Gemeentearchief Assen op in het Drents Archief. source_url: - https://nl.wikipedia.org/wiki/Drents_Archief has_or_had_method: api_response_regex @@ -211,7 +186,6 @@ classes: has_or_had_level: has_or_had_code: TIER_4_INFERRED has_or_had_description: Extracted via API - pending verification - description: Merger event with year-only precision - value: has_or_had_type: FOUNDING temporal_extent: @@ -222,7 +196,6 @@ classes: has_or_had_description: Year-only precision is_or_was_approximate: has_or_had_status: EXACT - description: The Rijksmuseum was founded in 1810 as the Royal Museum. source_url: - https://www.wikidata.org/wiki/Q190804 has_or_had_method: wikidata_sparql @@ -234,7 +207,6 @@ classes: has_or_had_level: has_or_had_code: TIER_3_CROWD_SOURCED has_or_had_description: Verified against Wikidata - description: Founding event from Wikidata - value: has_or_had_type: TRANSFER temporal_extent: @@ -245,7 +217,6 @@ classes: has_or_had_description: Year-only precision is_or_was_approximate: has_or_had_status: EXACT - description: The Rijksmuseum moved to its current building designed by Cuypers. source_url: has_or_had_method: web_scrape_xpath is_or_was_retrieved_through: @@ -257,7 +228,6 @@ classes: has_or_had_level: has_or_had_code: TIER_2_VERIFIED has_or_had_description: Verified against institutional website - description: Relocation event from institutional website - value: has_or_had_type: FOUNDING temporal_extent: @@ -270,7 +240,6 @@ classes: has_or_had_status: APPROXIMATE has_or_had_label: circa 1880 has_or_had_description: Founding date derived from secondary sources, exact year uncertain - description: Museum founded around 1880, exact date unknown. has_or_had_method: manual_research is_or_was_retrieved_through: temporal_extent: @@ -279,7 +248,6 @@ classes: has_or_had_level: has_or_had_code: TIER_4_INFERRED has_or_had_description: Manual research - pending verification - description: Founding event with approximate date annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/CustodianType.yaml b/schemas/20251121/linkml/modules/classes/CustodianType.yaml index 364be51837..373a9968a4 100644 --- a/schemas/20251121/linkml/modules/classes/CustodianType.yaml +++ b/schemas/20251121/linkml/modules/classes/CustodianType.yaml @@ -40,7 +40,6 @@ classes: - org:classification - schema:additionalType slots: - - has_applicable_country - created - custodian_type_broader - custodian_type_narrower @@ -85,12 +84,6 @@ classes: range: CustodianType multivalued: true required: false - has_applicable_country: - description: 'ISO 3166-1 alpha-2 country codes where this type applies. Empty = worldwide. (MIGRATED 2026-01-15: was applicable_countries)' - range: string - multivalued: true - required: false - pattern: ^[A-Z]{2}$ created: range: datetime modified: @@ -114,7 +107,6 @@ classes: - Kunstmuseum@de has_or_had_description: museum that primarily exhibits works of art custodian_type_broader: https://nde.nl/ontology/hc/type/museum/Q33506 - description: Art Museum type (MuseumType subclass) with multilingual labels and hierarchical relationship annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/DOI.yaml b/schemas/20251121/linkml/modules/classes/DOI.yaml index 4486631014..0cc27e870b 100644 --- a/schemas/20251121/linkml/modules/classes/DOI.yaml +++ b/schemas/20251121/linkml/modules/classes/DOI.yaml @@ -11,13 +11,7 @@ classes: DOI: is_a: Identifier description: Digital Object Identifier. - slot_usage: - identifier_scheme: - equals_string: DOI - identifier_value: - description: The DOI string (e.g. 10.1234/5678). - pattern: ^10\.\d{4,9}/[-._;()/:a-zA-Z0-9]+$ annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/DarkArchive.yaml b/schemas/20251121/linkml/modules/classes/DarkArchive.yaml index d91d90fd39..54f63b655e 100644 --- a/schemas/20251121/linkml/modules/classes/DarkArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/DarkArchive.yaml @@ -37,7 +37,6 @@ classes: is_a: ArchiveOrganizationType class_uri: schema:ArchiveOrganization slots: - - has_or_had_access_trigger_event - has_or_had_type - has_or_had_embargo_end_date - hold_or_held_record_set_type @@ -51,19 +50,10 @@ classes: Dark archives typically use PREMIS for preservation metadata:\n- `premis:RightsStatus` to document access restrictions\n- `premis:endDate` for embargo expiration dates\n- `premis:Agent` to identify the responsible custodian\n" slot_usage: has_or_had_identifier: null - has_or_had_access_trigger_event: - range: string - multivalued: true - examples: - - value: - - embargo_expiration - - rights_clearance - - disaster_recovery has_or_had_embargo_end_date: range: date examples: - value: '2050-01-01' - description: 50-year embargo ending preservation_purpose: range: string examples: @@ -104,14 +94,10 @@ classes: - Dark Archive@de has_or_had_description: Collection preserved for future use with no current access preservation_purpose: disaster_recovery - has_or_had_access_trigger_event: - - primary_system_failure - - disaster_declaration refers_to_access_policy: policy_id: https://nde.nl/ontology/hc/policy/dark-archive-dr access_level: CLOSED restriction_reason: Disaster recovery copy - access on system failure only - description: Disaster recovery dark archive - value: has_or_had_identifier: https://nde.nl/ontology/hc/type/archive/Q112796578-embargo has_or_had_type_code: ARCHIVE @@ -120,13 +106,10 @@ classes: has_or_had_description: Materials under embargo with future access date preservation_purpose: donor_restriction has_or_had_embargo_end_date: '2050-01-01' - has_or_had_access_trigger_event: - - embargo_expiration refers_to_access_policy: policy_id: https://nde.nl/ontology/hc/policy/embargo-50yr access_level: CLOSED restriction_reason: Donor restriction - 50 year embargo - description: Embargoed materials dark archive annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/DataFormat.yaml b/schemas/20251121/linkml/modules/classes/DataFormat.yaml index aebfaf27a5..6109148da7 100644 --- a/schemas/20251121/linkml/modules/classes/DataFormat.yaml +++ b/schemas/20251121/linkml/modules/classes/DataFormat.yaml @@ -52,60 +52,23 @@ classes: - has_or_had_type - has_or_had_label - has_or_had_description - - has_or_had_media_type - - has_or_had_encoding - - has_or_had_schema_url slot_usage: has_or_had_type: range: uriorcurie - description: | - The format type classification. - Links to DataFormatType taxonomy (JSON, XML, CSV, etc.). examples: - value: JsonFormat - description: JSON format type - value: CsvFormat - description: CSV format type has_or_had_label: range: string inlined: true - description: Human-readable name for the format. examples: - value: label_text: "JSON" - description: Format label - has_or_had_media_type: - range: string - description: | - IANA media type (MIME type) for the format. - See: https://www.iana.org/assignments/media-types/ - examples: - value: "application/json" - description: JSON media type - value: "text/csv" - description: CSV media type - has_or_had_encoding: - range: string - description: Character encoding used (e.g., UTF-8, ISO-8859-1). - examples: - value: "UTF-8" - description: Unicode encoding - has_or_had_schema_url: - range: uri - description: URL to schema definition (JSON Schema, XSD, etc.). - examples: - value: "https://api.museum.nl/schemas/v1/climate.json" - description: JSON Schema URL attributes: - has_or_had_media_type: - range: string - description: IANA media type (MIME type). - has_or_had_encoding: - range: string - description: Character encoding (e.g., UTF-8). - has_or_had_schema_url: - range: uri - description: URL to schema definition. annotations: custodian_types: '["*"]' custodian_types_rationale: "Data format specifications apply to all custodian types with digital systems." diff --git a/schemas/20251121/linkml/modules/classes/DataSensitivityLevel.yaml b/schemas/20251121/linkml/modules/classes/DataSensitivityLevel.yaml index a30d87540b..15a9213b29 100644 --- a/schemas/20251121/linkml/modules/classes/DataSensitivityLevel.yaml +++ b/schemas/20251121/linkml/modules/classes/DataSensitivityLevel.yaml @@ -59,36 +59,24 @@ classes: - has_or_had_description slot_usage: has_or_had_label: - description: Human-readable name for the sensitivity level. range: string required: true examples: - value: "Public" - description: No access restrictions - value: "Strictly Confidential" - description: Highest restriction level has_or_had_code: - description: >- - Short code identifier for the sensitivity level. - Standard codes: PUBLIC, INTERNAL, CONFIDENTIAL, STRICTLY_CONFIDENTIAL, - PERSONAL_DATA, SPECIAL_CATEGORY range: string required: true pattern: "^[A-Z][A-Z0-9_]*$" examples: - value: "PUBLIC" - description: No restrictions - value: "CONFIDENTIAL" - description: Need-to-know basis - value: "SPECIAL_CATEGORY" - description: GDPR Article 9 sensitive data has_or_had_description: - description: Detailed description of what this sensitivity level means and when to apply it. range: string required: false examples: - value: "Contains employee health records - requires explicit consent and strict access controls" - description: SPECIAL_CATEGORY example annotations: specificity_score: 0.45 specificity_rationale: >- @@ -103,14 +91,11 @@ classes: has_or_had_label: "Confidential" has_or_had_code: "CONFIDENTIAL" has_or_had_description: "Need-to-know basis - restricted to authorized personnel" - description: Standard confidential classification - value: has_or_had_label: "Special Category Data" has_or_had_code: "SPECIAL_CATEGORY" has_or_had_description: "GDPR Article 9 sensitive personal data - health records, religious affiliation" - description: GDPR special category classification - value: has_or_had_label: "Personnel Data" has_or_had_code: "PERSONAL_DATA" - has_or_had_description: "Contains employee personal information subject to GDPR" - description: Personal data classification for HR records + has_or_had_description: "Contains employee personal information subject to GDPR" \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/DataServiceEndpoint.yaml b/schemas/20251121/linkml/modules/classes/DataServiceEndpoint.yaml index 193772f6f6..f3e65b1de6 100644 --- a/schemas/20251121/linkml/modules/classes/DataServiceEndpoint.yaml +++ b/schemas/20251121/linkml/modules/classes/DataServiceEndpoint.yaml @@ -37,7 +37,6 @@ classes: class_uri: dcat:DataService slots: - is_or_was_required - - protocol - response_format - has_or_had_url - specificity_annotation diff --git a/schemas/20251121/linkml/modules/classes/DataServiceEndpointType.yaml b/schemas/20251121/linkml/modules/classes/DataServiceEndpointType.yaml index 74bd97c274..6674750789 100644 --- a/schemas/20251121/linkml/modules/classes/DataServiceEndpointType.yaml +++ b/schemas/20251121/linkml/modules/classes/DataServiceEndpointType.yaml @@ -208,8 +208,6 @@ classes: slots: - specificity_annotation - has_or_had_score - - protocol_name - - protocol_version - specification_url - has_or_had_format - has_or_had_method @@ -217,35 +215,12 @@ classes: slot_usage: is_or_was_used_in: range: HeritageSector - description: 'Description of how this endpoint type is used in the heritage sector. - - MIGRATED from heritage_sector_usage (2026-01-28) per Rule 53. - - ' has_or_had_format: slot_uri: dcterms:format - description: 'MIME types typically returned by endpoints of this type. - - Dublin Core: format for media types. - - Examples: ["application/xml"] (OAI-PMH), ["application/json"] (REST APIs) - - MIGRATED from typical_response_formats (2026-01-15) per Rule 53. - - ' range: string multivalued: true has_or_had_method: slot_uri: schema:httpMethod - description: 'HTTP methods typically used by endpoints of this type. - - Schema.org: httpMethod for HTTP verb. - - Values: GET, POST, PUT, DELETE, HEAD, OPTIONS - - MIGRATED from typical_http_methods (2026-01-15) per Rule 53. - - ' range: string multivalued: true annotations: diff --git a/schemas/20251121/linkml/modules/classes/DataServiceEndpointTypes.yaml b/schemas/20251121/linkml/modules/classes/DataServiceEndpointTypes.yaml index c44ec883f0..d0982d4922 100644 --- a/schemas/20251121/linkml/modules/classes/DataServiceEndpointTypes.yaml +++ b/schemas/20251121/linkml/modules/classes/DataServiceEndpointTypes.yaml @@ -52,15 +52,11 @@ classes: ' slot_usage: - protocol_name: - equals_string: SRU specification_url: ifabsent: uri(http://www.loc.gov/standards/sru/) has_or_had_format: - description: Typical response format for SRU endpoints ifabsent: string(application/xml) has_or_had_method: - description: Typical HTTP method for SRU endpoints ifabsent: string(GET) comments: - Library-focused search protocol - successor to Z39.50 @@ -103,16 +99,12 @@ classes: ' slot_usage: - protocol_name: - equals_string: OpenSearch specification_url: ifabsent: uri(https://opensearch.org/) has_or_had_format: - description: Typical response formats for OpenSearch endpoints equals_expression: '["application/opensearchdescription+xml", "application/atom+xml", "application/rss+xml"]' has_or_had_method: - description: Typical HTTP method for OpenSearch endpoints ifabsent: string(GET) comments: - Federated search standard - browser integration support @@ -157,15 +149,11 @@ classes: ' slot_usage: - protocol_name: - equals_string: IIIF Image API specification_url: ifabsent: uri(https://iiif.io/api/image/) has_or_had_format: - description: Typical response formats for IIIF Image API endpoints equals_expression: '["image/jpeg", "image/png", "image/tiff", "image/webp"]' has_or_had_method: - description: Typical HTTP method for IIIF Image API endpoints ifabsent: string(GET) comments: - International Image Interoperability Framework - Image API @@ -209,15 +197,11 @@ classes: ' slot_usage: - protocol_name: - equals_string: IIIF Presentation API specification_url: ifabsent: uri(https://iiif.io/api/presentation/) has_or_had_format: - description: Typical response format for IIIF Presentation API endpoints ifabsent: string(application/ld+json) has_or_had_method: - description: Typical HTTP method for IIIF Presentation API endpoints ifabsent: string(GET) comments: - International Image Interoperability Framework - Presentation API @@ -258,18 +242,12 @@ classes: ' slot_usage: - protocol_name: - equals_string: SPARQL - protocol_version: - ifabsent: string(1.1) specification_url: ifabsent: uri(https://www.w3.org/TR/sparql11-protocol/) has_or_had_format: - description: Typical response formats for SPARQL endpoints equals_expression: '["application/sparql-results+json", "application/sparql-results+xml", "text/turtle"]' has_or_had_method: - description: Typical HTTP methods for SPARQL endpoints equals_expression: '["GET", "POST"]' comments: - W3C standard for querying RDF graphs @@ -308,15 +286,11 @@ classes: ' slot_usage: - protocol_name: - equals_string: GraphQL specification_url: ifabsent: uri(https://graphql.org/) has_or_had_format: - description: Typical response format for GraphQL endpoints ifabsent: string(application/json) has_or_had_method: - description: Typical HTTP method for GraphQL endpoints ifabsent: string(POST) comments: - Modern API query language - growing adoption in GLAM @@ -354,15 +328,11 @@ classes: ' slot_usage: - protocol_name: - equals_string: Atom specification_url: ifabsent: uri(https://www.rfc-editor.org/rfc/rfc4287) has_or_had_format: - description: Typical response format for Atom feed endpoints ifabsent: string(application/atom+xml) has_or_had_method: - description: Typical HTTP method for Atom feed endpoints ifabsent: string(GET) comments: - IETF standard for content syndication @@ -400,13 +370,9 @@ classes: ' slot_usage: - protocol_name: - equals_string: RSS has_or_had_format: - description: Typical response format for RSS feed endpoints ifabsent: string(application/rss+xml) has_or_had_method: - description: Typical HTTP method for RSS feed endpoints ifabsent: string(GET) comments: - Legacy syndication format - still widely supported diff --git a/schemas/20251121/linkml/modules/classes/DataSource.yaml b/schemas/20251121/linkml/modules/classes/DataSource.yaml index f6bd1c7609..28e47481db 100644 --- a/schemas/20251121/linkml/modules/classes/DataSource.yaml +++ b/schemas/20251121/linkml/modules/classes/DataSource.yaml @@ -55,42 +55,29 @@ classes: - source_url slot_usage: has_or_had_label: - description: Human-readable name for the data source. range: string required: true examples: - value: "WhatsApp" - description: WhatsApp messaging platform - value: "LinkedIn Profile" - description: LinkedIn social network has_or_had_code: - description: >- - Short code identifier for the data source type. - Examples: WHATSAPP, LINKEDIN, WEB_SCRAPE, API, DATABASE, MANUAL range: string required: true pattern: "^[A-Z][A-Z0-9_]*$" examples: - value: "WHATSAPP" - description: WhatsApp platform - value: "LINKEDIN" - description: LinkedIn platform - value: "WEB_SCRAPE" - description: Website scraping has_or_had_description: - description: Detailed description of the data source and how it was used. range: string required: false examples: - value: "Profile information extracted from WhatsApp message exchange" - description: WhatsApp source description source_url: - description: URL or identifier for the specific source location. range: uriorcurie required: false examples: - value: "https://linkedin.com/in/example-profile" - description: LinkedIn profile URL annotations: specificity_score: 0.35 specificity_rationale: >- @@ -103,16 +90,13 @@ classes: has_or_had_label: "WhatsApp" has_or_had_code: "WHATSAPP" has_or_had_description: "Information gathered via WhatsApp conversation" - description: WhatsApp data source - value: has_or_had_label: "LinkedIn Profile" has_or_had_code: "LINKEDIN" has_or_had_description: "Profile information from LinkedIn" source_url: "https://linkedin.com/in/example-profile" - description: LinkedIn data source with URL - value: has_or_had_label: "Wikidata" has_or_had_code: "WIKIDATA" has_or_had_description: "Entity data from Wikidata SPARQL query" - source_url: "https://www.wikidata.org/wiki/Q12345" - description: Wikidata data source + source_url: "https://www.wikidata.org/wiki/Q12345" \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/DataTierLevel.yaml b/schemas/20251121/linkml/modules/classes/DataTierLevel.yaml index 4c52207c3f..b2707a4d2d 100644 --- a/schemas/20251121/linkml/modules/classes/DataTierLevel.yaml +++ b/schemas/20251121/linkml/modules/classes/DataTierLevel.yaml @@ -53,36 +53,24 @@ classes: - has_or_had_description slot_usage: has_or_had_label: - description: Human-readable name for the data tier. range: string required: true examples: - value: "Authoritative" - description: Tier 1 - official registry data - value: "Inferred" - description: Tier 4 - algorithmically extracted has_or_had_code: - description: >- - Short code identifier for the data tier. - Standard codes: TIER_1_AUTHORITATIVE, TIER_2_VERIFIED, - TIER_3_CROWD_SOURCED, TIER_4_INFERRED range: string required: true pattern: "^TIER_[1-4]_[A-Z_]+$" examples: - value: "TIER_1_AUTHORITATIVE" - description: Official registry data - value: "TIER_4_INFERRED" - description: Algorithmically extracted data has_or_had_description: - description: Detailed description of what this tier means and its data sources. range: string required: false examples: - value: "Extracted from NDE CSV registry - authoritative Dutch heritage data" - description: Tier 1 example - value: "Extracted via LLM from website - requires verification" - description: Tier 4 example annotations: specificity_score: 0.35 specificity_rationale: >- @@ -95,14 +83,11 @@ classes: has_or_had_label: "Authoritative" has_or_had_code: "TIER_1_AUTHORITATIVE" has_or_had_description: "Official data from NDE registry CSV" - description: Tier 1 authoritative data - value: has_or_had_label: "Verified" has_or_had_code: "TIER_2_VERIFIED" has_or_had_description: "Verified against institutional website" - description: Tier 2 verified data - value: has_or_had_label: "Inferred" has_or_had_code: "TIER_4_INFERRED" - has_or_had_description: "Extracted via Exa search - pending verification" - description: Tier 4 inferred data + has_or_had_description: "Extracted via Exa search - pending verification" \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/Dataset.yaml b/schemas/20251121/linkml/modules/classes/Dataset.yaml index bfb98908db..ebf0acabb3 100644 --- a/schemas/20251121/linkml/modules/classes/Dataset.yaml +++ b/schemas/20251121/linkml/modules/classes/Dataset.yaml @@ -30,7 +30,6 @@ classes: - has_or_had_label - has_or_had_description - has_or_had_identifier - - has_availability_timespan - has_or_had_title - can_or_could_be_retrieved_from - linked_data_access diff --git a/schemas/20251121/linkml/modules/classes/DatePrecision.yaml b/schemas/20251121/linkml/modules/classes/DatePrecision.yaml index f1bf47d43d..a9730e8db5 100644 --- a/schemas/20251121/linkml/modules/classes/DatePrecision.yaml +++ b/schemas/20251121/linkml/modules/classes/DatePrecision.yaml @@ -49,35 +49,24 @@ classes: - has_or_had_description slot_usage: has_or_had_label: - description: Human-readable name for the precision level. range: string required: true examples: - value: "Day" - description: Full date with day precision - value: "Year" - description: Year-only precision has_or_had_code: - description: >- - Short code identifier for the precision level. - Standard codes: DAY, MONTH, YEAR, DECADE, CENTURY, UNKNOWN range: string required: true pattern: "^[A-Z]+$" examples: - value: "DAY" - description: Full date precision (YYYY-MM-DD) - value: "YEAR" - description: Year-only precision (YYYY) - value: "UNKNOWN" - description: Precision cannot be determined has_or_had_description: - description: Detailed description of what this precision level means. range: string required: false examples: - value: "Full date with day precision (YYYY-MM-DD format)" - description: Day precision explanation annotations: specificity_score: 0.40 specificity_rationale: >- @@ -91,14 +80,11 @@ classes: has_or_had_label: "Day" has_or_had_code: "DAY" has_or_had_description: "Full date with day precision (YYYY-MM-DD)" - description: Day precision level - value: has_or_had_label: "Year" has_or_had_code: "YEAR" has_or_had_description: "Year-only precision (YYYY format)" - description: Year precision level - value: has_or_had_label: "Unknown" has_or_had_code: "UNKNOWN" - has_or_had_description: "Date mentioned but precision cannot be determined" - description: Unknown precision level + has_or_had_description: "Date mentioned but precision cannot be determined" \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/DeceasedStatus.yaml b/schemas/20251121/linkml/modules/classes/DeceasedStatus.yaml index 971b88b96d..6ee2a60b79 100644 --- a/schemas/20251121/linkml/modules/classes/DeceasedStatus.yaml +++ b/schemas/20251121/linkml/modules/classes/DeceasedStatus.yaml @@ -38,48 +38,21 @@ classes: is_or_was_caused_by: range: CauseOfDeath inlined: true - description: 'The cause of death, using the CauseOfDeath class for structured - - documentation of cause type, location, and narrative. - - ' temporal_extent: range: TimeSpan inlined: true - description: 'The date/time of death. Uses TimeSpan to handle uncertainty, - - particularly important for deaths during conflict where exact - - dates may be unknown. - - ' has_or_had_description: range: string - description: 'Additional narrative description of the death circumstances, - - commemorative information, or source documentation. - - ' occurs_or_occurred_at: range: Place inlined: true - description: 'The place where the death occurred. - - Replaces the simple death_place string slot. - - Use Place class for structured location with coordinates, GeoNames ID, etc. - - ' examples: - value: place_name: Auschwitz concentration camp country: PL - description: Historical location - value: place_name: Gaza City country: PS - geonames_id: '281133' - description: Conflict zone death with GeoNames link comments: - Structured death information for heritage workers - Replaces simple circumstances_of_death string diff --git a/schemas/20251121/linkml/modules/classes/Deliverable.yaml b/schemas/20251121/linkml/modules/classes/Deliverable.yaml index 5f89dc0bdc..6309f7edaf 100644 --- a/schemas/20251121/linkml/modules/classes/Deliverable.yaml +++ b/schemas/20251121/linkml/modules/classes/Deliverable.yaml @@ -35,63 +35,16 @@ classes: close_mappings: - schema:CreativeWork slots: - - deliverable_type - - deliverable_title - - deliverable_description - - deliverable_url - - completion_status - - due_date slot_usage: - deliverable_type: - range: string - required: false - examples: - - value: report - description: Written report deliverable - value: software - description: Software/application deliverable - value: dataset - description: Dataset deliverable - value: finding_aid - description: Archival finding aid - value: digitized_collection - description: Digitized heritage materials - deliverable_title: - range: string - required: true - examples: - - value: Project Final Report - description: Final project report - value: Heritage Data Model v2.0 - description: Data model deliverable - deliverable_description: - range: string - required: false - description: Description of the deliverable - deliverable_url: - range: uri - required: false - examples: - - value: https://github.org/project/repo - description: GitHub repository with deliverables - value: https://doi.org/10.1234/deliverable - description: DOI for project deliverables - completion_status: - range: string - required: false - examples: - - value: planned - description: Deliverable is planned but not started - value: in_progress - description: Work is ongoing - value: completed - description: Deliverable has been completed - value: delayed - description: Deliverable is behind schedule - due_date: - range: date - required: false - description: Expected completion date annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Department.yaml b/schemas/20251121/linkml/modules/classes/Department.yaml index ceb14d4f92..1910127492 100644 --- a/schemas/20251121/linkml/modules/classes/Department.yaml +++ b/schemas/20251121/linkml/modules/classes/Department.yaml @@ -71,41 +71,21 @@ classes: - is_or_was_managed_by - has_or_had_identifier - is_or_was_dissolved_by - - established_date - located_at - - has_or_had_manages_collection - mandate - parent_department - refers_to_custodian - specificity_annotation - has_or_had_staff_member - - has_or_had_sub_department - has_or_had_score slot_usage: has_or_had_identifier: - description: 'MIGRATED from department_id per slot_fixes.yaml (Rule 53, 2026-01-25). - Unique identifier for this department. - Format: URI following NDE Heritage Custodian ontology conventions. - ' range: uriorcurie required: true identifier: true examples: - value: https://nde.nl/ontology/hc/dept/nationaal-archief-colonial-records - description: Colonial Records Department at National Archives - department_name: - description: 'DEPRECATED 2026-01-25: Migrated to has_or_had_label slot with Label class - using has_or_had_type: "DepartmentName" for type discrimination. - See has_or_had_label slot_usage for current pattern. - ' - deprecated: Use has_or_had_label with Label(has_or_had_type='DepartmentName') has_or_had_label: - description: 'MIGRATED from department_code AND department_name per slot_fixes.yaml (Rule 53, 2026-01-25). - This slot now covers BOTH department codes AND department names. - Uses Label class with has_or_had_type for discrimination: - - has_or_had_type: "DepartmentCode" - Short code for department - - has_or_had_type: "DepartmentName" - Official name of department - ' range: Label inlined: true multivalued: true @@ -114,38 +94,26 @@ classes: - value: has_or_had_text: Colonial Records Department has_or_had_type: DepartmentName - description: Department name (migrated from department_name) - value: has_or_had_text: CRD has_or_had_type: DepartmentCode - description: Department code (migrated from department_code) - value: has_or_had_text: Paintings Department has_or_had_type: DepartmentName - description: Department name - value: has_or_had_text: PNTG has_or_had_type: DepartmentCode - description: Department code has_or_had_type: - description: 'Type classification for labels (used with has_or_had_label). - MIGRATED from department_code per slot_fixes.yaml (Rule 53, 2026-01-25). - ' range: LabelType inlined: true required: false has_or_had_description: - description: 'MIGRATED from department_description per slot_fixes.yaml (Rule 53, 2026-01-25). - Detailed description of the department''s purpose and holdings. - Uses Description class for structured representation. - ' range: string inlined: true required: false examples: - value: has_or_had_text: The Colonial Records Department preserves and provides access to government records from the Dutch colonial period (1602-1949). Holdings include VOC archives, colonial administration files, and diplomatic correspondence. - description: Department description (migrated from department_description) mandate: range: string examples: @@ -154,21 +122,7 @@ classes: range: Department examples: - value: https://nde.nl/ontology/hc/dept/nationaal-archief-collections - description: Parent Collections Division - has_or_had_sub_department: - range: Department - multivalued: true - inlined_as_list: true - examples: - - value: - - https://nde.nl/ontology/hc/dept/na-colonial-voc - - https://nde.nl/ontology/hc/dept/na-colonial-wic - description: VOC and WIC sub-departments is_or_was_managed_by: - description: 'MIGRATED from department_head per slot_fixes.yaml (Rule 53, 2026-01-25). - Person responsible for managing this department. - Uses Manager class for structured representation. - ' range: Manager inlined: true required: false @@ -176,44 +130,26 @@ classes: - value: has_or_had_name: Dr. Maria van der Berg has_or_had_title: Head of Colonial Records Department - description: Department head (migrated from department_head) has_or_had_staff_member: range: PersonObservation multivalued: true inlined_as_list: true - has_or_had_manages_collection: - range: Collection - multivalued: true - inlined_as_list: true - examples: - - value: - - https://nde.nl/ontology/hc/collection/na-voc-archives - - https://nde.nl/ontology/hc/collection/na-colonial-maps - description: Collections managed by Colonial Records Dept located_at: examples: - value: https://nde.nl/ontology/hc/aux-place/nationaal-archief-building-b - description: Department located in Building B contact_point: range: string examples: - value: colonial-records@nationaalarchief.nl - value: https://www.nationaalarchief.nl/onderzoeken/colonial-records - established_date: - range: date - examples: - - value: '1891-06-15' - description: Colonial Records Dept established by Royal Decree is_or_was_dissolved_by: range: DissolutionEvent inlined: true - description: Dissolution event for the department. MIGRATED from dissolved_date per slot_fixes.yaml (Rule 53, 2026-01-26). refers_to_custodian: range: Custodian required: true examples: - value: https://nde.nl/ontology/hc/nl-zh-hag-a-na - description: Department of National Archives comments: - Department represents FORMAL organizational units (vs informal OrganizationalStructure) - Often has legal/regulatory basis (charter, mandate, decree) @@ -240,12 +176,10 @@ classes: is_or_was_established_by: temporal_extent: begin_of_the_begin: '1891-06-15' - has_or_had_manages_collection: - https://nde.nl/ontology/hc/collection/na-voc-archives - https://nde.nl/ontology/hc/collection/na-wic-archives contact_point: colonial-records@nationaalarchief.nl refers_to_custodian: https://nde.nl/ontology/hc/nl-zh-hag-a-na - description: National Archives Colonial Records Department - value: has_or_had_identifier: https://nde.nl/ontology/hc/dept/rijksmuseum-paintings has_or_had_label: @@ -258,11 +192,9 @@ classes: is_or_was_managed_by: has_or_had_name: Dr. Pieter Roelofs has_or_had_title: Head of Paintings Department - has_or_had_manages_collection: - https://nde.nl/ontology/hc/collection/rm-dutch-paintings - https://nde.nl/ontology/hc/collection/rm-flemish-paintings refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm - description: Rijksmuseum Paintings Department annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/DepartmentalArchives.yaml b/schemas/20251121/linkml/modules/classes/DepartmentalArchives.yaml index d8e43fbfb5..1368bed73a 100644 --- a/schemas/20251121/linkml/modules/classes/DepartmentalArchives.yaml +++ b/schemas/20251121/linkml/modules/classes/DepartmentalArchives.yaml @@ -58,23 +58,14 @@ classes: - value: service_area_name: Paris has_or_had_identifier: - identifier_scheme: FR_DEPARTEMENT - identifier_value: '75' - description: "Paris d\xE9partement (code 75)" - value: service_area_name: "Bouches-du-Rh\xF4ne" has_or_had_identifier: - identifier_scheme: FR_DEPARTEMENT - identifier_value: '13' - description: "Bouches-du-Rh\xF4ne d\xE9partement (code 13)" - value: service_area_name: "La R\xE9union" has_or_had_identifier: - identifier_scheme: FR_DEPARTEMENT - identifier_value: '974' covers_country: alpha_2: FR - description: "La R\xE9union overseas d\xE9partement (code 974)" is_or_was_part_of_archive_series: range: string multivalued: true @@ -85,9 +76,6 @@ classes: - M (administration) - Q (biens nationaux) is_or_was_applicable_in: - description: 'Geographic applicability (must be FR for DepartmentalArchives). - MIGRATED from has_applicable_country per Rule 53. - ' range: Country required: true minimum_cardinality: 1 @@ -95,16 +83,10 @@ classes: examples: - value: has_or_had_identifier: FR - description: France only has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' rules: - description: DepartmentalArchives MUST have applicable_countries containing "FR" (France). This is a mandatory geographic restriction for French departmental archives. - postconditions: - slot_conditions: - is_or_was_applicable_in: - any_of: - - value_presence: PRESENT exact_mappings: - wd:Q2860456 close_mappings: @@ -139,15 +121,12 @@ classes: has_or_had_service_area: service_area_name: "Bouches-du-Rh\xF4ne" has_or_had_identifier: - identifier_scheme: FR_DEPARTEMENT - identifier_value: '13' covers_country: alpha_2: FR is_or_was_part_of_archive_series: - "A-L (ancien r\xE9gime)" - "E (\xE9tat civil)" - M (administration) - description: "Archives d\xE9partementales des Bouches-du-Rh\xF4ne" annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/DepartmentalArchivesRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/DepartmentalArchivesRecordSetType.yaml index b30db6fd8c..f10d7bdeeb 100644 --- a/schemas/20251121/linkml/modules/classes/DepartmentalArchivesRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/DepartmentalArchivesRecordSetType.yaml @@ -32,7 +32,6 @@ classes: see_also: - DepartmentalArchives annotations: - geographic_restriction: FR specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration custodian_types: "['*']" diff --git a/schemas/20251121/linkml/modules/classes/DeploymentEvent.yaml b/schemas/20251121/linkml/modules/classes/DeploymentEvent.yaml index 2d928ad891..1140f504a1 100644 --- a/schemas/20251121/linkml/modules/classes/DeploymentEvent.yaml +++ b/schemas/20251121/linkml/modules/classes/DeploymentEvent.yaml @@ -80,11 +80,6 @@ classes: slot_usage: temporal_extent: - description: | - When this deployment occurred. - Uses TimeSpan for fuzzy temporal bounds: - - Precise: Set all four bounds to same date - - Approximate: Use begin_of_the_begin/end_of_the_end range range: TimeSpan inlined: true required: true @@ -92,30 +87,21 @@ classes: - value: begin_of_the_begin: "2015-06-01" end_of_the_end: "2015-06-01" - description: Precise deployment date (June 1, 2015) - value: begin_of_the_begin: "2015-01-01" end_of_the_end: "2015-06-30" - description: Approximate deployment (first half of 2015) refers_to_custodian: - description: | - The institution where this deployment occurred. range: Custodian required: false examples: - value: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Deployment at Rijksmuseum has_or_had_description: - description: | - Notes about this deployment event (rationale, context, issues). range: string inlined: true required: false examples: - value: has_or_had_text: "Migrated from legacy system to Adlib v7.4. Data migration completed in phases over Q2 2015." - description: Deployment notes - annotations: custodian_types: '["*"]' custodian_types_rationale: Deployment events applicable to all custodian types. @@ -137,12 +123,10 @@ classes: refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 has_or_had_description: has_or_had_text: "Initial deployment of Adlib CMS at Rijksmuseum" - description: Rijksmuseum Adlib deployment event - value: temporal_extent: begin_of_the_begin: "2020-01-01" end_of_the_end: "2020-03-31" refers_to_custodian: https://nde.nl/ontology/hc/nl-zh-hag-a-na has_or_had_description: - has_or_had_text: "Upgrade to MAIS-Flexis v3.0. Migration included archival descriptions from 2010-2019." - description: National Archives MAIS upgrade event + has_or_had_text: "Upgrade to MAIS-Flexis v3.0. Migration included archival descriptions from 2010-2019." \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/DepositArchive.yaml b/schemas/20251121/linkml/modules/classes/DepositArchive.yaml index 25d92b8287..c308f719f3 100644 --- a/schemas/20251121/linkml/modules/classes/DepositArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/DepositArchive.yaml @@ -38,10 +38,8 @@ classes: class_uri: schema:ArchiveOrganization slots: - has_or_had_type - - has_or_had_depositing_organization - has_or_had_service - hold_or_held_record_set_type - - has_or_had_operates_storage_type - retention_tracking - specificity_annotation - has_or_had_score @@ -51,48 +49,24 @@ classes: \ (earlier phase)\n- HistoricalArchive (Q3621673) - permanent records (later phase)\n- StorageType.DEPOSIT_STORAGE - storage type for deposit facilities\n\n**ONTOLOGICAL ALIGNMENT**:\n- **SKOS**: skos:Concept (type classification)\n- **RiC-O**: rico:RecordSet for deposited materials\n- **PREMIS**: premis:StorageLocation for storage facilities\n- **Wikidata**: Q244904\n" slot_usage: has_or_had_identifier: null - has_or_had_operates_storage_type: - range: StorageType - multivalued: true - inlined_as_list: true - required: true - examples: - - value: - - has_or_had_code: DEPOSIT_STORAGE - has_or_had_label: Deposit Storage - typical_condition: Standard climate control, high-density shelving - has_or_had_access_frequency: REGULAR retention_tracking: range: boolean examples: - value: true - description: Active retention schedule tracking - has_or_had_depositing_organization: - range: string - multivalued: true - examples: - - value: - - government agencies - - courts - - ministries has_or_had_service: range: string multivalued: true inlined: true - description: Services provided for record disposition. MIGRATED from disposition_service (2026-01-26). examples: - value: has_or_had_type: SecureDestructionService has_or_had_label: Secure Destruction - description: Records destroyed securely - value: has_or_had_type: PermanentArchiveTransferService has_or_had_label: Transfer to National Archives - description: Transfer to permanent archive - value: has_or_had_type: DepositorReturnService has_or_had_label: Return to Depositor - description: Return to originating agency has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' exact_mappings: @@ -125,22 +99,16 @@ classes: - "archivo de dep\xF3sito@es" - "archive interm\xE9diaire@fr" has_or_had_description: Archive for semi-current records awaiting disposition - has_or_had_operates_storage_type: - has_or_had_code: DEPOSIT_STORAGE has_or_had_label: Government Records Deposit typical_condition: "18-20\xB0C, 45-55% RH" security_level: STANDARD retention_tracking: true - has_or_had_depositing_organization: - - federal agencies - - courts - - ministries has_or_had_service: - has_or_had_type: SecureDestructionService has_or_had_label: secure destruction - has_or_had_type: PermanentArchiveTransferService has_or_had_label: transfer to national archives - description: Federal records center deposit archive annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Description.yaml b/schemas/20251121/linkml/modules/classes/Description.yaml index 3dda80f3e0..bf927fcd7b 100644 --- a/schemas/20251121/linkml/modules/classes/Description.yaml +++ b/schemas/20251121/linkml/modules/classes/Description.yaml @@ -80,13 +80,6 @@ classes: # DEPRECATED 2026-01-25: description_text migrated to has_or_had_content + Content (Rule 53) # Old slot archived: modules/slots/archive/description_text_archived_20260125.yaml has_or_had_content: - description: | - The content of the description, modeled as Content class. - MIGRATED from description_text (string) per Rule 53. - - **Migration Pattern**: - - Old: description_text: "Climate-controlled storage zone..." - - New: has_or_had_content with has_or_had_label and has_or_had_description range: string required: true inlined: true @@ -94,27 +87,15 @@ classes: - value: has_or_had_label: "Zone Description" has_or_had_description: "Climate-controlled storage zone with dedicated HVAC for archival materials." - description: Content for zone description description_type: - description: | - The type of description (binding, branch, budget, zone, warehouse, unit, type, general). - This allows distinguishing different kinds of descriptions when multiple - apply to the same entity. range: string required: false examples: - value: binding - description: Physical binding description - value: branch - description: Organizational branch description - value: budget - description: Budget category description - value: zone - description: Storage zone description language: - description: | - ISO 639-1 two-letter language code for this description. - Examples: "en", "nl", "de", "fr" range: string required: false pattern: "^[a-z]{2}$" @@ -134,18 +115,15 @@ classes: has_or_had_description: "Climate-controlled storage zone with dedicated HVAC for archival materials. Maintains 65°F and 35% RH." description_type: zone language: en - description: "Zone description for archival storage facility" - value: has_or_had_content: has_or_had_label: "Quarter Leather Binding" has_or_had_description: "Quarter leather binding with marbled boards, spine with five raised bands and gilt titling." description_type: binding language: en - description: "Binding description for a rare book" - value: has_or_had_content: has_or_had_label: "Noord-Holland Regional Branch" has_or_had_description: "Regional branch serving Noord-Holland province with specialized genealogy and notarial collections." description_type: branch - language: en - description: "Branch description for organizational unit" + language: en \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/DetectedEntity.yaml b/schemas/20251121/linkml/modules/classes/DetectedEntity.yaml index 1f32213f5d..a014aea789 100644 --- a/schemas/20251121/linkml/modules/classes/DetectedEntity.yaml +++ b/schemas/20251121/linkml/modules/classes/DetectedEntity.yaml @@ -54,25 +54,18 @@ classes: has_or_had_identifier: range: string required: false - description: Unique identifier for this detection instance examples: - value: detection-001 - value: transition-fade-00:03:15 has_or_had_type: range: string required: true - description: 'Type of detected entity. Specialize range in subclasses or - - slot_usage to reference specific Type classes (TransitionType, TextType, etc.) - - ' examples: - value: TransitionType:FADE_IN - value: TextType:TITLE has_or_had_label: range: string required: false - description: Human-readable label for the detected entity (e.g., detected text content) examples: - value: Museum Tour - value: Opening Credits @@ -86,33 +79,26 @@ classes: has_or_had_score: has_or_had_score: 0.95 has_or_had_method: computer_vision - description: High confidence detection - value: has_or_had_score: has_or_had_score: 0.62 has_or_had_method: ocr_extraction - description: Moderate confidence, may need review has_or_had_time_interval: range: TimeInterval required: false inlined: true - description: Duration of detection. Replaces end_time. Use duration_value for ISO 8601 duration (e.g., PT2S). examples: - value: - duration_value: PT0M02S - description: 2 second duration has_or_had_geographic_extent: range: float multivalued: true required: false - description: Spatial location as [x1, y1, x2, y2] pixel coordinates for image detection examples: - value: - 100.0 - 50.0 - 400.0 - 150.0 - description: Bounding box for detected text region annotations: specificity_score: '0.65' specificity_rationale: Fairly specific - detection entities are domain-relevant for media analysis. @@ -140,8 +126,6 @@ classes: has_or_had_method: video_analysis start_time: 00:03:15 has_or_had_time_interval: - duration_value: PT0M02S - description: Video transition detection (fade in) - value: has_or_had_identifier: text-001 has_or_had_type: TextType:TITLE @@ -154,5 +138,4 @@ classes: - 100.0 - 50.0 - 400.0 - - 150.0 - description: On-screen text detection + - 150.0 \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/DetectionLevelType.yaml b/schemas/20251121/linkml/modules/classes/DetectionLevelType.yaml index 28d2f2f965..d120ba48f0 100644 --- a/schemas/20251121/linkml/modules/classes/DetectionLevelType.yaml +++ b/schemas/20251121/linkml/modules/classes/DetectionLevelType.yaml @@ -65,19 +65,16 @@ classes: slot_usage: has_or_had_code: - description: Short code for the detection level (HIGH, MEDIUM, LOW, etc.) pattern: "^[A-Z_]+$" examples: - value: HIGH - value: MEDIUM - value: LOW has_or_had_label: - description: Human-readable label for the detection level examples: - value: "High Confidence" - value: "Medium Confidence" has_or_had_description: - description: Description of when/how this level is used examples: - value: "High confidence detections suitable for production display" diff --git a/schemas/20251121/linkml/modules/classes/DetectionThreshold.yaml b/schemas/20251121/linkml/modules/classes/DetectionThreshold.yaml index c1de1b3019..cee4145ddc 100644 --- a/schemas/20251121/linkml/modules/classes/DetectionThreshold.yaml +++ b/schemas/20251121/linkml/modules/classes/DetectionThreshold.yaml @@ -68,12 +68,10 @@ classes: description: Minimum confidence for inclusion slot_usage: has_or_had_label: - description: Human-readable label for this threshold configuration examples: - value: High Precision Threshold - value: Research Mode Threshold has_or_had_type: - description: Type category for the threshold (HIGH_PRECISION, BALANCED, etc.) examples: - value: HIGH_PRECISION - value: BALANCED @@ -89,19 +87,10 @@ classes: - threshold_type indicates how threshold is applied examples: - value: - threshold_value: 0.5 - threshold_type: MINIMUM has_or_had_label: Standard Detection - description: Standard detection threshold at 0.5 confidence - value: - threshold_value: 0.9 - threshold_type: MINIMUM has_or_had_label: High Precision has_or_had_description: For production display requiring high confidence - description: High precision threshold for production use - value: - threshold_value: 0.3 - threshold_type: MINIMUM has_or_had_label: Research Mode - has_or_had_description: Low threshold to maximize recall for research - description: Low threshold for research/review workflows + has_or_had_description: Low threshold to maximize recall for research \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/DeviceType.yaml b/schemas/20251121/linkml/modules/classes/DeviceType.yaml index 1b7c5615a0..bcf4d9e69b 100644 --- a/schemas/20251121/linkml/modules/classes/DeviceType.yaml +++ b/schemas/20251121/linkml/modules/classes/DeviceType.yaml @@ -55,11 +55,9 @@ classes: slot_usage: has_or_had_identifier: - description: Unique identifier for this device type. range: uriorcurie required: false has_or_had_label: - description: Human-readable name of this device type. range: string required: true diff --git a/schemas/20251121/linkml/modules/classes/DiarizationStatus.yaml b/schemas/20251121/linkml/modules/classes/DiarizationStatus.yaml index 785fc54edc..14a49f843d 100644 --- a/schemas/20251121/linkml/modules/classes/DiarizationStatus.yaml +++ b/schemas/20251121/linkml/modules/classes/DiarizationStatus.yaml @@ -33,11 +33,9 @@ classes: slot_usage: has_or_had_identifier: - description: Status code or identifier (e.g., "COMPLETED", "ENABLED"). range: uriorcurie required: false has_or_had_label: - description: Human-readable status description. range: string required: true @@ -54,8 +52,6 @@ classes: - value: has_or_had_label: Enabled has_or_had_identifier: https://schema.org/ActiveActionStatus - description: Diarization enabled/active - value: has_or_had_label: Completed - has_or_had_identifier: https://schema.org/CompletedActionStatus - description: Diarization completed + has_or_had_identifier: https://schema.org/CompletedActionStatus \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/DigitalArchive.yaml b/schemas/20251121/linkml/modules/classes/DigitalArchive.yaml index 8fab0524cf..2c40a9cc0c 100644 --- a/schemas/20251121/linkml/modules/classes/DigitalArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/DigitalArchive.yaml @@ -42,7 +42,6 @@ classes: - content_origin - has_or_had_type - hold_or_held_record_set_type - - has_or_had_operates_platform_type - preservation_level - specificity_annotation - has_or_had_format @@ -53,34 +52,16 @@ classes: \ (Q1065413) - academic digital publications\n- DigitalPlatformType - platform classification for infrastructure\n" slot_usage: has_or_had_identifier: null - has_or_had_operates_platform_type: - range: DigitalPlatformType - multivalued: true - inlined_as_list: true - required: true - examples: - - value: - - platform_type_code: DIGITAL_REPOSITORY - platform_type_label: Digital Preservation Repository - - platform_type_code: DISCOVERY_PORTAL - platform_type_label: Public Access Portal content_origin: range: string examples: - value: born_digital - description: Only born-digital content - value: mixed - description: Both born-digital and digitized materials preservation_level: range: string examples: - value: level_3 - description: NDSA Level 3 - Monitor has_or_had_interface: - description: 'Access interface for the digital archive. - MIGRATED from has_access_interface_url per Rule 53. - Uses AccessInterface class. - ' range: AccessInterface inlined: true required: false @@ -88,20 +69,15 @@ classes: - value: has_or_had_url: has_or_had_value: https://archive.example.org/access - description: Access interface URL has_or_had_format: range: uriorcurie multivalued: true - description: 'File formats supported/preferred by the digital archive. - MIGRATED from supported_format slot per slot_fixes.yaml (Rule 53/56, 2026-01-16). - ' examples: - value: - iana:application/pdf - iana:image/tiff - iana:image/jp2 - iana:application/xml - description: Common digital archive formats as IANA media type CURIEs has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType", "hc:DigitalPlatformType"]' exact_mappings: @@ -132,7 +108,6 @@ classes: - archivo digital@es - "archives num\xE9riques@fr" has_or_had_description: Information system for digital resource collection and access - has_or_had_operates_platform_type: - platform_type_code: DIGITAL_REPOSITORY platform_type_label: Archivematica Preservation System - platform_type_code: DISCOVERY_PORTAL @@ -147,7 +122,6 @@ classes: - iana:image/tiff - iana:image/jp2 - iana:application/warc - description: Government digital archive with mixed content annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/DigitalConfidence.yaml b/schemas/20251121/linkml/modules/classes/DigitalConfidence.yaml index 494f84396d..691520583e 100644 --- a/schemas/20251121/linkml/modules/classes/DigitalConfidence.yaml +++ b/schemas/20251121/linkml/modules/classes/DigitalConfidence.yaml @@ -43,22 +43,16 @@ classes: slot_usage: has_or_had_score: - description: | - Numeric confidence score (0.0-1.0). - Inherits broad range (Any) but overrides description/examples. range: float required: true minimum_value: 0.0 maximum_value: 1.0 examples: - value: 0.85 - description: High confidence estimation has_or_had_type: - description: Type of confidence assessment (e.g., PROFICIENCY_INFERENCE) examples: - value: SKILL_INFERENCE has_or_had_description: - description: Explanation of the confidence assessment examples: - value: "Inferred from explicit skill endorsements and project history" diff --git a/schemas/20251121/linkml/modules/classes/DigitalInstantiation.yaml b/schemas/20251121/linkml/modules/classes/DigitalInstantiation.yaml index d4fbe5f349..3d4010090f 100644 --- a/schemas/20251121/linkml/modules/classes/DigitalInstantiation.yaml +++ b/schemas/20251121/linkml/modules/classes/DigitalInstantiation.yaml @@ -22,13 +22,10 @@ classes: slot_usage: has_or_had_url: range: uri - description: URL to the digital surrogate or download endpoint. has_or_had_status: range: Status - description: Digitization status (e.g., PARTIAL, COMPLETE). has_or_had_label: range: string - description: Label or name of the digital instantiation. annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/DigitalPlatform.yaml b/schemas/20251121/linkml/modules/classes/DigitalPlatform.yaml index 82fd6b62c3..00e2e2dd0e 100644 --- a/schemas/20251121/linkml/modules/classes/DigitalPlatform.yaml +++ b/schemas/20251121/linkml/modules/classes/DigitalPlatform.yaml @@ -83,14 +83,10 @@ classes: - schema:SoftwareApplication - dcat:accessURL slots: - - has_or_had_access_restriction - has_or_had_endpoint - has_or_had_auxiliary_entities - - has_or_had_web_page - - has_or_had_data_service_endpoint - is_or_was_checked_through - has_or_had_url - - iiif_support - inventory_web_address - linked_data - metadata_standard @@ -98,9 +94,7 @@ classes: - platform_id - platform_name - platform_type - - has_or_had_powered_by_cm - preservation_level - - programming_language - refers_to_custodian - repository_software - serves_finding_aid @@ -152,49 +146,33 @@ classes: required: false examples: - value: https://nde.nl/ontology/hc/platform/rijksmuseum-website - description: Platform ID for Rijksmuseum website platform_name: range: string required: false examples: - value: Rijksmuseum Website - description: Main website name - value: Europeana Platform - description: Aggregation platform name platform_type: range: string multivalued: false required: false - description: Platform type - can be string, array of DigitalPlatformType, or null examples: - value: DigitalArchivePlatform description: Digital archive platform (wd:Q1224984) - value: AggregationPlatform description: Aggregation platform (wd:Q7894) - value: WEBSITE - description: Simple string type from enrichment data has_or_had_url: range: uri required: false inlined: true - description: 'Homepage URL of the platform. - MIGRATED from homepage_web_address (Rule 53). - Uses generic has_or_had_url with range URL. - ' examples: - value: has_or_had_url: https://www.rijksmuseum.nl/ has_or_had_type: homepage - description: Rijksmuseum homepage - value: has_or_had_url: https://www.europeana.eu/ has_or_had_type: homepage - description: Europeana homepage - has_or_had_web_page: - description: 'MIGRATED from collection_web_address per slot_fixes.yaml (Rule 53, 2026-01-22). - Web pages for accessing digital collections on this platform. - Uses WebPage class for structured representation with URL and metadata. - ' range: WebPage multivalued: true inlined: true @@ -206,91 +184,46 @@ classes: has_or_had_url: - has_or_had_url: https://www.rijksmuseum.nl/nl/rijksstudio has_or_had_type: collection_access - description: Rijksstudio collection access web page inventory_web_address: range: uri multivalued: true examples: - value: https://www.nationaalarchief.nl/onderzoeken/index - description: National Archives finding aids has_or_had_endpoint: range: APIEndpoint inlined: true - description: 'API endpoint for the platform. - MIGRATED from has_or_had_api_endpoint per Rule 53. - Uses APIEndpoint class. - ' examples: - value: has_or_had_url: https://api.europeana.eu/record/v2/ has_or_had_description: Europeana REST API endpoint - description: API endpoint sparql_endpoint: range: uri examples: - value: https://api.europeana.eu/sparql - description: Europeana SPARQL endpoint oai_pmh_endpoint: range: uri examples: - value: https://www.europeana.eu/oai - description: Europeana OAI-PMH endpoint - programming_language: - range: string - multivalued: true - examples: - - value: Java - description: Primary backend language - value: Python - description: Data processing language - value: JavaScript - description: Frontend language repository_software: range: string examples: - value: DSpace 7.2 - description: Digital repository software - has_or_had_powered_by_cm: - range: CollectionManagementSystem - multivalued: true - required: false - examples: - - value: https://nde.nl/ontology/hc/cms/rijksmuseum-adlib - description: Platform powered by Rijksmuseum's Adlib CMS - iiif_support: - range: boolean - examples: - - value: true - description: Platform supports IIIF - value: false - description: No IIIF support linked_data: range: boolean examples: - value: true - description: Platform provides linked data - value: false - description: No linked data metadata_standard: range: string multivalued: true examples: - value: Dublin Core - description: Basic descriptive standard - value: MARC21 - description: Library catalog standard - has_or_had_access_restriction: - range: string - examples: - - value: Public access - description: Open to all users - value: API key required - description: Developer registration needed is_or_was_associated_with: - description: 'MIGRATED from auxiliary_platforms/has_or_had_auxiliary_entities (Rule 53). - Subordinate or auxiliary digital platforms associated with this platform. - Range narrowed to AuxiliaryDigitalPlatform. - ' range: AuxiliaryDigitalPlatform multivalued: true inlined_as_list: true @@ -305,14 +238,12 @@ classes: has_or_had_type: has_or_had_label: API_ENDPOINT platform_url: https://data.rijksmuseum.nl/ - description: Rijksmuseum subordinate digital platforms temporal_extent: range: TimeSpan examples: - value: begin_of_the_begin: '2008-11-20' end_of_the_begin: '2008-11-20' - description: Europeana launched November 20, 2008 is_or_was_derived_from: range: CustodianObservation multivalued: true @@ -325,41 +256,28 @@ classes: required: false examples: - value: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Rijksmuseum custodian hub preservation_level: range: string required: false examples: - value: full_preservation - description: Complete digital preservation with format migration - value: bit_preservation - description: Bit-level integrity preservation only is_or_was_stored_at: range: StorageLocation required: false inlined: true - description: 'Physical or digital storage infrastructure for this platform. - MIGRATED from storage_location per slot_fixes.yaml (Rule 53). - Uses StorageLocation class for unified location modeling. - ' examples: - value: has_or_had_identifier: aws-s3-eu-west-1 has_or_had_label: label_text: AWS S3 eu-west-1 language: en - description: Cloud storage in EU West region - value: has_or_had_identifier: dans-data-archive has_or_had_label: label_text: DANS Data Archive language: en - description: Dutch trusted digital repository is_or_was_checked_through: - description: 'Verification of data integrity (fixity check). - MIGRATED from fixity_check_date per Rule 53. - Uses FixityVerification class with temporal_extent. - ' range: FixityVerification inlined: true required: false @@ -368,7 +286,6 @@ classes: temporal_extent: begin_of_the_begin: '2025-11-15' has_or_had_label: Last full fixity check - description: Last fixity check date serves_finding_aid: range: uriorcurie multivalued: true @@ -376,22 +293,8 @@ classes: required: false examples: - value: https://nde.nl/ontology/hc/finding-aid/na/voc-inventory - description: VOC Archives inventory finding aid - value: https://nde.nl/ontology/hc/finding-aid/rm/paintings-catalogue - description: Rijksmuseum paintings catalogue - has_or_had_data_service_endpoint: - range: DataServiceEndpoint - multivalued: true - inlined_as_list: true - required: false - examples: - - value: - - endpoint_id: https://nde.nl/ontology/hc/endpoint/na-oai-pmh - endpoint_name: Nationaal Archief OAI-PMH has_or_had_url: https://www.nationaalarchief.nl/onderzoeken/oai-pmh - protocol: OAI_PMH - status: ACTIVE - description: Nationaal Archief data service endpoints comments: - DigitalPlatform is DIRECTLY linked to Custodian hub (not a subclass of CustodianObservation) - Used by BOTH physical institutions (website) and digital-first custodians (primary platform) @@ -415,21 +318,17 @@ classes: has_or_had_url: has_or_had_url: https://www.rijksmuseum.nl/ has_or_had_type: homepage - has_or_had_web_page: - has_or_had_label: label_value: Rijksstudio Collections has_or_had_url: - has_or_had_url: https://www.rijksmuseum.nl/nl/rijksstudio has_or_had_type: collection_access api_endpoint: https://www.rijksmuseum.nl/api/ - iiif_support: true linked_data: true metadata_standard: - Dublin Core - LIDO - has_or_had_access_restriction: Public access, API key required for API refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Rijksmuseum digital platform (physical museum with website) - value: platform_id: https://nde.nl/ontology/hc/platform/europeana platform_name: Europeana Platform @@ -439,7 +338,6 @@ classes: has_or_had_url: has_or_had_url: https://www.europeana.eu/ has_or_had_type: homepage - has_or_had_web_page: - has_or_had_label: label_value: Europeana Collections Browse has_or_had_url: @@ -449,23 +347,16 @@ classes: has_or_had_url: https://api.europeana.eu/record/v2/ sparql_endpoint: https://api.europeana.eu/sparql oai_pmh_endpoint: https://www.europeana.eu/oai - programming_language: - - Java - - Python - - JavaScript - iiif_support: true linked_data: true metadata_standard: - EDM (Europeana Data Model) - Dublin Core - LIDO - EAD - has_or_had_access_restriction: Public access, API key required for API temporal_extent: begin_of_the_begin: '2008-11-20' end_of_the_begin: '2008-11-20' refers_to_custodian: https://nde.nl/ontology/hc/eu-europeana - description: Europeana platform (digital-first aggregation platform) annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/DigitalPlatformScore.yaml b/schemas/20251121/linkml/modules/classes/DigitalPlatformScore.yaml index bd1cee70f4..e2f4b27369 100644 --- a/schemas/20251121/linkml/modules/classes/DigitalPlatformScore.yaml +++ b/schemas/20251121/linkml/modules/classes/DigitalPlatformScore.yaml @@ -37,7 +37,6 @@ classes: - has_or_had_score slot_usage: has_or_had_score: - description: The score value (0.0-1.0). range: float required: true minimum_value: 0.0 diff --git a/schemas/20251121/linkml/modules/classes/DigitalPlatformUserIdentifier.yaml b/schemas/20251121/linkml/modules/classes/DigitalPlatformUserIdentifier.yaml index 41be23d6b0..6c5176fed0 100644 --- a/schemas/20251121/linkml/modules/classes/DigitalPlatformUserIdentifier.yaml +++ b/schemas/20251121/linkml/modules/classes/DigitalPlatformUserIdentifier.yaml @@ -19,32 +19,17 @@ classes: DigitalPlatformUserIdentifier: is_a: Identifier class_uri: hc:DigitalPlatformUserIdentifier - description: 'Identifier for a user account on a digital platform (YouTube, Twitter, etc.). - **PURPOSE**: - Structured representation of platform-specific user identifiers, - such as YouTube channel IDs, Twitter handles, or Instagram usernames. - Replaces simple string channel_id slots with typed identifiers. - **DESIGN RATIONALE**: - Created per slot_fixes.yaml migration from `comment_author_channel_id` string - to structured `has_or_had_author` + `Author` with `has_or_had_identifier` + - `DigitalPlatformUserIdentifier` for platform user identification. - **PLATFORM IDENTIFIER TYPES**: - | Platform | Identifier Type | Example | - |----------|-----------------|---------| - | YouTube | Channel ID | UC1234abcdef | - | Twitter/X | User ID | 12345678 | - | Instagram | Username | @museum_account | - | Facebook | Page ID | 123456789 | - | LinkedIn | Company ID | heritage-foundation | - | TikTok | User ID | museum_official | - **ONTOLOGY ALIGNMENT**: - | Ontology | Class/Property | Usage | - |----------|----------------|-------| - | **Dublin Core** | `dcterms:identifier` | Base identifier semantics | - | **Schema.org** | `schema:identifier` | Web-standard identifier | - | **FOAF** | `foaf:OnlineAccount` | Online account modeling | - | **Activity Streams** | `as:Person` | Social media activity | - ' + description: 'Identifier for a user account on a digital platform (YouTube, Twitter, etc.). **PURPOSE**: Structured representation + of platform-specific user identifiers, such as YouTube channel IDs, Twitter handles, or Instagram usernames. Replaces + simple string channel_id slots with typed identifiers. **DESIGN RATIONALE**: Created per slot_fixes.yaml migration from + `comment_author_channel_id` string to structured `has_or_had_author` + `Author` with `has_or_had_identifier` + `DigitalPlatformUserIdentifier` + for platform user identification. **PLATFORM IDENTIFIER TYPES**: | Platform | Identifier Type | Example | |----------|-----------------|---------| + | YouTube | Channel ID | UC1234abcdef | | Twitter/X | User ID | 12345678 | | Instagram | Username | @museum_account + | | Facebook | Page ID | 123456789 | | LinkedIn | Company ID | heritage-foundation | | TikTok | User ID | museum_official + | **ONTOLOGY ALIGNMENT**: | Ontology | Class/Property | Usage | |----------|----------------|-------| | **Dublin Core** + | `dcterms:identifier` | Base identifier semantics | | **Schema.org** | `schema:identifier` | Web-standard identifier + | | **FOAF** | `foaf:OnlineAccount` | Online account modeling | | **Activity Streams** | `as:Person` | Social media + activity | ' exact_mappings: - foaf:OnlineAccount close_mappings: @@ -54,8 +39,7 @@ classes: - as:actor attributes: platform_type: - description: 'Type of digital platform (YouTube, Twitter, Instagram, etc.). - ' + description: 'Type of digital platform (YouTube, Twitter, Instagram, etc.). ' range: string required: true examples: @@ -66,8 +50,7 @@ classes: - value: linkedin - value: tiktok platform_user_id: - description: 'Platform-specific user/channel/account identifier. - ' + description: 'Platform-specific user/channel/account identifier. ' range: string required: true examples: @@ -78,9 +61,7 @@ classes: - value: museum_official description: TikTok username platform_username: - description: 'Human-readable username or handle on the platform. - May differ from platform_user_id. - ' + description: 'Human-readable username or handle on the platform. May differ from platform_user_id. ' range: string required: false examples: @@ -89,52 +70,23 @@ classes: - value: MuseumFan2024 description: YouTube display name profile_url: - description: 'URL to the user''s profile page on the platform. - ' + description: 'URL to the user''s profile page on the platform. ' range: uri required: false examples: - value: https://www.youtube.com/channel/UC1234abcdef - value: https://twitter.com/rijksmuseum slot_usage: - identifier_scheme: - description: 'Platform identifier scheme. Use lowercase platform name. - Examples: youtube_channel_id, twitter_user_id, instagram_username - ' - ifabsent: string(digital_platform_user_id) - examples: - - value: youtube_channel_id - - value: twitter_user_id - identifier_value: - description: 'The actual platform user identifier value. - Inherited from Identifier class. - ' - examples: - - value: UC1234abcdefghijk - description: YouTube channel ID + ifabsent: string(digital_platform_user_id) examples: - value: - identifier_scheme: youtube_channel_id - identifier_value: UCsT0YIqwnpJCM-mx7-gSA4Q platform_type: youtube - platform_user_id: UCsT0YIqwnpJCM-mx7-gSA4Q - platform_username: TEDx Talks profile_url: https://www.youtube.com/channel/UCsT0YIqwnpJCM-mx7-gSA4Q - description: YouTube channel identifier with full metadata - value: - identifier_scheme: twitter_user_id - identifier_value: '12345678' platform_type: twitter - platform_user_id: '12345678' - platform_username: '@rijksmuseum' profile_url: https://twitter.com/rijksmuseum - description: Twitter user identifier - value: - identifier_scheme: youtube_channel_id - identifier_value: UC1234abcdef platform_type: youtube - platform_user_id: UC1234abcdef - description: Minimal YouTube channel identifier (just ID) comments: - Created per slot_fixes.yaml migration from comment_author_channel_id (2026-01-22) - Extends Identifier class with platform-specific fields @@ -147,4 +99,4 @@ classes: annotations: specificity_score: 0.7 specificity_rationale: Specific to digital platform user identification contexts. - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/DigitalPlatformV2OrganizationProfile.yaml b/schemas/20251121/linkml/modules/classes/DigitalPlatformV2OrganizationProfile.yaml index f663d035b4..317389704c 100644 --- a/schemas/20251121/linkml/modules/classes/DigitalPlatformV2OrganizationProfile.yaml +++ b/schemas/20251121/linkml/modules/classes/DigitalPlatformV2OrganizationProfile.yaml @@ -21,24 +21,13 @@ classes: - is_or_was_founded_through slot_usage: is_or_was_founded_through: - description: 'The founding event for this organization. - Migrated from founding_date attribute per slot_fixes.yaml revision. - ' range: FoundingEvent inlined: true attributes: organization_type: range: string - description: Type classification (Municipal library, Museum, Archive, etc.) scope: range: string - description: Geographic or thematic scope (local, regional, national, international) - description: - range: string - description: Detailed description of the organization and its activities - history: - range: string - description: Brief organizational history annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/DigitalPlatformV2PrimaryPlatform.yaml b/schemas/20251121/linkml/modules/classes/DigitalPlatformV2PrimaryPlatform.yaml index 75191ef9a9..b703b4debf 100644 --- a/schemas/20251121/linkml/modules/classes/DigitalPlatformV2PrimaryPlatform.yaml +++ b/schemas/20251121/linkml/modules/classes/DigitalPlatformV2PrimaryPlatform.yaml @@ -29,9 +29,6 @@ classes: platform_name: range: string description: Name of the platform - description: - range: string - description: Description of the platform language: range: string description: Primary language of the platform @@ -56,11 +53,12 @@ classes: range: string multivalued: true inlined_as_list: true - description: Types of content available on the platform (organization_profile, research_information, heritage_documentation, etc.) + description: Types of content available on the platform (organization_profile, research_information, heritage_documentation, + etc.) status: range: string description: Platform accessibility status (e.g., "HTTP 403 - Website not publicly accessible") annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/DigitalPresence.yaml b/schemas/20251121/linkml/modules/classes/DigitalPresence.yaml index 061f1c3035..5c0518e410 100644 --- a/schemas/20251121/linkml/modules/classes/DigitalPresence.yaml +++ b/schemas/20251121/linkml/modules/classes/DigitalPresence.yaml @@ -42,7 +42,6 @@ classes: range: uriorcurie required: true has_or_had_type: - description: Type classification of this presence. range: DigitalPresenceType required: true inlined: true diff --git a/schemas/20251121/linkml/modules/classes/DigitalPresenceType.yaml b/schemas/20251121/linkml/modules/classes/DigitalPresenceType.yaml index 9f43b7d9d6..6ce9718e2a 100644 --- a/schemas/20251121/linkml/modules/classes/DigitalPresenceType.yaml +++ b/schemas/20251121/linkml/modules/classes/DigitalPresenceType.yaml @@ -35,11 +35,9 @@ classes: slot_usage: has_or_had_identifier: - description: Unique identifier for this presence type. range: uriorcurie required: false has_or_had_label: - description: Human-readable name of this presence type. range: string required: true diff --git a/schemas/20251121/linkml/modules/classes/DigitalProficiency.yaml b/schemas/20251121/linkml/modules/classes/DigitalProficiency.yaml index 6fbe6ec961..68a81fd7d0 100644 --- a/schemas/20251121/linkml/modules/classes/DigitalProficiency.yaml +++ b/schemas/20251121/linkml/modules/classes/DigitalProficiency.yaml @@ -33,13 +33,11 @@ classes: - has_or_had_type slot_usage: has_or_had_label: - description: Name of the proficiency (e.g., "Python", "Data Science") required: true examples: - value: Python - value: Linked Data has_or_had_type: - description: Category of proficiency (LANGUAGE, TOOL, CONCEPT, etc.) examples: - value: PROGRAMMING_LANGUAGE - value: METHODOLOGY @@ -56,8 +54,6 @@ classes: - value: has_or_had_label: Python has_or_had_type: PROGRAMMING_LANGUAGE - description: Python programming skill - value: has_or_had_label: Collection Management Systems - has_or_had_type: DOMAIN_TOOL - description: CMS proficiency + has_or_had_type: DOMAIN_TOOL \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/DimArchives.yaml b/schemas/20251121/linkml/modules/classes/DimArchives.yaml index 239de5a6da..bd1501e4ec 100644 --- a/schemas/20251121/linkml/modules/classes/DimArchives.yaml +++ b/schemas/20251121/linkml/modules/classes/DimArchives.yaml @@ -43,7 +43,6 @@ classes: slots: - grants_or_granted_access_through - has_or_had_type - - has_or_had_condition_of_access - hold_or_held_record_set_type - restriction_category - specificity_annotation @@ -55,26 +54,15 @@ classes: \u2500\u2500 eligible_users: (criteria)\n \u2514\u2500\u2500 access_process: (procedure)\n```\n\n**MULTILINGUAL LABELS**:\n- Dim Archive (de) [uses English term]\n\n**RELATED TYPES**:\n- LightArchive (Q112815447) - broadly accessible\n- DarkArchive (Q112796578) - no current access\n- AccessPolicy - policy class for restriction documentation\n" slot_usage: has_or_had_identifier: null - has_or_had_condition_of_access: - range: string - inlined: true - multivalued: true - required: true - description: 'Access conditions that make this a "dim" archive. - MIGRATED from default_access_policy per slot_fixes.yaml (Rule 53). - Uses Condition class for structured representation. - ' examples: - value: has_or_had_type: RESEARCHER_ONLY has_or_had_description: description_text: Access restricted to credentialed academic researchers - description: User-based restriction condition - value: has_or_had_type: APPROVAL_REQUIRED has_or_had_description: description_text: Application and approval process required - description: Process-based restriction condition restriction_category: range: string multivalued: true @@ -82,12 +70,7 @@ classes: - value: - user_based - process_based - description: Researcher credentials + approval process grants_or_granted_access_through: - description: 'URL or mechanism for requesting access. - MIGRATED from has_access_application_url per Rule 53. - Uses AccessApplication class. - ' range: AccessApplication inlined: true required: false @@ -95,17 +78,11 @@ classes: - value: has_or_had_url: has_or_had_value: https://archive.example.org/request-access - description: Access request form has_or_had_time_interval: range: TimeInterval inlined: true - description: 'Typical approval time for access requests at this dim archive. - MIGRATED from typical_approval_time per slot_fixes.yaml (Rule 53, 2026-01-15). - ' examples: - value: - duration_description: 2-3 business days - days: 3 has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType", "hc:DigitalPlatformType"]' exact_mappings: @@ -136,7 +113,6 @@ classes: - Dim Archive@en - Dim Archive@de has_or_had_description: Archive with limited access - has_or_had_condition_of_access: - has_or_had_type: RESEARCHER_ONLY has_or_had_description: description_text: Academic researchers with institutional affiliation @@ -154,9 +130,6 @@ classes: has_or_had_url: has_or_had_value: https://archive.example.org/apply has_or_had_time_interval: - duration_description: 5-10 business days - days: 7 - description: Dim archive with researcher access only annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/DiocesanArchive.yaml b/schemas/20251121/linkml/modules/classes/DiocesanArchive.yaml index 5b0d9e27af..ae3baaf154 100644 --- a/schemas/20251121/linkml/modules/classes/DiocesanArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/DiocesanArchive.yaml @@ -56,22 +56,12 @@ classes: has_or_had_identifier: null originates_or_originated_from: range: Diocese - description: 'The diocese from which this archive originates (and is likely part of). - - MIGRATED from ecclesiastical_province per Rule 53 (2026-01-25). - - ' examples: - value: has_or_had_label: Diocese of Utrecht is_or_was_located_in: has_or_had_label: Province of Utrecht is_or_was_part_of: - description: 'The diocese or archdiocese this archive is part of. - - Migrated from founding_date_diocese (2026-01-22) and has_archdiocese_name (2026-01-27). - - ' range: Organization any_of: - range: Diocese @@ -84,25 +74,16 @@ classes: temporal_extent: begin_of_the_begin: '0695-01-01' end_of_the_begin: '0695-12-31' - founding_description: Established circa 695 by St. Willibrord - description: Diocese of Utrecht established ~695 - value: has_or_had_label: Archdiocese of Utrecht - description: Part of Archdiocese requires_or_required: range: Permission inlined: true multivalued: true - description: 'Permissions/authorizations required for access. - - MIGRATED 2026-01-22: Replaces canonical_access_rule boolean with structured Permission. - - ' examples: - value: has_or_had_type: BishopsPermission has_or_had_description: Written permission from diocesan bishop required for personnel files - description: Bishop's permission for sensitive records has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType", "hc:HolySacredSiteType"]' exact_mappings: @@ -142,14 +123,12 @@ classes: temporal_extent: begin_of_the_begin: '1559-05-12' end_of_the_begin: '1559-05-12' - founding_description: Established 12 May 1559 - has_or_had_label: Archdiocese of Utrecht originates_or_originated_from: has_or_had_label: Diocese of 's-Hertogenbosch is_or_was_located_in: has_or_had_label: Province of Utrecht canonical_access_rules: true - description: Diocesan archive example - Diocese of 's-Hertogenbosch annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Diocese.yaml b/schemas/20251121/linkml/modules/classes/Diocese.yaml index 81e91bc906..7ae715e236 100644 --- a/schemas/20251121/linkml/modules/classes/Diocese.yaml +++ b/schemas/20251121/linkml/modules/classes/Diocese.yaml @@ -96,9 +96,6 @@ classes: slot_usage: has_or_had_label: - description: | - Official name of the diocese. - MIGRATED from diocese_name per Rule 53 (2026-01-26). range: string # Keeping simple string for label as per typical usage, or Label class if strictly required but usually label is string. # Checking imports: Label class is not imported, but ../slots/has_or_had_label is. # Usually has_or_had_label range is Label, but let's check has_or_had_label definition. @@ -113,17 +110,10 @@ classes: - value: "Diocese of 's-Hertogenbosch" is_or_was_located_in: range: string - description: | - The ecclesiastical province this diocese belongs to. - MIGRATED from ecclesiastical_province per Rule 53 (2026-01-25). examples: - value: has_or_had_label: "Province of Utrecht" - description: Part of the Province of Utrecht is_or_was_founded_through: - description: | - The founding event of this diocese. - Many dioceses have medieval founding dates. range: FoundingEvent inlined: true examples: @@ -131,9 +121,6 @@ classes: temporal_extent: begin_of_the_begin: "0695-01-01" end_of_the_begin: "0695-12-31" - founding_description: "Diocese of Utrecht established circa 695 by St. Willibrord" - description: Medieval diocese founding - exact_mappings: - wd:Q131896 @@ -145,31 +132,21 @@ classes: - value: diocese_id: "wd:Q1808831" diocese_name: "Diocese of Utrecht" - archdiocese_name: "Archdiocese of Utrecht" is_or_was_located_in: has_or_had_label: "Province of Utrecht" - denomination: "Roman Catholic" is_or_was_founded_through: temporal_extent: begin_of_the_begin: "0695-01-01" end_of_the_begin: "0695-12-31" - founding_description: "Established circa 695 by St. Willibrord" - description: Diocese of Utrecht example - - value: diocese_id: "hc:diocese/s-hertogenbosch" diocese_name: "Diocese of 's-Hertogenbosch" - archdiocese_name: "Archdiocese of Utrecht" is_or_was_located_in: has_or_had_label: "Province of Utrecht" - denomination: "Roman Catholic" is_or_was_founded_through: temporal_extent: begin_of_the_begin: "1559-05-12" end_of_the_begin: "1559-05-12" - founding_description: "Established 12 May 1559 during reorganization of Dutch church" - description: Diocese of 's-Hertogenbosch example - annotations: custodian_types: '["H"]' custodian_types_rationale: "Dioceses are ecclesiastical organizations relevant to Holy Sites (H) heritage custodians." diff --git a/schemas/20251121/linkml/modules/classes/DismissalEvent.yaml b/schemas/20251121/linkml/modules/classes/DismissalEvent.yaml index 93c8be9c7e..8f65f1501e 100644 --- a/schemas/20251121/linkml/modules/classes/DismissalEvent.yaml +++ b/schemas/20251121/linkml/modules/classes/DismissalEvent.yaml @@ -23,10 +23,8 @@ classes: slot_usage: has_or_had_quantity: range: integer - description: Count of dismissals/dislikes. has_or_had_unit: range: string - description: Unit of measurement (e.g. 'dislike'). annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/DisplayLocation.yaml b/schemas/20251121/linkml/modules/classes/DisplayLocation.yaml index 443ef167a7..66f0c3d420 100644 --- a/schemas/20251121/linkml/modules/classes/DisplayLocation.yaml +++ b/schemas/20251121/linkml/modules/classes/DisplayLocation.yaml @@ -18,7 +18,6 @@ classes: slot_usage: has_or_had_label: range: string - description: Name or description of the display location. annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/DispositionService.yaml b/schemas/20251121/linkml/modules/classes/DispositionService.yaml index 54162ca70c..3bff232df9 100644 --- a/schemas/20251121/linkml/modules/classes/DispositionService.yaml +++ b/schemas/20251121/linkml/modules/classes/DispositionService.yaml @@ -24,9 +24,7 @@ classes: slot_usage: has_or_had_type: range: uriorcurie - description: Type of disposition service (e.g. Destruction, Transfer). has_or_had_label: - description: Name of the service. annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/DissolutionEvent.yaml b/schemas/20251121/linkml/modules/classes/DissolutionEvent.yaml index 733a41695a..de591d5190 100644 --- a/schemas/20251121/linkml/modules/classes/DissolutionEvent.yaml +++ b/schemas/20251121/linkml/modules/classes/DissolutionEvent.yaml @@ -21,7 +21,6 @@ classes: slot_usage: temporal_extent: range: TimeSpan - description: Date or period of dissolution. annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/DistrictArchiveGermanyRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/DistrictArchiveGermanyRecordSetType.yaml index eff6e95d15..611dbbdd72 100644 --- a/schemas/20251121/linkml/modules/classes/DistrictArchiveGermanyRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/DistrictArchiveGermanyRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/DistritalArchive.yaml b/schemas/20251121/linkml/modules/classes/DistritalArchive.yaml index 7cbb482357..9d6ee1295f 100644 --- a/schemas/20251121/linkml/modules/classes/DistritalArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/DistritalArchive.yaml @@ -44,7 +44,6 @@ classes: annotations: skos:prefLabel: Distrital Archive skos:altLabel: Arquivo Distrital, Bezirksarchiv (Portugal) - geographic_restriction: Portugal only admin_level: Distrito (district) specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/DistritalArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/DistritalArchiveRecordSetType.yaml index f1100079df..c5323ccce6 100644 --- a/schemas/20251121/linkml/modules/classes/DistritalArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/DistritalArchiveRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Division.yaml b/schemas/20251121/linkml/modules/classes/Division.yaml index 59cdca2193..b0eff866b9 100644 --- a/schemas/20251121/linkml/modules/classes/Division.yaml +++ b/schemas/20251121/linkml/modules/classes/Division.yaml @@ -31,7 +31,6 @@ classes: - has_or_had_identifier slot_usage: has_or_had_identifier: - description: Wikidata identifier for Division concept organizational_level: equals_string: major unit annotations: diff --git a/schemas/20251121/linkml/modules/classes/Documentation.yaml b/schemas/20251121/linkml/modules/classes/Documentation.yaml index 5b0011db37..bacb3cd8ab 100644 --- a/schemas/20251121/linkml/modules/classes/Documentation.yaml +++ b/schemas/20251121/linkml/modules/classes/Documentation.yaml @@ -56,32 +56,22 @@ classes: identifier: true examples: - value: https://data.rijksmuseum.nl/object-metadata/api/ - description: Rijksmuseum API documentation URL has_or_had_label: range: string examples: - value: API Reference Documentation - description: Label for API docs - value: Developer Integration Guide - description: Label for integration guide has_or_had_description: range: string examples: - value: Complete REST API reference with endpoint specifications, authentication, and response formats. - description: Description of API documentation content temporal_extent: - description: 'Documentation validity period using CIDOC-CRM TimeSpan. - - MIGRATED from valid_from + valid_to per slot_fixes.yaml (Rule 53). - - ' range: TimeSpan inlined: true required: false examples: - value: begin_of_the_begin: '2015-01-01' - description: Documentation available since 2015 comments: - Generic documentation class replacing domain-specific documentation slots - Supports multiple documentation types (API, user, developer, system) @@ -95,7 +85,6 @@ classes: has_or_had_identifier: https://data.rijksmuseum.nl/object-metadata/api/ has_or_had_label: Rijksmuseum Collection API has_or_had_description: REST API documentation for accessing collection metadata and images - description: Rijksmuseum API documentation annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/DocumentationCentre.yaml b/schemas/20251121/linkml/modules/classes/DocumentationCentre.yaml index d4b2df17fb..3bc1ea7da8 100644 --- a/schemas/20251121/linkml/modules/classes/DocumentationCentre.yaml +++ b/schemas/20251121/linkml/modules/classes/DocumentationCentre.yaml @@ -29,7 +29,6 @@ classes: - has_or_had_identifier slot_usage: has_or_had_identifier: - description: Wikidata identifier for Documentation Centre concept has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' annotations: diff --git a/schemas/20251121/linkml/modules/classes/Domain.yaml b/schemas/20251121/linkml/modules/classes/Domain.yaml index 06c4880738..2f8ae92804 100644 --- a/schemas/20251121/linkml/modules/classes/Domain.yaml +++ b/schemas/20251121/linkml/modules/classes/Domain.yaml @@ -11,26 +11,16 @@ imports: classes: Domain: class_uri: skos:Concept - description: 'A subject domain or knowledge area covered by a heritage custodian''s collections. - Domains represent broad thematic areas such as Art History, Archaeology, - Natural History, Local History, or specialized fields like Numismatics - or Maritime History. Used to categorize collection focus and expertise. - Maps to skos:Concept - a unit of thought in a knowledge organization system. - ' + description: 'A subject domain or knowledge area covered by a heritage custodian''s collections. Domains represent broad + thematic areas such as Art History, Archaeology, Natural History, Local History, or specialized fields like Numismatics + or Maritime History. Used to categorize collection focus and expertise. Maps to skos:Concept - a unit of thought in + a knowledge organization system. ' slots: - has_or_had_type slot_usage: has_or_had_type: range: uriorcurie - attributes: - domain_name: - description: Name of the subject domain (e.g., Art History, Archaeology) - range: string - required: true - domain_description: - description: Description of the subject domain scope and coverage - range: string annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/DonationScheme.yaml b/schemas/20251121/linkml/modules/classes/DonationScheme.yaml index 46e864fe23..36c6a3e68b 100644 --- a/schemas/20251121/linkml/modules/classes/DonationScheme.yaml +++ b/schemas/20251121/linkml/modules/classes/DonationScheme.yaml @@ -86,134 +86,86 @@ classes: pattern: ^https://nde\.nl/ontology/hc/donation-scheme/[a-z0-9-]+/[a-z0-9-]+$ examples: - value: https://nde.nl/ontology/hc/donation-scheme/rijksmuseum/vrienden - description: Rijksmuseum Friends membership scheme - value: https://nde.nl/ontology/hc/donation-scheme/british-library/adopt-a-book - description: British Library Adopt-a-Book program - value: https://nde.nl/ontology/hc/donation-scheme/nhm-london/patrons-silver - description: Natural History Museum Silver Patron tier scheme_type: required: true range: DonationSchemeTypeEnum examples: - value: MEMBERSHIP_FRIENDS - description: Standard friends/membership scheme - value: ADOPTION_BOOK - description: Adopt-a-book conservation program - value: PATRON_CIRCLE - description: High-value patron circle with tiered benefits - value: LEGACY_BEQUEST - description: Gift through will/estate scheme_name: required: true range: string examples: - value: Rijksmuseum Vrienden - description: Dutch museum friends scheme - value: Adopt a Book - description: Book sponsorship program - value: Director's Circle - description: High-level patron program - value: Amis du Louvre - description: French museum friends society scheme_description: range: string examples: - value: Become a Friend of the Rijksmuseum and enjoy unlimited free entry, exclusive member events, and a 10% discount in the museum shop. - description: Membership scheme description - value: Your adoption supports the conservation of fragile historic books. Choose a book to adopt and receive a certificate and bookplate. - description: Adoption scheme description minimum_amount: range: decimal examples: - value: 60 - description: "\u20AC60 annual membership" - value: 25 - description: "\xA325 minimum book adoption" - value: 1500 - description: "\xA31,500 patron circle entry" maximum_amount: range: decimal examples: - value: 4999 - description: "Silver tier up to \xA34,999" - value: 12000 - description: "Gold tier up to \xA312,000" currency: range: string examples: - value: EUR - description: Euro - value: GBP - description: British Pound - value: USD - description: US Dollar payment_frequency: range: string examples: - value: one-time - description: Single donation - value: monthly - description: Monthly recurring - value: annually - description: Annual membership/renewal - value: life - description: One-time payment for lifetime benefits has_or_had_benefit: range: string multivalued: true examples: - value: Free unlimited admission - description: Entry benefit - value: 10% discount in museum shop - description: Retail benefit - value: Member-only preview events - description: Event benefit - value: Quarterly newsletter - description: Communication benefit - value: Bookplate with donor name - description: Recognition benefit offered_by: required: true range: uriorcurie examples: - value: https://nde.nl/ontology/hc/custodian/nl/rijksmuseum - description: Rijksmuseum - value: https://nde.nl/ontology/hc/custodian/uk/british-library - description: British Library scheme_url: range: uri examples: - value: https://www.rijksmuseum.nl/nl/steun-het-rijksmuseum/word-vriend - description: Rijksmuseum Vrienden page - value: https://support.bl.uk/Page/Adopt-a-book - description: British Library adoption page is_or_was_tax_deductible: range: TaxDeductibility inlined: true - description: 'Structured tax deductibility status for donations to this scheme. - - Provides status classification, jurisdiction, and conditions. - - ' examples: - value: - status: FULLY_DEDUCTIBLE jurisdiction: NL deductible_percentage: 100 - description: Donations are fully tax-deductible in Netherlands - value: - status: NOT_DEDUCTIBLE conditions: Membership benefits exceed donation value - description: Not tax-deductible (e.g., membership with significant benefits) regulated_by_scheme: range: TaxScheme multivalued: true inlined_as_list: true - description: 'Tax scheme(s) applicable to donations to this institution. - - Multiple schemes may apply (e.g., ANBI + Cultural ANBI in NL). - - ' examples: - value: has_or_had_type: ANBI @@ -221,46 +173,35 @@ classes: jurisdiction: NL offers_or_offered: - has_or_had_percentage: - percentage_value: 100 - description: Dutch general public benefit institution - value: has_or_had_type: CulturalANBI has_or_had_label: Cultural ANBI (125%) jurisdiction: NL offers_or_offered: - has_or_had_percentage: - percentage_value: 125 - description: Dutch cultural institution with extra deduction - value: has_or_had_type: GiftAid has_or_had_label: Gift Aid jurisdiction: UK offers_or_offered: - has_or_had_percentage: - percentage_value: 100 - description: UK Gift Aid scheme - value: has_or_had_type: Section501c3 has_or_had_label: 501(c)(3) jurisdiction: US offers_or_offered: - has_or_had_percentage: - percentage_value: 100 - description: US tax-exempt charitable organization - value: has_or_had_type: Gemeinnuetzigkeit has_or_had_label: "Gemeinn\xFCtzigkeit" jurisdiction: DE offers_or_offered: - has_or_had_percentage: - percentage_value: 100 - description: German charitable status observed_in: required: true range: uriorcurie examples: - value: https://nde.nl/ontology/hc/observation/web/2026-01-01/rijksmuseum-support - description: Observation of Rijksmuseum support page comments: - Each scheme links to WebObservation for full provenance chain - Tax deductibility varies by jurisdiction - always document regulated_by_scheme @@ -290,7 +231,6 @@ classes: offered_by: https://nde.nl/ontology/hc/custodian/nl/rijksmuseum scheme_url: https://www.rijksmuseum.nl/nl/steun-het-rijksmuseum/word-vriend is_or_was_tax_deductible: - status: FULLY_DEDUCTIBLE jurisdiction: NL deductible_percentage: 100 regulated_by_scheme: @@ -299,13 +239,11 @@ classes: jurisdiction: NL offers_or_offered: - has_or_had_percentage: - percentage_value: 125 regulatory_body: Belastingdienst observed_in: https://nde.nl/ontology/hc/observation/web/2026-01-01/rijksmuseum-support has_or_had_score: has_or_had_score: 0.95 has_or_had_note: Clear scheme page with pricing and benefits listed. - description: Rijksmuseum Friends membership scheme (Netherlands) - value: scheme_id: https://nde.nl/ontology/hc/donation-scheme/british-library/adopt-a-book scheme_type: ADOPTION_BOOK @@ -322,7 +260,6 @@ classes: offered_by: https://nde.nl/ontology/hc/custodian/uk/british-library scheme_url: https://support.bl.uk/Page/Adopt-a-book is_or_was_tax_deductible: - status: FULLY_DEDUCTIBLE jurisdiction: UK deductible_percentage: 100 regulated_by_scheme: @@ -331,13 +268,11 @@ classes: jurisdiction: UK offers_or_offered: - has_or_had_percentage: - percentage_value: 100 regulatory_body: HMRC observed_in: https://nde.nl/ontology/hc/observation/web/2026-01-01/bl-support has_or_had_score: has_or_had_score: 0.98 has_or_had_note: Well-documented scheme with clear tiers and benefits. - description: British Library Adopt-a-Book program (UK) - value: scheme_id: https://nde.nl/ontology/hc/donation-scheme/nhm-london/patrons-silver scheme_type: PATRON_CIRCLE @@ -356,7 +291,6 @@ classes: offered_by: https://nde.nl/ontology/hc/custodian/uk/nhm-london scheme_url: https://www.nhm.ac.uk/support-us/patrons is_or_was_tax_deductible: - status: FULLY_DEDUCTIBLE jurisdiction: UK deductible_percentage: 100 regulated_by_scheme: @@ -365,13 +299,11 @@ classes: jurisdiction: UK offers_or_offered: - has_or_had_percentage: - percentage_value: 100 regulatory_body: HMRC observed_in: https://nde.nl/ontology/hc/observation/web/2026-01-01/nhm-patrons has_or_had_score: has_or_had_score: 0.92 has_or_had_note: Three-tier patron program. Silver is entry level. - description: Natural History Museum Silver Patron tier (UK) - value: scheme_id: https://nde.nl/ontology/hc/donation-scheme/iish/adopt-history scheme_type: ADOPTION_ARCHIVE_COLLECTION @@ -388,7 +320,6 @@ classes: offered_by: https://nde.nl/ontology/hc/custodian/nl/iish scheme_url: https://iisg.amsterdam/en/support/adopt-history is_or_was_tax_deductible: - status: FULLY_DEDUCTIBLE jurisdiction: NL deductible_percentage: 100 regulated_by_scheme: @@ -397,13 +328,11 @@ classes: jurisdiction: NL offers_or_offered: - has_or_had_percentage: - percentage_value: 100 regulatory_body: Belastingdienst observed_in: https://nde.nl/ontology/hc/observation/web/2026-01-01/iish-support has_or_had_score: has_or_had_score: 0.9 has_or_had_note: Archive document adoption with flexible donation levels. - description: IISH Adopt History program for archival documents (Netherlands) - value: scheme_id: https://nde.nl/ontology/hc/donation-scheme/kb-nl/legacy scheme_type: LEGACY_BEQUEST @@ -419,7 +348,6 @@ classes: offered_by: https://nde.nl/ontology/hc/custodian/nl/kb scheme_url: https://www.kb.nl/over-ons/steun-de-kb/nalatenschap is_or_was_tax_deductible: - status: FULLY_DEDUCTIBLE jurisdiction: NL deductible_percentage: 100 regulated_by_scheme: @@ -429,15 +357,12 @@ classes: jurisdiction: NL offers_or_offered: - has_or_had_percentage: - percentage_value: 100 regulatory_body: Belastingdienst has_or_had_contact_point: - email: ontwikkeling@kb.nl observed_in: https://nde.nl/ontology/hc/observation/web/2026-01-01/kb-support has_or_had_score: has_or_had_score: 0.85 has_or_had_note: Legacy giving page with limited detail. Estate tax benefits apply. - description: Koninklijke Bibliotheek legacy giving (Netherlands) annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Drawer.yaml b/schemas/20251121/linkml/modules/classes/Drawer.yaml index a3a270c503..280b1ff4ef 100644 --- a/schemas/20251121/linkml/modules/classes/Drawer.yaml +++ b/schemas/20251121/linkml/modules/classes/Drawer.yaml @@ -20,7 +20,6 @@ classes: slot_usage: has_or_had_identifier: range: DrawerNumber - description: Number or identifier of the drawer. annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/DrawerNumber.yaml b/schemas/20251121/linkml/modules/classes/DrawerNumber.yaml index 717751280f..36f9300260 100644 --- a/schemas/20251121/linkml/modules/classes/DrawerNumber.yaml +++ b/schemas/20251121/linkml/modules/classes/DrawerNumber.yaml @@ -13,10 +13,6 @@ classes: is_a: Identifier description: Number identifying a drawer. slot_usage: - identifier_scheme: - equals_string: DRAWER_NUMBER - identifier_value: - description: The drawer number string. annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/DualClassLink.yaml b/schemas/20251121/linkml/modules/classes/DualClassLink.yaml index a63ae9bbad..700b080770 100644 --- a/schemas/20251121/linkml/modules/classes/DualClassLink.yaml +++ b/schemas/20251121/linkml/modules/classes/DualClassLink.yaml @@ -10,4 +10,3 @@ classes: annotations: custodian_types: '["*"]' slots: - - description diff --git a/schemas/20251121/linkml/modules/classes/EADIdentifier.yaml b/schemas/20251121/linkml/modules/classes/EADIdentifier.yaml index b3f625c144..9bd688c829 100644 --- a/schemas/20251121/linkml/modules/classes/EADIdentifier.yaml +++ b/schemas/20251121/linkml/modules/classes/EADIdentifier.yaml @@ -23,10 +23,7 @@ classes: **Migrated From** (per slot_fixes.yaml): - `ead_id` (string) → has_or_had_identifier + EADIdentifier slot_usage: - identifier_scheme: - equals_string: "EAD" has_or_had_type: - description: Type of EAD identifier (e.g., FINDING_AID_ID, COMPONENT_ID) examples: - value: has_or_had_code: EAD_ID @@ -37,7 +34,4 @@ classes: specificity_score: 0.80 specificity_rationale: Specific to archival description standards examples: - - value: - identifier_value: "NL-HaNA_2.21.006.50" - identifier_scheme: "EAD" - description: "National Archives EAD identifier" + - value: \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/EBook.yaml b/schemas/20251121/linkml/modules/classes/EBook.yaml index 5aeccd1137..207315a7fa 100644 --- a/schemas/20251121/linkml/modules/classes/EBook.yaml +++ b/schemas/20251121/linkml/modules/classes/EBook.yaml @@ -38,10 +38,6 @@ classes: has_or_had_url: range: uri required: true - description: >- - The URL where the eBook is available (download, purchase, or view). - Uses structured URL class. - annotations: custodian_types: '["*"]' specificity_score: 0.3 diff --git a/schemas/20251121/linkml/modules/classes/ETag.yaml b/schemas/20251121/linkml/modules/classes/ETag.yaml index fc59c159df..5ed01d4fa2 100644 --- a/schemas/20251121/linkml/modules/classes/ETag.yaml +++ b/schemas/20251121/linkml/modules/classes/ETag.yaml @@ -28,7 +28,6 @@ classes: has_or_had_label: range: string required: true - description: The ETag value string (e.g., "33a64df551425fcc55e4d42a148795d9f25f89d4") annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/EconomicArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/EconomicArchiveRecordSetType.yaml index 7f778a1c52..1a4e54179f 100644 --- a/schemas/20251121/linkml/modules/classes/EconomicArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/EconomicArchiveRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Edition.yaml b/schemas/20251121/linkml/modules/classes/Edition.yaml index a4a6bb81d1..d6233b16b2 100644 --- a/schemas/20251121/linkml/modules/classes/Edition.yaml +++ b/schemas/20251121/linkml/modules/classes/Edition.yaml @@ -36,11 +36,8 @@ classes: - has_or_had_note slot_usage: has_or_had_identifier: - description: Edition number or identifier (e.g., "1", "25", "IX"). has_or_had_label: - description: Edition name or label (e.g., "Silver Jubilee Edition"). has_or_had_note: - description: Edition statement or descriptive note. annotations: custodian_types: '["*"]' specificity_score: 0.4 diff --git a/schemas/20251121/linkml/modules/classes/Editor.yaml b/schemas/20251121/linkml/modules/classes/Editor.yaml index 034b0e255b..63f0880f1d 100644 --- a/schemas/20251121/linkml/modules/classes/Editor.yaml +++ b/schemas/20251121/linkml/modules/classes/Editor.yaml @@ -25,12 +25,9 @@ classes: - has_or_had_label - has_or_had_identifier - has_or_had_role - - has_or_had_affiliation slot_usage: has_or_had_label: - description: Name of the editor. has_or_had_role: - description: Specific editorial role (e.g., "Editor-in-Chief", "Guest Editor"). annotations: custodian_types: '["*"]' specificity_score: 0.5 diff --git a/schemas/20251121/linkml/modules/classes/Education.yaml b/schemas/20251121/linkml/modules/classes/Education.yaml index 2c800526ed..2fd27c420d 100644 --- a/schemas/20251121/linkml/modules/classes/Education.yaml +++ b/schemas/20251121/linkml/modules/classes/Education.yaml @@ -36,10 +36,7 @@ classes: slot_usage: has_or_had_label: - description: Name of the degree, certificate, or institution. temporal_extent: - description: Time period of the education (start/end years). - annotations: custodian_types: '["*"]' specificity_score: 0.6 diff --git a/schemas/20251121/linkml/modules/classes/EducationCenter.yaml b/schemas/20251121/linkml/modules/classes/EducationCenter.yaml index 2ae02da0fd..9aa73c9343 100644 --- a/schemas/20251121/linkml/modules/classes/EducationCenter.yaml +++ b/schemas/20251121/linkml/modules/classes/EducationCenter.yaml @@ -74,7 +74,6 @@ classes: - schema:Course slots: - has_or_had_accessibility_feature - - has_or_had_participant - is_or_was_required - has_or_had_facility - has_or_had_identifier @@ -85,7 +84,6 @@ classes: - has_or_had_equipment - provides_or_provided - max_group_size - - has_or_had_program - specificity_annotation - serves_or_served - has_or_had_score @@ -97,50 +95,33 @@ classes: range: uriorcurie required: true identifier: true - description: Unique identifier for the education center. examples: - value: https://nde.nl/ontology/hc/aux/rijksmuseum-education - description: Rijksmuseum education center has_or_had_label: range: string inlined: true required: true - description: The name of the education center. examples: - value: 'label_text: Rijksmuseum Educatie Centrum ' - description: Museum education center - value: 'label_text: Nationaal Archief Leercentrum ' - description: Archive learning center - value: 'label_text: KB Workshops & Trainingen ' - description: Library education facility has_or_had_description: range: string inlined: true - description: A description of the education center. examples: - value: 'description_text: Dedicated education facility offering school programs, family workshops, and teacher training. Features 4 classroom spaces and hands-on workshop areas. ' - description: Museum education center has_or_had_type: - description: 'Classification of the education center. - MIGRATED from education_center_type per slot_fixes.yaml (Rule 53). - Uses EducationFacilityType class. - ' range: EducationFacilityType inlined: true equals_expression: '["hc:EducationProviderType"]' examples: - value: has_or_had_label: EDUCATION_CENTER - description: Dedicated education center has_or_had_equipment: - description: 'AV equipment available in the education center. - MIGRATED from has_av_equipment per Rule 53. - Uses AVEquipment class. - ' range: AVEquipment required: false multivalued: true @@ -149,91 +130,50 @@ classes: - value: has_or_had_name: 4K Projector has_or_had_type: Projector - description: AV equipment available provides_or_provided: range: string - description: 'Whether the center provides hands-on facilities. - MIGRATED from has_hands_on_facility per Rule 53 (2026-01-28). - ' examples: - value: has_or_had_description: Hands-on learning lab - description: Has hands-on facilities serves_or_served: range: UserCommunity inlined: true multivalued: true - description: 'Target audiences served by this education center. - MIGRATED 2026-01-15: Uses UserCommunity class to capture audience information. - ' examples: - value: 'community_name: "Primary schools" ' - description: Elementary age students - value: 'community_name: "Families" ' - description: Family groups - value: 'community_name: "Adult learners" ' - description: Adults - has_or_had_program: - range: Program - multivalued: true - inlined: true - description: 'Programs offered by this education center. - MIGRATED from programs_offered per Rule 53. - ' - examples: - value: - program_name: School guided tours - program_description: School programs - description: School programs - value: - program_name: Family workshops - program_description: Family programming - description: Family programming has_or_had_facility: range: string inlined: true multivalued: true - description: 'Classroom facilities at this education center. - MIGRATED 2026-01-19: Replaces classroom_count slot per Rule 53. - Uses Classroom class (subclass of Facility) with has_or_had_quantity - and has_or_had_unit for structured room counting. - ' examples: - value: "facility_name: \"Main Classroom Wing\"\nhas_or_had_quantity:\n numeric_value: 4\nhas_or_had_unit:\n unit_type: CLASSROOM\nseating_capacity: 120\nav_equipped: true\n" - description: 4 classroom facility has_or_had_quantity: range: integer inlined: true - description: 'Quantity-based measurements (e.g., staff_count, workshop_space count). - MIGRATED 2026-01-28: Consolidated staff_count and workshop_space slots. - ' examples: - value: numeric_value: 2 has_or_had_unit: unit_text: workshop_spaces - description: 2 workshop spaces - value: numeric_value: 8 has_or_had_unit: unit_text: staff_members - description: Education team size (was staff_count) max_group_size: range: integer examples: - value: 30 - description: Max 30 students is_or_was_required: range: boolean - description: 'Whether advance booking is required for education programs. - MIGRATED 2026-01-15: Replaces booking_required slot. - ' examples: - value: true - description: Booking required for programs is_or_was_derived_from: range: CustodianObservation multivalued: true @@ -267,7 +207,6 @@ classes: - community_name: Secondary schools - community_name: Families - community_name: Teachers - has_or_had_program: - program_name: School guided tours - program_name: Interactive workshops - program_name: Family treasure hunts @@ -277,10 +216,7 @@ classes: has_or_had_quantity: numeric_value: 4 has_or_had_unit: - unit_type: CLASSROOM seating_capacity: 120 - av_equipped: true - flexible_seating: true has_or_had_quantity: - numeric_value: 2 has_or_had_unit: @@ -297,12 +233,10 @@ classes: has_or_had_accessibility_feature: - Wheelchair accessible - Hearing loop - has_or_had_participant: - has_or_had_quantity: 75000 has_or_had_time_interval: has_or_had_label: Annual is_or_was_required: true - description: Major museum education center - value: has_or_had_identifier: https://nde.nl/ontology/hc/aux/na-leercentrum has_or_had_label: @@ -315,7 +249,6 @@ classes: - community_name: Adult learners - community_name: Genealogists - community_name: History teachers - has_or_had_program: - program_name: Introduction to archival research - program_name: Genealogy workshops - program_name: Paleography basics @@ -325,15 +258,12 @@ classes: has_or_had_quantity: numeric_value: 2 has_or_had_unit: - unit_type: CLASSROOM seating_capacity: 40 - av_equipped: true max_group_size: 20 has_or_had_equipment: - has_or_had_name: Projector has_or_had_type: Projector is_or_was_required: true - description: Archive learning center annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/EmailAddress.yaml b/schemas/20251121/linkml/modules/classes/EmailAddress.yaml index 005d931094..08ba9739b7 100644 --- a/schemas/20251121/linkml/modules/classes/EmailAddress.yaml +++ b/schemas/20251121/linkml/modules/classes/EmailAddress.yaml @@ -28,7 +28,6 @@ classes: slot_usage: has_or_had_label: - description: The email address string (e.g., info@example.com). pattern: "^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$" annotations: diff --git a/schemas/20251121/linkml/modules/classes/Embargo.yaml b/schemas/20251121/linkml/modules/classes/Embargo.yaml index 3086856f62..a3bb5fcb13 100644 --- a/schemas/20251121/linkml/modules/classes/Embargo.yaml +++ b/schemas/20251121/linkml/modules/classes/Embargo.yaml @@ -31,10 +31,7 @@ classes: slot_usage: temporal_extent: - description: The period during which the embargo is active. has_or_had_description: - description: Reason for the embargo (e.g. "Donor privacy"). - annotations: custodian_types: '["A", "R"]' specificity_score: 0.6 diff --git a/schemas/20251121/linkml/modules/classes/Employer.yaml b/schemas/20251121/linkml/modules/classes/Employer.yaml index 6a198f84ec..aedf0d9353 100644 --- a/schemas/20251121/linkml/modules/classes/Employer.yaml +++ b/schemas/20251121/linkml/modules/classes/Employer.yaml @@ -36,14 +36,10 @@ classes: slot_usage: has_or_had_label: - description: Name of the employer organization. has_or_had_url: range: uri - description: Website or profile URL (e.g. LinkedIn company page) of the employer. is_or_was_related_to: range: Heritage - description: Indicates if the employer is related to the Heritage domain (replaces heritage_employer boolean). - annotations: custodian_types: '["*"]' specificity_score: 0.5 diff --git a/schemas/20251121/linkml/modules/classes/EncompassingBody.yaml b/schemas/20251121/linkml/modules/classes/EncompassingBody.yaml index 3e5007e229..86c0201fee 100644 --- a/schemas/20251121/linkml/modules/classes/EncompassingBody.yaml +++ b/schemas/20251121/linkml/modules/classes/EncompassingBody.yaml @@ -63,56 +63,35 @@ classes: \ departments)\n- **EncompassingBody**: External parent/umbrella organizations that govern or coordinate\n multiple custodians\n\n**Key Distinction from OrganizationalStructure**:\n- **OrganizationalStructure** (on Custodian): Internal operational units\n (departments, teams, divisions)\n- **EncompassingBody**: External organizations that custodian is part of or member of\n\n**Ontological Alignment**:\n- W3C ORG: `org:Organization` (parent class for all organizational entities)\n- TOOI: `tooi:Samenwerkingsorganisatie` (Dutch collaborative organizations)\n- Schema.org: `schema:Organization`, `schema:Consortium`, `schema:FundingAgency`\n- CPOV: `cpov:PublicOrganisation` (for public sector umbrella bodies)\n- FOAF: `foaf:Organization`\n\n**Relationship Properties**:\nUses `org:subOrganizationOf` from Custodian \u2192 EncompassingBody to express:\n- \"National Archives is sub-organization of Ministry OCW\" (UmbrellaOrganisation)\n- \"Museum is member of Digital Heritage Network\" (NetworkOrganisation)\n\ - \"Library participates in Cataloging Consortium\" (Consortium)\n- \"Museum received grant from Mondriaan Fund\" (FundingOrganisation - via schema:funder)\n" slots: - - has_or_had_area_served - has_or_had_policy - has_or_had_description - is_or_was_dissolved_by - has_or_had_identifier - is_or_was_founded_through - has_or_had_authority - - id - legal_jurisdiction - - has_or_had_member_custodian - membership_criteria - organization_legal_form - organization_name - organization_type - - has_or_had_project - service_offering - specificity_annotation - has_or_had_score - has_or_had_url slot_usage: - id: - identifier: true - required: true - range: uriorcurie - pattern: ^https://nde\.nl/ontology/hc/encompassing-body/[a-z-]+/[a-z0-9-]+$ - examples: - - value: https://nde.nl/ontology/hc/encompassing-body/umbrella/nl-ministry-ocw - description: URI for Ministry OCW as umbrella organization - value: https://nde.nl/ontology/hc/encompassing-body/network/digital-heritage-nl - description: URI for Digital Heritage Network organization_name: required: true range: string examples: - value: Ministerie van Onderwijs, Cultuur en Wetenschap - description: Dutch Ministry of Education, Culture and Science - value: Digital Heritage Network - description: Service network for digital preservation organization_type: required: true range: EncompassingBodyTypeEnum examples: - value: UMBRELLA - description: Legal parent organization - value: NETWORK - description: Service provider network - description: - range: string - examples: - - value: The Ministry of OCW oversees national cultural heritage institutions including the National Archives, Rijksmuseum, and National Library. organization_legal_form: range: string examples: @@ -120,9 +99,6 @@ classes: - value: Non-profit foundation - value: Professional association is_or_was_founded_through: - description: 'The founding event for this encompassing body. - Migrated from founding_date per slot_fixes.yaml revision. - ' range: FoundingEvent inlined: true examples: @@ -130,34 +106,21 @@ classes: temporal_extent: begin_of_the_begin: '1965-07-01' end_of_the_end: '1965-07-01' - founding_description: Ministry established July 1965 - description: Ministry founding event (exact date) is_or_was_dissolved_by: range: DissolutionEvent inlined: true - description: Dissolution event for the body. MIGRATED from dissolution_date (2026-01-26). examples: - value: temporal_extent: begin_of_the_begin: '2020-12-31' end_of_the_end: '2020-12-31' - description: Consortium dissolved end of 2020 - has_or_had_member_custodian: - range: uriorcurie - multivalued: true - inlined_as_list: true - examples: - - value: https://nde.nl/ontology/hc/nl/nationaal-archief - description: URI reference to National Archives has_or_had_authority: range: GovernanceAuthority examples: - value: has_or_had_description: Ministry exercises budgetary oversight and appoints institutional directors. - description: Umbrella authority example - value: has_or_had_description: Network coordinates digital preservation services but members retain autonomy. - description: Network authority example service_offering: range: string multivalued: true @@ -170,58 +133,28 @@ classes: range: string examples: - value: Dutch government heritage institutions established by law - description: Umbrella criteria (non-voluntary) - value: Museums with digitization programs seeking preservation services - description: Network criteria (voluntary) has_or_had_identifier: range: uriorcurie multivalued: true inlined_as_list: true examples: - value: http://www.wikidata.org/entity/Q2294910 - description: Wikidata URI for Dutch Ministry OCW has_or_had_url: range: uri inlined: true multivalued: false - description: 'Official website of the encompassing body. - MIGRATED from website slot per slot_fixes.yaml (Rule 53, 2025-01-15). - ' examples: - value: url_value: https://www.rijksoverheid.nl/ministeries/ministerie-van-onderwijs-cultuur-en-wetenschap url_type: website - description: Ministry OCW website - has_or_had_project: - range: Project - multivalued: true - inlined_as_list: true - examples: - - value: - - project_id: https://nde.nl/ontology/hc/project/nde/versnellen-2024 - project_name: Versnellen 2024 - project_status: IN_PROGRESS - - project_id: https://nde.nl/ontology/hc/project/nde/versnellen-2023 - project_name: Versnellen 2023 - project_status: COMPLETED - description: NDE's acceleration programs - has_or_had_area_served: - range: ServiceArea - multivalued: true - inlined: true - description: 'Geographic area(s) served by the encompassing body. - MIGRATED from has_or_had_area_served string per Rule 53. - Uses ServiceArea class. - ' examples: - value: has_or_had_label: NL has_or_had_description: Netherlands national coverage - description: National coverage - value: has_or_had_label: EU has_or_had_description: European Union coverage - description: EU coverage legal_jurisdiction: range: Jurisdiction exact_mappings: diff --git a/schemas/20251121/linkml/modules/classes/EncompassingBodyTypes.yaml b/schemas/20251121/linkml/modules/classes/EncompassingBodyTypes.yaml index 07c99f3dcf..2093692626 100644 --- a/schemas/20251121/linkml/modules/classes/EncompassingBodyTypes.yaml +++ b/schemas/20251121/linkml/modules/classes/EncompassingBodyTypes.yaml @@ -117,7 +117,6 @@ classes: country: alpha_2: NL alpha_3: NLD - description: Netherlands national jurisdiction - value: jurisdiction_id: DE-BY jurisdiction_type: SUBNATIONAL @@ -126,7 +125,6 @@ classes: alpha_3: DEU subregion: iso_3166_2_code: DE-BY - description: Bavaria subnational jurisdiction exact_mappings: - org:FormalOrganization close_mappings: @@ -155,14 +153,11 @@ classes: country: alpha_2: NL alpha_3: NLD - description: Netherlands national jurisdiction - has_or_had_member_custodian: - has_or_had_identifier: https://nde.nl/ontology/hc/nl-na preferred_label: Nationaal Archief - has_or_had_identifier: https://nde.nl/ontology/hc/nl-nh-ams-m-rm preferred_label: Rijksmuseum has_or_had_url: https://www.rijksoverheid.nl/ministeries/ocw - description: Dutch Ministry OCW as umbrella organization for national heritage slots: - specificity_annotation - has_or_had_score @@ -236,11 +231,6 @@ classes: organization_name: Digital Heritage Network Netherlands organization_type: NETWORK begin_of_the_begin: '2015-03-01' - description: 'Collaborative network providing digital preservation infrastructure - and services to Dutch heritage institutions. Members access shared - storage, metadata standards, and technical expertise. - ' - has_or_had_area_served: - has_or_had_label: NL has_or_had_description: Netherlands national coverage service_offering: @@ -250,13 +240,11 @@ classes: - Preservation format migration services membership_criteria: Dutch museums, archives, and libraries with digital collections. Annual membership fee based on storage usage. - has_or_had_member_custodian: - has_or_had_identifier: https://nde.nl/ontology/hc/nl-nh-ams-m-am preferred_label: Amsterdam Museum - has_or_had_identifier: https://nde.nl/ontology/hc/nl-ut-utr-l-ub preferred_label: Utrecht University Library has_or_had_url: https://digitalheritage.nl - description: Service network for digital preservation slots: - specificity_annotation - has_or_had_score @@ -329,10 +317,6 @@ classes: organization_name: Dutch University Libraries Consortium organization_type: CONSORTIUM begin_of_the_begin: '2010-09-01' - description: 'Collaborative consortium of Dutch university libraries for shared - cataloging, bulk licensing, and interlibrary loan. Members contribute - equally and benefit from collective resources. - ' service_offering: - Shared union catalog contributions - Collective database subscription negotiations @@ -341,13 +325,11 @@ classes: membership_criteria: Dutch university libraries accredited by VSNU (Association of Universities in the Netherlands). Members must contribute cataloging records and participate in interlibrary loan network. - has_or_had_member_custodian: - has_or_had_identifier: https://nde.nl/ontology/hc/nl-zh-lei-l-ub preferred_label: Leiden University Library - has_or_had_identifier: https://nde.nl/ontology/hc/nl-nh-ams-l-uba preferred_label: Amsterdam University Library has_or_had_url: https://universiteitsbibliotheken.nl - description: University library consortium for mutual assistance slots: - specificity_annotation - has_or_had_score @@ -425,11 +407,6 @@ classes: organization_type: COOPERATIVE organization_legal_form: Non-profit library cooperative begin_of_the_begin: '1967-07-05' - description: 'OCLC is a global library cooperative providing shared technology - services, research, and programs that help libraries meet the changing - needs of their users, institutions, and communities. Member libraries - cooperatively maintain WorldCat, the world''s largest shared catalog. - ' service_offering: - WorldCat (shared cataloging database) - VIAF (Virtual International Authority File) @@ -447,9 +424,6 @@ classes: Americas, EMEA, and Asia Pacific. Annual Members Council meeting. has_or_had_policy: policy_name: OCLC Data Usage Policy - openness_stance: MIXED_POLICY - default_license: proprietary-worldcat - service_specific_licenses: - service_name: VIAF license: odc-by-1.0 - service_name: WorldCat Identities @@ -457,7 +431,6 @@ classes: has_or_had_identifier: - https://viaf.org/viaf/125315828 has_or_had_url: https://www.oclc.org/ - description: OCLC as member-owned library cooperative with mixed data policy slots: - specificity_annotation - has_or_had_score @@ -506,8 +479,6 @@ classes: range: EncompassingBodyTypeEnum required: true ifabsent: string(SOCIAL_MOVEMENT) - description: - required: true service_offering: examples: - value: Wikidata (open knowledge base, CC0) @@ -543,14 +514,6 @@ classes: organization_legal_form: 501(c)(3) non-profit foundation supporting broader movement begin_of_the_begin: '2003-06-20' - description: 'The Wikimedia movement is a global community of volunteers and - organizations dedicated to free knowledge. The movement operates - Wikipedia, Wikidata, Wikimedia Commons, and other free knowledge - projects. The Wikimedia Foundation provides infrastructure and - legal support but does not own or control the content created by - the volunteer community. The movement''s core value is that knowledge - should be freely accessible to everyone. - ' service_offering: - Wikipedia (free encyclopedia, 60M+ articles, 300+ languages) - Wikidata (open knowledge base, 100M+ items, CC0) @@ -571,32 +534,14 @@ classes: bodies (Movement Charter in development). has_or_had_policy: policy_name: Wikimedia Foundation Open Content Policy - openness_stance: STRONG_OPEN_ADVOCATE - default_license: cc0-1.0 - service_specific_licenses: - service_name: Wikidata license: cc0-1.0 - license_notes: All structured data is public domain - service_name: Wikipedia license: cc-by-sa-4.0 - license_notes: Text content is copyleft - derivatives must share alike - service_name: Wikimedia Commons - license_notes: Varies by upload - must be free license (CC-BY, CC-BY-SA, - CC0, or public domain) - open_data_principles: - - Free knowledge for everyone - - Open participation - - Neutral point of view - advocacy_activities: - - Open Access advocacy - - GLAM-Wiki partnerships - - Open data advocacy in policy forums - - Training librarians and cultural heritage professionals has_or_had_identifier: - https://viaf.org/viaf/305375908 has_or_had_url: https://www.wikimedia.org/ - description: Wikimedia as social movement for free knowledge with fully open - data policy slots: - specificity_annotation - has_or_had_score @@ -655,7 +600,6 @@ classes: - has_or_had_focus - provides_or_provided - receives_or_received - - implements_agenda - issued_call - has_or_had_time_interval - specificity_annotation @@ -666,66 +610,38 @@ classes: range: EncompassingBodyTypeEnum required: true ifabsent: string(FUNDING_BODY) - description: - required: true - implements_agenda: - range: uriorcurie - multivalued: true - inlined_as_list: true - examples: - - value: https://nde.nl/ontology/hc/agenda/nl/nwa - description: NWO implements Dutch Research Agenda issued_call: range: uriorcurie multivalued: true inlined_as_list: true examples: - value: https://nde.nl/ontology/hc/call/nwo/nwa-heritage-2025 - description: NWO NWA heritage call 2025 has_or_had_focus: - description: 'Primary focus areas for funding. - MIGRATED from funding_focus per Rule 53. - Uses FundingFocus class. - ' range: FundingFocus multivalued: true inlined: true examples: - value: has_or_had_label: Visual arts and cultural heritage - description: Broad cultural focus - value: has_or_had_label: Digital infrastructure - description: Technical focus provides_or_provided: - description: 'Funding schemes or programs provided by this organization. - MIGRATED from funding_scheme per Rule 53. - Uses FundingScheme class. - ' range: FundingScheme multivalued: true inlined: true examples: - value: has_or_had_label: Project Grants for Museums - description: Museum grant scheme - value: has_or_had_label: Starting Grant - description: ERC Starting Grant receives_or_received: - description: 'Sources of funding for this organization. - MIGRATED from funding_source per Rule 53. - Uses FundingSource class. - ' range: FundingSource inlined: true examples: - value: has_or_had_label: Dutch Ministry of OCW annual budget - description: Ministry funding - value: has_or_had_label: National Lottery proceeds - description: Lottery funding has_or_had_time_interval: range: TimeSpan examples: @@ -734,26 +650,17 @@ classes: end_of_the_begin: '2021-01-01T00:00:00Z' begin_of_the_end: '2027-12-31T23:59:59Z' end_of_the_end: '2027-12-31T23:59:59Z' - description: 2021-2027 EU programming period service_offering: examples: - value: Application guidance and coaching - value: Networking events for grantees - value: Outcome evaluation support - has_or_had_area_served: - examples: - - value: - has_or_had_label: NL - has_or_had_description: Netherlands only (Mondriaan Fund) - description: National funding - value: has_or_had_label: EU has_or_had_description: EU member states (Creative Europe) - description: EU funding - value: has_or_had_label: GLOBAL has_or_had_description: Worldwide eligibility - description: Global funding exact_mappings: - schema:FundingAgency close_mappings: @@ -771,13 +678,6 @@ classes: organization_type: FUNDING_BODY organization_legal_form: Public fund (publiekrechtelijk fonds) begin_of_the_begin: '1994-01-01' - description: 'The Mondriaan Fund is the Dutch public fund for visual arts - and - cultural heritage. It provides grants to artists, museums, archives, - and heritage organizations for exhibitions, acquisitions, conservation, - international exchange, and other cultural heritage activities. - The fund is named after Dutch painter Piet Mondrian. - ' has_or_had_focus: - Visual arts - Cultural heritage @@ -798,7 +698,6 @@ classes: has_or_had_label: Euro currency_symbol: "\u20AC" has_or_had_source: Dutch Ministry of OCW annual appropriation - has_or_had_area_served: - has_or_had_label: NL has_or_had_description: Netherlands national coverage service_offering: @@ -810,20 +709,12 @@ classes: projects may have broader eligibility.' has_or_had_identifier: null has_or_had_url: https://www.mondriaanfonds.nl/ - description: Mondriaan Fund as Dutch heritage funding organization - value: id: https://nde.nl/ontology/hc/encompassing-body/funding/erc organization_name: European Research Council organization_type: FUNDING_BODY organization_legal_form: EU executive agency begin_of_the_begin: '2007-02-27' - description: 'The European Research Council (ERC) is the premier European - funding - organisation for excellent frontier research. It funds researchers of any - nationality and has_or_had_age who wish to carry out their research in EU - Member States or Associated Countries. ERC grants are awarded - through open competition to researchers in any field of research. - ' has_or_had_focus: - has_or_had_label: Frontier Research - has_or_had_label: All domains (including SH - Social Sciences and Humanities) @@ -846,7 +737,6 @@ classes: end_of_the_end: '2027-12-31' receives_or_received: has_or_had_label: Horizon Europe Framework Programme (EU budget) - has_or_had_area_served: - has_or_had_label: EU has_or_had_description: European Union - has_or_had_label: EEA @@ -858,7 +748,6 @@ classes: based on scientific excellence only. has_or_had_identifier: null has_or_had_url: https://erc.europa.eu/ - description: European Research Council as frontier research funding agency annotations: custodian_types: '[''*'']' broad_mappings: diff --git a/schemas/20251121/linkml/modules/classes/Endpoint.yaml b/schemas/20251121/linkml/modules/classes/Endpoint.yaml index 87a78eab78..5d9dbba52e 100644 --- a/schemas/20251121/linkml/modules/classes/Endpoint.yaml +++ b/schemas/20251121/linkml/modules/classes/Endpoint.yaml @@ -20,7 +20,6 @@ classes: slot_usage: has_or_had_url: range: uri - description: URL of the endpoint. annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/EngagementMetric.yaml b/schemas/20251121/linkml/modules/classes/EngagementMetric.yaml index 76ca7703d6..de3be5e6df 100644 --- a/schemas/20251121/linkml/modules/classes/EngagementMetric.yaml +++ b/schemas/20251121/linkml/modules/classes/EngagementMetric.yaml @@ -30,13 +30,10 @@ classes: slot_usage: has_or_had_type: - description: Type of metric (e.g. "Engagement Rate", "Likes"). range: string has_or_had_value: - description: Numeric value of the metric. range: decimal has_or_had_unit: - description: Unit (e.g. "%", "Count"). range: string annotations: diff --git a/schemas/20251121/linkml/modules/classes/EnvironmentalZone.yaml b/schemas/20251121/linkml/modules/classes/EnvironmentalZone.yaml index 3e92b04840..8df3cd3f40 100644 --- a/schemas/20251121/linkml/modules/classes/EnvironmentalZone.yaml +++ b/schemas/20251121/linkml/modules/classes/EnvironmentalZone.yaml @@ -71,7 +71,6 @@ classes: - sosa:FeatureOfInterest slots: - contains_or_contained_contains_unit - - environmental_requirement - has_or_had_tolerance - allows_or_allowed - max_annual_light_exposure @@ -93,18 +92,11 @@ classes: range: uriorcurie required: true identifier: true - description: 'Unique identifier for this environmental zone. - Replaces zone_id per slot_fixes.yaml migration. - ' examples: - value: https://nde.nl/ontology/hc/zone/na-depot-a-standard - description: National Archives Depot A - Standard environment zone has_or_had_label: range: string required: true - description: 'Human-readable name for this environmental zone. - Replaces zone_name per slot_fixes.yaml migration. - ' examples: - value: Standard Archive Storage Zone A - value: Cold Storage Vault - Film Negatives @@ -112,30 +104,17 @@ classes: has_or_had_type: range: uriorcurie required: true - description: 'The type classification of this environmental zone. - Uses EnvironmentalZoneType class hierarchy (from EnvironmentalZoneTypes.yaml). - ' examples: - value: ARCHIVE_STANDARD - description: Standard archive storage zone - value: COLD_STORAGE - description: Cold storage vault for film materials - value: PHOTOGRAPHIC - description: Photographic materials zone has_or_had_description: range: string - description: 'Free-text description of this environmental zone. - Replaces zone_description per slot_fixes.yaml migration. - ' has_or_had_setpoint: range: Setpoint multivalued: true inlined: true inlined_as_list: true - description: 'Environmental control setpoints for this zone. - MIGRATED 2026-01-15: Replaces target_temperature_celsius, target_relative_humidity. - Uses Setpoint class for structured setpoint data. - ' examples: - value: - setpoint_type: TEMPERATURE @@ -150,30 +129,21 @@ classes: setpoint_max: 55.0 setpoint_tolerance: 5.0 setpoint_unit: PERCENT - description: Standard archive zone setpoints allows_or_allowed: range: string multivalued: true inlined: true inlined_as_list: true - description: 'Allowed temperature deviation/tolerance for this zone. - MIGRATED 2026-01-16: Replaces temperature_tolerance (float). - Uses TemperatureDeviation class for structured tolerance data with unit and ISO standard reference. - ' examples: - value: - deviation_value: 2.0 - deviation_direction: PLUS_MINUS has_or_had_measurement_unit: has_or_had_type: DEGREE_CELSIUS has_or_had_symbol: "\xB0C" iso_standard_reference: ISO 11799:2015 - description: "Standard archive tolerance (\xB12\xB0C)" - value: - deviation_value: 3.0 - deviation_direction: PLUS_MINUS iso_standard_reference: ISO 18911:2010 - description: "Cold storage tolerance (\xB13\xB0C)" has_or_had_tolerance: range: float examples: @@ -182,18 +152,11 @@ classes: range: float examples: - value: 50.0 - description: Standard for light-sensitive materials - value: 0.0 - description: Dark storage for film max_annual_light_exposure: range: float examples: - value: 15000.0 - description: Textile storage limit - environmental_requirement: - range: StorageConditionPolicy - examples: - - value: https://nde.nl/ontology/hc/StandardArchiveEnvironment observation: range: StorageCondition multivalued: true @@ -213,9 +176,6 @@ classes: multivalued: true inlined_as_list: true temporal_extent: - description: 'Validity period using CIDOC-CRM TimeSpan. - MIGRATED from valid_from + valid_to per slot_fixes.yaml (Rule 53). - ' range: TimeSpan inlined: true required: false @@ -254,8 +214,6 @@ classes: environmental_requirement: https://nde.nl/ontology/hc/StandardArchiveEnvironment monitoring_platform: Hanwell RadioLog monitoring system part_of_facility: https://nde.nl/ontology/hc/storage/na-depot-a - valid_from: '2010-01-15' - description: Standard archive storage zone with ISO 11799 conditions - value: has_or_had_identifier: https://nde.nl/ontology/hc/zone/ef-cold-vault has_or_had_label: Cold Storage Vault - Film Archive @@ -278,7 +236,6 @@ classes: max_light_lux: 0.0 environmental_requirement: https://nde.nl/ontology/hc/ColdStorageEnvironment part_of_facility: https://nde.nl/ontology/hc/storage/ef-main-depot - description: Cold storage vault for film materials annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/EnvironmentalZoneType.yaml b/schemas/20251121/linkml/modules/classes/EnvironmentalZoneType.yaml index 0209db8051..a0645ea4d4 100644 --- a/schemas/20251121/linkml/modules/classes/EnvironmentalZoneType.yaml +++ b/schemas/20251121/linkml/modules/classes/EnvironmentalZoneType.yaml @@ -155,7 +155,6 @@ classes: - max_light_lux - max_annual_light_exposure - iso_standard - - has_or_had_uri - stores_or_stored # was: target_material - migrated per Rule 53/56 (2026-01-16) - requires_uv_filter - requires_esd_protection @@ -170,29 +169,20 @@ classes: required: true has_or_had_code: required: true - description: Short code for the zone type (e.g. "AA", "B"). has_or_had_label: required: true - description: Name of the zone type. has_or_had_description: required: true - description: Description of environmental conditions for this zone. pattern: "^https://nde\\.nl/ontology/hc/environmental-zone-type/[a-z0-9-]+$" examples: - value: https://nde.nl/ontology/hc/environmental-zone-type/archive-standard - description: Archive standard storage type - value: https://nde.nl/ontology/hc/environmental-zone-type/cold-storage - description: Cold storage for film materials # REMOVED 2026-01-15: temperature_target, humidity_target - migrated to has_or_had_setpoint has_or_had_setpoint: range: Setpoint multivalued: true inlined: true inlined_as_list: true - description: | - Environmental setpoints for this zone type. - MIGRATED 2026-01-15: Replaces temperature_min, temperature_max, temperature_target, - humidity_min, humidity_max, humidity_target with structured Setpoint class. examples: - value: - setpoint_type: TEMPERATURE @@ -206,36 +196,23 @@ classes: setpoint_min: 45.0 setpoint_max: 55.0 setpoint_unit: PERCENT - description: Standard archive zone type setpoints max_light_lux: examples: - value: 50.0 - description: Archive and photographic storage - value: 0.0 - description: Dark storage required (cold storage) iso_standard: multivalued: true examples: - value: - ISO 11799 - description: Document storage requirements - value: - ISO 18911 - description: Film storage practices - has_or_had_uri: - examples: - - value: hc:StandardArchiveEnvironment - description: Standard archive preset # was: target_material - migrated per Rule 53/56 (2026-01-16) stores_or_stored: range: Material multivalued: true inlined: true inlined_as_list: true - description: | - Material types this environmental zone is designed to store. - MIGRATED 2026-01-16: Replaces target_material slot per Rule 53/56. - Uses Material class with MaterialType classification for structured representation. examples: - value: - has_or_had_identifier: https://nde.nl/ontology/hc/material/paper @@ -248,7 +225,6 @@ classes: - parchment@en - perkament@nl has_or_had_type: https://nde.nl/ontology/hc/material-type/organic - description: Archive storage materials (paper, parchment) - value: - has_or_had_identifier: https://nde.nl/ontology/hc/material/nitrate-film has_or_had_label: @@ -260,21 +236,15 @@ classes: - acetate film@en - acetaatfilm@nl has_or_had_type: https://nde.nl/ontology/hc/material-type/synthetic - description: Cold storage materials (film) # ADDED 2026-01-15: Replaces wikidata_id slot per Rule 53 is_or_was_equivalent_to: range: WikiDataIdentifier multivalued: true inlined: true inlined_as_list: true - description: | - Wikidata equivalence for this environmental zone type concept. - MIGRATED 2026-01-15: Replaces wikidata_id slot per Rule 53. examples: - value: - qid: "Q3695082" - label: "storage environment" - description: Wikidata equivalence for environmental zone types annotations: custodian_types: '["*"]' custodian_types_rationale: "Environmental zone types apply to all custodian types with storage facilities" @@ -364,6 +334,4 @@ classes: requires_uv_filter: true requires_dark_storage: false is_or_was_equivalent_to: # ADDED 2026-01-15: Replaces wikidata_id per Rule 53 - - qid: "Q3695082" - label: "storage environment" - description: Archive standard storage environment type definition + - qid: "Q3695082" \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/EnvironmentalZoneTypes.yaml b/schemas/20251121/linkml/modules/classes/EnvironmentalZoneTypes.yaml index 803c752619..08f3985f3d 100644 --- a/schemas/20251121/linkml/modules/classes/EnvironmentalZoneTypes.yaml +++ b/schemas/20251121/linkml/modules/classes/EnvironmentalZoneTypes.yaml @@ -75,8 +75,6 @@ classes: setpoint_max: 55.0 max_light_lux: equals_number: 50.0 - has_or_had_uri: - equals_string: hc:StandardArchiveEnvironment slots: - has_or_had_setpoint - specificity_annotation @@ -141,8 +139,6 @@ classes: equals_number: 0.0 requires_dark_storage: equals_expression: 'true' - has_or_had_uri: - equals_string: hc:ColdStorageEnvironment slots: - has_or_had_setpoint - specificity_annotation @@ -273,8 +269,6 @@ classes: equals_number: 50.0 requires_uv_filter: equals_expression: 'true' - has_or_had_uri: - equals_string: hc:PhotographicMaterialsEnvironment slots: - has_or_had_setpoint - specificity_annotation @@ -342,8 +336,6 @@ classes: equals_number: 15000.0 requires_uv_filter: equals_expression: 'true' - has_or_had_uri: - equals_string: hc:TextileStorageEnvironment slots: - has_or_had_setpoint - specificity_annotation diff --git a/schemas/20251121/linkml/modules/classes/Equipment.yaml b/schemas/20251121/linkml/modules/classes/Equipment.yaml index b45c30161e..c5ee2ef362 100644 --- a/schemas/20251121/linkml/modules/classes/Equipment.yaml +++ b/schemas/20251121/linkml/modules/classes/Equipment.yaml @@ -34,8 +34,6 @@ classes: slot_usage: has_or_had_type: range: uriorcurie - description: Type of equipment (e.g. Microscope, Scanner). - annotations: custodian_types: '["*"]' specificity_score: 0.3 diff --git a/schemas/20251121/linkml/modules/classes/EstablishmentEvent.yaml b/schemas/20251121/linkml/modules/classes/EstablishmentEvent.yaml index aff2e2a6bb..e6f7b35f98 100644 --- a/schemas/20251121/linkml/modules/classes/EstablishmentEvent.yaml +++ b/schemas/20251121/linkml/modules/classes/EstablishmentEvent.yaml @@ -30,7 +30,6 @@ classes: - has_or_had_description slot_usage: temporal_extent: - description: Date/time of establishment. required: true annotations: custodian_types: '["*"]' diff --git a/schemas/20251121/linkml/modules/classes/EstimationMethod.yaml b/schemas/20251121/linkml/modules/classes/EstimationMethod.yaml index ba1ba40939..ce4786fe56 100644 --- a/schemas/20251121/linkml/modules/classes/EstimationMethod.yaml +++ b/schemas/20251121/linkml/modules/classes/EstimationMethod.yaml @@ -36,7 +36,6 @@ classes: slot_usage: has_or_had_label: range: string - description: Name of the estimation method (e.g., "Visual Inspection", "Sampling"). annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Event.yaml b/schemas/20251121/linkml/modules/classes/Event.yaml index 028322b210..fed3bd35cc 100644 --- a/schemas/20251121/linkml/modules/classes/Event.yaml +++ b/schemas/20251121/linkml/modules/classes/Event.yaml @@ -79,23 +79,18 @@ classes: has_or_had_identifier: required: true identifier: true - description: Unique identifier for this event. MIGRATED from event_id (2026-01-26). has_or_had_hypernym: required: true range: EventType - description: High-level classification of the event (e.g. TRANSFORMATION, DESTRUCTION). MIGRATED from hypernym_event_type per Rule 53. Uses EventType class (wrapping EventTypeEnum). inlined: true has_or_had_label: required: true - description: Label/name of the event. MIGRATED from event_label (2026-01-26). has_or_had_description: required: false - description: Description of the event. MIGRATED from event_description (2026-01-26). temporal_extent: required: false range: TimeSpan inlined: true - description: Temporal extent of the event. Replaces has_timespan (migrated 2026-01-26). is_or_was_generated_by: range: GenerationEvent required: false @@ -106,7 +101,6 @@ classes: has_or_had_score: has_or_had_score: 0.95 has_or_had_method: documentation_verification - description: High confidence from verified documentation comments: - Event is the hub class for all temporal phenomena in the HC ontology - Domain-specific events (OrganizationalChangeEvent, CollectionEvent) can inherit from Event @@ -140,7 +134,6 @@ classes: has_or_had_documentation: - has_or_had_url: url_value: https://noord-hollandsarchief.nl/over-ons/geschiedenis - description: Merger of two archives to form Noord-Hollands Archief with structured confidence score annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/EventType.yaml b/schemas/20251121/linkml/modules/classes/EventType.yaml index 6466d6be71..ee6e56615c 100644 --- a/schemas/20251121/linkml/modules/classes/EventType.yaml +++ b/schemas/20251121/linkml/modules/classes/EventType.yaml @@ -36,7 +36,6 @@ classes: slot_usage: has_or_had_label: range: string - description: Name of the event type (e.g., "Merger", "Exhibition"). annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/EventTypes.yaml b/schemas/20251121/linkml/modules/classes/EventTypes.yaml index 3d0209f763..8ba233de1b 100644 --- a/schemas/20251121/linkml/modules/classes/EventTypes.yaml +++ b/schemas/20251121/linkml/modules/classes/EventTypes.yaml @@ -24,7 +24,6 @@ classes: range: string multivalued: true inlined: true - description: The event types included in this collection. annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Evidence.yaml b/schemas/20251121/linkml/modules/classes/Evidence.yaml index 86bf9e108d..a82c1f1e2b 100644 --- a/schemas/20251121/linkml/modules/classes/Evidence.yaml +++ b/schemas/20251121/linkml/modules/classes/Evidence.yaml @@ -29,7 +29,6 @@ classes: slot_usage: has_or_had_description: range: string - description: Description of the evidence or lack thereof. annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Example.yaml b/schemas/20251121/linkml/modules/classes/Example.yaml index 2cd5c7fcfc..2103262b54 100644 --- a/schemas/20251121/linkml/modules/classes/Example.yaml +++ b/schemas/20251121/linkml/modules/classes/Example.yaml @@ -31,10 +31,8 @@ classes: slot_usage: has_or_had_label: range: string - description: Name or label of the example. has_or_had_url: range: uriorcurie - description: URL or reference to the example. annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ExhibitedObject.yaml b/schemas/20251121/linkml/modules/classes/ExhibitedObject.yaml index f381cb2bc7..4e1c1c4baf 100644 --- a/schemas/20251121/linkml/modules/classes/ExhibitedObject.yaml +++ b/schemas/20251121/linkml/modules/classes/ExhibitedObject.yaml @@ -91,9 +91,7 @@ classes: slots: - has_or_had_identifier - is_or_was_acquired_through - - has_or_had_condition_note - conservation_history - - has_or_had_conservation_record - creation_place - creation_timespan - creator @@ -104,8 +102,6 @@ classes: - is_or_was_created_through - has_or_had_size - is_or_was_exhibited_at - - iconography - - image_url - inscription - inventory_number - loan_history @@ -117,8 +113,6 @@ classes: - object_type - part_of_collection - permanent_location - - has_or_had_previous_owner - - has_or_had_provenance_event - has_or_had_provenance - specificity_annotation - has_or_had_subject @@ -145,9 +139,7 @@ classes: multivalued: true examples: - value: Meisje met de parel - description: Dutch title - value: The Militia Company of Captain Frans Banninck Cocq - description: Original title of The Night Watch object_description: required: false range: string @@ -184,25 +176,18 @@ classes: required: false range: CreationEvent inlined: true - description: 'Creation event for this object, including temporal extent and creator. - MIGRATED from date_created per slot_fixes.yaml (Rule 53). - Uses CreationEvent class with TimeSpan for temporal modeling. - ' examples: - value: - display_date: c. 1665 temporal_extent: begin_of_the_begin: '1664-01-01' end_of_the_end: '1667-12-31' description: 'Was date_created: c. 1665' - value: - display_date: '1642' temporal_extent: begin_of_the_begin: '1642-01-01' end_of_the_end: '1642-12-31' description: 'Was date_created: 1642' - value: - display_date: 12th century BCE description: 'Was date_created: 12th century BCE' creation_timespan: required: false @@ -212,7 +197,6 @@ classes: - value: begin_of_the_begin: '1664-01-01' end_of_the_end: '1667-12-31' - description: c. 1665 painting date creation_place: required: false range: CustodianPlace @@ -235,28 +219,22 @@ classes: range: Size inlined: true multivalued: true - description: Physical dimensions of the object. MIGRATED from dimension (2026-01-26). examples: - value: has_or_had_label: "44.5 \xD7 39 cm" - description: Girl with a Pearl Earring - value: has_or_had_label: "363 \xD7 437 cm" - description: The Night Watch - value: has_or_had_label: "114.4 \xD7 72.3 \xD7 27.9 cm" has_or_had_unit: has_or_had_label: cm - description: Rosetta Stone dimensions inscription: required: false range: string multivalued: true examples: - value: IVMeer - description: Vermeer signature - value: Rembrandt f. 1642 - description: Rembrandt signature with date current_keeper: required: false range: uriorcurie @@ -271,7 +249,6 @@ classes: examples: - value: place_name: Mauritshuis - city: Den Haag country: NL permanent_location: required: false @@ -288,51 +265,35 @@ classes: inlined_as_list: true examples: - value: - identifier_value: Q81858 has_or_had_type: has_or_had_code: WIKIDATA has_or_had_label: Wikidata ID - description: Girl with a Pearl Earring Wikidata identifier - value: - identifier_value: Q219831 has_or_had_type: has_or_had_code: WIKIDATA has_or_had_label: Wikidata ID - description: The Night Watch Wikidata identifier - value: - identifier_value: Hofstede de Groot 1907, no. 44 has_or_had_type: has_or_had_code: CATALOG_RAISONNE has_or_had_label: "Catalogue Raisonn\xE9 Number" - description: "Catalog raisonn\xE9 reference (was catalog_raisonne_number)" - value: - identifier_value: Bredius 410 has_or_had_type: has_or_had_code: CATALOG_RAISONNE has_or_had_label: "Catalogue Raisonn\xE9 Number" - description: Bredius catalog reference - value: identifier_value: rkdimages:23903 has_or_had_type: has_or_had_label: RKDimages - description: RKDimages identifier (was external_identifier) - value: identifier_value: getty_ulan:500121212 has_or_had_type: has_or_had_label: ULAN - description: Getty ULAN identifier (was external_identifier) inventory_number: required: false range: string examples: - value: BM-1802,0710.1 - description: British Museum inventory has_or_had_provenance: - description: 'Narrative provenance history for this exhibited object. - MIGRATED from provenance_text per slot_fixes.yaml (Rule 53/56, 2026-01-18). - Uses Provenance class with has_or_had_description for text content. - Use description_type: "provenance_text" to indicate Getty format. - ' required: false range: Provenance inlined: true @@ -341,23 +302,9 @@ classes: has_or_had_description: - description_text: Possibly Pieter van Ruijven, Delft (c. 1665); his widow, Maria de Knuijt, Delft (1674); Dissius sale, Amsterdam, May 16, 1696, lot 36; Braamcamp sale, Amsterdam, July 31, 1771, lot 54; Purchased for 30 guilders by A.A. des Tombe, The Hague (1881); Bequeathed to Mauritshuis (1903). description_type: provenance_text - description: Full provenance chain for Girl with a Pearl Earring - has_or_had_previous_owner: - required: false - range: string - multivalued: true - examples: - - value: - - Pieter van Ruijven (c. 1665-1674) - - Maria de Knuijt (1674) - - A.A. des Tombe (1881-1903) is_or_was_acquired_through: range: AcquisitionEvent inlined: true - description: 'Acquisition event for this object. - MIGRATED from has_acquisition_date and has_acquisition_method per Rule 53 (2026-01-26). - Uses AcquisitionEvent with temporal_extent, has_or_had_method, and has_or_had_origin. - ' required: false examples: - value: @@ -365,18 +312,15 @@ classes: has_or_had_label: BEQUEST temporal_extent: begin_of_the_begin: '1903-01-01' - description: des Tombe bequest to Mauritshuis is_or_was_exhibited_at: required: false range: ExhibitionLocation multivalued: true inlined: true - description: Exhibition location/event. MIGRATED from exhibited_in (2026-01-26). examples: - value: has_or_had_identifier: https://nde.nl/ontology/hc/exhibition/rijksmuseum-vermeer-2023 has_or_had_label: Vermeer 2023 - description: Vermeer exhibition 2023 part_of_collection: required: false range: uriorcurie @@ -392,17 +336,6 @@ classes: - value: girl - value: pearl earring - value: turban - iconography: - required: false - range: string - examples: - - value: 31A221 - portrait of a woman - - value: '41D221 - jewelry: earring' - has_or_had_condition_note: - required: false - range: string - examples: - - value: Good condition. Cleaned and restored in 1994. conservation_history: required: false range: string @@ -410,27 +343,8 @@ classes: examples: - value: '1882: First cleaning' - value: '1994: Major restoration by Jorgen Wadum' - image_url: - required: false - range: uri - multivalued: true - examples: - - value: https://www.mauritshuis.nl/media/670-large.jpg - has_or_had_conservation_record: - required: false - range: ConservationRecord - multivalued: true - inlined: true - examples: - - value: - has_or_had_identifier: https://nde.nl/ontology/hc/provenance/gwpe-des-tombe-bequest - has_or_had_type: BEQUEST - temporal_extent: - begin_of_the_begin: '1903-01-01' - has_or_had_previous_owner: A.A. des Tombe changes_or_changed_ownership_to: https://nde.nl/ontology/hc/custodian/nl/mauritshuis has_or_had_description: Bequeathed to Mauritshuis by A.A. des Tombe - description: 1903 bequest of Girl with a Pearl Earring loan_history: required: false range: Loan @@ -438,7 +352,6 @@ classes: inlined: false examples: - value: https://nde.nl/ontology/hc/loan/mauritshuis-rijksmuseum-vermeer-2023 - description: Loan to Rijksmuseum for Vermeer 2023 exhibition has_or_had_type: equals_expression: '["hc:GalleryType", "hc:MuseumType", "hc:ArchiveOrganizationType", "hc:LibraryType", "hc:ResearchOrganizationType", "hc:HolySacredSiteType", "hc:BioCustodianType"]' comments: @@ -470,7 +383,6 @@ classes: creator_role: - Artist is_or_was_created_through: - display_date: c. 1665 temporal_extent: begin_of_the_begin: '1664-01-01' end_of_the_end: '1667-12-31' @@ -485,7 +397,6 @@ classes: current_keeper: https://nde.nl/ontology/hc/custodian/nl/mauritshuis current_location: place_name: Mauritshuis - city: Den Haag country: NL permanent_location: Gallery 15 accession_number: '670' @@ -508,8 +419,6 @@ classes: - turban has_or_had_identifier: - qid: Q81858 - label: Girl with a Pearl Earring - description: Girl with a Pearl Earring - Vermeer masterpiece at Mauritshuis - value: object_id: https://nde.nl/ontology/hc/object/rijksmuseum-night-watch object_name: The Night Watch @@ -520,7 +429,6 @@ classes: creator: - Rembrandt van Rijn is_or_was_created_through: - display_date: '1642' temporal_extent: begin_of_the_begin: '1642-01-01' end_of_the_end: '1642-12-31' @@ -533,14 +441,11 @@ classes: accession_number: SK-C-5 has_or_had_identifier: - qid: Q219831 - label: The Night Watch - description: The Night Watch - Rembrandt masterpiece at Rijksmuseum - value: object_id: https://nde.nl/ontology/hc/object/british-museum-rosetta-stone object_name: Rosetta Stone object_type: ARCHAEOLOGICAL_ARTIFACT is_or_was_created_through: - display_date: 196 BCE medium: Granodiorite has_or_had_size: - has_or_had_label: "114.4 \xD7 72.3 \xD7 27.9 cm" @@ -548,8 +453,6 @@ classes: accession_number: EA 24 has_or_had_identifier: - qid: Q48584 - label: Rosetta Stone - description: Rosetta Stone at British Museum annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Exhibition.yaml b/schemas/20251121/linkml/modules/classes/Exhibition.yaml index 6cea948109..71e39cad9e 100644 --- a/schemas/20251121/linkml/modules/classes/Exhibition.yaml +++ b/schemas/20251121/linkml/modules/classes/Exhibition.yaml @@ -73,16 +73,13 @@ classes: - is_or_was_cataloged_in - has_or_had_description - has_or_had_documentation - - is_or_was_located_at - has_or_had_label - has_or_had_status - has_or_had_type - has_or_had_url - is_or_was_located_in - exhibits_or_exhibited - - featured_work - organized_by - - has_or_had_related_exhibition - specificity_annotation - has_or_had_score - has_or_had_venue @@ -100,14 +97,11 @@ classes: required: true range: string multivalued: true - description: Name and subtitle of the exhibition. First value is the primary name. examples: - value: Vermeer - description: Primary exhibition name - value: 'Impressionism: Origins and Legacy' - value: Treasures from the National Archives - value: The Master of Light and Shadow - description: Exhibition subtitle - value: 150 Years of Revolutionary Art has_or_had_description: required: false @@ -135,28 +129,16 @@ classes: multivalued: true inlined: true inlined_as_list: true - description: 'Organizations that organize this exhibition. - MIGRATED 2026-01-19: Replaces co_organized_by slot per Rule 53. - Includes primary organizers, co-organizers, sponsors with curatorial input. - ' examples: - value: organizer_entity: https://nde.nl/ontology/hc/custodian/nl/rijksmuseum has_or_had_role: - role_type: PRIMARY - description: Rijksmuseum as primary organizer - value: organizer_entity: https://nde.nl/ontology/hc/custodian/nl/mauritshuis has_or_had_role: - role_type: CO_ORGANIZER - organizer_contribution: Provided key loans including Girl with a Pearl Earring - description: Mauritshuis as co-organizer - value: organizer_entity: https://nde.nl/ontology/hc/custodian/us/national-gallery-washington has_or_had_role: - role_type: LENDING_INSTITUTION - organizer_contribution: Lent Woman Holding a Balance - description: National Gallery Washington as lending institution curated_by: required: false range: string @@ -168,22 +150,12 @@ classes: required: false range: TimeSpan inlined: true - description: Temporal extent of the exhibition (start/end). Replaces start_date, end_date, exhibition_timespan. Use begin_of_the_begin for opening date, end_of_the_end for closing date. examples: - value: begin_of_the_begin: '2023-02-10T00:00:00Z' end_of_the_begin: '2023-02-10T23:59:59Z' begin_of_the_end: '2023-06-04T00:00:00Z' end_of_the_end: '2023-06-04T23:59:59Z' - is_or_was_located_at: - required: false - range: CustodianPlace - multivalued: true - inlined_as_list: true - examples: - - value: - place_name: Rijksmuseum - city: Amsterdam country: NL is_or_was_located_in: required: false @@ -204,8 +176,6 @@ classes: description: 'Visitor count for the exhibition. RULE 53: Replaces deprecated visitor_count integer slot with structured Quantity class.' examples: - value: - quantity_value: 650000 - quantity_type: VISITOR_COUNT has_or_had_measurement_unit: has_or_had_type: VISITOR has_or_had_symbol: visitors @@ -213,17 +183,12 @@ classes: begin_of_the_begin: '2023-02-10T00:00:00Z' end_of_the_end: '2023-06-04T23:59:59Z' has_or_had_description: Vermeer exhibition attendance - description: Exhibition visitor count with temporal extent has_or_had_url: required: false range: uri examples: - value: https://www.rijksmuseum.nl/nl/vermeer exhibits_or_exhibited: - description: 'Objects or artworks featured in the exhibition. - MIGRATED from has_or_had_featured_object per Rule 53. - Uses FeaturedObject class (wraps schema:Thing). - ' range: FeaturedObject multivalued: true inlined: true @@ -231,12 +196,7 @@ classes: - value: has_or_had_label: The Night Watch has_or_had_description: Oil painting by Rembrandt - description: Key artwork is_or_was_cataloged_in: - description: 'Exhibition catalogs documenting this exhibition. - MIGRATED from has_or_had_exhibition_catalog per Rule 53. - Uses ExhibitionCatalog class. - ' range: ExhibitionCatalog multivalued: true inlined: true @@ -244,41 +204,13 @@ classes: - value: has_or_had_label: Vermeer 2023 Catalog isbn_13: 978-9491714962 - description: Exhibition catalog - featured_work: - range: ExhibitedObject - multivalued: true - inlined: false - examples: - - value: https://nde.nl/ontology/hc/object/mauritshuis-girl-pearl-earring - - value: https://nde.nl/ontology/hc/object/rijksmuseum-night-watch - has_or_had_exhibition_catalog: - required: false - range: ExhibitionCatalog - multivalued: true - inlined: false - examples: - - value: https://nde.nl/ontology/hc/catalog/rijksmuseum-vermeer-2023 - - value: https://nde.nl/ontology/hc/catalog/moma-matisse-cutouts-2014 - has_or_had_related_exhibition: - required: false - range: Exhibition - multivalued: true - inlined: false - examples: - - value: https://nde.nl/ontology/hc/exhibition/mauritshuis-vermeer-2014 has_or_had_venue: range: Venue multivalued: true inlined: true - description: 'Venues for a traveling exhibition. - MIGRATED 2026-01-14: Replaces traveling_venue slot. - ' examples: - value: "Venue:\n venue_name: \"Rijksmuseum, Amsterdam\"\n venue_dates: \"Feb 10 - Jun 4, 2023\"\n" - description: First traveling venue - value: "Venue:\n venue_name: \"National Gallery, London\"\n venue_dates: \"Jul 1 - Oct 15, 2023\"\n" - description: Second traveling venue has_or_had_documentation: required: false range: uri @@ -312,26 +244,19 @@ classes: has_or_had_organizer: - organizer_entity: https://nde.nl/ontology/hc/custodian/nl/rijksmuseum has_or_had_role: - role_type: PRIMARY - organizer_entity: https://nde.nl/ontology/hc/custodian/nl/mauritshuis has_or_had_role: - role_type: CO_ORGANIZER - organizer_contribution: Provided Girl with a Pearl Earring and 5 other Vermeers curated_by: - Pieter Roelofs - Gregor J.M. Weber temporal_extent: begin_of_the_begin: '2023-02-10' end_of_the_end: '2023-06-04' - is_or_was_located_at: - place_name: Rijksmuseum - city: Amsterdam country: NL is_or_was_located_in: Philips Wing has_or_had_status: COMPLETED has_or_had_quantity: - quantity_value: 650000 - quantity_type: VISITOR_COUNT has_or_had_measurement_unit: has_or_had_type: VISITOR has_or_had_symbol: visitors @@ -350,9 +275,7 @@ classes: - The Milkmaid (Rijksmuseum) - View of Delft (Mauritshuis) - Woman Reading a Letter (Rijksmuseum) - has_or_had_exhibition_catalog: - https://nde.nl/ontology/hc/catalog/rijksmuseum-vermeer-2023 - description: Vermeer blockbuster exhibition at Rijksmuseum (2023) - demonstrates typed object and catalog links - value: has_or_had_identifier: https://nde.nl/ontology/hc/exhibition/nationaal-archief-ww2-voices-2024 has_or_had_label: @@ -362,16 +285,12 @@ classes: has_or_had_organizer: - organizer_entity: https://nde.nl/ontology/hc/custodian/nl/nationaal-archief has_or_had_role: - role_type: PRIMARY temporal_extent: begin_of_the_begin: '2024-05-04' end_of_the_end: '2024-11-11' - is_or_was_located_at: - place_name: Nationaal Archief - city: Den Haag country: NL has_or_had_status: COMPLETED - description: Archival exhibition of WWII personal documents - value: has_or_had_identifier: https://nde.nl/ontology/hc/exhibition/rijksmuseum-gallery-of-honour has_or_had_label: Gallery of Honour @@ -383,13 +302,11 @@ classes: has_or_had_organizer: - organizer_entity: https://nde.nl/ontology/hc/custodian/nl/rijksmuseum has_or_had_role: - role_type: PRIMARY is_or_was_located_in: Gallery of Honour (Eregalerij) exhibits_or_exhibited: - The Night Watch (Rembrandt) - The Merry Drinker (Frans Hals) - The Jewish Bride (Rembrandt) - description: Permanent collection exhibition - Gallery of Honour annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ExhibitionCatalog.yaml b/schemas/20251121/linkml/modules/classes/ExhibitionCatalog.yaml index 8936488f0d..6f91a0f9f3 100644 --- a/schemas/20251121/linkml/modules/classes/ExhibitionCatalog.yaml +++ b/schemas/20251121/linkml/modules/classes/ExhibitionCatalog.yaml @@ -79,8 +79,6 @@ classes: - has_or_had_type - is_or_was_instantiated_as - is_or_was_edited_by - - has_or_had_essay - - illustration - isbn - isbn_13 - issn @@ -90,7 +88,6 @@ classes: - pdf_url - price - is_or_was_published_at - - publication_place - has_or_had_publisher - specificity_annotation - is_or_was_indexed @@ -110,34 +107,22 @@ classes: - range: WorldCatIdentifier examples: - value: https://nde.nl/ontology/hc/catalog/rijksmuseum-vermeer-2023 - description: Primary catalog identifier - value: https://nde.nl/ontology/hc/catalog/moma-matisse-cutouts-2014 - description: Primary catalog identifier - value: - qid: Q116123456 - label: Vermeer 2023 catalog - description: Wikidata identifier for catalog - value: - identifier_value: '1370123456' identifier_source: OCLC WorldCat - description: WorldCat identifier for library catalog lookup has_or_had_label: required: true range: string multivalued: true - description: Title and subtitle of the catalog. MIGRATED from catalog_title and catalog_subtitle per Rule 53/56 (2026-01-17). First value is primary title, subsequent values are subtitles. examples: - value: Vermeer - description: Primary catalog title - value: 'Henri Matisse: The Cut-Outs' - description: Title with subtitle included - value: The Greatest Exhibition - description: Subtitle as separate label is_or_was_associated_with: required: true range: uriorcurie inlined: false - description: The exhibition this catalog documents. MIGRATED from catalog_for per Rule 53/56 (2026-01-17). examples: - value: https://nde.nl/ontology/hc/exhibition/rijksmuseum-vermeer-2023 has_or_had_type: @@ -151,34 +136,21 @@ classes: - range: BindingType examples: - value: PRINT_CATALOG - description: Print catalog format type - value: DIGITAL_CATALOG - description: Digital catalog format type - value: hc:HardcoverBinding - description: Hardcover binding type (from BindingType class) - value: hc:PaperbackBinding - description: Paperback binding type has_or_had_author: range: Author multivalued: true inlined: true - description: 'Authors of the exhibition catalog. - MIGRATED from authors (string list) to structured Author class. - ' examples: - value: has_or_had_name: Gregor J.M. Weber is_or_was_affiliated_with: has_or_had_name: Rijksmuseum - description: Museum curator as author - value: has_or_had_name: Pieter Roelofs - description: Contributing author contains_or_contained: - description: 'Essays or textual content contained in the catalog. - MIGRATED from has_or_had_essay per Rule 53. - Uses Essay class. - ' range: Essay multivalued: true inlined: true @@ -186,27 +158,15 @@ classes: - value: has_or_had_label: Vermeer's World has_or_had_description: Scholarly essay on 17th century context - description: Main catalog essay - value: has_or_had_label: Technical Examination of the Milkmaid - description: Technical study essay is_or_was_edited_by: range: Editor multivalued: true inlined: true - description: 'Editors of the exhibition catalog. - MIGRATED from editor (string list) to structured Editor class. - ' examples: - value: has_or_had_name: Pieter Roelofs - description: Volume editor - illustration: - required: false - range: string - examples: - - value: 280 color illustrations - - value: 150 color plates, 50 b/w figures language: required: false range: string @@ -221,16 +181,13 @@ classes: multivalued: true inlined: true inlined_as_list: true - description: URL(s) for the exhibition catalog. MIGRATED from catalog_url per Rule 53/56 (2026-01-17). Uses URL class to support type classification (catalog, shop, publisher, etc.). examples: - value: has_or_had_url: https://www.rijksmuseum.nl/nl/webshop/catalogus-vermeer has_or_had_type: catalog_shop - description: Catalog purchase URL (museum shop) - value: has_or_had_url: https://www.britishmuseum.org/exhibitions/arctic-culture-and-climate has_or_had_type: exhibition_page - description: Exhibition catalog landing page pdf_url: required: false range: uri @@ -240,13 +197,11 @@ classes: range: EBook inlined: true multivalued: true - description: Electronic version (eBook) of the catalog. MIGRATED from ebook_url per Rule 53 (2026-01-25). examples: - value: has_or_had_url: has_or_had_url: https://www.amazon.com/dp/B0XXXXX has_or_had_type: purchase_page - description: eBook available on Amazon price: required: false range: string @@ -256,56 +211,29 @@ classes: has_or_had_description: required: false range: string - description: Detailed description of the exhibition catalog. MIGRATED from catalog_description per Rule 53/56 (2026-01-17). examples: - value: "The official catalog of the groundbreaking Vermeer exhibition at the \nRijksmuseum, featuring 28 of the Dutch master's 37 known paintings.\nIncludes scholarly essays on Vermeer's technique, pigments, and\nsubjects, along with detailed entries for each work.\n" - has_or_had_essay: - required: false - range: string - multivalued: true - examples: - - value: Vermeer's World - - value: The Science of Vermeer's Pigments - - value: Vermeer and the Camera Obscura is_or_was_indexed: required: false range: Index multivalued: true inlined_as_list: true - description: 'Table of contents or index structure for the catalog. - MIGRATED from table_of_content slot per slot_fixes.yaml (Rule 53/56, 2026-01-16). - Uses Index class for structured representation of: - - Table of contents with hierarchical entries - - Subject indexes - - Name indexes - - Illustration lists - ' examples: - value: has_or_had_identifier: hc:index/vermeer-catalog-toc has_or_had_label: - Table of Contents@en - has_or_had_index_type: - has_or_had_identifier: hc:index-type/table-of-contents - index_entry: - entry_label: 1. Introduction (Pieter Roelofs) - entry_level: 1 - entry_label: 2. Vermeer's Delft (Gregor Weber) - entry_level: 1 - entry_label: 3. Technique and Materials (Anna Tummers) - entry_level: 1 - entry_label: 4. Catalog Entries - entry_level: 1 - entry_label: 5. Appendices - entry_level: 1 - description: Structured table of contents for Vermeer catalog has_or_had_content: required: false range: integer description: 'Number of catalog entries (objects documented). MIGRATED from catalog_entries_count per Rule 53/56 (2026-01-17). Note: Full revision pattern would use has_or_had_quantity with Quantity class, but integer range is kept for backwards compatibility.' examples: - value: 28 - description: 28 Vermeer paintings in exhibition library_catalog_url: required: false range: uri @@ -353,7 +281,6 @@ classes: end_of_the_begin: '2023-02-01T00:00:00Z' begin_of_the_end: '2023-02-01T00:00:00Z' end_of_the_end: '2023-02-01T00:00:00Z' - publication_place: Amsterdam isbn_13: '9789491714962' pages: 320 illustrations: 280 color illustrations @@ -364,12 +291,8 @@ classes: has_or_had_type: catalog_shop price: "\u20AC59.95" has_or_had_description: "The official catalog of the groundbreaking Vermeer exhibition at the \nRijksmuseum (February 10 - June 4, 2023), featuring 28 of the Dutch \nmaster's 37 known paintings. Includes scholarly essays on Vermeer's \ntechnique, pigments, and subjects.\n" - has_or_had_essay: - - Vermeer's World - - The Science of Vermeer's Pigments - 'Johannes Vermeer: Life and Work' has_or_had_content: 28 - description: Vermeer 2023 exhibition catalog - value: has_or_had_identifier: https://nde.nl/ontology/hc/catalog/moma-matisse-cutouts-2014 has_or_had_label: 'Henri Matisse: The Cut-Outs' @@ -398,7 +321,6 @@ classes: language: - en price: $60.00 - description: MoMA Matisse Cut-Outs exhibition catalog - value: has_or_had_identifier: https://nde.nl/ontology/hc/catalog/british-museum-arctic-2020 has_or_had_label: 'Arctic: culture and climate' @@ -418,7 +340,6 @@ classes: - has_or_had_url: https://www.britishmuseum.org/exhibitions/arctic-culture-and-climate has_or_had_type: exhibition_page pdf_url: https://www.britishmuseum.org/media/arctic-catalog.pdf - description: British Museum Arctic exhibition digital catalog annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ExhibitionLocation.yaml b/schemas/20251121/linkml/modules/classes/ExhibitionLocation.yaml index 164218d05e..e84ee112fe 100644 --- a/schemas/20251121/linkml/modules/classes/ExhibitionLocation.yaml +++ b/schemas/20251121/linkml/modules/classes/ExhibitionLocation.yaml @@ -36,10 +36,8 @@ classes: slot_usage: has_or_had_label: range: string - description: Name of the exhibition or location within exhibition. has_or_had_identifier: range: uriorcurie - description: Identifier for the exhibition or location. annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ExhibitionSpace.yaml b/schemas/20251121/linkml/modules/classes/ExhibitionSpace.yaml index 66d39cf8e1..4c9c9b1b30 100644 --- a/schemas/20251121/linkml/modules/classes/ExhibitionSpace.yaml +++ b/schemas/20251121/linkml/modules/classes/ExhibitionSpace.yaml @@ -76,8 +76,6 @@ classes: - has_or_had_label - has_or_had_description - has_or_had_type - - has_climate_control - - has_or_had_system - is_accessible - is_permanent - museum_type_classification @@ -92,44 +90,31 @@ classes: range: uriorcurie required: true identifier: true - description: Unique identifier for the exhibition space. examples: - value: https://nde.nl/ontology/hc/aux/rijksmuseum-schiphol-gallery - description: Rijksmuseum airport gallery has_or_had_label: range: string inlined: true required: true - description: The name of the exhibition space. examples: - value: 'label_text: Rijksmuseum Schiphol ' - description: Airport satellite gallery - value: 'label_text: Stedelijk Museum Project Space ' - description: Contemporary art project space - value: 'label_text: Van Gogh Museum Mesdag Collection ' - description: Partner venue exhibition has_or_had_description: range: string inlined: true - description: A description of the exhibition space. examples: - value: 'description_text: Free gallery at Schiphol Airport featuring rotating highlights from the Rijksmuseum collection. Open daily to all travelers. ' - description: Airport gallery description museum_type_classification: range: MuseumTypeEnum required: false examples: - value: ART_MUSEUM - description: Art museum classification has_or_had_type: - description: 'Classification of the gallery type (e.g., CommercialGallery, Kunsthalle). - MIGRATED from gallery_type_classification per Rule 53. - Uses GalleryType class hierarchy instead of GalleryTypeEnum. - ' range: GalleryType required: false any_of: @@ -142,91 +127,58 @@ classes: - range: ExhibitionSpaceTypeEnum examples: - value: ART_GALLERY - description: Art gallery classification (CommercialGallery) - value: KUNSTHALLE - description: Kunsthalle classification (Kunsthalle) - value: SATELLITE_GALLERY - description: Satellite gallery classification (ExhibitionSpaceTypeEnum) has_or_had_area: range: Area inlined: true examples: - value: - quantity_value: 200.0 has_or_had_unit: has_or_had_type: SQUARE_METER has_or_had_symbol: "m\xB2" - description: "200 m\xB2 gallery" has_or_had_capacity: range: Capacity inlined: true examples: - value: has_or_had_quantity: - quantity_value: 50 has_or_had_unit: - unit_value: person has_or_had_type: SeatingCapacity - description: 50 visitors maximum - has_climate_control: - range: boolean - examples: - - value: true - description: Climate controlled - has_or_had_system: - range: boolean - examples: - - value: true - description: Security system installed is_accessible: range: boolean examples: - value: true - description: Wheelchair accessible opening_hour: range: string examples: - value: Daily 07:00-20:00 - description: Airport gallery hours has_or_had_fee: - description: | - Admission fee for the exhibition space. - MIGRATED from has_or_had_admission_fee per Rule 53. - Uses AdmissionFee class. range: AdmissionFee multivalued: true inlined: true examples: - value: has_or_had_label: "Free" - has_or_had_amount: 0 - description: Free admission - value: has_or_had_label: "Standard Adult" - has_or_had_amount: 12.50 - description: Paid admission current_exhibition: range: string examples: - value: Highlights from the Golden Age - description: Current exhibition has_or_had_schedule: range: string examples: - value: Exhibitions rotate quarterly - description: Rotation schedule is_permanent: range: boolean examples: - value: true - description: Permanent venue partner_institution: range: string examples: - value: Schiphol Group - description: Airport partnership - value: Groninger Museum - description: Museum partnership is_or_was_derived_from: range: CustodianObservation multivalued: true @@ -254,18 +206,13 @@ classes: has_or_had_type: SATELLITE_GALLERY museum_type_classification: ART_MUSEUM has_or_had_area: - quantity_value: 200.0 has_or_had_unit: has_or_had_type: SQUARE_METER has_or_had_symbol: "m\xB2" has_or_had_capacity: has_or_had_quantity: - quantity_value: 75 has_or_had_unit: - unit_value: person has_or_had_type: SeatingCapacity - has_climate_control: true - has_or_had_system: true is_accessible: true opening_hour: Daily 07:00-20:00 has_or_had_fee: @@ -274,7 +221,6 @@ classes: has_or_had_schedule: Exhibitions rotate every 6 months is_permanent: true partner_institution: Schiphol Group - description: Museum airport satellite gallery - value: has_or_had_identifier: https://nde.nl/ontology/hc/aux/stedelijk-project-space has_or_had_label: @@ -283,16 +229,13 @@ classes: description_text: Project space for emerging contemporary artists and experimental exhibitions. has_or_had_type: PROJECT_SPACE has_or_had_area: - quantity_value: 150.0 has_or_had_unit: has_or_had_type: SQUARE_METER has_or_had_symbol: "m\xB2" - has_climate_control: true opening_hour: We-Su 11:00-17:00 has_or_had_fee: - has_or_had_label: "Free" is_permanent: true - description: Contemporary art project space annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Expenses.yaml b/schemas/20251121/linkml/modules/classes/Expenses.yaml index fdccabb63a..875827431b 100644 --- a/schemas/20251121/linkml/modules/classes/Expenses.yaml +++ b/schemas/20251121/linkml/modules/classes/Expenses.yaml @@ -79,29 +79,13 @@ classes: has_or_had_type: range: ExpenseTypeEnum required: true - description: | - Functional expense classification. - MIGRATED from expense_type (2026-01-26). has_or_had_quantity: range: integer required: true inlined: true - description: >- - Expense amount as a Quantity instance. Replaces separate amount + currency fields. - The Quantity contains: - - quantity_value: decimal amount (e.g., 10000000.0) - - has_or_had_measurement_unit: MeasureUnit with currency code (e.g., EUR, USD, GBP) - - quantity_type: BUDGET_AMOUNT - description: - range: string - required: false - description: Human-readable description of the expense. temporal_extent: range: TimeSpan inlined: true - description: >- - Time period this expense applies to. - Use begin_of_the_begin for start date, end_of_the_end for end date. annotations: custodian_types: '["*"]' custodian_types_rationale: Financial expenses applicable to all heritage custodian types. @@ -114,38 +98,23 @@ classes: - value: has_or_had_type: ADMINISTRATIVE has_or_had_quantity: - quantity_value: 10000000.0 - quantity_type: BUDGET_AMOUNT has_or_had_measurement_unit: unit_symbol: EUR - unit_type: CURRENCY - description: "Management and general expenses for FY2023" temporal_extent: begin_of_the_begin: "2023-01-01" end_of_the_end: "2023-12-31" - description: Administrative expense for Dutch museum - value: has_or_had_type: PROGRAM has_or_had_quantity: - quantity_value: 62000000.0 - quantity_type: BUDGET_AMOUNT has_or_had_measurement_unit: unit_symbol: EUR - unit_type: CURRENCY - description: "Program service expenses including exhibitions, conservation, education" temporal_extent: begin_of_the_begin: "2023-01-01" end_of_the_end: "2023-12-31" - description: Program expense for major museum - value: has_or_had_type: FUNDRAISING has_or_had_quantity: - quantity_value: 3200000.0 - quantity_type: BUDGET_AMOUNT has_or_had_measurement_unit: unit_symbol: EUR - unit_type: CURRENCY - description: "Fundraising and donor relations expenses" - description: Fundraising expense # REMOVED inline slots 2026-01-16 - Rule 48 violation # Slots are imported from ../slots/ - do not define inline diff --git a/schemas/20251121/linkml/modules/classes/Experience.yaml b/schemas/20251121/linkml/modules/classes/Experience.yaml index f0a395670c..a4ba756b76 100644 --- a/schemas/20251121/linkml/modules/classes/Experience.yaml +++ b/schemas/20251121/linkml/modules/classes/Experience.yaml @@ -29,10 +29,8 @@ classes: slot_usage: has_or_had_label: range: string - description: Name or label of the experience. has_or_had_description: range: string - description: Description of the experience. annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ExpertiseArea.yaml b/schemas/20251121/linkml/modules/classes/ExpertiseArea.yaml index d2cbfcfbb2..ef98829f3d 100644 --- a/schemas/20251121/linkml/modules/classes/ExpertiseArea.yaml +++ b/schemas/20251121/linkml/modules/classes/ExpertiseArea.yaml @@ -29,7 +29,6 @@ classes: slot_usage: has_or_had_label: range: string - description: Name of the expertise area (e.g., "Archival Science", "Digital Preservation"). annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Extension.yaml b/schemas/20251121/linkml/modules/classes/Extension.yaml index 5521e6c6a3..ae9608823b 100644 --- a/schemas/20251121/linkml/modules/classes/Extension.yaml +++ b/schemas/20251121/linkml/modules/classes/Extension.yaml @@ -33,7 +33,6 @@ classes: has_or_had_quantity: range: integer inlined: true - description: Count or duration of the extension. annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ExternalFunding.yaml b/schemas/20251121/linkml/modules/classes/ExternalFunding.yaml index 929b8ef1d7..090b95cc22 100644 --- a/schemas/20251121/linkml/modules/classes/ExternalFunding.yaml +++ b/schemas/20251121/linkml/modules/classes/ExternalFunding.yaml @@ -33,7 +33,6 @@ classes: has_or_had_quantity: range: integer inlined: true - description: Amount of funding. annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ExternalWork.yaml b/schemas/20251121/linkml/modules/classes/ExternalWork.yaml index cbdbc8697d..21728bf833 100644 --- a/schemas/20251121/linkml/modules/classes/ExternalWork.yaml +++ b/schemas/20251121/linkml/modules/classes/ExternalWork.yaml @@ -1,68 +1,40 @@ id: https://nde.nl/ontology/hc/classes/ExternalWork name: ExternalWork title: ExternalWork - prefixes: linkml: https://w3id.org/linkml/ hc: https://nde.nl/ontology/hc/ schema: http://schema.org/ - imports: - linkml:types default_range: string - classes: ExternalWork: - description: >- - External work or services that an institution accepts or commissions. - - **EXAMPLES**: - - Conservation work from external specialists - - Digitization services - - Research collaborations - - Restoration projects - - Used with `accepts_or_accepted` slot to indicate what types of - external work an institution will accept or commission. - + description: 'External work or services that an institution accepts or commissions. + + **EXAMPLES**: - Conservation work from external specialists - Digitization services - Research collaborations - Restoration + projects + + Used with `accepts_or_accepted` slot to indicate what types of external work an institution will accept or commission.' class_uri: schema:Service - close_mappings: - - schema:Offer - + - schema:Offer attributes: work_type: range: string required: true - description: >- - Type of external work (e.g., "conservation", "digitization", "restoration"). - - description: - range: string - description: >- - Description of the external work type. - + description: Type of external work (e.g., "conservation", "digitization", "restoration"). requirements: range: string multivalued: true - description: >- - Requirements or qualifications for external work providers. - + description: Requirements or qualifications for external work providers. annotations: custodian_types: '["M", "A", "L", "G"]' - custodian_types_rationale: >- - External work primarily relevant for museums, archives, libraries, galleries. - custodian_types_primary: "M" + custodian_types_rationale: External work primarily relevant for museums, archives, libraries, galleries. + custodian_types_primary: M specificity_score: 0.7 - specificity_rationale: >- - High specificity - specific to service acceptance policies. - + specificity_rationale: High specificity - specific to service acceptance policies. examples: - - value: | - ExternalWork: - work_type: "conservation" - description: "Paper and textile conservation services" - requirements: - - "Certified conservator" - - "Portfolio of previous work" - description: Conservation work accepted by archive. + - value: "ExternalWork:\n work_type: \"conservation\"\n description: \"Paper and textile conservation services\"\n \ + \ requirements:\n - \"Certified conservator\"\n - \"Portfolio of previous work\"\n" + description: Conservation work accepted by archive. diff --git a/schemas/20251121/linkml/modules/classes/ExtractionMetadata.yaml b/schemas/20251121/linkml/modules/classes/ExtractionMetadata.yaml index 3f1c62217b..c3aa7845ba 100644 --- a/schemas/20251121/linkml/modules/classes/ExtractionMetadata.yaml +++ b/schemas/20251121/linkml/modules/classes/ExtractionMetadata.yaml @@ -55,55 +55,44 @@ classes: range: string examples: - value: /data/custodian/person/affiliated/parsed/rijksmuseum_staff_20251210T155416Z.json - description: Path to parsed staff list JSON has_or_had_identifier: range: string pattern: ^[a-z0-9-]+_staff_[a-z0-9-_]+$ examples: - value: rijksmuseum_staff_0042_jan_van_der_berg - description: Staff ID with org prefix, index, and name slug - value: exa_12345678-abcd-efgh-ijkl-mnopqrstuv - description: Exa API request ID retrieval_timestamp: range: datetime required: true examples: - value: '2025-12-12T22:00:00Z' - description: UTC timestamp of extraction has_or_had_method: range: ProfileExtractionMethodEnum required: true examples: - value: exa_crawling_exa - description: Extracted via Exa AI crawling API is_or_was_retrieved_by: range: string examples: - value: claude-opus-4.5 - description: Extracted by Claude Opus 4.5 - value: '' - description: Empty string for fully automated extraction has_or_had_url: range: uri pattern: ^https://www\.linkedin\.com/in/[a-z0-9-]+/?$ examples: - value: https://www.linkedin.com/in/jan-van-der-berg-12345 - description: LinkedIn profile URL has_or_had_expense: range: float minimum_value: 0.0 examples: - value: 0.001 - description: Exa API call cost - value: 0.0 - description: Free extraction (cached/local) llm_response: range: LLMResponse required: false inlined: true examples: - value: "{\n \"content\": \"Extracted institution data...\",\n \"reasoning_content\": \"Analyzing the input for LinkML schema conformity...\",\n \"thinking_mode\": \"preserved\",\n \"clear_thinking\": false,\n \"model\": \"glm-4.7\",\n \"provider\": \"zai\",\n \"created\": \"2025-12-23T10:30:00Z\",\n \"prompt_tokens\": 150,\n \"completion_tokens\": 450,\n \"total_tokens\": 600,\n \"finish_reason\": \"stop\",\n \"cost_usd\": 0.0\n}\n" - description: GLM 4.7 response with Preserved Thinking for extraction comments: - Every person entity file MUST have extraction_metadata - See AGENTS.md Rule 20 for required fields diff --git a/schemas/20251121/linkml/modules/classes/ExtractionMethod.yaml b/schemas/20251121/linkml/modules/classes/ExtractionMethod.yaml index ef98a5c5a1..668ad0b7d8 100644 --- a/schemas/20251121/linkml/modules/classes/ExtractionMethod.yaml +++ b/schemas/20251121/linkml/modules/classes/ExtractionMethod.yaml @@ -26,11 +26,6 @@ classes: - has_or_had_label slot_usage: has_or_had_label: - description: 'The name/identifier of the extraction method. - - Examples: "xpath_exact_match", "nlp_ner", "json_ld_parse" - - ' range: Label inlined: true required: true @@ -42,15 +37,12 @@ classes: - value: has_or_had_label: has_or_had_label: xpath_exact_match - description: XPath extraction with exact text matching - value: has_or_had_label: has_or_had_label: nlp_ner - description: Named Entity Recognition extraction - value: has_or_had_label: has_or_had_label: json_ld_parse - description: Structured data extraction from JSON-LD annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Facility.yaml b/schemas/20251121/linkml/modules/classes/Facility.yaml index 083862de84..1803682d80 100644 --- a/schemas/20251121/linkml/modules/classes/Facility.yaml +++ b/schemas/20251121/linkml/modules/classes/Facility.yaml @@ -19,21 +19,7 @@ classes: slot_usage: has_or_had_type: range: uriorcurie - description: Type of facility attributes: - facility_name: - range: string - required: true - description: Name of the facility - facility_description: - range: string - description: Description of the facility - capacity: - range: integer - description: Capacity of the facility - accessibility: - range: string - description: Accessibility features close_mappings: - schema:Place annotations: @@ -41,8 +27,4 @@ classes: specificity_rationale: Moderately specific - facilities common in institutions. custodian_types: "['*']" examples: - - value: - facility_name: "Museum Caf\xE9" - facility_description: "On-site caf\xE9 with terrace" - capacity: 50 - description: "Caf\xE9 facility at museum" + - value: \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/FeatureCustodianType.yaml b/schemas/20251121/linkml/modules/classes/FeatureCustodianType.yaml index cc1a19f0ec..19c3fdb7ca 100644 --- a/schemas/20251121/linkml/modules/classes/FeatureCustodianType.yaml +++ b/schemas/20251121/linkml/modules/classes/FeatureCustodianType.yaml @@ -144,7 +144,6 @@ classes: - schema:Place - schema:CivicStructure slots: - - has_or_had_access_management - has_or_had_activity - has_or_had_type - manages_or_managed @@ -155,84 +154,46 @@ classes: - has_or_had_service slot_usage: manages_or_managed: - description: 'Types of physical heritage features managed by this custodian. - MIGRATED from feature_type per slot_fixes.yaml (Rule 53, 2026-01-26). - Used here as string for descriptive type list, but slot supports uriorcurie. - ' range: string multivalued: true required: true examples: - value: Monument, Memorial, Statue - description: Commemor structure types managed - value: Castle, Historic house, Abbey - description: Historic building types - value: Archaeological site, Ruins - description: Excavation and preservation sites site_portfolio: range: string required: true examples: - value: 400+ historic sites across England - description: English Heritage portfolio - value: 'Single monument: Eiffel Tower' - description: "Soci\xE9t\xE9 d'Exploitation de la Tour Eiffel" - value: 150+ National Trust properties - description: UK heritage charity holdings has_or_had_service: - description: 'Visitor services provided by the feature custodian to facilitate public access - and engagement. Migrated from visitor_service per Rule 53. - ' range: string inlined: true required: true examples: - value: - service_name: Guided Tours and Events service_type: VISITOR - description: English Heritage typical site services - value: - service_name: Public Access and Interpretation service_type: VISITOR - description: Open memorial site services - value: - service_name: Timed Entry with Audio Guide service_type: VISITOR - description: High-capacity monument services has_or_had_activity: range: string required: true - description: 'Conservation and preservation activities performed by the feature custodian. - NOTE: For FeatureCustodianType, this slot is used as a string description - of activities rather than linking to Activity class instances. This is a - legacy usage pattern for this custodian type classification. - ' examples: - value: Monument preservation, Structural repairs, Archaeological research - description: English Heritage conservation work - value: Stone conservation, Drainage systems, Vegetation control - description: Monument conservation program - value: Monitoring condition, Emergency stabilization - description: Minimal intervention approach - has_or_had_access_management: - range: string - required: true - examples: - - value: Ticketing, Opening hours, Accessibility programs, Education bookings - description: Managed access model - value: Free public access, No booking required - description: Open access model - value: Restricted access, Conservation priority, Virtual alternatives - description: Limited access model is_or_was_managed_by: range: uriorcurie required: true examples: - value: Charitable trust ownership and management - description: English Heritage model - value: Government agency, Statutory authority - description: National monuments agency - value: Public-private partnership, 99-year lease - description: Tower management company has_or_had_type: equals_expression: '["hc:FeatureCustodianType"]' diff --git a/schemas/20251121/linkml/modules/classes/FeaturePlace.yaml b/schemas/20251121/linkml/modules/classes/FeaturePlace.yaml index 1cbe1eb671..bb1873415a 100644 --- a/schemas/20251121/linkml/modules/classes/FeaturePlace.yaml +++ b/schemas/20251121/linkml/modules/classes/FeaturePlace.yaml @@ -60,70 +60,43 @@ classes: - is_or_was_derived_from - is_or_was_generated_by slot_usage: - feature_type: - range: FeatureTypeEnum - required: true - examples: - - value: MANSION - description: Historic mansion building - value: PARISH_CHURCH - description: Historic church building - value: CEMETERY - description: Historic burial ground has_or_had_label: range: string multivalued: true inlined: true required: false - description: 'Name of the physical feature with language tagging. - MIGRATED from feature_name and feature_language per slot_fixes.yaml (Rule 53, 2026-01-26). - ' examples: - value: label_text: Rijksmuseum building language_code: nl - description: Museum building type name - value: label_text: Manor house in Schilderswijk language_code: en - description: Mansion building type name has_or_had_description: range: string inlined: true required: false - description: 'Description of the physical feature. - MIGRATED from feature_description per slot_fixes.yaml (Rule 53, 2026-01-26). - Uses Description class for structured text. - ' examples: - value: description_text: Neo-Gothic museum building designed by P.J.H. Cuypers, opened 1885 - description: Museum building characteristics - value: description_text: 17th-century canal mansion with ornate gable facade - description: Mansion architectural features classifies_or_classified: - description: Link to the CustodianPlace that this feature type classifies. MIGRATED from classifies_place per slot_fixes.yaml (Rule 53, 2026-01-19). range: CustodianPlace required: true examples: - value: https://nde.nl/ontology/hc/place/rijksmuseum-location - description: Classifies 'Rijksmuseum' place as MUSEUM building type has_or_had_note: range: string inlined: true required: false - description: 'Note about the physical feature. - MIGRATED from feature_note per slot_fixes.yaml (Rule 53, 2026-01-26). - Uses Note class. - ' examples: - value: note_content: Classified as museum building based on current function - description: Classification reasoning - value: note_content: 'Rijksmonument #12345, Neo-Gothic style' - description: Heritage and architectural notes is_or_was_derived_from: range: CustodianObservation multivalued: true @@ -132,20 +105,15 @@ classes: range: ReconstructionActivity required: false temporal_extent: - description: 'Validity period using CIDOC-CRM TimeSpan. - MIGRATED from valid_from + valid_to per slot_fixes.yaml (Rule 53). - ' range: TimeSpan inlined: true required: false examples: - value: begin_of_the_begin: '1885-01-01' - description: Building completed, classified as museum from this date - value: begin_of_the_begin: '1650-01-01' end_of_the_end: '1950-12-31' - description: Mansion from construction to demolition has_or_had_type: equals_expression: '["hc:FeatureCustodianType"]' comments: @@ -176,7 +144,6 @@ classes: is_or_was_generated_by: null temporal_extent: begin_of_the_begin: '1885-07-13' - description: Museum building type classification for 'Rijksmuseum' place reference - value: has_or_had_type: MANSION has_or_had_label: @@ -191,7 +158,6 @@ classes: - https://w3id.org/heritage/observation/notarial-deed-1850 temporal_extent: begin_of_the_begin: '1650-01-01' - description: Mansion type classification for 'het herenhuis in de Schilderswijk' place reference - value: has_or_had_type: PARISH_CHURCH has_or_had_label: @@ -204,7 +170,6 @@ classes: - https://w3id.org/heritage/observation/church-archive-catalog temporal_extent: begin_of_the_begin: '1306-01-01' - description: Church building type classification for 'Oude Kerk' place reference annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/FilePath.yaml b/schemas/20251121/linkml/modules/classes/FilePath.yaml index bd0dad67a1..27eebb640d 100644 --- a/schemas/20251121/linkml/modules/classes/FilePath.yaml +++ b/schemas/20251121/linkml/modules/classes/FilePath.yaml @@ -22,7 +22,6 @@ classes: has_or_had_label: range: string required: true - description: The file path string (e.g., "web/0021/rendered.html"). annotations: specificity_score: 0.1 specificity_rationale: Generic utility class. diff --git a/schemas/20251121/linkml/modules/classes/FilmArchiveRecordSetTypes.yaml b/schemas/20251121/linkml/modules/classes/FilmArchiveRecordSetTypes.yaml index 9a970a43b3..479f5c5d14 100644 --- a/schemas/20251121/linkml/modules/classes/FilmArchiveRecordSetTypes.yaml +++ b/schemas/20251121/linkml/modules/classes/FilmArchiveRecordSetTypes.yaml @@ -62,7 +62,6 @@ classes: in_language: pt keywords: - feature films - - speelfilms - fiction films - theatrical films - narrative cinema @@ -156,15 +155,11 @@ classes: in_language: pt keywords: - documentary films - - documentaires - non-fiction films - industrial films - - bedrijfsfilms - educational films - - onderwijsfilms - ethnographic films - sponsored films - - voorlichtingsfilms exact_mappings: - rico:RecordSetType - wd:Q93204 @@ -243,12 +238,7 @@ classes: - literal_form: "cole\xE7\xE3o de cinejornais" in_language: pt keywords: - - newsreels - - bioscoopjournaals - screen magazines - - actualities - - nieuwsfilms - - wochenschau - film news - cinematograph news - war newsreels @@ -335,10 +325,6 @@ classes: in_language: pt keywords: - production records - - productiedossiers - - screenplays - - draaiboeken - - scripts - shooting schedules - call sheets - film production @@ -423,15 +409,10 @@ classes: in_language: pt keywords: - film posters - - filmposters - - affiches - publicity stills - press kits - - perskits - lobby cards - - trailers - film advertising - - reclame - promotional materials - star photographs exact_mappings: diff --git a/schemas/20251121/linkml/modules/classes/FinancialStatement.yaml b/schemas/20251121/linkml/modules/classes/FinancialStatement.yaml index dcbf91ab47..96763c3767 100644 --- a/schemas/20251121/linkml/modules/classes/FinancialStatement.yaml +++ b/schemas/20251121/linkml/modules/classes/FinancialStatement.yaml @@ -95,9 +95,6 @@ classes: - is_or_was_derived_from - is_or_was_generated_by slot_usage: - id: - identifier: true - required: true statement_name: range: string required: true @@ -117,7 +114,6 @@ classes: required: false range: PublicationEvent inlined: true - description: Publication event with temporal extent for statement publication date. MIGRATED from publication_date per Rule 53/56 (2026-01-18). examples: - value: temporal_extent: @@ -125,7 +121,6 @@ classes: end_of_the_begin: '2024-04-15T00:00:00Z' begin_of_the_end: '2024-04-15T00:00:00Z' end_of_the_end: '2024-04-15T00:00:00Z' - description: Published April 15, 2024 statement_currency: range: string required: true @@ -142,25 +137,16 @@ classes: - value: - has_or_had_label: Total Revenue FY2023 has_or_had_quantity: - quantity_value: 78500000.0 - quantity_type: BUDGET_AMOUNT has_or_had_currency: currency_code: EUR has_or_had_label: Euro currency_symbol: "\u20AC" has_or_had_time_interval: - duration_value: P1Y - duration_description: fiscal year 2023 revenue_category: TOTAL - description: Total revenue for Dutch museum annual report has_or_had_expense: range: decimal required: false specifies_or_specified: - description: 'MIGRATED from change_in_net_asset per Rule 53/56 (2026-01-24). - Net asset change specification (surplus/deficit). - = total_revenue - total_expenses - ' range: NetAsset required: false inlined: true @@ -171,61 +157,22 @@ classes: has_or_had_liability: range: decimal required: false - has_or_had_net_asset: - range: decimal - required: false - has_auditor_name: - range: string - required: false - has_audit_opinion: - range: string - required: false - examples: - - value: UNQUALIFIED - description: Clean audit opinion - has_audit_date: - range: date - required: false - financial_document_url: - range: uri - required: false - examples: - - value: https://www.rijksmuseum.nl/en/about-us/annual-report - description: Museum annual report page has_or_had_format: range: string required: false has_or_had_type: - description: 'Type of financial filing (e.g. Annual Report, Form 990). - MIGRATED from filing_type per Rule 53. - Uses RecordSetType class hierarchy but could also be a simple string for now if no specific taxonomy exists. - Given usage "IRS Form 990", it''s a specific document type. - Let''s use string range for now but renamed slot to has_or_had_type as generic pattern. - ' range: string required: false examples: - value: IRS Form 990 - description: US tax filing has_or_had_identifier: - description: 'Identifier for the financial filing (e.g. tax ID, filing number). - MIGRATED from filing_id per Rule 53. - Uses Identifier class. - ' range: uriorcurie required: false multivalued: true inlined: true examples: - value: - identifier_value: 13-1624102 - identifier_scheme: IRS_EIN - description: IRS Employer Identification Number (filing ID) has_or_had_status: - description: 'Status of the financial statement (e.g. Audit status, Lifecycle stage). - MIGRATED from has_or_had_audit_status and financial_archival_stage. - Supports multiple statuses (e.g. Audited + Active). - Rule 59: Use range: string with any_of for union types.' multivalued: true range: string any_of: @@ -234,17 +181,12 @@ classes: - value: has_or_had_type: AuditedStatus has_or_had_label: Audited - description: Audit status documents_or_documented: range: Budget multivalued: true required: false - description: 'Links this financial statement to the Budget(s) it documents/reports on. - MIGRATED from documents_budget (2026-01-26). - ' examples: - value: https://nde.nl/ontology/hc/budget/rm/fy2023 - description: Statement documents FY2023 budget managing_unit: range: OrganizationalStructure required: false @@ -259,9 +201,6 @@ classes: range: ReconstructionActivity required: false temporal_extent: - description: 'Validity period using CIDOC-CRM TimeSpan. - MIGRATED from valid_from + valid_to per slot_fixes.yaml (Rule 53). - ' range: TimeSpan inlined: true required: false @@ -292,29 +231,21 @@ classes: has_or_had_revenue: - has_or_had_label: Total Revenue FY2023 has_or_had_quantity: - quantity_value: 78500000.0 - quantity_type: BUDGET_AMOUNT has_or_had_currency: currency_code: EUR has_or_had_label: Euro currency_symbol: "\u20AC" has_or_had_time_interval: - duration_value: P1Y - duration_description: fiscal year 2023 revenue_category: TOTAL total_expenses: 75200000.0 specifies_or_specified: - has_or_had_net_asset: 3300000.0 currency: EUR - fiscal_year: 2023 total_assets: 125000000.0 total_liabilities: 15000000.0 total_net_assets: 110000000.0 - has_or_had_expenses: - expense_type: PROGRAM - amount: 62000000.0 currency: EUR - description: Program service expenses including exhibitions, conservation, education auditor_name: KPMG Accountants N.V. audit_opinion: UNQUALIFIED audit_date: '2024-03-20' @@ -327,7 +258,6 @@ classes: documents_or_documented: - https://nde.nl/ontology/hc/budget/rm/fy2023 refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Major museum annual report with full audit annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/FindingAid.yaml b/schemas/20251121/linkml/modules/classes/FindingAid.yaml index 9664f445d7..22b8f298ae 100644 --- a/schemas/20251121/linkml/modules/classes/FindingAid.yaml +++ b/schemas/20251121/linkml/modules/classes/FindingAid.yaml @@ -165,20 +165,16 @@ classes: - bf:Work slots: - has_or_had_policy - - has_or_had_overview - creator - custodian - has_or_had_description - has_or_had_identifier - - has_or_had_external_resource - has_or_had_note - has_or_had_type - has_or_had_format - has_or_had_geographic_extent - has_or_had_identifier - - id - isbn - - has_or_had_key_archive - language - note - includes_or_included @@ -194,21 +190,10 @@ classes: start: range: TemporalValue required: true - end: - range: TemporalValue - required: true has_or_had_period: range: TemporalPeriod multivalued: true inlined_as_list: true - has_or_had_key_period: - range: TemporalPeriod - multivalued: true - inlined_as_list: true - has_or_had_key_date: - range: KeyDate - multivalued: true - inlined_as_list: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration @@ -239,7 +224,6 @@ classes: period_end: range: TemporalValue aliases: - - end period_description: range: string aliases: @@ -256,11 +240,9 @@ classes: - has_or_had_score slot_usage: date: - description: ISO 8601 date (YYYY-MM-DD or YYYY) range: string required: true has_or_had_description: - description: Description of what happened (multilingual support) range: string multivalued: true inlined: true @@ -294,12 +276,7 @@ classes: is_or_was_located_in: range: string multivalued: true - description: Historical regions covered by this geographic extent. Replaces historical_region (Rule 53). includes_or_included: - description: 'MIGRATED from colonial per slot_fixes.yaml (Rule 53, 2026-01-22). - Geographic territories included in this coverage area. - Use GeoSpatialPlace for structured geographic data. - ' range: GeoSpatialPlace multivalued: true inlined: true @@ -309,27 +286,16 @@ classes: geospatial_id: https://nde.nl/ontology/hc/geo/dutch-east-indies latitude: -6.2 longitude: 106.8 - geometry_type: POLYGON - description: Dutch East Indies territory is_or_was_categorized_as: - description: 'MIGRATED from colonial per slot_fixes.yaml (Rule 53, 2026-01-22). - Colonial status categorization for this geographic coverage. - Use ColonialStatus for structured colonial relationship data. - ' range: ColonialStatus multivalued: true inlined: true inlined_as_list: true examples: - value: - territory_name: Dutch East Indies - colonizing_power: Netherlands - modern_equivalent: - - ID temporal_extent: begin_of_the_begin: '1602-01-01' end_of_the_end: '1949-12-27' - description: Dutch colonial Indonesia international: multivalued: true major_city: @@ -367,44 +333,26 @@ classes: required: true multivalued: true inlined: true - description: 'Multilingual titles for this sub-guide. - MIGRATED from title_nl/title_en slots (2026-01-14) per Rule 53. - Uses Label class with language_code to support any language. - ' examples: - value: 'label_value: "Burgerlijke Stand" language_code: "nl" ' - description: Dutch title - value: 'label_value: "Civil Registry" language_code: "en" ' - description: English title has_or_had_url: range: uri inlined: true required: true - description: 'URL of the sub-guide web resource. - MIGRATED from url slot per slot_fixes.yaml (Rule 53, 2025-01-15). - ' has_or_had_type: range: uriorcurie - description: 'The type classification of this sub-guide. - Uses SubGuideType class hierarchy. - ' is_or_was_access_restricted: range: boolean has_or_had_content: range: string - description: 'Time period covered by this sub-guide (free text). - MIGRATED from sub_guide_temporal_coverage (2026-01-17) per Rule 53/56. - Examples: "1811-1935", "before 1811", "1811-present" - ' examples: - value: 1811-1935 - description: Date range - value: before 1811 - description: Open-ended historical period exact_mappings: - rico:isOrWasPartOf ArchiveReference: @@ -414,9 +362,7 @@ classes: (external archives with related holdings). ' slots: - - has_or_had_access_condition - has_or_had_label - - geographic_coverage - has_or_had_identifier - has_or_had_level - contains_or_contained @@ -430,25 +376,17 @@ classes: range: integer minimum_value: 1 maximum_value: 6 - description: Heading level (1-6). MIGRATED from heading_level/contains_or_contained duplicate. contains_or_contained: multivalued: true inlined_as_list: true any_of: - range: PageSection - range: PageLink - has_or_had_featured_item: - range: FeaturedCard - multivalued: true - inlined_as_list: true list_item: multivalued: true has_or_had_provenance_path: range: XPath inlined: true - description: 'XPath provenance path documenting the exact location of the section in the source HTML. - MIGRATED from xpath slot per slot_fixes.yaml (Rule 53, 2026-01-15). - ' exact_mappings: - schema:WebPageElement PageLink: @@ -477,9 +415,6 @@ classes: has_or_had_provenance_path: range: XPath inlined: true - description: 'XPath provenance path documenting the exact location of the link in the source HTML. - MIGRATED from xpath slot per slot_fixes.yaml (Rule 53, 2026-01-15). - ' FeaturedCard: class_uri: schema:CreativeWork description: 'A featured content card (often with image/icon). @@ -498,68 +433,44 @@ classes: range: string multivalued: true inlined: true - description: 'Card description(s) with language tagging. - MIGRATED 2026-01-22: Replaces card_description and card_description_en. - Use description_type: "card" and language: "nl"/"en" to distinguish. - ' examples: - value: description_text: Kaart beschrijving in het Nederlands description_type: card language: nl - description: Dutch card description - value: description_text: Card description in English description_type: card language: en - description: English card description has_or_had_image: range: Image multivalued: true inlined: true - description: 'Card thumbnail/preview image(s). - MIGRATED 2026-01-22: Replaces card_image_url with structured Image class. - ' examples: - value: has_or_had_url: has_or_had_value: https://archive.org/images/card.jpg - image_format: JPEG - description: Card thumbnail image has_or_had_label: range: string multivalued: true inlined: true required: true - description: 'Card title(s) with language tagging. - MIGRATED 2026-01-22: Replaces card_title and card_title_en. - Use Label.language to distinguish Dutch/English titles. - ' examples: - value: has_or_had_text: Kaart titel language: nl - description: Dutch card title - value: has_or_had_text: Card title language: en - description: English card title has_or_had_url: range: uri inlined: true - description: 'URL the card links to. - MIGRATED 2026-01-22: Replaces card_url with structured URL class. - ' examples: - value: has_or_had_value: https://archive.org/page - description: Card destination URL has_or_had_provenance_path: range: XPath inlined: true - description: 'XPath provenance path documenting the exact location of the card in the source HTML. - MIGRATED from xpath slot per slot_fixes.yaml (Rule 53, 2026-01-15). - ' types: TemporalValue: typeof: string diff --git a/schemas/20251121/linkml/modules/classes/FindingAidType.yaml b/schemas/20251121/linkml/modules/classes/FindingAidType.yaml index 004127a0b8..517ab76a89 100644 --- a/schemas/20251121/linkml/modules/classes/FindingAidType.yaml +++ b/schemas/20251121/linkml/modules/classes/FindingAidType.yaml @@ -75,55 +75,27 @@ classes: inlined: true required: true identifier: true - description: 'Unique identifier for the finding aid type. - - MIGRATED from finding_aid_type_id per slot_fixes.yaml (Rule 53, 2026-01-26). - - ' has_or_had_label: range: string inlined: true required: true - description: 'Name of the finding aid type. - - MIGRATED from finding_aid_type_name per slot_fixes.yaml (Rule 53, 2026-01-26). - - Uses Label class. - - ' has_or_had_description: - description: 'Definition of the finding aid type concept. - - MIGRATED from finding_aid_type_definition per slot_fixes.yaml (Rule 53, 2026-01-26). - - Uses Description class for structured text. - - ' range: string inlined: true examples: - value: description_text: A descriptive tool that establishes intellectual and physical control over records. - description: Standard definition is_or_was_equivalent_to: range: WikiDataIdentifier multivalued: true inlined: true inlined_as_list: true - description: 'Wikidata equivalence for this finding aid type concept. - - MIGRATED 2026-01-15: Replaces wikidata_id slot per Rule 53. - - ' examples: - value: - qid: Q65769447 - label: inventory - description: Wikidata equivalence for finding aid type record_equivalent: range: uriorcurie has_or_had_hypernym: - description: MIGRATED from broader_type (Rule 53). For finding aid subtypes, links to parent type in hierarchy. range: FindingAidType narrower_type: range: FindingAidType @@ -132,11 +104,6 @@ classes: range: Domain multivalued: true inlined_as_list: true - description: 'The typical domain(s) for this finding aid type. - - MIGRATED from typical_domain per slot_fixes.yaml (Rule 53, 2026-01-15). - - ' annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Foremalarkiv.yaml b/schemas/20251121/linkml/modules/classes/Foremalarkiv.yaml index 98cb988f43..63463f5db5 100644 --- a/schemas/20251121/linkml/modules/classes/Foremalarkiv.yaml +++ b/schemas/20251121/linkml/modules/classes/Foremalarkiv.yaml @@ -29,11 +29,8 @@ classes: - has_or_had_identifier slot_usage: has_or_had_identifier: - description: "Wikidata identifier for F\xF6rem\xE5lsarkiv concept" has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - geographic_restriction: - equals_string: Sweden (primarily) annotations: skos:prefLabel: "F\xF6rem\xE5lsarkiv" skos:altLabel: Foremalarkiv, Object Archive, Swedish Object Archive diff --git a/schemas/20251121/linkml/modules/classes/FoundingEvent.yaml b/schemas/20251121/linkml/modules/classes/FoundingEvent.yaml index a6e2b4dbc2..ca83ee9013 100644 --- a/schemas/20251121/linkml/modules/classes/FoundingEvent.yaml +++ b/schemas/20251121/linkml/modules/classes/FoundingEvent.yaml @@ -114,20 +114,6 @@ classes: - value: Johannes van der Berg slot_usage: temporal_extent: - description: 'The temporal extent of the founding event. - - For a known year (e.g., 1902), use: - - - begin_of_the_begin: "1902-01-01" - - - end_of_the_begin: "1902-12-31" - - - For a precise date (e.g., 1902-03-15), set all bounds equal. - - For uncertain date ranges, use appropriate fuzzy bounds. - - ' range: TimeSpan inlined: true required: true @@ -142,29 +128,16 @@ classes: temporal_extent: begin_of_the_begin: '1800-01-01' end_of_the_begin: '1800-12-31' - notes: Founded in 1800 by King Louis Napoleon - founding_description: Founded as the Royal Museum by King Louis Napoleon - founded_by: - - King Louis Napoleon - founding_location: The Hague, Netherlands - description: Rijksmuseum founding event - value: has_or_had_identifier: https://nde.nl/ontology/hc/event/founding/de-kas-1902 temporal_extent: begin_of_the_begin: '1902-01-01' end_of_the_begin: '1902-12-31' - founding_description: Established as historic greenhouse restaurant - founded_by: - - Original family owners - description: Historic restaurant founding - value: has_or_had_identifier: https://nde.nl/ontology/hc/event/founding/unknown-archive-1850s temporal_extent: begin_of_the_begin: '1850-01-01' end_of_the_begin: '1859-12-31' - notes: Founded sometime in the 1850s - founding_description: Founded during the 1850s, exact date unknown - description: Founding with decade-level uncertainty annotations: custodian_types: '["*"]' custodian_types_rationale: Founding events applicable to all custodian types. diff --git a/schemas/20251121/linkml/modules/classes/FreeArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/FreeArchiveRecordSetType.yaml index edfa7d4a45..d863b57140 100644 --- a/schemas/20251121/linkml/modules/classes/FreeArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/FreeArchiveRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/FrenchPrivateArchives.yaml b/schemas/20251121/linkml/modules/classes/FrenchPrivateArchives.yaml index 46ecfa7d73..6664aa3d5b 100644 --- a/schemas/20251121/linkml/modules/classes/FrenchPrivateArchives.yaml +++ b/schemas/20251121/linkml/modules/classes/FrenchPrivateArchives.yaml @@ -44,7 +44,6 @@ classes: annotations: skos:prefLabel: French Private Archives skos:altLabel: "Privatarchiv (Frankreich), archives priv\xE9es en France, Archives priv\xE9es" - geographic_restriction: France only legal_framework: French archival law specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/FrenchPrivateArchivesRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/FrenchPrivateArchivesRecordSetType.yaml index 742f3d9629..baeefe8bf3 100644 --- a/schemas/20251121/linkml/modules/classes/FrenchPrivateArchivesRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/FrenchPrivateArchivesRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/FunctionType.yaml b/schemas/20251121/linkml/modules/classes/FunctionType.yaml index fe610ddfcc..aeec6fb039 100644 --- a/schemas/20251121/linkml/modules/classes/FunctionType.yaml +++ b/schemas/20251121/linkml/modules/classes/FunctionType.yaml @@ -114,24 +114,15 @@ classes: range: FunctionCategory inlined: true required: true - description: | - High-level function classification (ADMINISTRATIVE, PROGRAM, SUPPORT). - MIGRATED from function_category per Rule 53. - Uses FunctionCategory class. has_or_had_label: # was: function_name - migrated per Rule 53 (2026-01-26) range: string required: true - description: Specific name of the function (e.g., "Finance and Accounting"). has_or_had_description: range: string required: false - description: Human-readable description of the function. temporal_extent: range: TimeSpan inlined: true - description: >- - Time period when this function was active. - Use begin_of_the_begin for start date, end_of_the_end for end date. annotations: custodian_types: '["*"]' custodian_types_rationale: Organizational functions applicable to all heritage custodian types. @@ -146,20 +137,15 @@ classes: has_or_had_label: ADMINISTRATIVE has_or_had_label: Finance and Accounting has_or_had_description: "Financial operations, budgeting, and reporting" - description: Administrative function - Finance - value: is_or_was_categorized_as: has_or_had_label: PROGRAM has_or_had_label: Conservation has_or_had_description: "Object conservation and preservation activities" - description: Program function - Conservation - value: is_or_was_categorized_as: has_or_had_label: SUPPORT has_or_had_label: Information Technology has_or_had_description: "IT infrastructure and support services" - description: Support function - IT - - # REMOVED inline slots 2026-01-16 - Rule 48 violation # Slots are imported from ../slots/ - do not define inline \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/FundingAgenda.yaml b/schemas/20251121/linkml/modules/classes/FundingAgenda.yaml index 006db7c735..57a870a5ea 100644 --- a/schemas/20251121/linkml/modules/classes/FundingAgenda.yaml +++ b/schemas/20251121/linkml/modules/classes/FundingAgenda.yaml @@ -83,127 +83,77 @@ classes: - is_or_was_related_to - is_or_was_implemented_by - related_agenda - - has_or_had_convention - has_or_had_investment - temporal_extent slot_usage: has_or_had_identifier: - description: Unique identifier for this funding agenda. Uses the generic has_or_had_identifier slot with FundingAgenda-specific formatting. identifier: true required: true range: uriorcurie pattern: ^https://nde\.nl/ontology/hc/agenda/[a-z0-9-]+/[a-z0-9-]+$ examples: - value: https://nde.nl/ontology/hc/agenda/nl/nwa - description: Dutch Research Agenda (NWA) - value: https://nde.nl/ontology/hc/agenda/eu/horizon-europe-sp-2021-2024 - description: Horizon Europe Strategic Plan 2021-2024 - value: https://nde.nl/ontology/hc/agenda/uk/ace-lets-create - description: Arts Council England Let's Create strategy has_or_had_title: required: true range: string - description: Official title of the funding agenda. examples: - value: Nationale Wetenschapsagenda - description: Dutch Research Agenda official Dutch title - value: Horizon Europe Strategic Plan 2021-2024 - description: EU framework strategic plan has_or_had_label: range: string inlined: true multivalued: true - description: Short name or abbreviation for the agenda (e.g. NWA, HE SP). examples: - value: has_or_had_label: NWA has_or_had_type: has_or_had_code: SHORT_NAME - description: Dutch Research Agenda acronym - value: has_or_had_label: HE SP has_or_had_type: has_or_had_code: SHORT_NAME - description: Horizon Europe Strategic Plan - value: has_or_had_label: Let's Create has_or_had_type: has_or_had_code: SHORT_NAME - description: Arts Council England strategy has_or_had_description: range: string inlined: true - description: Description of the funding agenda. has_or_had_url: range: uri inlined: true multivalued: true - description: URLs related to the agenda (website, documents). examples: - value: has_or_had_url: https://www.nwo.nl/en/researchprogrammes/dutch-research-agenda-nwa has_or_had_type: has_or_had_code: WEBSITE - description: Agenda website - value: has_or_had_url: https://wetenschapsagenda.nl/publicaties/ has_or_had_type: has_or_had_code: DOCUMENT - description: Agenda document URL is_or_was_governed_by: range: GoverningBody examples: - value: has_or_had_identifier: https://nde.nl/ontology/hc/encompassing-body/umbrella/nl-ministry-ocw - description: Dutch Ministry of OCW - value: has_or_had_identifier: https://nde.nl/ontology/hc/encompassing-body/umbrella/eu-commission - description: European Commission - has_or_had_implementing_organisation: - range: uriorcurie - multivalued: true - inlined_as_list: true - examples: - - value: https://nde.nl/ontology/hc/encompassing-body/funding/nwo - description: NWO implements Dutch Research Agenda - value: https://nde.nl/ontology/hc/encompassing-body/funding/ec-rea - description: REA implements Horizon Europe calls temporal_extent: range: TimeSpan - description: 'The temporal period during which this funding agenda is active. - Uses CIDOC-CRM TimeSpan pattern for precise or fuzzy date representation. - **Types of validity**: - - Fixed periods: EU frameworks (2021-2027), strategic plans - - Open-ended: Ongoing agendas like NWA (start date, no end) - - Historical: Superseded agendas (both dates set) - ' examples: - value: begin_of_the_begin: '2021-01-01T00:00:00Z' end_of_the_begin: '2021-01-01T00:00:00Z' begin_of_the_end: '2024-12-31T23:59:59Z' end_of_the_end: '2024-12-31T23:59:59Z' - description: Horizon Europe Strategic Plan 2021-2024 - value: begin_of_the_begin: '2015-11-27T00:00:00Z' end_of_the_begin: '2015-11-27T00:00:00Z' - description: Dutch Research Agenda - ongoing since 2015 - has_or_had_convention: - range: ThematicRoute - multivalued: true - inlined_as_list: true - examples: - - value: - - route_id: https://nde.nl/ontology/hc/route/nwa/cultural-identity - route_title: Cultural Identity - route_description: Research on Dutch cultural heritage, identity, and diversity - route_relevance_to_heritage: Directly relevant - focuses on tangible and intangible heritage - description: NWA Cultural Identity route is_or_was_related_to: - description: | - Relationship to Heritage domain. - MIGRATED from heritage_relevance (string) per Rule 53 (2026-01-28). - Uses Heritage class to capture relevance description. range: Heritage multivalued: true inlined: true @@ -211,33 +161,24 @@ classes: - value: has_or_had_label: Heritage has_or_had_description: High - specific heritage route - description: High relevance - value: has_or_had_label: Heritage has_or_had_description: Low - general research only - description: Low relevance is_or_was_implemented_by: - description: 'Organizations implementing the agenda. - MIGRATED from has_or_had_implementing_organisation per Rule 53. - Uses Organization class. - ' range: Organization multivalued: true inlined: true examples: - value: has_or_had_name: NWO (Dutch Research Council) - description: Research council - value: has_or_had_name: Netherlands Enterprise Agency (RVO) - description: Implementation agency related_agenda: range: uriorcurie multivalued: true inlined_as_list: true examples: - value: https://nde.nl/ontology/hc/agenda/eu/h2020-swfs - description: Horizon 2020 (predecessor to Horizon Europe) comments: - FundingAgenda represents strategic priorities that guide funding allocation - Sits ABOVE CallForApplication in the funding hierarchy @@ -272,7 +213,6 @@ classes: temporal_extent: begin_of_the_begin: '2015-11-27T00:00:00Z' end_of_the_begin: '2015-11-27T00:00:00Z' - has_or_had_convention: - route_id: https://nde.nl/ontology/hc/route/nwa/cultural-identity route_title: Origin and Identity of the Netherlands and Its Inhabitants route_description: 'Research on Dutch cultural heritage, national identity, migration history, @@ -284,7 +224,6 @@ classes: - national identity - migration - diversity - - history route_relevance_to_heritage: Directly relevant - focuses on tangible and intangible Dutch heritage, historical collections, and cultural memory institutions. - route_id: https://nde.nl/ontology/hc/route/nwa/creative-industry route_title: Art, Culture and the Creative Industry @@ -317,7 +256,6 @@ classes: - Netherlands - interdisciplinary research - societal challenges - description: Dutch Research Agenda (NWA) as strategic research framework - value: has_or_had_identifier: https://nde.nl/ontology/hc/agenda/eu/horizon-europe-sp-2021-2024 agenda_title: Horizon Europe Strategic Plan 2021-2024 @@ -333,7 +271,6 @@ classes: agenda_url: https://research-and-innovation.ec.europa.eu/funding/funding-opportunities/funding-programmes-and-open-calls/horizon-europe/strategic-plan_en is_or_was_governed_by: has_or_had_identifier: https://nde.nl/ontology/hc/encompassing-body/umbrella/eu-commission - has_or_had_implementing_organisation: - https://nde.nl/ontology/hc/encompassing-body/funding/ec-rea - https://nde.nl/ontology/hc/encompassing-body/funding/erc - https://nde.nl/ontology/hc/encompassing-body/funding/eacea @@ -342,7 +279,6 @@ classes: end_of_the_begin: '2021-01-01T00:00:00Z' begin_of_the_end: '2024-12-31T23:59:59Z' end_of_the_end: '2024-12-31T23:59:59Z' - has_or_had_convention: - route_id: https://nde.nl/ontology/hc/route/he/cluster-2 route_title: 'Cluster 2: Culture, Creativity and Inclusive Society' route_description: 'Research and innovation addressing democracy, cultural heritage, social @@ -392,7 +328,6 @@ classes: - cultural heritage - Cluster 2 - EU Missions - description: Horizon Europe Strategic Plan 2021-2024 annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration @@ -438,17 +373,13 @@ classes: pattern: ^https://nde\.nl/ontology/hc/route/[a-z0-9-]+/[a-z0-9-]+$ examples: - value: https://nde.nl/ontology/hc/route/nwa/cultural-identity - description: NWA Cultural Identity route - value: https://nde.nl/ontology/hc/route/he/cluster-2 - description: Horizon Europe Cluster 2 route_title: required: true range: string examples: - value: Origin and Identity of the Netherlands and Its Inhabitants - description: NWA route title - value: Culture, Creativity and Inclusive Society - description: Horizon Europe Cluster 2 route_description: range: string route_keyword: @@ -480,5 +411,4 @@ classes: - collective memory - museums - archives - route_relevance_to_heritage: Directly relevant - this route explicitly addresses cultural heritage institutions, collections, and the role of heritage in identity formation. Museums and archives are key partners in NWA research on this theme. - description: NWA Cultural Identity thematic route + route_relevance_to_heritage: Directly relevant - this route explicitly addresses cultural heritage institutions, collections, and the role of heritage in identity formation. Museums and archives are key partners in NWA research on this theme. \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/FundingRequirement.yaml b/schemas/20251121/linkml/modules/classes/FundingRequirement.yaml index b702e113a1..b2c10c7e62 100644 --- a/schemas/20251121/linkml/modules/classes/FundingRequirement.yaml +++ b/schemas/20251121/linkml/modules/classes/FundingRequirement.yaml @@ -78,71 +78,48 @@ classes: pattern: ^https://nde\.nl/ontology/hc/requirement/[a-z0-9-]+/[a-z0-9-]+$ examples: - value: https://nde.nl/ontology/hc/requirement/ec-cl2-2025-heritage-01/min-partners-3 - description: Minimum partners requirement for Horizon Europe call - value: https://nde.nl/ontology/hc/requirement/nlhf-medium-2025/cofunding-25pct - description: Co-funding requirement for NLHF grants requirement_type: required: false range: FundingRequirementTypeEnum deprecated: 'DEPRECATED 2026-01-13: Use has_or_had_type with RequirementType class instead' examples: - value: PARTNERSHIP_MINIMUM_PARTNERS - description: Consortium size requirement (DEPRECATED - use has_or_had_type) - value: FINANCIAL_COFUNDING - description: Match funding requirement (DEPRECATED - use has_or_had_type) - value: ELIGIBILITY_GEOGRAPHIC - description: Country eligibility requirement (DEPRECATED - use has_or_had_type) has_or_had_type: required: true range: RequirementType - description: 'Classification type for the funding requirement (replaces requirement_type enum). - - Provides structured class hierarchy for requirement categorization. - - ' examples: - value: has_or_had_code: PARTNERSHIP_MINIMUM_PARTNERS has_or_had_label: - Minimum partners requirement@en - description: Consortium size requirement using RequirementType class - value: has_or_had_code: FINANCIAL_COFUNDING has_or_had_label: - Co-funding requirement@en - description: Match funding requirement using RequirementType class requirement_text: required: true range: string examples: - value: Minimum 3 independent legal entities from 3 different EU Member States or Horizon Europe Associated Countries - description: Partnership requirement from Horizon Europe - value: Applications must demonstrate at least 25% co-funding from non-EU sources - description: Co-funding requirement from call guidelines requirement_value: range: string examples: - value: '3' - description: Minimum 3 partners - value: '25' - description: 25% co-funding - value: eu-member-states - description: Geographic eligibility - value: immediate - description: Immediate open access requirement_unit: range: string examples: - value: partners - description: Number of consortium partners - value: percent - description: Percentage (co-funding, funding rate) - value: EUR - description: Currency for budget amounts - value: months - description: Project duration - value: countries - description: Geographic diversity is_mandatory: range: boolean ifabsent: 'true' @@ -156,21 +133,16 @@ classes: range: uriorcurie examples: - value: https://nde.nl/ontology/hc/observation/web/2025-11-29/eu-horizon-cl2-heritage - description: Observation of Horizon Europe call page source_section: range: string examples: - value: Section 2.1 - Eligibility Criteria - description: Location in call document - value: 'FAQ #7 - Consortium composition' - description: Location in FAQ document - value: Work Programme page 45 - description: Location in programme document supersedes_or_superseded: range: uriorcurie examples: - value: https://nde.nl/ontology/hc/requirement/ec-cl2-2024-heritage-01/min-partners-4 - description: Previous version required 4 partners comments: - Each requirement links to WebObservation for full provenance chain - requirement_value + requirement_unit enable structured queries @@ -196,7 +168,6 @@ classes: has_or_had_score: has_or_had_score: 0.98 has_or_had_note: Clear statement in eligibility section. Standard Horizon Europe RIA requirement. - description: Minimum partners requirement for Horizon Europe heritage call - value: requirement_id: https://nde.nl/ontology/hc/requirement/ec-cl2-2025-heritage-01/cofunding-for-profit requirement_type: FINANCIAL_COFUNDING @@ -210,7 +181,6 @@ classes: has_or_had_score: has_or_had_score: 0.95 has_or_had_note: Applies only to for-profit partners. Non-profits receive 100% funding. - description: Co-funding requirement for for-profit entities - value: requirement_id: https://nde.nl/ontology/hc/requirement/ec-cl2-2025-heritage-01/open-access requirement_type: TECHNICAL_OPEN_ACCESS @@ -224,7 +194,6 @@ classes: has_or_had_score: has_or_had_score: 0.99 has_or_had_note: Standard Horizon Europe open access requirement. Plan S compliant. - description: Open access publication requirement - value: requirement_id: https://nde.nl/ontology/hc/requirement/nlhf-medium-2025/uk-based requirement_type: ELIGIBILITY_GEOGRAPHIC @@ -238,7 +207,6 @@ classes: has_or_had_score: has_or_had_score: 0.99 has_or_had_note: Clear UK-only restriction. Devolved nations explicitly included. - description: UK geographic eligibility for National Lottery Heritage Fund - value: requirement_id: https://nde.nl/ontology/hc/requirement/nlhf-medium-2025/non-profit requirement_type: ELIGIBILITY_ORGANIZATIONAL @@ -252,7 +220,6 @@ classes: has_or_had_score: has_or_had_score: 0.95 has_or_had_note: Explicitly excludes for-profit. Social enterprises may need verification. - description: Non-profit eligibility for National Lottery Heritage Fund annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/GLAM.yaml b/schemas/20251121/linkml/modules/classes/GLAM.yaml index 2b41d190cc..44e549bace 100644 --- a/schemas/20251121/linkml/modules/classes/GLAM.yaml +++ b/schemas/20251121/linkml/modules/classes/GLAM.yaml @@ -27,7 +27,6 @@ classes: - has_or_had_identifier slot_usage: has_or_had_identifier: - description: Wikidata identifier for GLAM concept annotations: skos:prefLabel: GLAM skos:altLabel: Galleries, Libraries, Archives, and Museums, GLAM institution, Memory institution, Cultural heritage institution diff --git a/schemas/20251121/linkml/modules/classes/GalleryType.yaml b/schemas/20251121/linkml/modules/classes/GalleryType.yaml index 15f8bb805c..99336e09c5 100644 --- a/schemas/20251121/linkml/modules/classes/GalleryType.yaml +++ b/schemas/20251121/linkml/modules/classes/GalleryType.yaml @@ -160,23 +160,16 @@ classes: has_or_had_identifier: # was: wikidata_entity - migrated per Rule 53 (2026-01-16) pattern: ^Q[0-9]+$ required: true - description: Wikidata identifier (Q-number) for this Gallery type concept custodian_type_broader: range: GalleryType required: false has_or_had_type: equals_expression: '["hc:GalleryType"]' is_or_was_categorized_as: # was: exhibition_focus - migrated per Rule 53 (2026-01-26) - description: Type of art exhibited (e.g., contemporary art). range: string has_or_had_model: # was: exhibition_model - migrated per Rule 53 (2026-01-26) - description: Exhibition strategy (e.g., temporary rotating exhibitions). range: string includes_or_included: # was: gallery_subtype - migrated per Rule 53 (2026-01-26) - description: | - Subtype of the gallery (e.g. Commercial, NonProfit). - MIGRATED from gallery_subtype per Rule 53. - Uses GalleryType class hierarchy. range: GalleryType any_of: - range: CommercialGallery @@ -211,13 +204,9 @@ classes: custodian_type_broader: https://nde.nl/ontology/hc/type/gallery/Q1007870 # MIGRATED 2026-01-22: commercial_operation → has_or_had_objective + Profit (Rule 53) has_or_had_objective: - objective_type: "nonprofit" - is_commercial: false - profit_model: "Public funding and grants" is_or_was_categorized_as: contemporary art sales_activity: false has_or_had_model: temporary rotating exhibitions, no permanent collection - description: Kunsthalle model - non-commercial exhibition venue - value: has_or_had_identifier: https://nde.nl/ontology/hc/type/gallery/Q56856618 has_or_had_type_code: GALLERY @@ -228,9 +217,6 @@ classes: custodian_type_broader: https://nde.nl/ontology/hc/type/gallery/Q1007870 # MIGRATED 2026-01-22: commercial_operation → has_or_had_objective + Profit (Rule 53) has_or_had_objective: - objective_type: "for-profit" - is_commercial: true - profit_model: "Sales commission (50%)" represents_or_represented: - has_or_had_label: Artist A - has_or_had_label: Artist B @@ -240,13 +226,6 @@ classes: has_or_had_model: curated exhibitions of represented artists # MIGRATED 2026-01-22: commission_rate → has_or_had_service + ArtSaleService (Rule 53) has_or_had_service: - service_name: "Primary Market Sales" - market_type: "primary" - artist_representation: true sales_activity: true takes_or_took_comission: - rate_type: "primary_market" - has_or_had_percentage: - percentage_value: 50 - percentage_display: "50%" - description: Commercial gallery with artist representation and sales + has_or_had_percentage: \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/GenerationEvent.yaml b/schemas/20251121/linkml/modules/classes/GenerationEvent.yaml index 3d0b46c57a..5ea1732690 100644 --- a/schemas/20251121/linkml/modules/classes/GenerationEvent.yaml +++ b/schemas/20251121/linkml/modules/classes/GenerationEvent.yaml @@ -57,7 +57,6 @@ classes: slot_usage: temporal_extent: - description: When the generation event occurred range: TimeSpan required: false inlined: true @@ -65,10 +64,7 @@ classes: - value: begin_of_the_begin: "2024-01-15T10:30:00Z" end_of_the_end: "2024-01-15T10:30:00Z" - description: Point-in-time generation event - has_or_had_provenance: - description: Provenance information about who/what generated the entity range: Provenance required: false inlined: true @@ -77,20 +73,12 @@ classes: has_or_had_agent: has_or_had_type: SOFTWARE has_or_had_name: "YouTube Auto-Chapters" - description: AI-generated chapters - has_or_had_description: - description: Additional details about the generation process range: string required: false examples: - value: "Generated using Whisper transcript segmentation" - description: Description of generation method - has_or_had_score: - description: >- - Confidence score for the generation output. Uses ConfidenceScore class - to capture structured confidence with method and explanation. range: ConfidenceScore required: false inlined: true @@ -99,8 +87,6 @@ classes: has_or_had_score: 0.95 has_or_had_method: "xpath_extraction" has_or_had_description: "High confidence - exact match at expected location" - description: Confidence score for generated content - annotations: custodian_types: '["*"]' custodian_types_rationale: >- @@ -118,8 +104,6 @@ classes: has_or_had_score: has_or_had_score: 0.92 has_or_had_method: "transcript_segmentation" - description: Video chapter generation event with confidence - comments: - Created from slot_fixes.yaml migration (2026-01-19) - Updated 2026-01-19 to include has_or_had_score for confidence tracking diff --git a/schemas/20251121/linkml/modules/classes/GeoSpatialPlace.yaml b/schemas/20251121/linkml/modules/classes/GeoSpatialPlace.yaml index 67454fced6..cf16f283f2 100644 --- a/schemas/20251121/linkml/modules/classes/GeoSpatialPlace.yaml +++ b/schemas/20251121/linkml/modules/classes/GeoSpatialPlace.yaml @@ -70,21 +70,12 @@ classes: - coordinate_reference_system - has_or_had_geofeature - has_or_had_geometry - - geonames_id - - geospatial_id - - geospatial_source - osm_id - spatial_resolution - specificity_annotation - has_or_had_score - temporal_extent slot_usage: - geospatial_id: - identifier: true - required: true - examples: - - value: https://nde.nl/ontology/hc/geo/rijksmuseum-building - - value: https://nde.nl/ontology/hc/geo/amsterdam-centroid has_or_had_coordinates: range: Coordinates inlined: true @@ -93,30 +84,13 @@ classes: - value: latitude: 52.36 longitude: 4.8852 - precision: 1.0 - description: Rijksmuseum coordinates - geometry_wkt: - examples: - - value: POLYGON((4.883 52.359, 4.887 52.359, 4.887 52.361, 4.883 52.361, 4.883 52.359)) - description: Rijksmuseum building footprint (simplified) coordinate_reference_system: ifabsent: string(EPSG:4326) - geonames_id: - examples: - - value: 6930126 - description: Rijksmuseum GeoNames ID has_or_had_identifier: description: 'Cadastral identifiers for this geospatial place. MIGRATION NOTE (2026-01-14): Replaces cadastral_id per slot_fixes.yaml. Use Identifier with identifier_scheme=''cadastral'' for parcel IDs. Netherlands: Kadaster perceelnummer format {gemeente}-{sectie}-{perceelnummer}' examples: - value: - identifier_scheme: cadastral - identifier_value: ASD04-H-4567 - description: Amsterdam cadastral parcel identifier temporal_extent: - description: 'Validity period for geospatial data using CIDOC-CRM TimeSpan. - MIGRATED from valid_from_geo + valid_to_geo per slot_fixes.yaml (Rule 53). - Use for tracking boundary changes (e.g., municipal mergers). - ' range: TimeSpan inlined: true required: false @@ -124,7 +98,6 @@ classes: - value: begin_of_the_begin: '1920-01-01' end_of_the_end: '2001-01-01' - description: Historical archive jurisdiction boundary validity (pre-merger) comments: - Follows TOOI BestuurlijkeRuimte pattern using GeoSPARQL - 'CRITICAL: NOT a nominal reference - this is measured/surveyed location data' @@ -146,7 +119,6 @@ classes: has_or_had_coordinates: latitude: 52.36 longitude: 4.8852 - precision: 1.0 altitude: 0.0 has_or_had_geometry: - has_or_had_format: @@ -154,46 +126,37 @@ classes: has_or_had_type: has_or_had_label: POLYGON coordinate_reference_system: EPSG:4326 - geonames_id: 6930126 osm_id: way/27083908 - geospatial_source: OpenStreetMap spatial_resolution: BUILDING has_or_had_geofeature: - has_or_had_type: SpotFeature has_or_had_code: has_or_had_label: S.MUS - description: Rijksmuseum building with full geospatial detail - value: geospatial_id: https://nde.nl/ontology/hc/geo/amsterdam-centroid has_or_had_coordinates: latitude: 52.3676 longitude: 4.9041 - precision: 500.0 has_or_had_geometry: - has_or_had_type: has_or_had_label: POINT coordinate_reference_system: EPSG:4326 - geonames_id: 2759794 - geospatial_source: GeoNames API spatial_resolution: CITY has_or_had_geofeature: - has_or_had_type: PopulatedPlace has_or_had_code: has_or_had_label: P.PPLC - description: Amsterdam city centroid (approximate) - value: geospatial_id: https://nde.nl/ontology/hc/geo/noord-holland-archive-territory-pre-2001 has_or_had_coordinates: latitude: 52.5 longitude: 4.8 - precision: 1000.0 has_or_had_geometry: - has_or_had_format: has_or_had_value: MULTIPOLYGON(((4.5 52.2, 5.2 52.2, 5.2 52.8, 4.5 52.8, 4.5 52.2))) has_or_had_type: has_or_had_label: MULTIPOLYGON coordinate_reference_system: EPSG:4326 - geospatial_source: Historical cadastral records spatial_resolution: REGION has_or_had_geofeature: - has_or_had_type: AdministrativeBoundary @@ -202,7 +165,6 @@ classes: temporal_extent: begin_of_the_begin: '1920-01-01' end_of_the_end: '2001-01-01' - description: Historical archive jurisdiction boundary (pre-merger) annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Geometry.yaml b/schemas/20251121/linkml/modules/classes/Geometry.yaml index 43c1b80e31..c8d362381b 100644 --- a/schemas/20251121/linkml/modules/classes/Geometry.yaml +++ b/schemas/20251121/linkml/modules/classes/Geometry.yaml @@ -27,9 +27,6 @@ classes: slot_usage: has_or_had_format: range: uriorcurie - description: | - WKT representation of the geometry. - MIGRATED from as_wkt (Rule 53). required: true has_or_had_type: range: uriorcurie diff --git a/schemas/20251121/linkml/modules/classes/GiftShop.yaml b/schemas/20251121/linkml/modules/classes/GiftShop.yaml index af29869633..7a0c085a4b 100644 --- a/schemas/20251121/linkml/modules/classes/GiftShop.yaml +++ b/schemas/20251121/linkml/modules/classes/GiftShop.yaml @@ -91,7 +91,6 @@ classes: - opening_hour - physical_location - price_currency - - sells_or_sold - refers_to_custodian - has_or_had_identifier - has_or_had_label @@ -103,7 +102,6 @@ classes: - has_or_had_supplier - has_or_had_score - temporal_extent - - has_or_had_conversion_rate - is_or_was_derived_from - is_or_was_generated_by slot_usage: @@ -111,38 +109,29 @@ classes: range: uriorcurie required: true identifier: true - description: Unique identifier for the gift shop. examples: - value: https://nde.nl/ontology/hc/gift-shop/rijksmuseum-shop - description: Rijksmuseum shop ID has_or_had_label: range: string inlined: true required: true - description: The name of the gift shop. examples: - value: label_text: Rijksmuseum Shop - description: Museum shop name - value: label_text: British Library Bookshop - description: Library bookshop name has_or_had_description: range: string inlined: true - description: A description of the gift shop. examples: - value: description_text: Award-winning museum shop offering reproductions and design objects - description: Rijksmuseum shop description shop_type: range: GiftShopTypeEnum required: true examples: - value: MUSEUM_SHOP - description: General museum shop - value: BOOKSHOP - description: Primarily publications physical_location: range: AuxiliaryPlace multivalued: true @@ -152,9 +141,6 @@ classes: - value: place_name: Rijksmuseum Shop - Main Hall auxiliary_place_type: RETAIL_SPACE - street_address: Museumstraat 1 - city: Amsterdam - description: Physical shop location online_shop: range: AuxiliaryDigitalPlatform multivalued: true @@ -165,31 +151,14 @@ classes: platform_name: Rijksmuseum Online Shop platform_url: https://www.rijksmuseumshop.nl/ auxiliary_platform_type: WEBSHOP - description: Online shop platform - sells_or_sold: - range: ProductCategoryEnum - multivalued: true - required: true - examples: - - value: - - REPRODUCTIONS - - BOOKS - - DESIGN_OBJECTS - description: Rijksmuseum shop categories price_currency: range: string required: true pattern: ^[A-Z]{3}$ examples: - value: EUR - description: Euro currency - value: USD - description: US Dollar has_or_had_range: - description: 'Price range classification for the shop. - MIGRATED from giftshop_price_range per Rule 53. - Uses PriceRange class. - ' range: PriceRange inlined: true required: false @@ -197,83 +166,54 @@ classes: - value: has_or_had_symbol: $$ has_or_had_description: Mid-range pricing - description: Mid-range pricing - value: has_or_had_label: "\u20AC5-\u20AC500" has_or_had_description: Price range in euros - description: Price range in euros accepts_or_accepted: range: PaymentMethod inlined: true multivalued: true required: false - description: Payment methods accepted by this gift shop. examples: - value: - method_type: credit_card - provider: Visa - method_type: digital - provider: iDEAL - description: Common payment methods opening_hour: range: string required: false examples: - value: Mo-Su 09:00-18:00 - description: Daily hours - value: Mo-Fr 10:00-17:00, Sa-Su 10:00-18:00 - description: Weekday/weekend hours has_or_had_revenue: range: Revenue inlined: true multivalued: true - description: 'Structured revenue data for the gift shop. - MIGRATED from has_or_had_annual_revenue per Rule 53. - Uses Revenue class. - ' examples: - value: has_or_had_quantity: 5000000.0 has_or_had_currency: currency_code: EUR has_or_had_time_interval: - duration_description: Annual - description: Annual revenue in euros - has_or_had_conversion_rate: - range: ConversionRate - inlined: true - multivalued: true - required: false - description: Conversion rate metrics for the gift shop (visitor-to-purchase, visitor-to-member, etc.) - examples: - value: "has_or_had_conversion_rate:\n - rate_value: 0.35\n has_or_had_type:\n has_or_had_label: \"Visitor to Purchase\"\n temporal_extent:\n begin_of_the_begin: \"2024-01-01\"\n end_of_the_end: \"2024-12-31\"\n" - description: 35% visitor-to-purchase conversion rate for calendar year has_or_had_quantity: range: integer inlined: true - description: Quantity of staff members. MIGRATED from staff_count (2026-01-28). square_meters: range: float required: false examples: - value: 250.0 - description: 250 square meters managed_by: range: string required: false examples: - value: In-house (Rijksmuseum BV) - description: Internal management - value: Outsourced (Culture Shops Ltd) - description: External operator has_or_had_supplier: range: Supplier inlined_as_list: true multivalued: true required: false - description: 'Supplier relationships for shop merchandise. - MIGRATED from supplier_relationship slot per slot_fixes.yaml (Rule 53/56, 2026-01-16). - ' examples: - value: - has_or_had_label: @@ -288,7 +228,6 @@ classes: has_or_had_type: - has_or_had_label: label_text: Reproduction Supplier - description: Structured supplier relationships with type classification temporal_extent: range: TimeSpan required: false @@ -296,7 +235,6 @@ classes: - value: begin_of_the_begin: '2010-01-01' end_of_the_begin: '2013-04-13' - description: Shop opened sometime 2010-2013 is_or_was_derived_from: range: CustodianObservation multivalued: true @@ -309,7 +247,6 @@ classes: required: true examples: - value: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Rijksmuseum custodian hub comments: - GiftShop models retail operations of heritage custodians - Can have physical location (AuxiliaryPlace) and/or online presence (AuxiliaryDigitalPlatform) @@ -334,20 +271,12 @@ classes: physical_location: - place_name: Rijksmuseum Shop - Main Hall auxiliary_place_type: RETAIL_SPACE - street_address: Museumstraat 1 postal_code: 1071 XX - city: Amsterdam country: https://nde.nl/ontology/hc/country/NL online_shop: - platform_name: Rijksmuseum Online Shop platform_url: https://www.rijksmuseumshop.nl/ auxiliary_platform_type: WEBSHOP - sells_or_sold: - - REPRODUCTIONS - - BOOKS - - DESIGN_OBJECTS - - JEWELRY - - HOME_DECOR price_currency: EUR has_or_had_range: has_or_had_symbol: $$ @@ -355,18 +284,13 @@ classes: accepts_or_accepted: - method_type: CASH - method_type: CREDIT_CARD - provider: Visa, Mastercard - method_type: DEBIT_CARD - provider: Maestro - method_type: MOBILE_PAYMENT - provider: Apple Pay, Google Pay - method_type: MUSEUM_CARD - provider: Museumkaart opening_hours: Mo-Su 09:00-18:00 has_or_had_quantity: range: integer inlined: true - description: Quantity of staff members. MIGRATED from staff_count (2026-01-28). square_meters: 450.0 managed_by: In-house (Rijksmuseum BV) has_or_had_supplier: @@ -382,9 +306,7 @@ classes: has_or_had_type: - has_or_had_label: label_text: Reproduction Supplier - valid_from: '2013-04-13' refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Rijksmuseum flagship museum shop - value: has_or_had_identifier: https://nde.nl/ontology/hc/gift-shop/british-library-shop has_or_had_label: @@ -395,18 +317,11 @@ classes: physical_location: - place_name: British Library Shop auxiliary_place_type: RETAIL_SPACE - street_address: 96 Euston Road - city: London country: https://nde.nl/ontology/hc/country/GB online_shop: - platform_name: British Library Shop Online platform_url: https://shop.bl.uk/ auxiliary_platform_type: WEBSHOP - sells_or_sold: - - BOOKS - - REPRODUCTIONS - - STATIONERY - - GIFTS price_currency: GBP has_or_had_range: has_or_had_symbol: $$ @@ -414,12 +329,9 @@ classes: accepts_or_accepted: - method_type: CASH - method_type: CREDIT_CARD - provider: Visa, Mastercard - method_type: DEBIT_CARD - provider: V-Pay opening_hours: Mo-Fr 09:30-18:00, Sa 09:30-17:00, Su 11:00-17:00 refers_to_custodian: https://nde.nl/ontology/hc/gb-british-library - description: British Library specialist bookshop - value: has_or_had_identifier: https://nde.nl/ontology/hc/gift-shop/vermeer-exhibition-popup has_or_had_label: @@ -430,17 +342,8 @@ classes: physical_location: - place_name: Vermeer Exhibition Shop auxiliary_place_type: RETAIL_SPACE - street_address: Museumstraat 1 - city: Amsterdam - sells_or_sold: - - BOOKS - - REPRODUCTIONS - - SOUVENIRS price_currency: EUR - valid_from: '2023-02-10' - valid_to: '2023-06-04' refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Temporary exhibition pop-up shop annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/GovernmentArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/GovernmentArchiveRecordSetType.yaml index cff34c275e..465f9335fb 100644 --- a/schemas/20251121/linkml/modules/classes/GovernmentArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/GovernmentArchiveRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/GovernmentHierarchy.yaml b/schemas/20251121/linkml/modules/classes/GovernmentHierarchy.yaml index db52a6ba64..6221319ed7 100644 --- a/schemas/20251121/linkml/modules/classes/GovernmentHierarchy.yaml +++ b/schemas/20251121/linkml/modules/classes/GovernmentHierarchy.yaml @@ -34,9 +34,7 @@ classes: has_or_had_tier: range: AdministrativeLevel required: true - description: The administrative level of this hierarchy node. has_or_had_label: - description: Name of the hierarchy (e.g. "Dutch National Government") annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/GrantRange.yaml b/schemas/20251121/linkml/modules/classes/GrantRange.yaml index a1182c5d41..7c6be43083 100644 --- a/schemas/20251121/linkml/modules/classes/GrantRange.yaml +++ b/schemas/20251121/linkml/modules/classes/GrantRange.yaml @@ -58,12 +58,10 @@ classes: range: integer inlined: true required: false - description: Lower bound of the grant range (e.g., minimum funding amount). maximal_of_maximal: range: integer inlined: true required: false - description: Upper bound of the grant range (e.g., maximum funding amount). comments: - Created from slot_fixes.yaml migration (2026-01-14) - Replaces string-based typical_grant_range slot @@ -74,29 +72,18 @@ classes: examples: - value: minimal_of_minimal: - quantity_value: 100000 has_or_had_measurement_unit: unit_label: EUR maximal_of_maximal: - quantity_value: 500000 has_or_had_measurement_unit: unit_label: EUR - range_description: Medium-scale heritage projects - range_currency: EUR - description: EU Creative Europe medium project grant range - value: minimal_of_minimal: - quantity_value: 250000 has_or_had_measurement_unit: unit_label: GBP maximal_of_maximal: - quantity_value: 5000000 has_or_had_measurement_unit: unit_label: GBP - range_description: National Lottery Heritage Fund grants - range_currency: GBP - range_notes: "Maximum 90% of total costs for projects over \xA31M" - description: UK National Lottery Heritage Fund grant range annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/HTTPMethod.yaml b/schemas/20251121/linkml/modules/classes/HTTPMethod.yaml index 80d7a85bcc..20e452091e 100644 --- a/schemas/20251121/linkml/modules/classes/HTTPMethod.yaml +++ b/schemas/20251121/linkml/modules/classes/HTTPMethod.yaml @@ -10,19 +10,15 @@ imports: - ./HTTPMethodType classes: HTTPMethod: - description: Represents an HTTP request method supported by a heritage institution's API or web service. Common methods include GET (retrieve), POST (create), PUT (update), DELETE (remove), and PATCH (partial update). + description: Represents an HTTP request method supported by a heritage institution's API or web service. Common methods + include GET (retrieve), POST (create), PUT (update), DELETE (remove), and PATCH (partial update). class_uri: schema:Thing slots: - has_or_had_type slot_usage: has_or_had_type: range: uriorcurie - attributes: - method_name: - description: HTTP method name (e.g., GET, POST, PUT, DELETE) - range: string - required: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/HeritageObject.yaml b/schemas/20251121/linkml/modules/classes/HeritageObject.yaml index 4b83711584..615cc9e886 100644 --- a/schemas/20251121/linkml/modules/classes/HeritageObject.yaml +++ b/schemas/20251121/linkml/modules/classes/HeritageObject.yaml @@ -55,24 +55,12 @@ classes: identifier: true required: true range: uriorcurie - description: 'Unique identifier for this heritage object. - - Must be a valid URI or CURIE. - - ' examples: - value: https://nde.nl/ontology/hc/object/rijksmuseum-night-watch - description: Painting at Rijksmuseum - value: https://nde.nl/ontology/hc/object/naturalis-dodo-001 - description: Specimen at Naturalis object_name: required: true range: string - description: 'Primary human-readable name for this heritage object. - - Use alternative name slots for other names/translations. - - ' examples: - value: The Night Watch - value: Oxford Dodo @@ -80,20 +68,10 @@ classes: object_description: required: false range: string - description: 'Free-text description of this heritage object. - - Include significant details about the object''s nature, history, or importance. - - ' current_keeper: required: false range: uriorcurie inlined: false - description: 'Heritage custodian institution currently holding this object. - - Reference to a Custodian entity. - - ' examples: - value: https://nde.nl/ontology/hc/custodian/nl/rijksmuseum - value: https://nde.nl/ontology/hc/custodian/uk/british-museum @@ -101,27 +79,14 @@ classes: required: false range: CustodianPlace inlined: true - description: 'Current physical location of this heritage object. - - May be more specific than current_keeper (e.g., specific gallery or storage unit). - - ' examples: - value: place_name: Gallery 15 - city: Amsterdam country: NL has_or_had_identifier: required: false range: uriorcurie multivalued: true - description: 'External identifiers for this heritage object. - - Includes Wikidata IDs, catalog numbers, accession numbers, etc. - - Subclasses narrow the range to specific identifier types. - - ' comments: - HeritageObject is ABSTRACT - do not instantiate directly - Use ExhibitedObject for museum objects, artworks, artifacts diff --git a/schemas/20251121/linkml/modules/classes/HeritageRelevanceAssessment.yaml b/schemas/20251121/linkml/modules/classes/HeritageRelevanceAssessment.yaml index e464726d69..0acf405086 100644 --- a/schemas/20251121/linkml/modules/classes/HeritageRelevanceAssessment.yaml +++ b/schemas/20251121/linkml/modules/classes/HeritageRelevanceAssessment.yaml @@ -65,27 +65,22 @@ classes: - specificity_annotation slot_usage: is_or_was_related_to: - description: Relationship to Heritage domain. Presence implies relevance. range: Heritage required: true examples: - value: has_or_had_label: Heritage - description: Works at a museum, archive, library, etc. has_or_had_type: range: HeritageTypeEnum multivalued: true examples: - value: - M - description: Museum sector professional - value: - A - D - description: Archive + digital heritage (cross-domain) - value: - E - description: Education sector has_or_had_score: range: float inlined: true @@ -93,15 +88,10 @@ classes: - value: has_or_had_value: 0.85 has_or_had_description: High confidence - clear heritage role - description: High confidence - clear heritage role - value: has_or_had_value: 0.55 has_or_had_description: Low confidence - intern position - description: Low confidence - intern position has_or_had_note: - description: | - Rationale for classification. - MIGRATED from rationale per Rule 53. range: string required: true examples: diff --git a/schemas/20251121/linkml/modules/classes/HeritageRelevanceScore.yaml b/schemas/20251121/linkml/modules/classes/HeritageRelevanceScore.yaml index 296a0308dc..ee44930542 100644 --- a/schemas/20251121/linkml/modules/classes/HeritageRelevanceScore.yaml +++ b/schemas/20251121/linkml/modules/classes/HeritageRelevanceScore.yaml @@ -21,7 +21,6 @@ classes: slot_usage: has_or_had_value: range: float - description: Score value (e.g. 0.0 to 1.0). annotations: specificity_score: 0.2 specificity_rationale: Analytic score for heritage relevance. diff --git a/schemas/20251121/linkml/modules/classes/HeritageSocietyType.yaml b/schemas/20251121/linkml/modules/classes/HeritageSocietyType.yaml index b3e59b9d79..3394bec643 100644 --- a/schemas/20251121/linkml/modules/classes/HeritageSocietyType.yaml +++ b/schemas/20251121/linkml/modules/classes/HeritageSocietyType.yaml @@ -329,7 +329,6 @@ classes: description: Numismatic society with print journal and digital newsletter slots: - has_or_had_type - - has_or_had_program - has_or_had_activity - has_or_had_scope - specificity_annotation @@ -337,40 +336,12 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:HeritageSocietyType"]' - has_or_had_program: - description: 'Volunteer programs and roles within the heritage society. - Migrated from volunteer_program (inline attribute) per Rule 53. - Covers governance volunteers (board, officers), collections volunteers - (curators, catalogers), research volunteers (archivists, historians), - education and outreach (lecturers, tour guides), and operations - (membership coordinators, event organizers, fundraisers). - ' range: Program inlined: true multivalued: true examples: - value: - program_name: Heritage Volunteer Program - program_type: VOLUNTEER - description: All-volunteer organization managing collections and events has_or_had_activity: - description: 'Community outreach, public programs, and engagement activities. - MIGRATED from community_engagement (string list) per Rule 53 (2026-01-19). - Each Activity instance captures structured engagement data using: - - has_activity_name: Activity name (e.g., "Monthly Lecture Series") - - has_or_had_activity_type: CommunityEngagementActivityType - - has_timespan: When activities occur (using TimeSpan) - - has_activity_description: Detailed description - Activity Types Covered: - - Membership meetings: Monthly, quarterly, annual gatherings - - Lecture series: Guest speakers on heritage topics - - Field trips: Site visits, museum tours, heritage walks - - Workshops: Genealogy, conservation, identification skills - - Public events: Open houses, exhibitions, school programs - - Digital engagement: Websites, social media, virtual meetings - - Advocacy: Historic preservation, policy engagement - - Partnerships: Collaborations with government, museums, universities - ' range: string multivalued: true inlined: true @@ -379,46 +350,21 @@ classes: - value: - has_activity_identifier: https://nde.nl/ontology/hc/activity/oud-leiden-lectures-2025 has_activity_name: Monthly Lecture Series (Sept-June) - has_or_had_activity_type: - - CommunityEngagementActivityType has_activity_description: 'Monthly evening lectures on local history topics, featuring guest speakers from academia, museums, and member experts. ' temporal_extent: begin_of_the_begin: '2024-09-01' end_of_the_end: '2025-06-30' - status: IN_PROGRESS - has_activity_identifier: https://nde.nl/ontology/hc/activity/oud-leiden-walk-2025 has_activity_name: Annual Heritage Walk - has_or_had_activity_type: - - CommunityEngagementActivityType has_activity_description: 'Annual guided heritage walk through historic Leiden neighborhoods. Open to public, attracts 50-100 participants. ' temporal_extent: begin_of_the_begin: '2025-05-15' end_of_the_end: '2025-05-15' - status: PLANNED - description: Heritage society with lecture series and annual heritage walk has_or_had_scope: - description: 'Scope and nature of the society''s collecting activities and holdings. - MIGRATED from collecting_scope (string list) per Rule 53 (2026-01-19). - Uses CollectionScope class to capture structured scope information: - - scope_description: Overall description of collecting scope - - scope_type: Type discriminator ("collection_scope", "archival_scope", etc.) - - subject_coverage: Subject areas (numismatics, local history, etc.) - - temporal_coverage_description: Time period covered - - spatial_coverage: Geographic scope - Collection Types: - - Objects: Physical artifacts (coins, stamps, ephemera, memorabilia) - - Archival materials: Documents, photographs, manuscripts - - Library materials: Books, journals, reference works - Collecting Policies: - - Focused collecting: Narrowly defined scope (e.g., Dutch maritime coins 1600-1800) - - Broad collecting: Wide scope (e.g., all aspects of town history) - - Passive collecting: Accepting donations, no active acquisition - - Active collecting: Targeted purchases, exchanges - ' range: CollectionScope multivalued: true inlined: true @@ -426,16 +372,4 @@ classes: examples: - value: - scope_description: 5,000 photographs of Leiden 1850-2000; 200 linear meters local archives - scope_type: archival_scope - subject_coverage: - - Local history - - Photography - spatial_coverage: Leiden - temporal_coverage_description: 1850-2000 - - scope_description: 12,000 Dutch coins and medals; 500 reference books on numismatics - scope_type: collection_scope - subject_coverage: - - Numismatics - - Dutch coins - - Medals - description: Heritage society with photo archive and numismatic collection + - scope_description: 12,000 Dutch coins and medals; 500 reference books on numismatics \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/HeritageTypeCount.yaml b/schemas/20251121/linkml/modules/classes/HeritageTypeCount.yaml index 6f31e14189..e30f44b768 100644 --- a/schemas/20251121/linkml/modules/classes/HeritageTypeCount.yaml +++ b/schemas/20251121/linkml/modules/classes/HeritageTypeCount.yaml @@ -32,24 +32,14 @@ classes: has_or_had_type_code: range: HeritageTypeCode required: true - description: 'Single letter code from GLAMORCUBESFIXPHDNT taxonomy. - MIGRATED from heritage_type_code (Rule 53, 2026-01-28). - ' examples: - value: M - description: Museum - value: A - description: Archive has_or_had_quantity: range: integer required: true - description: 'Number of connections for this type. - MIGRATED from count (2026-01-14). - ' examples: - value: "Quantity:\n value: 89\n unit: \"connections\"\n" - description: 89 connections - annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/HistoricBuilding.yaml b/schemas/20251121/linkml/modules/classes/HistoricBuilding.yaml index 87eab9c6d9..ad51fa8017 100644 --- a/schemas/20251121/linkml/modules/classes/HistoricBuilding.yaml +++ b/schemas/20251121/linkml/modules/classes/HistoricBuilding.yaml @@ -78,10 +78,7 @@ classes: - construction_date_precision - current_use - has_or_had_type - - is_or_was_designated_on - has_or_had_status - - historic_building_description - - historic_building_id - is_open_to_public - is_part_of_complex - monument_number @@ -91,140 +88,77 @@ classes: - is_or_was_derived_from - is_or_was_generated_by slot_usage: - historic_building_id: - range: uriorcurie - required: true - identifier: true - examples: - - value: https://nde.nl/ontology/hc/aux/mauritshuis-johan-de-witt - description: Mauritshuis secondary property - historic_building_description: - range: string - examples: - - value: 17th-century canal house, former residence of Grand Pensionary Johan de Witt. Now part of Mauritshuis complex, used for offices and events. - description: Historic house description has_or_had_type: - description: 'MIGRATED from feature_type_classification per slot_fixes.yaml (Rule 53, 2026-01-26). - Classification of the historic building type. - Uses FeatureType class hierarchy (Building) instead of FeatureTypeEnum. - ' range: FeatureType required: true any_of: - range: Building examples: - value: HISTORIC_HOUSE_MUSEUM - description: Historic house museum (Building) - value: CASTLE - description: Castle (Building) - value: MANOR_HOUSE - description: Manor house (Building) construction_date: range: string examples: - value: '1650' - description: Exact year - value: ca. 1465 - description: Approximate date - value: 15th century - description: Century only construction_date_precision: range: string examples: - value: EXACT - description: Known exact year - value: APPROXIMATE - description: Circa date has_or_had_style: - description: 'Architectural style of the building. - MIGRATED from has_architectural_style per Rule 53. - Uses ArchitecturalStyle class. - ' range: ArchitecturalStyle inlined: true examples: - value: has_or_had_label: Dutch Golden Age - description: 17th century Dutch - value: has_or_had_label: Neo-Gothic - description: Gothic revival - value: has_or_had_label: Amsterdam School - description: Early 20th century Dutch is_or_was_designed_by: - description: 'Architect or firm who designed the building. - MIGRATED from has_or_had_architect per Rule 53. - Uses Architect class. - ' range: Architect inlined: true examples: - value: has_or_had_label: Jacob van Campen - description: Golden Age architect - value: has_or_had_label: P.J.H. Cuypers - description: 19th century architect has_or_had_status: - description: 'MIGRATED from heritage_status (Rule 53, 2026-01-28). - Official heritage designation/protection status. - Uses HeritageStatus class. - ' range: HeritageStatus inlined: true examples: - value: has_or_had_label: Rijksmonument - description: National monument - value: has_or_had_label: Gemeentelijk monument - description: Municipal monument - is_or_was_designated_on: - range: date - examples: - - value: '1970-05-15' - description: Designation date monument_number: range: string examples: - value: '521814' - description: Rijksmonument number is_open_to_public: range: boolean examples: - value: true - description: Open to public - value: false - description: Private/staff only has_or_had_opening_hour: - description: 'Visiting hours specification for public access. - MIGRATED from visiting_hour per Rule 53. - ' range: OpeningHour inlined: true multivalued: true examples: - value: - day_of_week: Saturday opens: '11:00' closes: '17:00' - description: Weekend opening hours - value: - day_of_week: By appointment opens: '10:00' closes: '16:00' - description: Appointment required is_part_of_complex: range: boolean examples: - value: true - description: Part of complex has_or_had_label: - description: 'MIGRATED from historic_building_name and complex_name per slot_fixes.yaml (Rule 53, 2026-01-27). - Name of the historic building (type: preferred_name) or the complex/ensemble (type: complex_name). - Uses Label class with has_or_had_type for type discrimination. - ' range: Label inlined: true multivalued: true @@ -233,13 +167,10 @@ classes: - value: has_or_had_label: Johan de Witthuis has_or_had_type: preferred_name - description: Historic building name - value: has_or_had_label: Klooster Ter Apel has_or_had_type: complex_name - description: Monastery complex name has_or_had_area: - description: Floor area of the historic building. MIGRATED from building_floor_area_sqm (Rule 53). range: Area inlined: true multivalued: true @@ -250,7 +181,6 @@ classes: has_or_had_type: SQUARE_METER has_or_had_symbol: "m\xB2" has_or_had_label: Building floor area - description: 450 square meters floor area - value: area_value: 1200.0 has_or_had_unit: @@ -259,27 +189,13 @@ classes: is_estimate: true measurement_method: Historical records has_or_had_label: Total floor area - description: 1200 square meters (estimated from historical records) current_use: range: string examples: - value: Museum and events - description: Multi-use - value: Administrative offices - description: Office use - condition_status: - range: string - examples: - - value: GOOD - description: Good condition - value: UNDER_RESTORATION - description: Currently being restored has_or_had_condition: - description: 'MIGRATED from condition_status per slot_fixes.yaml (Rule 53/56, 2026-01-18). - Physical condition assessment of the historic building. - Uses Condition class with has_or_had_type for condition classification. - Values: EXCELLENT, GOOD, FAIR, POOR, UNDER_RESTORATION - ' range: Condition inlined: true examples: @@ -288,20 +204,16 @@ classes: has_or_had_description: description_text: Well-maintained historic fabric description_type: condition - condition_date: '2024-01-15' - description: Excellent condition with assessment date - value: has_or_had_type: GOOD has_or_had_description: description_text: Minor wear consistent with age description_type: condition - description: Good condition assessment - value: has_or_had_type: UNDER_RESTORATION has_or_had_description: description_text: Major restoration project 2024-2025 description_type: condition - description: Currently being restored is_or_was_derived_from: range: CustodianObservation multivalued: true @@ -327,7 +239,6 @@ classes: has_or_had_label: - has_or_had_label: Johan de Witthuis has_or_had_type: preferred_name - historic_building_description: 17th-century canal house, former residence of Grand Pensionary Johan de Witt. Now part of Mauritshuis complex. has_or_had_type: HISTORIC_HOUSE_MUSEUM construction_date: '1650' construction_date_precision: APPROXIMATE @@ -349,7 +260,6 @@ classes: has_or_had_type: SQUARE_METER has_or_had_symbol: "m\xB2" has_or_had_label: Total floor area - description: Historic canal house as secondary property - value: historic_building_id: https://nde.nl/ontology/hc/aux/klooster-ter-apel has_or_had_label: @@ -373,7 +283,6 @@ classes: has_or_had_symbol: "m\xB2" is_estimate: true has_or_had_label: Castle floor area - description: Castle as heritage property annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/HistoricalArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/HistoricalArchiveRecordSetType.yaml index 6f996107dd..e0de068476 100644 --- a/schemas/20251121/linkml/modules/classes/HistoricalArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/HistoricalArchiveRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/HistoricalRegion.yaml b/schemas/20251121/linkml/modules/classes/HistoricalRegion.yaml index 953f23554c..d5846b3f49 100644 --- a/schemas/20251121/linkml/modules/classes/HistoricalRegion.yaml +++ b/schemas/20251121/linkml/modules/classes/HistoricalRegion.yaml @@ -42,19 +42,15 @@ classes: has_or_had_label: range: string required: true - description: Name of the historical region. examples: - value: Duchy of Brabant - value: Prussia has_or_had_type: range: string - description: Type of region (e.g., Duchy, Kingdom, Province). temporal_extent: range: TimeSpan - description: Time period during which the region existed or was relevant. is_or_was_located_in: range: string - description: Larger historical region containing this one (e.g., Brabant in Holy Roman Empire). annotations: specificity_score: 0.3 specificity_rationale: Specialized geographic concept for historical archives. diff --git a/schemas/20251121/linkml/modules/classes/HolySacredSiteType.yaml b/schemas/20251121/linkml/modules/classes/HolySacredSiteType.yaml index 9f843570cd..fcbbbfaeba 100644 --- a/schemas/20251121/linkml/modules/classes/HolySacredSiteType.yaml +++ b/schemas/20251121/linkml/modules/classes/HolySacredSiteType.yaml @@ -253,19 +253,9 @@ classes: required: true examples: - value: Roman Catholic Christianity - description: Catholic church/monastery - value: Sunni Islam, Hanafi school - description: Sunni mosque - value: Theravada Buddhism - description: Buddhist temple has_or_had_content: - description: 'MIGRATED from collection_type per slot_fixes.yaml (Rule 53, 2026-01-22). - - Types of heritage materials held by the religious site. - - Uses CollectionContent class with CollectionContentType taxonomy. - - ' range: CollectionContent multivalued: true inlined: true @@ -273,71 +263,50 @@ classes: required: true examples: - value: - content_description: Archives, Manuscripts, Papal documents has_or_had_type: - type_label: Archival - type_label: Library - description: Vatican collection types - value: - content_description: Torah scrolls, Archives, Ceremonial silver has_or_had_type: - type_label: Archival - type_label: Liturgical - description: Synagogue collection types - value: - content_description: Sutras, Temple registers, Buddha statues has_or_had_type: - type_label: Library - type_label: Art - description: Temple collection types religious_function: range: string required: true examples: - value: Papal governance, Church history, Canon law - description: Vatican Apostolic Archive function - value: Clergy education, Liturgical support - description: Cathedral library function - value: Community genealogy, Ritual preparation - description: Synagogue archive function has_or_had_policy: range: string required: true examples: - value: Restricted, Scholars by appointment, No browsing - description: Vatican Apostolic Archive access - value: Public viewing hours, No photography, Guided tours - description: Cathedral treasury access - value: Digitized online, Physical access by permission - description: Monastery library access is_or_was_managed_by: range: uriorcurie required: true examples: - value: Prefect of Vatican Archive, Papal authority - description: Vatican stewardship - value: Parish priest, Volunteer committee - description: Local church stewardship - value: Monastic community, Brother librarian - description: Monastery stewardship secularization_status: range: string required: true examples: - value: Active religious institution, No secularization - description: Continuing worship site - value: Partially secularized, Collections transferred to state archive - description: Church with transferred heritage - value: Deconsecrated, Converted to museum - description: Former church building has_or_had_type: equals_expression: '["hc:HolySacredSiteType"]' has_or_had_hyponym: range: HolySiteType - description: 'MIGRATED from holy_site_subtype (Rule 53, 2026-01-28). Classification of the specific site type (e.g., Church, Mosque).' examples: - value: has_or_had_label: Church - is_or_was_equivalent_to: - qid: Q16970 - description: Church type + is_or_was_equivalent_to: \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/HolySiteType.yaml b/schemas/20251121/linkml/modules/classes/HolySiteType.yaml index 3b4fa05ed2..50b3ab413f 100644 --- a/schemas/20251121/linkml/modules/classes/HolySiteType.yaml +++ b/schemas/20251121/linkml/modules/classes/HolySiteType.yaml @@ -42,16 +42,9 @@ classes: - value: Synagogue is_or_was_equivalent_to: range: WikiDataIdentifier - description: Wikidata entity for this site type. examples: - value: - qid: Q16970 - label: church building - description: Church type - value: - qid: Q32815 - label: mosque - description: Mosque type annotations: specificity_score: 0.2 specificity_rationale: Classification for religious heritage sites. diff --git a/schemas/20251121/linkml/modules/classes/HospitalArchive.yaml b/schemas/20251121/linkml/modules/classes/HospitalArchive.yaml index 2947d6df1a..76991c1445 100644 --- a/schemas/20251121/linkml/modules/classes/HospitalArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/HospitalArchive.yaml @@ -61,7 +61,6 @@ classes: skos:prefLabel: Hospital Archive skos:altLabel: "Krankenhausarchiv, archivo hospitalario, archives hospitali\xE8res, Medical Archive, Healthcare Archive" subject_domain: healthcare/medical - has_or_had_access_restriction: privacy-sensitive materials specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration custodian_types: "['*']" diff --git a/schemas/20251121/linkml/modules/classes/HospitalArchiveRecordSetTypes.yaml b/schemas/20251121/linkml/modules/classes/HospitalArchiveRecordSetTypes.yaml index bb84ab8018..f37d20e6c6 100644 --- a/schemas/20251121/linkml/modules/classes/HospitalArchiveRecordSetTypes.yaml +++ b/schemas/20251121/linkml/modules/classes/HospitalArchiveRecordSetTypes.yaml @@ -130,11 +130,8 @@ classes: in_language: pt keywords: - hospital administration - - ziekenhuisbestuur - board minutes - - notulen - annual reports - - jaarverslagen - hospital governance - healthcare management - financial records @@ -301,17 +298,11 @@ classes: in_language: pt keywords: - patient records - - patientendossiers - medical records - - ziektegeschiedenis - admission records - - opnameboeken - surgical records - - operatieverslagen - birth registers - - geboorteregisters - death registers - - overlijdensregisters - medical history exact_mappings: - rico:RecordSetType @@ -486,7 +477,6 @@ classes: - clinical trials - klinische studies - research data - - onderzoeksgegevens - ethics approval - METC - clinical research @@ -649,7 +639,6 @@ classes: - nursing records - verpleegkundig archief - nursing education - - verpleegkundigenopleiding - nursing school - student nurses - leerling-verpleegkundigen diff --git a/schemas/20251121/linkml/modules/classes/HouseArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/HouseArchiveRecordSetType.yaml index fb6a87669e..2493830322 100644 --- a/schemas/20251121/linkml/modules/classes/HouseArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/HouseArchiveRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Humidity.yaml b/schemas/20251121/linkml/modules/classes/Humidity.yaml index 4e3d142cd7..80638032e0 100644 --- a/schemas/20251121/linkml/modules/classes/Humidity.yaml +++ b/schemas/20251121/linkml/modules/classes/Humidity.yaml @@ -19,23 +19,10 @@ classes: class_uri: schema:StructuredValue description: "Humidity control parameters." slots: - - maximum_of_maximum - - minimum_of_minimum - - has_or_had_target - has_or_had_tolerance slot_usage: - maximum_of_maximum: - range: MaximumHumidity - description: Maximum allowed humidity. - minimum_of_minimum: - range: MinimumHumidity - description: Minimum allowed humidity. - has_or_had_target: - range: TargetHumidity - description: Target humidity setpoint. has_or_had_tolerance: range: HumidityTolerance - description: Acceptable deviation (+/-). MIGRATED from humidity_tolerance (Rule 53). annotations: specificity_score: 0.1 specificity_rationale: Generic utility class. diff --git a/schemas/20251121/linkml/modules/classes/HumidityTolerance.yaml b/schemas/20251121/linkml/modules/classes/HumidityTolerance.yaml index 676c227358..e8c5d624e2 100644 --- a/schemas/20251121/linkml/modules/classes/HumidityTolerance.yaml +++ b/schemas/20251121/linkml/modules/classes/HumidityTolerance.yaml @@ -22,7 +22,6 @@ classes: has_or_had_value: range: float required: true - description: Allowed fluctuation in percentage points (e.g. 5.0 for +/- 5%). has_or_had_unit: range: string ifabsent: string(%) diff --git a/schemas/20251121/linkml/modules/classes/ISO639-3Identifier.yaml b/schemas/20251121/linkml/modules/classes/ISO639-3Identifier.yaml index aba014b94e..dba8831bf5 100644 --- a/schemas/20251121/linkml/modules/classes/ISO639-3Identifier.yaml +++ b/schemas/20251121/linkml/modules/classes/ISO639-3Identifier.yaml @@ -16,7 +16,6 @@ classes: slot_usage: has_or_had_code: pattern: ^[a-z]{3}$ - description: Three-letter ISO 639-3 code annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/IconographicArchivesRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/IconographicArchivesRecordSetType.yaml index 9f8fab6a9e..43e939fff0 100644 --- a/schemas/20251121/linkml/modules/classes/IconographicArchivesRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/IconographicArchivesRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/IdentificationEvent.yaml b/schemas/20251121/linkml/modules/classes/IdentificationEvent.yaml index cb36262017..c3630168e2 100644 --- a/schemas/20251121/linkml/modules/classes/IdentificationEvent.yaml +++ b/schemas/20251121/linkml/modules/classes/IdentificationEvent.yaml @@ -32,56 +32,29 @@ classes: slots: - temporal_extent - has_or_had_description - - identified_by - - identification_method - has_or_had_score # was: identification_confidence - migrated per Rule 53 (2026-01-28) - - identification_references slot_usage: temporal_extent: range: TimeSpan inlined: true - description: When the identification was made. examples: - value: begin_of_the_begin: '2023-05-15' - description: Date of identification - identified_by: - range: Agent - multivalued: true - inlined_as_list: true - description: Person(s) who performed the identification. - examples: - value: - agent_name: Dr. J. Smith - description: Taxonomist - identification_method: - range: string - description: Method used for identification. - examples: - value: Morphological analysis - value: DNA barcoding - value: Comparison with type specimen has_or_had_score: # was: identification_confidence - migrated per Rule 53 (2026-01-28) range: ConfidenceScore - description: | - Confidence score/level of the identification. - MIGRATED from identification_confidence per Rule 53. - Uses ConfidenceScore class. inlined: true examples: - value: has_or_had_score: 0.9 has_or_had_description: "High confidence" - description: High confidence identification - value: has_or_had_score: 0.5 has_or_had_description: "Tentative" - description: Tentative identification - identification_references: - range: string - multivalued: true - description: References consulted for identification. - examples: - value: Flora of North America, Vol. 3 attributes: {} annotations: diff --git a/schemas/20251121/linkml/modules/classes/Identifier.yaml b/schemas/20251121/linkml/modules/classes/Identifier.yaml index 03b564d35e..461c3d2807 100644 --- a/schemas/20251121/linkml/modules/classes/Identifier.yaml +++ b/schemas/20251121/linkml/modules/classes/Identifier.yaml @@ -75,88 +75,28 @@ classes: - has_or_had_type slot_usage: has_or_had_type: - description: >- - The type of identifier from IdentifierType taxonomy. - Uses IdentifierType subclasses per Rule 0b (Type/Types pattern). - Added 2026-01-23 per F26 migration. - Provides structured alternative to string-based identifier_scheme. - Prefer has_or_had_type for new data; identifier_scheme retained for compatibility. range: IdentifierType required: false examples: - value: has_or_had_code: CATALOG_RAISONNE has_or_had_label: Catalogue Raisonné Number - description: Art catalog reference - value: has_or_had_code: ISIL has_or_had_label: ISIL Code - description: Library identifier has_or_had_scheme: - description: | - Scheme of the identifier. - MIGRATED from identifier_scheme per Rule 53. - Uses IdentifierScheme class. range: IdentifierScheme inlined: true examples: - value: has_or_had_label: "ISBN" - description: ISBN scheme has_or_had_value: - description: | - Value of the identifier. - MIGRATED from identifier_value per Rule 53. - Uses IdentifierValue class. range: IdentifierValue inlined: true examples: - value: has_or_had_value: "978-0-123456-47-2" - description: ISBN value required: false - identifier_value: - range: string - any_of: - - range: string - - range: integer - required: true - description: | - The identifier value within the scheme. Usually a string, but can be - a large integer (e.g., GHCID_NUMERIC values). - examples: - - value: NL-AsdAM - description: ISIL code for Amsterdam Museum - - value: Q190804 - description: Wikidata ID for Rijksmuseum - attributes: - identifier_url: - range: uri - description: | - URL form of the identifier (e.g., full Wikidata URL, website URL). - examples: - - value: https://www.wikidata.org/wiki/Q190804 - description: Full Wikidata URL for Rijksmuseum - assigned_date: - range: string - description: Date the identifier was assigned (from enrichment data) - source: - range: string - description: Source of the identifier (e.g., registry name) - examples: - - value: ISIL - description: ISIL identifier scheme - - value: VIAF - description: VIAF identifier scheme - - value: Wikidata - description: Wikidata identifier scheme - identifier_value: - range: string - examples: - - value: NL-AsdRM - description: Rijksmuseum ISIL - - value: Q190804 - description: Rijksmuseum Wikidata ID annotations: specificity_score: 0.25 specificity_rationale: | @@ -216,70 +156,30 @@ classes: slot_usage: is_or_was_allocated_through: range: AllocationEvent - description: | - Event documenting when and how this identifier was allocated. - Replaces has_allocation_date per Rule 53. examples: - value: temporal_extent: begin_of_the_begin: "2023-01-01" - description: Allocation date # MIGRATED 2026-01-24: defined_by_standard → has_or_had_standard + Standard (Rule 53) has_or_had_standard: range: string required: false multivalued: false inlined: false - description: | - The standard (identifier scheme) that defines this identifier. - Links the identifier to its governing standard, providing access to: - - Format specifications - - Registration authority - - Lookup URL template - - Validation rules - **SKOS Alignment:** - skos:inScheme - "Relates a resource to a concept scheme in which it is included" - Here the identifier is treated as a SKOS notation within the scheme (standard). - **Examples:** - - ISIL "NL-AmRMA" → ISIL standard (ISO 15511) - - ISNI "0000 0001 2146 5765" → ISNI standard (ISO 27729) - - Wikidata "Q190804" → Wikidata standard - MIGRATED 2026-01-24: Replaces defined_by_standard per slot_fixes.yaml (Rule 53). examples: - value: - id: isil name: "International Standard Identifier for Libraries" - has_or_had_abbreviation: "ISIL" - description: ISIL identifier standard is_or_was_allocated_by: required: false - identifier_format_used: - required: false has_or_had_canonical_form: range: CanonicalForm required: false multivalued: false inlined: true - description: | - Normalized form of the identifier value for deduplication. - E.g., "NL-AsdRM" normalized to "nl-asdrm". - MIGRATED from canonical_value per Rule 53 (2026-01-22). # identifies_custodian REMOVED - migrated to identifies_or_identified (Rule 53) identifies_or_identified: - description: | - The Custodian identified by this identifier. - MIGRATED from identifies_custodian per Rule 53. - Inverse of has_or_had_identifier. range: Custodian required: false - has_or_had_secondary_label: - description: | - For dual-purpose identifiers (ISNI, VIAF), links to the name authority - record this identifier also identifies. - range: Label - required: false - has_allocation_date: - required: false annotations: specificity_score: 0.30 specificity_rationale: | diff --git a/schemas/20251121/linkml/modules/classes/IdentifierType.yaml b/schemas/20251121/linkml/modules/classes/IdentifierType.yaml index d539eeb44d..62049e10be 100644 --- a/schemas/20251121/linkml/modules/classes/IdentifierType.yaml +++ b/schemas/20251121/linkml/modules/classes/IdentifierType.yaml @@ -30,17 +30,14 @@ classes: - has_or_had_description slot_usage: has_or_had_code: - description: Short code for the identifier type (e.g., ISIL, VIAF, CATALOG_RAISONNE). range: string required: true identifier: true pattern: ^[A-Z][A-Z0-9_]*$ has_or_had_label: - description: Human-readable label for the identifier type. range: string required: true has_or_had_description: - description: Definition and scope of this identifier type. range: string required: false comments: diff --git a/schemas/20251121/linkml/modules/classes/Image.yaml b/schemas/20251121/linkml/modules/classes/Image.yaml index c12282c9c1..b3fb5a242c 100644 --- a/schemas/20251121/linkml/modules/classes/Image.yaml +++ b/schemas/20251121/linkml/modules/classes/Image.yaml @@ -35,40 +35,20 @@ classes: range: uri required: true inlined: true - description: URL where the image can be accessed. URL.has_or_had_value contains the actual URI. has_or_had_label: range: string required: false inlined: true - description: Alt text or caption for the image. Label.has_or_had_text contains the description. attributes: - image_format: - range: string - required: false - description: Image format (e.g., "JPEG", "PNG", "WEBP", "SVG"). - width: - range: integer - required: false - description: Width in pixels. - height: - range: integer - required: false - description: Height in pixels. examples: - value: has_or_had_url: has_or_had_value: https://example.org/images/card_thumb.jpg has_or_had_label: has_or_had_text: Collection preview thumbnail - image_format: JPEG - width: 300 - height: 200 - description: Card thumbnail image with metadata - value: has_or_had_url: has_or_had_value: https://museum.nl/logo.svg - image_format: SVG - description: Institutional logo annotations: specificity_score: 0.35 specificity_rationale: Images are broadly useful across heritage contexts for visual representation. diff --git a/schemas/20251121/linkml/modules/classes/Index.yaml b/schemas/20251121/linkml/modules/classes/Index.yaml index 47b93a891c..13ee0205da 100644 --- a/schemas/20251121/linkml/modules/classes/Index.yaml +++ b/schemas/20251121/linkml/modules/classes/Index.yaml @@ -37,19 +37,9 @@ classes: - has_or_had_identifier - has_or_had_label - has_or_had_description - - has_or_had_index_type - - index_entry slot_usage: has_or_had_identifier: - description: Unique identifier for this index has_or_had_label: - description: Display label for the index (e.g., "Table of Contents") - multivalued: true - has_or_had_index_type: - range: IndexType - description: Type of index (TOC, subject index, etc.) - index_entry: - description: Entries in this index multivalued: true inlined_as_list: true annotations: @@ -67,31 +57,15 @@ classes: has_or_had_label: - Table of Contents@en - Inhoudsopgave@nl - has_or_had_index_type: - has_or_had_identifier: hc:index-type/table-of-contents - index_entry: - entry_label: Introduction - entry_page: '1' - entry_level: 1 - entry_label: 'Chapter 1: Origins' - entry_page: '15' - entry_level: 1 - entry_label: 1.1 Early Collections - entry_page: '18' - entry_level: 2 - description: Table of contents for exhibition catalog - value: has_or_had_identifier: hc:index/catalog-subject-index has_or_had_label: - Subject Index@en - has_or_had_index_type: - has_or_had_identifier: hc:index-type/subject-index - index_entry: - entry_label: Art, Dutch Golden Age - entry_page: 42, 78, 156 - entry_label: Ceramics, Delftware - entry_page: 89-112 - description: Subject index with page ranges comments: - Replaces string-based table_of_content per Rule 53/56 (2026-01-16) - Enables hierarchical and typed index structures @@ -100,19 +74,6 @@ classes: description: 'A single entry in an index. ' attributes: - entry_label: - range: string - required: true - description: The text label for this entry (chapter title, subject term, etc.) - entry_page: - range: string - description: Page number or range (e.g., "42", "89-112", "42, 78, 156") - entry_level: - range: integer - description: Hierarchy level (1=top level, 2=subsection, etc.) - entry_uri: - range: uri - description: URI reference if this entry links to a digital resource slots: has_or_had_index_type: slot_uri: hc:hasOrHadIndexType @@ -121,7 +82,6 @@ slots: range: IndexType examples: - value: hc:index-type/table-of-contents - description: Table of contents type index_entry: slot_uri: hc:indexEntry description: 'An entry in this index. Each entry has a label, optional page/location reference, diff --git a/schemas/20251121/linkml/modules/classes/InformationCarrier.yaml b/schemas/20251121/linkml/modules/classes/InformationCarrier.yaml index 748337eb6c..2316becb06 100644 --- a/schemas/20251121/linkml/modules/classes/InformationCarrier.yaml +++ b/schemas/20251121/linkml/modules/classes/InformationCarrier.yaml @@ -184,26 +184,19 @@ classes: required: true range: Carrier inlined: true - description: >- - The physical carrier type and characteristics. - MIGRATED from carrier_type (2026-01-23) per Rule 53/F24. - Uses Carrier class with CarrierType taxonomy per Rule 0b. examples: - value: has_or_had_type: has_or_had_code: CODEX has_or_had_label: Codex - description: Bound volume (codex form) - value: has_or_had_type: has_or_had_code: SCROLL has_or_had_label: Scroll - description: Rolled manuscript - value: has_or_had_type: has_or_had_code: VINYL_DISC has_or_had_label: Vinyl Disc - description: Audio recording # The following slots have been removed/commented out from the slot list as they are not defined in the slots section of this file (they are imported), # but are listed in slot_usage. # Since they were simple string slots with no special usage defined here (except examples), we rely on their definition in the slot files. @@ -223,19 +216,12 @@ classes: # examples: # - value: 324 has_or_had_quantity: # was: folio_count - migrated per Rule 53 (2026-01-26) - description: | - Folio count or other quantity metric for the information carrier. - MIGRATED from folio_count per Rule 53. - Uses Quantity class. range: integer inlined: true multivalued: true examples: - value: - quantity_value: 162 has_or_had_unit: - unit_value: folium - description: 162 folios = 324 pages has_or_had_extent_text: required: false range: string @@ -248,44 +234,23 @@ classes: required: false range: TimeInterval inlined: true - description: | - Duration of the audiovisual carrier. - MIGRATED from duration (string) to TimeInterval class. examples: - value: - duration_value: PT45M30S - duration_description: 45 minutes 30 seconds - description: Audio recording duration - value: duration_value: 01:32:15 description: Duration in HH:MM:SS format has_or_had_type: required: false range: BindingType - description: | - Type of binding for bound volumes. - MIGRATED from binding_type (2026-01-13). - Uses BindingType class hierarchy for rich type semantics. - Common types: FullLeatherBinding, HalfLeatherBinding, - ClothBinding, LimpVellumBinding, CaseBinding. examples: - value: FullLeatherBinding - description: Traditional fine leather binding - value: LimpVellumBinding - description: Flexible vellum cover has_or_had_description: required: false range: string - description: >- - Detailed description of the physical binding of this information carrier. - MIGRATED from binding_description (2026-01-15) per Rule 53. - Describes binding style, materials, decorative elements, and condition. - For carriers like codices, bound manuscripts, and books. examples: - value: "Contemporary blind-stamped pigskin over wooden boards, with brass clasps and corner pieces. Spine with five raised bands." - description: Medieval manuscript binding - value: "Rebound in the 18th century in red morocco with gold tooling." - description: Later rebinding of early printed book cover_material: required: false range: string @@ -303,23 +268,13 @@ classes: required: false range: WritingSystem inlined: true - description: | - The writing system or script used on this information carrier. - MIGRATED from writing_system (2026-01-15) per Rule 53. - Uses WritingSystem class with ISO 15924 script codes. examples: - value: has_or_had_code: "Latn" - script_name: "Latin" - description: Latin alphabet - value: has_or_had_code: "Xsux" - script_name: "Cuneiform" - description: Ancient Sumerian/Akkadian cuneiform - value: has_or_had_code: "Hant" - script_name: "Chinese (traditional)" - description: Traditional Chinese script # language: # required: false # range: string @@ -333,34 +288,23 @@ classes: required: false range: Language multivalued: true - description: | - Language of the content. - MIGRATED from content_language (2026-01-28). examples: - value: - iso_639_1: "lat" language_name: "Latin" - value: - iso_639_1: "grc" language_name: "Ancient Greek" has_or_had_direction: # was: text_direction - migrated per Rule 53/56 (2026-01-16) required: false range: TextDirection inlined: true - description: | - Direction of text flow on this information carrier. - MIGRATED from text_direction (2026-01-16) per Rule 53/56. - Uses TextDirection class for structured directional semantics. examples: - value: has_or_had_code: "LTR" has_or_had_label: "Left to Right" - description: Standard Western European text - value: has_or_had_code: "RTL" has_or_had_label: "Right to Left" - description: Arabic, Hebrew manuscripts # production_method: # required: false # range: string @@ -406,36 +350,21 @@ classes: range: Publication inlined: true multivalued: true - description: >- - Publication event(s) for this information carrier. - Use publication_date_string for approximate dates (c. 1455, 16th century). examples: - value: - publication_date_string: "c. 1455" - publisher: "Johannes Gutenberg" - publication_place: "Mainz" - description: Approximate date with publisher info - value: temporal_extent: begin_of_the_begin: "1623-01-01" - publication_date_string: "1623" - description: Year-level precision has_or_had_edition: range: Edition inlined: true multivalued: true - description: | - Edition statement(s) for the carrier. - MIGRATED from edition_statement per Rule 53 (2026-01-25). - Uses Edition class with has_or_had_note for the statement text. examples: - value: has_or_had_note: "First edition" - description: Standard edition statement - value: has_or_had_note: "Second edition, revised and enlarged" has_or_had_label: "2nd Edition" - description: Complex edition statement copy_number: required: false range: string @@ -457,18 +386,12 @@ classes: # - value: Extensive marginal annotations in 16th-century hand contains_or_contained: range: string - description: Annotations on this information carrier. examples: - value: has_or_had_description: "Partially illegible note in margin" is_or_was_created_by: has_or_had_label: "Archivist J. Smith" - description: Annotation by archivist includes_or_included: - description: >- - MIGRATED from bookplate (Rule 53). - Bookplate(s) present in the volume, indicating ownership. - Range narrowed to Bookplate class. required: false range: Bookplate multivalued: true @@ -477,7 +400,6 @@ classes: - value: id: https://nde.nl/ontology/hc/bookplate/pembroke-001 has_or_had_label: "Ex Libris Earl of Pembroke" - description: Armorial bookplate of the Earl of Pembroke # ownership_stamp: # required: false # range: string @@ -487,14 +409,8 @@ classes: has_or_had_provenance: required: false range: string - description: >- - Provenance information related to the physical binding of this information carrier. - MIGRATED from binding_provenance (2026-01-15) per Rule 53. - Describes the historical ownership or commissioning context of the binding, - such as royal presentation bindings or notable previous owners' bindings. examples: - value: Bound for presentation to Elizabeth I, royal arms in gold - description: Royal presentation binding provenance # isbn: # required: false # range: string @@ -522,42 +438,14 @@ classes: range: uriorcurie multivalued: true inlined: true - description: | - Identifiers for this information carrier. - MIGRATED from call_number (2026-01-17), wikidata_id (2026-01-15), and doi (2026-01-26) per Rule 53. - Includes: - - Library call numbers (bf:shelfMark) - e.g., BS75.A1 1455, Inc. 1 - - Wikidata IDs (Q-numbers) - e.g., Q178401 - - DOIs - e.g., 10.1000/xyz123 - - Local collection identifiers - - Other external identifiers - Use identifier_scheme to distinguish types: - - LIBRARY_OF_CONGRESS, DEWEY_DECIMAL for classification call numbers - - LOCAL_COLLECTION for institutional identifiers - - WIKIDATA for Q-numbers - - DOI for Digital Object Identifiers examples: - value: - identifier_value: BS75.A1 1455 - identifier_scheme: LIBRARY_OF_CONGRESS - description: Library of Congress call number - value: - identifier_value: Inc. 1 - identifier_scheme: LOCAL_COLLECTION - description: Incunabula collection number (was call_number) - value: - identifier_value: Q178401 - identifier_scheme: WIKIDATA - description: Wikidata identifier for Gutenberg Bible - value: - identifier_value: 10.1000/xyz123 - identifier_scheme: DOI - description: Digital Object Identifier - value: - identifier_value: NL-HaNA/2.21.006.50 has_or_had_type: has_or_had_label: Archival Reference - description: Dutch National Archives reference shelf_mark: required: false range: string @@ -588,60 +476,36 @@ classes: range: IndexNumber inlined: true multivalued: true - description: | - File or index number assigned to the information carrier. - MIGRATED from file_number per slot_fixes.yaml (Rule 53, 2026-01-26). - Uses IndexNumber class. examples: - value: - identifier_value: "File 123" - description: File number - value: - identifier_value: "Item 45" - description: Item number has_or_had_level: # was: has_arrangement_level - migrated per Rule 53 (2026-01-27) range: ArrangementLevel required: false - description: | - Level of arrangement in archival hierarchy. - MIGRATED from has_arrangement_level (2026-01-27). - Uses ArrangementLevel class hierarchy (Fonds, Series, File, Item). examples: - value: has_or_had_code: ITEM has_or_had_label: Item - description: Item level arrangement - value: has_or_had_code: FILE has_or_had_label: File - description: File level arrangement # REMOVED 2026-01-23: carries_information - migrated to has_or_had_content (Rule 53/F25) has_or_had_content: required: false range: string inlined: true - description: >- - The intellectual content carried by this information carrier. - MIGRATED from carries_information (2026-01-23) per Rule 53/F25. - Uses Content class with ContentType taxonomy per Rule 0b. examples: - value: has_or_had_label: Vulgate Latin Bible has_or_had_type: has_or_had_code: RELIGIOUS has_or_had_label: Religious Content - description: Religious text content - value: has_or_had_label: Hamlet by William Shakespeare has_or_had_type: has_or_had_code: LITERARY has_or_had_label: Literary Content - description: Literary work has_or_had_policy: - description: | - Access policies governing the carrier. - MIGRATED from has_or_had_access_management/policy/restriction/right per Rule 53. - Uses AccessPolicy class. range: AccessPolicy inlined: true multivalued: true @@ -649,12 +513,7 @@ classes: - value: has_or_had_description: description_text: "Restricted access due to fragility" - description: Conservation restriction is_or_was_triggered_by: - description: | - Event triggering an access change. - MIGRATED from has_or_had_access_trigger_event per Rule 53. - Uses AccessTriggerEvent class. range: AccessTriggerEvent inlined: true examples: @@ -663,7 +522,6 @@ classes: description_text: "Embargo expiration" temporal_extent: begin_of_the_begin: "2050-01-01" - description: Embargo release event # parallel_title: # required: false # range: string @@ -703,7 +561,6 @@ classes: has_or_had_quantity: # was: folio_count - migrated per Rule 53 (2026-01-26) - quantity_value: 641 has_or_had_unit: - unit_value: folium binding_type: 18th-century full leather has_or_had_description: 'Rebound in the 18th century in red morocco with gold tooling. Five raised bands on spine with gilt lettering. @@ -717,12 +574,9 @@ classes: # MIGRATED 2026-01-24: date_of_publication → is_or_was_published (Rule 53) is_or_was_published: - publication_date_string: "c. 1455" - publisher: "Johannes Gutenberg" - publication_place: "Mainz" script_type: PRINTED has_or_had_writing_system: has_or_had_code: "Latn" - script_name: "Latin" has_or_had_language: - iso_639_1: lat # MIGRATED 2026-01-23: carries_information → has_or_had_content (Rule 53/F25) @@ -737,16 +591,11 @@ classes: # Merged with existing wikidata_id migration (2026-01-15) has_or_had_identifier: - identifier_value: "Inc. 1" - identifier_scheme: LOCAL_COLLECTION - description: "Incunabula collection number (was call_number)" - identifier_value: "Q178401" - identifier_scheme: WIKIDATA - label: "Gutenberg Bible (KB copy)" copy_note: - Complete copy on paper (2 volumes) - Rubricated in red and blue current_keeper: https://nde.nl/ontology/hc/custodian/nl/koninklijke-bibliotheek - description: Gutenberg Bible at Koninklijke Bibliotheek - value: object_id: https://nde.nl/ontology/hc/object/bl-codex-sinaiticus object_name: Codex Sinaiticus (British Library portion) @@ -762,11 +611,9 @@ classes: has_or_had_quantity: # was: folio_count - migrated per Rule 53 (2026-01-26) - quantity_value: 347 has_or_had_unit: - unit_value: folium script_type: MANUSCRIPT has_or_had_writing_system: has_or_had_code: "Grek" - script_name: "Greek uncial" has_or_had_language: - iso_639_1: grc # MIGRATED 2026-01-24: date_of_publication → is_or_was_published (Rule 53) @@ -784,8 +631,6 @@ classes: # MIGRATED 2026-01-15: wikidata_id → has_or_had_identifier (Rule 53) has_or_had_identifier: - qid: "Q151610" - label: "Codex Sinaiticus" - description: Codex Sinaiticus at British Library - value: object_id: https://nde.nl/ontology/hc/object/nara-declaration-independence object_name: Declaration of Independence (engrossed parchment) @@ -801,7 +646,6 @@ classes: script_type: MANUSCRIPT has_or_had_writing_system: has_or_had_code: "Latn" - script_name: "Latin" has_or_had_language: - iso_639_1: eng # MIGRATED 2026-01-24: date_of_publication → is_or_was_published (Rule 53) @@ -809,18 +653,14 @@ classes: - temporal_extent: begin_of_the_begin: "1776-08-02" end_of_the_end: "1776-08-02" - publisher: "John Dunlap" - publication_place: "Philadelphia" has_or_had_identifier: - identifier_value: NARA 1419 has_or_had_type: has_or_had_label: Archival Reference # MIGRATED 2026-01-15: wikidata_id → has_or_had_identifier (Rule 53) - qid: "Q127885" - label: "United States Declaration of Independence" fonds: Records of the Continental and Confederation Congresses has_or_had_level: has_or_had_code: ITEM has_or_had_label: Item - current_keeper: https://nde.nl/ontology/hc/custodian/us/national-archives - description: Declaration of Independence at National Archives + current_keeper: https://nde.nl/ontology/hc/custodian/us/national-archives \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/Institution.yaml b/schemas/20251121/linkml/modules/classes/Institution.yaml index 1f39d37d90..1acf324d47 100644 --- a/schemas/20251121/linkml/modules/classes/Institution.yaml +++ b/schemas/20251121/linkml/modules/classes/Institution.yaml @@ -36,7 +36,6 @@ classes: - has_or_had_identifier slot_usage: has_or_had_identifier: - description: Wikidata identifier for Institution concept has_or_had_type: equals_expression: '["*"]' organizational_level: diff --git a/schemas/20251121/linkml/modules/classes/InstitutionalArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/InstitutionalArchiveRecordSetType.yaml index 243f13e14b..e50cbb938b 100644 --- a/schemas/20251121/linkml/modules/classes/InstitutionalArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/InstitutionalArchiveRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/InstitutionalRepository.yaml b/schemas/20251121/linkml/modules/classes/InstitutionalRepository.yaml index 38010cbcfc..a449f267b8 100644 --- a/schemas/20251121/linkml/modules/classes/InstitutionalRepository.yaml +++ b/schemas/20251121/linkml/modules/classes/InstitutionalRepository.yaml @@ -33,7 +33,6 @@ classes: - has_or_had_identifier slot_usage: has_or_had_identifier: - description: Wikidata identifier for Institutional Repository concept platform_type_id: identifier: false has_or_had_type: diff --git a/schemas/20251121/linkml/modules/classes/IntangibleHeritageEvent.yaml b/schemas/20251121/linkml/modules/classes/IntangibleHeritageEvent.yaml index ff70dc53e3..6b0b66a4e4 100644 --- a/schemas/20251121/linkml/modules/classes/IntangibleHeritageEvent.yaml +++ b/schemas/20251121/linkml/modules/classes/IntangibleHeritageEvent.yaml @@ -57,38 +57,28 @@ classes: - schema:SocialEvent - crm:E4_Period slots: - - has_or_had_audience_size - has_or_had_type - has_or_had_edition - is_or_was_cancelled_by - temporal_extent - has_or_had_description - has_or_had_identifier - - is_or_was_located_at - has_or_had_label - has_or_had_status - has_or_had_url - is_or_was_located_in - has_or_had_documentation - - id - instance_of - organized_by - participant_count - - has_or_had_related_event - specificity_annotation - has_or_had_score slot_usage: - id: - identifier: true - required: true - range: uriorcurie - description: Unique identifier for this intangible heritage event. MIGRATED from event_id (2026-01-26). examples: - value: https://nde.nl/ontology/hc/heritage-event/pride-amsterdam-2024 has_or_had_label: required: true range: string - description: Name of the event. MIGRATED from event_name (2026-01-26). examples: - value: Pride Amsterdam 2024 - value: Carnaval Maastricht 2025 @@ -96,7 +86,6 @@ classes: has_or_had_description: required: false range: string - description: Description of the event occurrence. MIGRATED from event_description (2026-01-26). examples: - value: "Pride Amsterdam 2024 celebrated \"Proud of Every Body\" with 80 \nboats in the Canal Parade, attracting over 500,000 spectators.\n" instance_of: @@ -109,30 +98,18 @@ classes: range: Edition inlined: true multivalued: true - description: 'Edition of the event (e.g. 29th edition). - MIGRATED from edition_number per Rule 53 (2026-01-25). - ' examples: - value: has_or_had_identifier: '29' has_or_had_label: 29th Edition - description: Pride Amsterdam 2024 temporal_extent: required: false range: TimeSpan inlined: true - description: Temporal extent of the event. Replaces event_date_start, event_date_end, event_timespan (migrated 2026-01-26). examples: - value: begin_of_the_begin: '2024-08-03' end_of_the_end: '2024-08-10' - description: Pride Amsterdam typically lasts a week - is_or_was_located_at: - required: false - range: CustodianPlace - multivalued: true - inlined: true - description: Location where the event took place. MIGRATED from event_location (2026-01-26). examples: - value: place_name: Amsterdam Canal Ring @@ -142,7 +119,6 @@ classes: range: Venue inlined: true multivalued: true - description: Specific venue where the event took place. MIGRATED from event_venue (2026-01-26). examples: - value: has_or_had_label: Museumplein Amsterdam @@ -158,53 +134,31 @@ classes: range: integer examples: - value: 5000 - description: Pride Amsterdam parade participants - has_or_had_audience_size: - required: false - range: integer - examples: - - value: 500000 - description: Pride Amsterdam spectators has_or_had_status: required: false range: EventStatusEnum - description: Status of the event. MIGRATED from event_status (2026-01-26). examples: - value: COMPLETED is_or_was_cancelled_by: required: false range: Cancellation inlined: true - description: Cancellation details if the event was cancelled. MIGRATED from event_cancelled_reason (2026-01-26). examples: - value: has_or_had_rationale: has_or_had_label: COVID-19 pandemic restrictions - description: Pride Amsterdam 2020 cancellation has_or_had_url: required: false range: uri - description: URL for the event. MIGRATED from event_url (2026-01-26). examples: - value: https://pride.amsterdam/2024 has_or_had_documentation: required: false range: uri multivalued: true - description: Documentation for the event. MIGRATED from event_documentation (2026-01-26). examples: - value: https://www.youtube.com/watch?v=pride2024 - has_or_had_related_event: - required: false - range: IntangibleHeritageEvent - multivalued: true - inlined: false - examples: - - value: https://nde.nl/ontology/hc/heritage-event/pride-amsterdam-2023 has_or_had_identifier: - description: 'Wikidata entity identifier (Q-number) for this intangible heritage event. - MIGRATED 2026-01-15: Replaces wikidata_id slot per Rule 53. - ' required: false range: WikiDataIdentifier multivalued: true @@ -212,9 +166,6 @@ classes: inlined_as_list: true examples: - value: - qid: Q1234567 - label: Pride Amsterdam 2024 - description: Wikidata identifier for the event has_or_had_type: equals_expression: '["hc:IntangibleHeritageGroupType"]' comments: @@ -239,7 +190,6 @@ classes: temporal_extent: begin_of_the_begin: '2024-08-03' end_of_the_end: '2024-08-10' - is_or_was_located_at: - place_name: Amsterdam Canal Ring place_specificity: DISTRICT organized_by: @@ -248,7 +198,6 @@ classes: audience_size: 500000 has_or_had_status: COMPLETED has_or_had_url: https://pride.amsterdam/2024 - description: Pride Amsterdam 2024 occurrence - value: id: https://nde.nl/ontology/hc/heritage-event/pride-amsterdam-2020 has_or_had_label: Pride Amsterdam 2020 @@ -265,7 +214,6 @@ classes: is_or_was_cancelled_by: has_or_had_rationale: has_or_had_label: COVID-19 pandemic restrictions - description: Pride Amsterdam 2020 - cancelled event documenting COVID impact annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/IntangibleHeritageForm.yaml b/schemas/20251121/linkml/modules/classes/IntangibleHeritageForm.yaml index c4578429b2..23eb9aed3d 100644 --- a/schemas/20251121/linkml/modules/classes/IntangibleHeritageForm.yaml +++ b/schemas/20251121/linkml/modules/classes/IntangibleHeritageForm.yaml @@ -68,7 +68,6 @@ classes: - has_or_had_type - has_or_had_url - has_or_had_scope - - has_or_had_geographic_scope - has_or_had_description - has_or_had_identifier - has_or_had_label @@ -82,7 +81,6 @@ classes: - specificity_annotation - has_or_had_score - is_or_was_threatened_by - - has_or_had_transmission_method - is_or_was_categorized_as - temporal_extent - has_or_had_status @@ -93,27 +91,16 @@ classes: multivalued: true inlined: true inlined_as_list: true - description: 'Identifiers for this intangible heritage form. - Accepts multiple identifier types: - - Primary ID: URI/CURIE for the heritage form (required) - - WikiDataIdentifier: Wikidata Q-number (MIGRATED 2026-01-15 from wikidata_id) - Uses structured identifier classes with provenance per Rule 53. - ' any_of: - range: uriorcurie - range: WikiDataIdentifier examples: - value: https://nde.nl/ontology/hc/heritage-form/pride-amsterdam - description: Primary heritage form identifier - value: - qid: Q478546 - label: Pride Amsterdam - description: Wikidata identifier (replaces wikidata_id) has_or_had_label: required: true range: string inlined: true - description: The name of the intangible heritage form. examples: - value: label_text: Pride Amsterdam @@ -125,14 +112,10 @@ classes: required: false range: string inlined: true - description: A description of the intangible heritage form. examples: - value: description_text: Pride Amsterdam is the annual LGBTQ+ celebration featuring the famous Canal Parade through the historic canals of Amsterdam. First held in 1996, it represents Dutch values of tolerance and equality. is_or_was_categorized_as: - description: 'UNESCO ICH domain classification for this heritage form. - MIGRATED from unesco_domain per slot_fixes.yaml (Rule 53). - ' range: UNESCODomain required: true multivalued: true @@ -140,7 +123,6 @@ classes: inlined_as_list: true examples: - value: "UNESCODomain:\n has_or_had_code: SOCIAL_PRACTICES_RITUALS_FESTIVE_EVENTS\n domain_name: \"Social practices, rituals and festive events\"\n" - description: For festivals like Pride Amsterdam, Carnaval kien_url: required: false range: uri @@ -152,45 +134,22 @@ classes: examples: - value: '2019-04-15' has_or_had_status: - description: 'Status information for this heritage form. - MIGRATED from unesco_list_status and viability_status per slot_fixes.yaml (Rule 53). - Use UNESCOListStatus for UNESCO inscription status. - Use ViabilityStatus for viability/health assessment. - ' range: string multivalued: true inlined_as_list: true required: false examples: - value: "UNESCOListStatus:\n has_or_had_code: REPRESENTATIVE_LIST\n list_name: \"Representative List of ICH of Humanity\"\n inscription_date: \"2023-12-06\"\n" - description: UNESCO inscription status - value: "ViabilityStatus:\n has_or_had_code: THRIVING\n status_name: \"Thriving\"\n assessment_date: \"2024-12-01\"\n assessment_notes: \"Strong community practice\"\n" - description: Viability status temporal_extent: - description: 'UNESCO inscription date using CIDOC-CRM TimeSpan. - MIGRATED from unesco_inscription_year per slot_fixes.yaml (Rule 53). - Use begin_of_the_begin with year-only precision for inscription year. - ' range: TimeSpan inlined: true required: false examples: - value: begin_of_the_begin: '2017-01-01' - description: Inscribed on UNESCO list in 2017 - geographic_scope: - required: false - range: string - multivalued: true - examples: - - value: - - Amsterdam - - Utrecht - - Rotterdam - description: Multiple cities where Pride events occur - value: - Netherlands - description: Nationwide tradition origin_location: required: false range: string @@ -203,7 +162,6 @@ classes: examples: - value: begin_of_the_begin: '1996-01-01' - description: Pride Amsterdam started in 1996 safeguarded_by: required: false range: Custodian @@ -211,12 +169,6 @@ classes: inlined: false examples: - value: https://nde.nl/ontology/hc/custodian/nl/amsterdam-gay-pride - description: Stichting Amsterdam Gay Pride safeguards Pride Amsterdam - has_or_had_transmission_method: - required: false - range: string - examples: - - value: Community participation, annual festival organization, volunteer training is_or_was_threatened_by: required: false range: string @@ -235,9 +187,6 @@ classes: - Youth engagement programs - Documentary production is_or_was_related_to: - description: | - Related intangible heritage form. - MIGRATED from has_or_had_related_heritage_form per Rule 53 (2026-01-28). required: false range: IntangibleHeritageForm multivalued: true @@ -251,19 +200,13 @@ classes: examples: - value: https://www.pride.amsterdam has_or_had_scope: - description: 'Geographic scope of the heritage form (local, regional, national, etc.). - MIGRATED from geographic_scope per Rule 53. - Uses GeographicScope class. - ' range: GeographicScope inlined: true examples: - value: has_or_had_label: National - description: National scope - value: has_or_had_label: Local - description: Local scope has_or_had_type: equals_expression: '["hc:IntangibleHeritageGroupType"]' comments: @@ -281,7 +224,6 @@ classes: has_or_had_identifier: - https://nde.nl/ontology/hc/heritage-form/pride-amsterdam - qid: Q478546 - label: Pride Amsterdam has_or_had_label: label_text: Pride Amsterdam has_or_had_description: @@ -289,10 +231,7 @@ classes: is_or_was_categorized_as: - UNESCODomain: has_or_had_code: SOCIAL_PRACTICES_RITUALS_FESTIVE_EVENTS - domain_name: Social practices, rituals and festive events kien_url: https://www.immaterieelerfgoed.nl/nl/pride-amsterdam - geographic_scope: - - Amsterdam origin_location: Amsterdam origin_period: begin_of_the_begin: '1996-01-01' @@ -303,7 +242,6 @@ classes: - ViabilityStatus: has_or_had_code: THRIVING has_or_had_label: Thriving - assessment_date: '2024-12-01' safeguarding_measure: - Annual festival organization - Community engagement @@ -312,7 +250,6 @@ classes: - https://www.pride.amsterdam has_or_had_scope: has_or_had_label: National - description: Pride Amsterdam - LGBTQ+ celebration registered with KIEN annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/IntangibleHeritageGroupType.yaml b/schemas/20251121/linkml/modules/classes/IntangibleHeritageGroupType.yaml index 37a89fa28a..03a5a51230 100644 --- a/schemas/20251121/linkml/modules/classes/IntangibleHeritageGroupType.yaml +++ b/schemas/20251121/linkml/modules/classes/IntangibleHeritageGroupType.yaml @@ -187,66 +187,32 @@ classes: - specificity_annotation - has_or_had_score slot_usage: - ich_domain: - range: string - multivalued: true - required: true - examples: - - value: Performing arts - Traditional music - description: Folk music ensemble - value: Traditional craftsmanship - Pottery - description: Ceramic workshop collective - value: Social practices - Carnival traditions - description: Festival organization - ich_transmission_method: - range: string - required: true - examples: - - value: Master-apprentice training, Community rehearsals - description: Traditional music ensemble transmission - value: Family workshops, Annual training camps, Apprenticeships - description: Traditional craft transmission - value: Ceremonial participation, Oral instruction, Community festivals - description: Ritual practice transmission practitioner_community: range: string required: true examples: - value: 30 active musicians, 15 apprentices, 3 master teachers - description: Gamelan ensemble community structure - value: 8 elder weavers, 12 mid-career, 20 learners - description: Traditional textile community - value: 50 storytellers, 200 community participants - description: Oral narrative tradition performance_repertoire: range: string required: true examples: - value: Gong Kebyar style, Ceremonial music, Contemporary works - description: Balinese gamelan repertoire - value: Traditional Ikat patterns, Natural dye techniques - description: Textile craft repertoire - value: Annual carnival, Summer solstice, Harvest festival - description: Festival tradition repertoire cultural_context: range: string required: true examples: - value: Temple ceremonies, Community festivals, Tourist performances - description: Balinese gamelan cultural context - value: Wedding gifts, Market sales, Cultural pride - description: Traditional textile cultural context - value: Easter processions, Village festivals, Diaspora events - description: Carnival tradition cultural context - has_or_had_ich_safeguarding_measure: - range: string - required: true - examples: - - value: Youth training, Instrument maintenance, Repertoire documentation - description: Gamelan safeguarding measures - value: Apprenticeships, Material sourcing, Fair trade certification - description: Traditional craft safeguarding - value: Annual festival, School programs, UNESCO nomination - description: Festival tradition safeguarding has_or_had_type: equals_expression: '["hc:IntangibleHeritageGroupType"]' diff --git a/schemas/20251121/linkml/modules/classes/IntangibleHeritagePerformance.yaml b/schemas/20251121/linkml/modules/classes/IntangibleHeritagePerformance.yaml index 0bb500e0a1..f5d655d889 100644 --- a/schemas/20251121/linkml/modules/classes/IntangibleHeritagePerformance.yaml +++ b/schemas/20251121/linkml/modules/classes/IntangibleHeritagePerformance.yaml @@ -116,9 +116,7 @@ classes: range: string examples: - value: PT90M - description: 90 minutes - value: PT2H - description: 2 hours performance_location: required: false range: CustodianPlace @@ -156,21 +154,13 @@ classes: - Tabuh Telu (ceremonial piece) - Kreasi Baru (contemporary composition) serves_or_served: - description: The audience or user community for this performance. REPLACES audience_size and audience_type per Rule 53/56. Use UserCommunity.estimated_size for audience count. Use UserCommunity.has_or_had_type for audience category. required: false range: UserCommunity multivalued: true inlined: true examples: - value: - community_name: General public - estimated_size: 500 - description: General audience of 500 people - value: - community_name: Heritage community members - community_description: Members of the traditional music community - estimated_size: 150 - description: Specialized heritage audience recording_available: required: false range: boolean @@ -216,9 +206,7 @@ classes: - "Se\xFA harvest dance" serves_or_served: - community_name: General public - estimated_size: 2000 recording_available: true - description: "Tamb\xFA performance at Pride Amsterdam 2024" annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/InternetOfThings.yaml b/schemas/20251121/linkml/modules/classes/InternetOfThings.yaml index 4dbade5af1..d75e793d4c 100644 --- a/schemas/20251121/linkml/modules/classes/InternetOfThings.yaml +++ b/schemas/20251121/linkml/modules/classes/InternetOfThings.yaml @@ -104,8 +104,6 @@ classes: - maintenance_schedule - operational_status - power_source - - publishes_to - - purpose - refers_to_custodian - specificity_annotation - has_or_had_specification @@ -116,43 +114,21 @@ classes: - is_or_was_generated_by slot_usage: has_or_had_identifier: - description: 'MIGRATED from device_id per slot_fixes.yaml (Rule 53, 2026-01-25). - - Unique identifier for this IoT device or device network. - - Format: URI following NDE Heritage Custodian ontology conventions. - - ' range: uriorcurie required: true identifier: true examples: - value: https://nde.nl/ontology/hc/iot/rijksmuseum-beacon-gallery-1 - description: Beacon network in Gallery of Honour has_or_had_label: - description: 'MIGRATED from device_name per slot_fixes.yaml (Rule 53, 2026-01-25). - - Human-readable name of the IoT device or device network. - - ' range: Label inlined: true required: true examples: - value: label_value: Gallery of Honour Beacon Network - description: Beacon network name - value: label_value: Depot Climate Monitoring System - description: Sensor network name is_or_was_instantiated_by: - description: 'MIGRATED from device_type per slot_fixes.yaml (Rule 53, 2026-01-25). - - Type classification of this IoT device using DeviceType hierarchy. - - Replaces DigitalPresenceTypeEnum values with class-based types. - - ' range: IoTDevice inlined: true required: true @@ -160,207 +136,115 @@ classes: - value: has_or_had_type: has_or_had_label: Bluetooth Beacon - description: Beacon device (was IOT_BEACON) - value: has_or_had_type: has_or_had_label: Climate Sensor - description: Sensor device (was IOT_SENSOR) - value: has_or_had_type: has_or_had_label: Information Kiosk - description: Kiosk device (was IOT_KIOSK) has_or_had_model: - description: 'MIGRATED from device_model per slot_fixes.yaml (Rule 53, 2026-01-25). - - Model designation of the IoT device. - - ' range: string inlined: true required: false examples: - value: has_or_had_label: Estimote Proximity Beacon - description: Beacon model - value: has_or_had_label: Sensirion SHT45 - description: Sensor model is_or_was_created_by: - description: 'MIGRATED from device_manufacturer per slot_fixes.yaml (Rule 53, 2026-01-25). - - Manufacturer of the IoT device. - - ' range: Manufacturer inlined: true required: false examples: - value: has_or_had_label: Estimote - description: Beacon manufacturer - value: has_or_had_label: Samsung - description: Kiosk manufacturer has_or_had_quantity: - description: 'MIGRATED from device_count per slot_fixes.yaml (Rule 53, 2026-01-25). - - Count of devices in this network/group. - - Uses Quantity class with unit "device". - - ' range: integer inlined: true required: false examples: - value: - quantity_value: 24 has_or_had_unit: - unit_value: device - description: 24 beacons in gallery network - value: - quantity_value: 150 has_or_had_unit: - unit_value: device - description: 150 climate sensors across facility - value: - quantity_value: 1 has_or_had_unit: - unit_value: device - description: Single information kiosk coverage_area: range: string examples: - value: Gallery of Honour (main wing) - description: Specific gallery - value: All galleries and storage areas - description: Facility-wide - value: Main entrance lobby - description: Specific location - purpose: - range: string - required: true - examples: - - value: Proximity triggers for mobile app content - description: Beacon purpose - value: Temperature and humidity monitoring for preservation - description: Climate sensor purpose - value: Self-service collection search for visitors - description: Kiosk purpose has_or_had_specification: - description: 'Technical specifications for the IoT device. - - Migrated from technical_specification to align with RiC-O naming conventions. - - ' range: string examples: - value: BLE 5.0, 50m range, 5-year battery, IP67 rated - description: Beacon specifications connectivity_type: range: string multivalued: true examples: - value: BLUETOOTH_LE - description: Beacon connectivity - value: WIFI - description: Kiosk connectivity power_source: range: string examples: - value: BATTERY - description: Battery-powered beacon - value: MAINS - description: Mains-powered kiosk - publishes_to: - range: uri - examples: - - value: https://dashboard.museum.nl/climate - description: Climate monitoring dashboard - value: https://analytics.museum.nl/beacons - description: Beacon analytics platform has_or_had_endpoint: range: APIEndpoint inlined: true - description: 'API endpoint for accessing IoT device data. - - MIGRATED from has_or_had_api_endpoint per Rule 53. - - ' examples: - value: has_or_had_url: https://api.museum.nl/sensors/v1/ has_or_had_description: Sensor data API - description: Sensor data API has_or_had_output: range: OutputData inlined: true - description: 'Output data specification for this device. - - MIGRATED from data_format per slot_fixes.yaml (Rule 53). - - Uses OutputData class with DataFormat for format specification. - - ' examples: - value: has_or_had_format: has_or_had_type: JsonFormat - has_or_had_media_type: application/json has_or_had_description: Sensor readings in JSON format - description: JSON data format (was data_format) has_or_had_frequency: range: UpdateFrequency inlined: true - description: How often the device sends data/updates, represented as a structured UpdateFrequency instance with quantity and time interval components. examples: - value: "has_or_had_frequency:\n frequency_description: \"Every 5 minutes\"\n has_or_had_quantity:\n numeric_value: 5\n has_or_had_time_interval:\n duration_value: \"PT1M\"\n" - description: Climate sensor update frequency - value: "has_or_had_frequency:\n frequency_description: \"On proximity trigger\"\n is_event_driven: true\n trigger_type: \"proximity\"\n" - description: Beacon trigger frequency installed_at_place: range: CustodianPlace examples: - value: https://nde.nl/ontology/hc/place/rijksmuseum-gallery-of-honour - description: Gallery location installation_date: range: date examples: - value: '2023-06-15' - description: Installation date is_or_was_decommissioned_at: range: Timestamp inlined: true - description: 'Timestamp when the IoT device was or will be decommissioned. - - NULL if still operational. - - MIGRATED from decommission_date per slot_fixes.yaml (Rule 53). - - ' examples: - value: has_or_had_timestamp: '2028-12-31' has_or_had_level: day - description: Planned decommission date for device temporal_extent: range: TimeSpan examples: - value: begin_of_the_begin: '2023-06-15' - description: Device operational since June 2023 operational_status: range: string examples: - value: ACTIVE - description: Device is operational - value: MAINTENANCE - description: Device under maintenance maintenance_schedule: range: string examples: - value: Monthly battery check - description: Beacon maintenance is_or_was_derived_from: range: CustodianObservation multivalued: true @@ -373,7 +257,6 @@ classes: required: true examples: - value: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Rijksmuseum custodian hub comments: - Models physical devices with digital connectivity (beacons, kiosks, sensors) - SOSA/SSN ontology alignment for semantic sensor data @@ -398,11 +281,8 @@ classes: is_or_was_created_by: has_or_had_label: Estimote has_or_had_quantity: - quantity_value: 24 has_or_had_unit: - unit_value: device coverage_area: Gallery of Honour (main wing) - purpose: Proximity triggers for mobile app content near masterpieces connectivity_type: - BLUETOOTH_LE power_source: BATTERY @@ -411,7 +291,6 @@ classes: operational_status: ACTIVE maintenance_schedule: Monthly battery check refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Beacon network in Rijksmuseum Gallery of Honour - value: has_or_had_identifier: https://nde.nl/ontology/hc/iot/rijksmuseum-climate-monitoring has_or_had_label: @@ -424,11 +303,8 @@ classes: is_or_was_created_by: has_or_had_label: Sensirion has_or_had_quantity: - quantity_value: 150 has_or_had_unit: - unit_value: device coverage_area: All galleries and storage areas - purpose: Temperature and humidity monitoring for preservation connectivity_type: - WIFI - LORAWAN @@ -439,20 +315,15 @@ classes: has_or_had_output: has_or_had_format: has_or_had_type: JsonFormat - has_or_had_media_type: application/json has_or_had_description: Climate sensor data has_or_had_frequency: - frequency_description: Every 5 minutes has_or_had_quantity: numeric_value: 5 has_or_had_time_interval: - duration_value: PT1M - duration_description: minute installation_date: '2020-01-15' operational_status: ACTIVE maintenance_schedule: Quarterly calibration refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Climate monitoring sensor network at Rijksmuseum - value: has_or_had_identifier: https://nde.nl/ontology/hc/iot/rijksmuseum-entrance-kiosk has_or_had_label: @@ -465,11 +336,8 @@ classes: is_or_was_created_by: has_or_had_label: Samsung has_or_had_quantity: - quantity_value: 4 has_or_had_unit: - unit_value: device coverage_area: Main entrance lobby - purpose: Self-service collection search and wayfinding for visitors has_or_had_specification: 24-inch touchscreen, 1920x1080 resolution, wheelchair accessible connectivity_type: - ETHERNET @@ -478,7 +346,6 @@ classes: operational_status: ACTIVE maintenance_schedule: Weekly software updates, monthly hardware inspection refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Information kiosks at Rijksmuseum entrance annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/InvalidWebClaim.yaml b/schemas/20251121/linkml/modules/classes/InvalidWebClaim.yaml index 2431c1769b..c2b614204a 100644 --- a/schemas/20251121/linkml/modules/classes/InvalidWebClaim.yaml +++ b/schemas/20251121/linkml/modules/classes/InvalidWebClaim.yaml @@ -34,39 +34,14 @@ classes: range: uriorcurie inlined: true required: false - description: 'MIGRATED from claim_type per slot_fixes.yaml (Rule 53/56, 2026-01-19). - Type of claim that failed validation. - Uses ClaimType class hierarchy. - ' attributes: - claim_value: - range: string - description: Extracted value - raw_value: - range: string - description: Raw value before processing source_url: range: uri - description: URL claim was extracted from retrieved_on: range: datetime - description: When page was archived has_or_had_provenance_path: range: XPath inlined: true - description: XPath provenance path documenting the exact location in the source HTML where this claim was extracted from. Contains expression, match_score, matched_text, and source_document (path to archived HTML file). - extraction_method: - range: string - description: Extraction method - extraction_timestamp: - range: datetime - description: When claim was extracted - validation_reason: - range: string - description: Reason why claim was invalid - validation_rule: - range: string - description: Rule that was violated annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Investment.yaml b/schemas/20251121/linkml/modules/classes/Investment.yaml index 056a394e67..f728d341cb 100644 --- a/schemas/20251121/linkml/modules/classes/Investment.yaml +++ b/schemas/20251121/linkml/modules/classes/Investment.yaml @@ -27,12 +27,9 @@ classes: - has_or_had_type slot_usage: has_or_had_quantity: - description: The monetary amount of the investment. temporal_extent: - description: The time period during which the investment was active. has_or_had_type: range: uriorcurie - description: The area or category of investment (e.g., preservation, digitization). annotations: specificity_score: '0.60' specificity_rationale: Investment tracking is moderately specific to organizational management. diff --git a/schemas/20251121/linkml/modules/classes/Item.yaml b/schemas/20251121/linkml/modules/classes/Item.yaml index fe8aac3751..854f5f5d14 100644 --- a/schemas/20251121/linkml/modules/classes/Item.yaml +++ b/schemas/20251121/linkml/modules/classes/Item.yaml @@ -55,14 +55,10 @@ classes: has_or_had_identifier: range: uriorcurie multivalued: true - description: Identifiers for this item (accession number, inventory number, etc.) has_or_had_label: range: string - description: Human-readable name/title of the item has_or_had_description: range: string - description: Description of the item - annotations: custodian_types: '["*"]' custodian_types_rationale: "All heritage custodians may hold items." @@ -73,17 +69,12 @@ classes: - value: has_or_had_identifier: - identifier_scheme: ACCESSION - identifier_value: "2024.001" has_or_had_label: "Girl with a Pearl Earring" has_or_had_description: description_text: "Oil on canvas by Johannes Vermeer, c. 1665" - description: Painting item - - value: has_or_had_identifier: - identifier_scheme: INVENTORY - identifier_value: "MS-1234" has_or_had_label: "Medieval manuscript" has_or_had_description: - description_text: "Illuminated manuscript on vellum, 13th century" - description: Manuscript item + description_text: "Illuminated manuscript on vellum, 13th century" \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/JointArchivesRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/JointArchivesRecordSetType.yaml index 67018fb1b3..4dca0abe6e 100644 --- a/schemas/20251121/linkml/modules/classes/JointArchivesRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/JointArchivesRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/KeyDate.yaml b/schemas/20251121/linkml/modules/classes/KeyDate.yaml index b006219065..00d47da41c 100644 --- a/schemas/20251121/linkml/modules/classes/KeyDate.yaml +++ b/schemas/20251121/linkml/modules/classes/KeyDate.yaml @@ -15,7 +15,6 @@ classes: class_uri: schema:Event description: Key date. slots: - - has_or_had_date - has_or_had_description annotations: specificity_score: 0.1 diff --git a/schemas/20251121/linkml/modules/classes/LGBTArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/LGBTArchiveRecordSetType.yaml index a180d81c49..1ca7ab594c 100644 --- a/schemas/20251121/linkml/modules/classes/LGBTArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/LGBTArchiveRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/LLMResponse.yaml b/schemas/20251121/linkml/modules/classes/LLMResponse.yaml index b2c60179b9..69679a7c02 100644 --- a/schemas/20251121/linkml/modules/classes/LLMResponse.yaml +++ b/schemas/20251121/linkml/modules/classes/LLMResponse.yaml @@ -58,8 +58,6 @@ classes: - is_or_was_ceased_by - latency_ms - model - - prompt_token - - provider - reasoning_content - request_id - specificity_annotation @@ -72,83 +70,32 @@ classes: required: true examples: - value: The Rijksmuseum is a national museum in Amsterdam dedicated to Dutch arts and history. - description: Extracted heritage institution description reasoning_content: range: string required: false examples: - value: 'The user is asking about Dutch heritage institutions. I need to identify: 1) Institution name: Rijksmuseum, 2) Type: Museum (maps to InstitutionTypeEnum.MUSEUM), 3) Location: Amsterdam (city in Noord-Holland province)...' - description: GLM 4.7 interleaved thinking showing explicit schema reasoning model: range: string required: true examples: - value: glm-4.7 - description: ZhipuAI GLM 4.7 with Interleaved Thinking - provider: - range: LLMProviderEnum - required: true - examples: - - value: zai - description: ZhipuAI (Z.AI) - GLM models request_id: range: string required: false examples: - value: req_8f3a2b1c4d5e6f7g - description: Provider-assigned request identifier created: range: datetime required: true examples: - value: '2025-12-23T10:30:00Z' - description: UTC timestamp of response generation - prompt_token: - range: integer - minimum_value: 0 - examples: - - value: 150 - description: 150 tokens in the input prompt consumes_or_consumed: - description: 'Total tokens consumed by this LLM response (prompt + completion). - - MIGRATED from total_token per slot_fixes.yaml (Rule 53, 2026-01-15). - - From API response: usage.total_tokens - - ' range: integer minimum_value: 0 examples: - value: 600 - description: 600 total tokens (150 prompt + 450 completion) has_or_had_token: - description: 'Token data for this LLM response. - - Multivalued list capturing different token types (cached, completion, reasoning, etc.). - - - **Token Types** (from TokenTypes.yaml): - - - CachedToken: Tokens served from provider cache (reduced cost) - - - OutputToken: Completion/output tokens (content + reasoning_content) - - - ReasoningToken: Chain-of-thought reasoning tokens - - - InputToken: Prompt tokens - - - **API Mapping**: - - - Cached: usage.prompt_tokens_details.cached_tokens - - - Completion: usage.completion_tokens - - - MIGRATED from cached_token (2026-01-17) and completion_token (2026-01-19) per Rule 53/56. - - ' range: Token multivalued: true inlined: true @@ -160,30 +107,18 @@ classes: has_or_had_identifier: hc:TokenType/CACHED has_or_had_label: Cached Token has_or_had_quantity: - quantity_value: 50 has_or_had_description: Tokens from provider KV cache - has_or_had_type: has_or_had_identifier: hc:TokenType/OUTPUT has_or_had_label: Output Token has_or_had_quantity: - quantity_value: 450 has_or_had_description: Completion tokens (content + reasoning) - description: Both cached (50) and completion (450) tokens - value: - has_or_had_type: has_or_had_identifier: hc:TokenType/OUTPUT has_or_had_label: Output Token has_or_had_quantity: - quantity_value: 200 - description: Simple completion token count (no caching) is_or_was_ceased_by: - description: 'Reason why the model stopped generating. - - MIGRATED from finish_reason per Rule 53. - - Uses CeaseEvent class. - - ' range: CeaseEvent inlined: true required: false @@ -191,74 +126,42 @@ classes: - value: has_or_had_label: stop has_or_had_description: Model completed naturally - description: Standard completion - value: has_or_had_label: length has_or_had_description: Max tokens exceeded - description: Truncated response latency_ms: range: integer minimum_value: 0 required: false examples: - value: 1250 - description: 1.25 seconds total response time cost_usd: range: float minimum_value: 0.0 required: false examples: - value: 0.0 - description: Free (Z.AI Coding Plan) - value: 0.015 - description: OpenAI GPT-4 Turbo cost estimate has_or_had_mode: - description: 'The GLM 4.7 thinking mode configuration for this request. - - MIGRATED from thinking_mode to has_or_had_mode with ThinkingMode class. - - ' range: ThinkingMode required: false examples: - value: - mode_value: preserved has_or_had_label: Preserved Thinking - description: Preserved thinking for multi-turn agent conversations - value: - mode_value: interleaved has_or_had_label: Interleaved Thinking - description: Default interleaved thinking between tool calls - value: - mode_value: disabled has_or_had_label: Disabled - description: Disabled for fast, simple queries preserves_or_preserved: - description: 'Reasoning content preserved across conversation turns. - - MIGRATED 2026-01-19: Replaces clear_thinking boolean per Rule 53/56. - - - When populated with is_preserved: true, equivalent to old clear_thinking: false - - (Preserved Thinking enabled - keep reasoning for better cache hits). - - ' range: ReasoningContent inlined: true multivalued: true required: false examples: - value: - is_preserved: true has_or_had_label: Preserved Reasoning - content_text: The user is asking about Dutch heritage institutions... - turn_number: 3 - description: Preserved reasoning content (equivalent to clear_thinking false) - value: - is_preserved: false has_or_had_label: Fresh Context - description: Cleared reasoning (equivalent to clear_thinking true) comments: - reasoning_content is the key field for Interleaved Thinking (GLM 4.7) - Store reasoning_content for debugging, auditing, and DSPy optimization diff --git a/schemas/20251121/linkml/modules/classes/Label.yaml b/schemas/20251121/linkml/modules/classes/Label.yaml index 8354ad40b1..b6b53e5c5a 100644 --- a/schemas/20251121/linkml/modules/classes/Label.yaml +++ b/schemas/20251121/linkml/modules/classes/Label.yaml @@ -66,32 +66,13 @@ classes: slot_usage: has_or_had_label: - description: The textual value of this label. range: string required: true has_or_had_type: - description: | - Type classification for this label, enabling discrimination between - different label purposes within the same entity. - - **Common Types**: - - `vendor_name` - Name of a software vendor/developer - - `product_name` - Name of a software product - - `preferred_name` - Preferred/official name - - `alternative_name` - Alternative/alias name - - `collection_name` - Name of a collection - - Added 2026-01-18 to resolve semantic conflicts when multiple - Label instances are used for different purposes in the same class - (e.g., CollectionManagementSystem uses Label for both vendor_name - and product_name). range: string required: false multivalued: false language: - description: | - ISO 639-1 two-letter language code for this label. - Examples: "en", "nl", "de", "fr" range: string required: false pattern: "^[a-z]{2}$" @@ -107,16 +88,12 @@ classes: - value: | has_or_had_label: Rijksmuseum language: nl - description: "Dutch language label for Rijksmuseum name authority" - value: | has_or_had_label: National Library of the Netherlands language: en - description: "English language label for KB name authority" - value: | has_or_had_label: CollectiveAccess has_or_had_type: product_name - description: "Product name label for CMS software" - value: | has_or_had_label: Whirl-i-Gig - has_or_had_type: vendor_name - description: "Vendor name label for CMS developer" + has_or_had_type: vendor_name \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/LabelType.yaml b/schemas/20251121/linkml/modules/classes/LabelType.yaml index fecb8e3234..8d10052483 100644 --- a/schemas/20251121/linkml/modules/classes/LabelType.yaml +++ b/schemas/20251121/linkml/modules/classes/LabelType.yaml @@ -37,18 +37,14 @@ classes: has_or_had_code: range: string required: true - description: Short code for the label type examples: - value: SHORT_NAME - description: Short name type has_or_had_label: range: string required: false - description: Human-readable name for the label type has_or_had_description: range: string required: false - description: Description of when to use this label type annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/LanguageProficiency.yaml b/schemas/20251121/linkml/modules/classes/LanguageProficiency.yaml index 93dd4a9d8c..55e3a161b6 100644 --- a/schemas/20251121/linkml/modules/classes/LanguageProficiency.yaml +++ b/schemas/20251121/linkml/modules/classes/LanguageProficiency.yaml @@ -43,9 +43,7 @@ classes: range: string examples: - value: English - Native or bilingual - description: Native English speaker - value: Dutch - Professional working proficiency - description: Professional Dutch language_name: range: string examples: @@ -57,16 +55,12 @@ classes: pattern: ^[a-z]{2}$ examples: - value: en - description: English - value: nl - description: Dutch - value: fr - description: French proficiency_level: range: LanguageProficiencyEnum examples: - value: NATIVE_BILINGUAL - description: Native or bilingual proficiency comments: - Inlined in LinkedInProfile.languages[] as multivalued list - Preserves raw LinkedIn format for provenance diff --git a/schemas/20251121/linkml/modules/classes/Laptop.yaml b/schemas/20251121/linkml/modules/classes/Laptop.yaml index a6e69f0d45..94ff505086 100644 --- a/schemas/20251121/linkml/modules/classes/Laptop.yaml +++ b/schemas/20251121/linkml/modules/classes/Laptop.yaml @@ -67,7 +67,6 @@ classes: close_mappings: - schema:amenityFeature slots: - - id - is_permitted - has_or_had_description # MIGRATED 2026-01-22: condition → poses_or_posed_condition + Condition (Rule 53) @@ -76,28 +75,15 @@ classes: - specificity_annotation - has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) slot_usage: - id: - identifier: true - required: true - range: uriorcurie is_permitted: range: boolean required: true - description: >- - Whether laptops are permitted (true) or prohibited (false). - description: - range: string - description: >- - Human-readable description of the laptop policy. # MIGRATED 2026-01-22: condition → poses_or_posed_condition + Condition (Rule 53) poses_or_posed_condition: range: Condition multivalued: true inlined: true inlined_as_list: true - description: >- - Conditions or restrictions on laptop use using structured Condition class. - MIGRATED from condition string slot per slot_fixes.yaml (Rule 53, 2026-01-22). annotations: custodian_types: '["A", "L", "R", "M"]' custodian_types_rationale: >- @@ -119,7 +105,6 @@ classes: - value: id: hc:laptop-policy/nationaal-archief is_permitted: true - description: "Laptops welcome in the study room" poses_or_posed_condition: - has_or_had_type: UseCondition has_or_had_description: @@ -129,11 +114,9 @@ classes: description_text: "Power outlets available at each desk" temporal_extent: begin_of_the_begin: "2010-01-01" - description: Archive laptop-friendly policy - value: id: hc:laptop-policy/special-collections-restricted is_permitted: false - description: "Laptops not permitted in special collections reading room" poses_or_posed_condition: - has_or_had_type: UseCondition has_or_had_description: @@ -143,6 +126,5 @@ classes: description_text: "Institution-provided terminals available" temporal_extent: begin_of_the_begin: "2020-01-01" - description: Restricted laptop policy for special collections # REMOVED inline slots 2026-01-16 - Rule 48 violation # Slots are imported from ../slots/ - do not define inline \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/LastName.yaml b/schemas/20251121/linkml/modules/classes/LastName.yaml index 1a059969e7..fd0db882cb 100644 --- a/schemas/20251121/linkml/modules/classes/LastName.yaml +++ b/schemas/20251121/linkml/modules/classes/LastName.yaml @@ -51,22 +51,14 @@ classes: has_or_had_label: range: string inlined: true - description: >- - The full surname including any prefixes (e.g., "van der Berg"). examples: - value: label_value: "van der Berg" - description: Dutch surname with prefix has_or_had_base: range: BaseName inlined: true - description: >- - The base surname used for sorting (e.g., "Berg" for "van der Berg"). - In Dutch convention, names are sorted by this base form. examples: - value: - base_value: "Berg" - description: Base surname for sorting annotations: custodian_types: '["*"]' specificity_score: 0.6 diff --git a/schemas/20251121/linkml/modules/classes/LegalResponsibilityCollection.yaml b/schemas/20251121/linkml/modules/classes/LegalResponsibilityCollection.yaml index 26b51375f8..89fa1bbfc4 100644 --- a/schemas/20251121/linkml/modules/classes/LegalResponsibilityCollection.yaml +++ b/schemas/20251121/linkml/modules/classes/LegalResponsibilityCollection.yaml @@ -76,33 +76,25 @@ classes: required: true examples: - value: https://nde.nl/ontology/hc/legal/nha-organization - description: Noord-Hollands Archief foundation as responsible legal entity - value: https://nde.nl/ontology/hc/legal/rijksmuseum-foundation - description: Stichting Rijksmuseum as legally responsible custodian legal_responsibility_basis: range: string required: true examples: - value: 'Archiefwet 1995, Article 41: Provincial archives shall preserve government records' - description: Statutory basis for provincial archive responsibility - value: 'Testamentary bequest 1897-12-20: Teylers Museum trust deed' - description: Contractual basis for museum collection custody legal_responsibility_start_date: range: date required: false examples: - value: '2001-01-01' - description: Legal responsibility transferred when NHA formed from merger - value: '1885-07-01' - description: Legal responsibility established at Rijksmuseum founding legal_responsibility_end_date: range: date required: false examples: - value: '2001-01-01' - description: Legal responsibility ended when collection transferred to NHA - value: '1950-05-15' - description: Collection sold at auction, legal responsibility terminated refers_to_custodian: required: true has_or_had_type: @@ -123,22 +115,15 @@ classes: id: https://nde.nl/ontology/hc/collection/nha-provincial-archive has_or_had_label: has_or_had_label: Noord-Hollands Archief - Provinciaal Archief - collection_description: 'Government records of the Province of North Holland, dating from 1289 to present. - - Includes administrative documents, notarial records, and judicial archives. - - ' collection_type: - archival_records has_or_had_scope: scope_description: Provincial government records of Noord-Holland - scope_type: archival_scope has_or_had_content: - has_or_had_label: Provincial Government Records temporal_extent: begin_of_the_begin: '1289-01-01' end_of_the_end: null - extent: 45 kilometers of shelving, approximately 2.5 million documents responsible_legal_entity: https://nde.nl/ontology/hc/legal/nha-organization legal_responsibility_basis: 'Archiefwet 1995 (Dutch Archives Act), Article 41: "De provincie draagt zorg voor de archiefbescheiden die niet meer voor de dagelijkse uitvoering van de werkzaamheden nodig zijn" (The province is responsible for archival records no longer needed for daily operations)' legal_responsibility_start_date: '2001-01-01' @@ -147,23 +132,19 @@ classes: - https://nde.nl/ontology/hc/observation/nha-website-2025 - https://nde.nl/ontology/hc/observation/nha-archiefwet-registration is_or_was_generated_by: null - description: Provincial archive collection under statutory legal responsibility - value: id: https://nde.nl/ontology/hc/collection/rm-national-collection has_or_had_label: has_or_had_label: Rijksmuseum National Art Collection - collection_description: "National art collection of the Netherlands, comprising 8,000+ paintings, \n1 million objects of applied art, and 2 million works on paper.\n" collection_type: - museum_objects has_or_had_scope: scope_description: Dutch art and history from the Middle Ages to present - scope_type: museum_scope has_or_had_content: - has_or_had_label: National Art Collection temporal_extent: begin_of_the_begin: '1200-01-01' end_of_the_end: null - extent: Approximately 1 million objects responsible_legal_entity: https://nde.nl/ontology/hc/legal/rijksmuseum-foundation legal_responsibility_basis: 'Erfgoedwet (Heritage Act) 2016, Article 2.1 + Stichting Rijksmuseum statute (1885): "Het Rijksmuseum heeft tot taak het beheren, bewaren, en tonen van de Rijkscollectie" (The Rijksmuseum''s mission is to manage, preserve, and display the National Collection)' legal_responsibility_start_date: '1885-07-01' @@ -173,7 +154,6 @@ classes: - https://nde.nl/ontology/hc/observation/rijksmuseum-website - https://nde.nl/ontology/hc/observation/erfgoedwet-2016 is_or_was_generated_by: null - description: National museum collection under heritage law and foundation statute annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/LibraryType.yaml b/schemas/20251121/linkml/modules/classes/LibraryType.yaml index ad69e80a92..75c34c1cd9 100644 --- a/schemas/20251121/linkml/modules/classes/LibraryType.yaml +++ b/schemas/20251121/linkml/modules/classes/LibraryType.yaml @@ -99,37 +99,17 @@ classes: - has_or_had_identifier slot_usage: uses_or_used: - description: 'The catalog system or integrated library system (ILS) used by this library. - - MIGRATED from catalog_system per Rule 53/56 (2026-01-24). - - Common systems: ALMA, Koha, Sierra, Aleph, FOLIO, OCLC WorldShare. - - ' range: CatalogSystem inlined: true multivalued: true has_or_had_identifier: pattern: ^Q[0-9]+$ required: true - description: Wikidata identifier (Q-number) for this Library type concept has_or_had_hypernym: - description: 'MIGRATED from broader_type (Rule 53). - - For library type subtypes, links to parent type in hierarchy. - - ' range: LibraryType has_or_had_type: equals_expression: '["hc:LibraryType"]' complies_or_complied_with: - description: 'Cataloging and metadata standards used by the library. - - MIGRATED from cataloging_standard per Rule 53/56 (2026-01-17). - - Common library standards: MARC21, RDA, BIBFRAME, Dublin Core. - - ' range: CatalogingStandard inlined: true multivalued: true @@ -166,7 +146,6 @@ classes: has_or_had_name: Library Services Platform special_collection: - incunabula - - manuscripts - historical maps - national heritage literature membership_required: false @@ -174,9 +153,6 @@ classes: complies_or_complied_with: - has_or_had_identifier: RDA has_or_had_label: Resource Description and Access - standard_domain: - - library - description: National Library with comprehensive national collection and research-level access - value: has_or_had_identifier: https://nde.nl/ontology/hc/type/library/Q1994819 has_or_had_type_code: LIBRARY @@ -199,8 +175,6 @@ classes: complies_or_complied_with: - has_or_had_identifier: MARC21 has_or_had_label: Machine-Readable Cataloging 21 - standard_domain: - - library is_or_was_applicable_in: - has_or_had_identifier: NL has_or_had_name: Netherlands diff --git a/schemas/20251121/linkml/modules/classes/LightArchivesRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/LightArchivesRecordSetType.yaml index 3c9c31cfb5..bae887d100 100644 --- a/schemas/20251121/linkml/modules/classes/LightArchivesRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/LightArchivesRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/LinkedInProfile.yaml b/schemas/20251121/linkml/modules/classes/LinkedInProfile.yaml index ecef34c9e3..fcf0932442 100644 --- a/schemas/20251121/linkml/modules/classes/LinkedInProfile.yaml +++ b/schemas/20251121/linkml/modules/classes/LinkedInProfile.yaml @@ -88,9 +88,6 @@ classes: range: string required: true inlined: true - description: 'Extraction provenance metadata. - MIGRATED from extraction_metadata per Rule 53 (2026-01-26). - ' profile_data: range: LinkedInProfileData required: true @@ -103,11 +100,8 @@ classes: pattern: ^[a-z0-9-]+$ examples: - value: the-dutch-inspectorate-of-education - description: Organization where person was discovered as staff - value: rijksmuseum - description: Heritage institution employer has_or_had_contact_details: - description: Contact details for this profile, including WhatsApp information if available. Uses RiC-O has_or_had pattern for temporal relationships. range: WhatsAppProfile inlined: true comments: @@ -145,7 +139,6 @@ classes: - foaf:Person slots: - connections_text - - education - indicates_or_indicated - has_or_had_title - has_or_had_language @@ -173,11 +166,8 @@ classes: range: string examples: - value: Stafadviseur PO - description: Dutch job title - value: Senior Curator | Rijksmuseum - description: Title with organization - value: Digital Archivist | Heritage Data Specialist - description: Multiple roles profile_location: range: string examples: @@ -189,24 +179,11 @@ classes: - value: "246 connections \u2022 248 followers" - value: 500+ connections has_or_had_description: - description: 'About text/summary from the LinkedIn profile. - MIGRATED from has_or_had_about_text per Rule 53. - Uses Description class. - ' range: string inlined: true examples: - value: description_text: Experienced curator with a focus on... - description: Profile summary - has_or_had_activity_text: - range: string - multivalued: true - examples: - - value: - - education - - teaching - - curriculum development languages_raw: range: string multivalued: true @@ -241,26 +218,12 @@ classes: ' slots: - indicates_or_indicated - - enrichment_metadata_whatsapp - specificity_annotation - has_or_had_score - - has_or_had_likelihood_score slot_usage: indicates_or_indicated: range: DigitalProfessionalAssessment inlined: true - description: 'Indicates digital professional assessment. - Migrated from digital_professional. - ' - has_or_had_likelihood_score: - range: LikelihoodScore - inlined: true - description: 'WhatsApp business likelihood score. - MIGRATED from whatsapp_business_likelihood per slot_fixes.yaml (Rule 53, 2026-01-15). - ' - enrichment_metadata_whatsapp: - range: WhatsAppEnrichmentMetadata - inlined: true DigitalProfessionalAssessment: class_uri: hc:DigitalProfessionalAssessment description: 'Assessment of a person''s digital/technology proficiency. @@ -278,27 +241,19 @@ classes: range: DigitalProficiency inlined: true multivalued: true - description: 'Digital proficiency indicators (skills/tools) emphasized in the profile. - Migrated from digital_indicator (string list). - ' examples: - value: has_or_had_label: Python has_or_had_type: PROGRAMMING_LANGUAGE - description: Python skill indicator estimates_or_estimated: range: DigitalConfidence inlined: true required: false - description: 'Confidence estimation for digital proficiency. - Migrated from digital_confidence (string) to structured class. - ' examples: - value: has_or_had_score: 0.85 has_or_had_type: PROFICIENCY_INFERENCE has_or_had_description: High confidence inferred from technical skills - description: High confidence estimation WhatsAppLikelihood: class_uri: hc:WhatsAppLikelihood description: 'Likelihood score for WhatsApp business usage. @@ -329,15 +284,11 @@ classes: range: string multivalued: true is_or_was_assessed_on: - description: 'Date when the likelihood score was assessed. - MIGRATED from has_assessment_date per Rule 53. - ' range: TimeSpan inlined: true examples: - value: start_of_the_start: '2024-01-01T12:00:00Z' - description: Assessment timestamp WhatsAppEnrichmentMetadata: class_uri: hc:WhatsAppEnrichmentMetadata description: 'Metadata about the WhatsApp enrichment process. @@ -345,38 +296,24 @@ classes: slots: - has_or_had_provenance - has_or_had_source - - enriched_date - - enrichment_method_whatsapp - no_fabrication - specificity_annotation - has_or_had_score slot_usage: - enriched_date: - range: datetime - enrichment_method_whatsapp: - range: string - examples: - - value: linkedin_profile_analysis has_or_had_source: range: DataSource inlined: true - description: Source of data for this enrichment. Replaces data_source_whatsapp string with structured DataSource class. examples: - value: has_or_had_label: LinkedIn Profile has_or_had_code: LINKEDIN has_or_had_description: Public LinkedIn profile data - description: LinkedIn as data source no_fabrication: range: boolean has_or_had_provenance: range: string inlined: true - description: Provenance information for the enrichment data. Contains data source, extraction method, confidence score, and verification status. examples: - value: - data_source: public_linkedin_profile extraction_date: '2025-01-14T12:00:00Z' - confidence_score: 0.95 - note: Verified production data from LinkedIn profile - description: Real production enrichment data with provenance + note: Verified production data from LinkedIn profile \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/LiteraryArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/LiteraryArchiveRecordSetType.yaml index 500e73b451..bdcfd1454b 100644 --- a/schemas/20251121/linkml/modules/classes/LiteraryArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/LiteraryArchiveRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/LlmVerification.yaml b/schemas/20251121/linkml/modules/classes/LlmVerification.yaml index c0660ba3b4..b2b217ad48 100644 --- a/schemas/20251121/linkml/modules/classes/LlmVerification.yaml +++ b/schemas/20251121/linkml/modules/classes/LlmVerification.yaml @@ -53,7 +53,6 @@ classes: slot_usage: has_or_had_type: range: string - description: CH-Annotator entity type (e.g., GRP.HER.MUS). Replaces entity_type. annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Loan.yaml b/schemas/20251121/linkml/modules/classes/Loan.yaml index 26f2a0e644..289ce6ceff 100644 --- a/schemas/20251121/linkml/modules/classes/Loan.yaml +++ b/schemas/20251121/linkml/modules/classes/Loan.yaml @@ -87,19 +87,9 @@ classes: slot_usage: is_or_was_approved_on: range: TimeSpan - description: 'Date when the loan was approved. - Replaces has_approval_date per Rule 53. - Use start_of_the_start for the approval timestamp. - ' examples: - value: start_of_the_start: '2021-09-20' - description: Approval date - has_agreement_signed_date: - required: false - range: date - examples: - - value: '2022-03-15' loan_start_date: required: false range: date @@ -115,33 +105,23 @@ classes: range: date examples: - value: '2023-05-15' - description: Extended by 3 weeks is_or_was_extended: required: false range: Extension multivalued: true inlined: true - description: Extension details including count/quantity. MIGRATED from extension_count (2026-01-26). examples: - value: has_or_had_quantity: - quantity_value: 1 has_or_had_unit: has_or_had_label: event - description: One extension granted temporal_extent: - description: 'Temporal extent of the loan including actual return date. - MIGRATED from has_actual_return_date per Rule 53. - Uses TimeSpan class. - Use end_of_the_end for actual return date. - ' range: TimeSpan inlined: true required: false examples: - value: end_of_the_end: '2023-06-07' - description: Actual return date loan_timespan: required: false range: TimeSpan @@ -160,7 +140,6 @@ classes: range: decimal examples: - value: 30000000 - description: "\u20AC30 million insurance for Girl with a Pearl Earring" insurance_currency: required: false range: string @@ -207,10 +186,6 @@ classes: multivalued: true inlined: true inlined_as_list: true - description: 'Return event(s) documenting item return with condition assessment. - MIGRATED from condition_on_return per slot_fixes.yaml (Rule 53, 2026-01-22). - Uses ReturnEvent class with has_or_had_condition for structured condition data. - ' examples: - value: - return_date: '2023-06-07' @@ -218,23 +193,16 @@ classes: - has_or_had_type: GoodCondition has_or_had_description: description_text: UNCHANGED - returned in same condition - description: Successful return unchanged - value: - return_date: '2023-06-07' has_or_had_condition: - has_or_had_type: FairCondition has_or_had_description: description_text: MINOR_DAMAGE - small scratch on frame, documented - damage_noted: true - damage_description: Small scratch on lower right frame corner - description: Return with minor damage documented has_or_had_objective: required: false range: uriorcurie inlined: false - description: 'Exhibition associated with the loan (objective/purpose). - MIGRATED from exhibition_ref per Rule 53. - ' examples: - value: https://nde.nl/ontology/hc/exhibition/rijksmuseum-vermeer-2023 is_or_was_displayed_at: @@ -242,13 +210,9 @@ classes: range: DisplayLocation inlined: true multivalued: true - description: 'Location where the object was displayed during the loan. - MIGRATED from display_location (2026-01-26). - ' examples: - value: has_or_had_label: Philips Wing, Gallery 0.1 - description: Display location within venue loan_note: required: false range: string @@ -282,7 +246,6 @@ classes: - value: loan_id: https://nde.nl/ontology/hc/loan/mauritshuis-rijksmuseum-2023-001 loan_number: MH-OUT-2023-0042 - has_or_had_loaned_object: - https://nde.nl/ontology/hc/object/mauritshuis-girl-pearl-earring lender: https://nde.nl/ontology/hc/custodian/nl/mauritshuis lender_contact: Dr. Maria van der Berg, Registrar @@ -316,15 +279,12 @@ classes: - has_or_had_type: GoodCondition has_or_had_description: description_text: UNCHANGED - returned in same condition as loaned - damage_noted: false special_requirement: - Maintain 45-55% relative humidity - Maximum 50 lux illumination - Anti-reflective glazed case - description: Girl with a Pearl Earring loan to Vermeer 2023 exhibition - value: loan_id: https://nde.nl/ontology/hc/loan/rijksmuseum-national-gallery-2024-001 - has_or_had_loaned_object: - https://nde.nl/ontology/hc/object/rijksmuseum-night-watch lender: https://nde.nl/ontology/hc/custodian/nl/rijksmuseum custody_received_by: https://nde.nl/ontology/hc/custodian/uk/national-gallery @@ -335,10 +295,8 @@ classes: loan_note: - Declined due to ongoing Operation Night Watch conservation project - Object too large and fragile for transport - description: Declined loan request for The Night Watch - value: loan_id: https://nde.nl/ontology/hc/loan/leiden-university-rkd-2024-001 - has_or_had_loaned_object: - https://nde.nl/ontology/hc/object/leiden-university-rembrandt-drawing-001 lender: https://nde.nl/ontology/hc/custodian/nl/leiden-university-libraries custody_received_by: https://nde.nl/ontology/hc/custodian/nl/rkd @@ -356,8 +314,6 @@ classes: - has_or_had_type: GoodCondition has_or_had_description: description_text: UNCHANGED - returned in same condition - damage_noted: false - description: Study loan for scholarly research annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/LocalGovernmentArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/LocalGovernmentArchiveRecordSetType.yaml index 427393ef84..dd62de236d 100644 --- a/schemas/20251121/linkml/modules/classes/LocalGovernmentArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/LocalGovernmentArchiveRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/LocalHeritageInstitutionSweden.yaml b/schemas/20251121/linkml/modules/classes/LocalHeritageInstitutionSweden.yaml index f50e4c3f56..400c798b7e 100644 --- a/schemas/20251121/linkml/modules/classes/LocalHeritageInstitutionSweden.yaml +++ b/schemas/20251121/linkml/modules/classes/LocalHeritageInstitutionSweden.yaml @@ -36,11 +36,8 @@ classes: - has_or_had_identifier slot_usage: has_or_had_identifier: - description: "Wikidata identifier for Hembygdsg\xE5rd concept" has_or_had_type: equals_expression: '["hc:MixedCustodianType"]' - geographic_restriction: - equals_string: Sweden only see_also: - LocalHistoryArchive - HeritageSocietyType diff --git a/schemas/20251121/linkml/modules/classes/LocalHistoryArchive.yaml b/schemas/20251121/linkml/modules/classes/LocalHistoryArchive.yaml index fc861f4b69..748aac81f9 100644 --- a/schemas/20251121/linkml/modules/classes/LocalHistoryArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/LocalHistoryArchive.yaml @@ -52,7 +52,6 @@ classes: skos:prefLabel: Local History Archive skos:altLabel: Lokalarchiv, archivo de historia local, archives d'histoire locale, Community History Archive subject_domain: local history - geographic_scope: local/community specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration custodian_types: "['*']" diff --git a/schemas/20251121/linkml/modules/classes/LocalHistoryArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/LocalHistoryArchiveRecordSetType.yaml index 1cdd5734c2..e4a70485a7 100644 --- a/schemas/20251121/linkml/modules/classes/LocalHistoryArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/LocalHistoryArchiveRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Locality.yaml b/schemas/20251121/linkml/modules/classes/Locality.yaml index d53c1c3a73..d0f15c1109 100644 --- a/schemas/20251121/linkml/modules/classes/Locality.yaml +++ b/schemas/20251121/linkml/modules/classes/Locality.yaml @@ -112,22 +112,14 @@ classes: slot_usage: has_or_had_label: - description: >- - Standardized or interpreted locality name. - Use when verbatim text has been parsed into standard form. range: string examples: - value: "Port Louis, Mauritius" has_or_had_note: - description: >- - Additional notes about this locality record. range: string has_or_had_provenance: - description: >- - Provenance of this locality description. - Tracks source (label, field notes, database) and extraction details. range: ProvenanceBlock inlined: true @@ -154,24 +146,11 @@ classes: examples: - value: - verbatim_text: "Mauritius, near Port Louis, in forest" - original_language: "en" has_or_had_label: "Port Louis, Mauritius" has_or_had_provenance: - data_source: "specimen_label" - extraction_date: "2025-01-19" - description: Locality for historical Dodo specimen - - value: verbatim_text: "Indonesia: Java: Mt. Gede, 1500m" - original_language: "en" - interpretation_notes: "Mt. Gede is Gunung Gede volcano in West Java" has_or_had_label: "Gunung Gede, West Java, Indonesia" - description: Indonesian specimen with elevation data - - value: - verbatim_text: "Prope Cape Town, in rupibus ad mare" - original_language: "la" interpretation_notes: "Latin: 'Near Cape Town, on rocks by the sea'" - has_or_had_label: "Cape Town coastline, South Africa" - description: Historical specimen with Latin locality description + has_or_had_label: "Cape Town coastline, South Africa" \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/Location.yaml b/schemas/20251121/linkml/modules/classes/Location.yaml index 4691a06957..6422c479ee 100644 --- a/schemas/20251121/linkml/modules/classes/Location.yaml +++ b/schemas/20251121/linkml/modules/classes/Location.yaml @@ -58,18 +58,12 @@ classes: slot_usage: location_name: - description: | - Human-readable name of the location. range: string required: true latitude: - description: | - WGS84 latitude coordinate. range: float required: false longitude: - description: | - WGS84 longitude coordinate. range: float required: false @@ -85,7 +79,5 @@ classes: location_name: "Rijksmuseum Amsterdam" latitude: 52.3600 longitude: 4.8852 - description: "Location with coordinates" - value: | - location_name: "Noord-Hollands Archief, Haarlem" - description: "Location with name only" + location_name: "Noord-Hollands Archief, Haarlem" \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/LocationLibrary.yaml b/schemas/20251121/linkml/modules/classes/LocationLibrary.yaml index 04881eb56b..6bb5ce5626 100644 --- a/schemas/20251121/linkml/modules/classes/LocationLibrary.yaml +++ b/schemas/20251121/linkml/modules/classes/LocationLibrary.yaml @@ -36,7 +36,6 @@ classes: - has_or_had_identifier slot_usage: has_or_had_identifier: - description: Wikidata identifier for Location Library concept has_or_had_type: equals_expression: '["hc:LibraryType"]' see_also: diff --git a/schemas/20251121/linkml/modules/classes/LogoClaim.yaml b/schemas/20251121/linkml/modules/classes/LogoClaim.yaml index 473130599f..8006da130d 100644 --- a/schemas/20251121/linkml/modules/classes/LogoClaim.yaml +++ b/schemas/20251121/linkml/modules/classes/LogoClaim.yaml @@ -31,59 +31,13 @@ classes: range: uriorcurie inlined: true required: false - description: 'MIGRATED from claim_type per slot_fixes.yaml (Rule 53/56, 2026-01-19). - Type of logo claim (favicon_url, logo_url, og_image, apple_touch_icon, etc.). - Uses ClaimType class hierarchy. - ' attributes: - claim_value: - range: uri - description: URL of the logo/favicon image source_url: range: uri - description: URL of the page where this logo was found css_selector: range: string - description: CSS selector path to the element containing the logo retrieved_on: range: datetime - description: When this claim was extracted - extraction_method: - range: string - description: Specific extraction method (crawl4ai_link_rel, crawl4ai_og_image, playwright_screenshot, etc.) - favicon_type: - range: string - description: MIME type or format of favicon (ico, png, svg, etc.) - favicon_sizes: - range: string - description: Sizes attribute from favicon link element (e.g., "32x32", "any") - logo_alt_text: - range: string - description: Alt text from logo image element - logo_dimensions: - range: string - description: Dimensions of logo image (e.g., "200x100") - alt_text: - range: string - description: Alt text from image element (alternative to logo_alt_text) - detection_confidence: - range: string - any_of: - - range: float - - range: string - description: Confidence score for logo detection (0.0 to 1.0 as float, or 'high'/'medium'/'low' as string) - has_primary_logo: - range: boolean - description: Whether this is identified as the primary/main logo - logo_type: - range: string - description: Type of logo (header_logo, footer_logo, og_image, etc.) - extraction_timestamp: - range: string - description: ISO timestamp when this logo claim was extracted - provenance: - range: string - description: Provenance metadata for this logo claim inlined: true annotations: specificity_score: 0.1 diff --git a/schemas/20251121/linkml/modules/classes/MailingListArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/MailingListArchiveRecordSetType.yaml index 3fea5e1a07..9b616410e7 100644 --- a/schemas/20251121/linkml/modules/classes/MailingListArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/MailingListArchiveRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/MainPart.yaml b/schemas/20251121/linkml/modules/classes/MainPart.yaml index 63079e22cf..1c882b2e1b 100644 --- a/schemas/20251121/linkml/modules/classes/MainPart.yaml +++ b/schemas/20251121/linkml/modules/classes/MainPart.yaml @@ -43,24 +43,18 @@ classes: part_type: range: string required: false - description: Type of main part (e.g., "capital_budget", "primary_allocation", "main_funding"). currency_code: range: string required: false - description: ISO 4217 currency code for financial values (e.g., "EUR", "USD", "GBP"). examples: - value: has_or_had_quantity: - quantity_value: 3000000.0 part_type: capital_budget currency_code: EUR - description: Capital budget of 3 million EUR - value: has_or_had_quantity: - quantity_value: 500000.0 part_type: capital_budget currency_code: USD - description: Capital budget of 500,000 USD annotations: specificity_score: 0.4 specificity_rationale: Main parts are moderately specific, relevant for budget and allocation queries. diff --git a/schemas/20251121/linkml/modules/classes/Manager.yaml b/schemas/20251121/linkml/modules/classes/Manager.yaml index 30931aee6d..6e789d8b5f 100644 --- a/schemas/20251121/linkml/modules/classes/Manager.yaml +++ b/schemas/20251121/linkml/modules/classes/Manager.yaml @@ -47,37 +47,21 @@ classes: - has_or_had_name - has_or_had_title - has_or_had_email - - manager_since - - person_reference slot_usage: has_or_had_name: range: string required: true - description: Name of the manager/department head examples: - value: Dr. Jan de Vries - description: Department head name has_or_had_title: range: string required: false - description: Job title of the manager examples: - value: Head of Collections - description: Department head title - value: Director of Archives - description: Senior management title has_or_had_email: range: string required: false - description: Contact email for the manager - manager_since: - range: date - required: false - description: Date when person became manager of this unit - person_reference: - range: uriorcurie - required: false - description: Reference to full PersonObservation record if available annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Manufacturer.yaml b/schemas/20251121/linkml/modules/classes/Manufacturer.yaml index 4759d38e4c..7c1b14a0d0 100644 --- a/schemas/20251121/linkml/modules/classes/Manufacturer.yaml +++ b/schemas/20251121/linkml/modules/classes/Manufacturer.yaml @@ -62,33 +62,24 @@ classes: slot_usage: has_or_had_identifier: - description: Unique identifier for this manufacturer. range: uriorcurie required: false examples: - value: https://nde.nl/ontology/hc/manufacturer/estimote - description: Estimote manufacturer identifier has_or_had_label: - description: Name of the manufacturer. range: string required: true examples: - value: Estimote - description: Beacon manufacturer - value: Sensirion - description: Sensor manufacturer - value: Samsung - description: Kiosk manufacturer has_or_had_url: - description: Manufacturer website. range: uri inlined: true required: false examples: - value: url_value: https://estimote.com/ - description: Estimote website - annotations: custodian_types: '["*"]' custodian_types_rationale: Manufacturers applicable to all custodian types using technology. @@ -107,10 +98,8 @@ classes: has_or_had_label: Estimote has_or_had_url: url_value: https://estimote.com/ - description: Estimote beacon manufacturer - value: has_or_had_identifier: https://nde.nl/ontology/hc/manufacturer/sensirion has_or_had_label: Sensirion has_or_had_url: - url_value: https://sensirion.com/ - description: Sensirion sensor manufacturer + url_value: https://sensirion.com/ \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/MappingType.yaml b/schemas/20251121/linkml/modules/classes/MappingType.yaml index bb0de35c16..53346992e3 100644 --- a/schemas/20251121/linkml/modules/classes/MappingType.yaml +++ b/schemas/20251121/linkml/modules/classes/MappingType.yaml @@ -54,9 +54,7 @@ classes: pattern: ^https://nde\.nl/ontology/hc/mapping-type/[a-z-]+$ examples: - value: https://nde.nl/ontology/hc/mapping-type/exact - description: Exact mapping type - value: https://nde.nl/ontology/hc/mapping-type/broad - description: Broad mapping type has_or_had_code: range: string required: true @@ -87,12 +85,10 @@ classes: has_or_had_hypernym: range: MappingType required: false - description: Parent mapping type in hierarchy has_or_had_hyponym: range: MappingType multivalued: true required: false - description: Child mapping types in hierarchy annotations: specificity_score: '0.50' specificity_rationale: Moderately specific - ontology alignment across all domains. @@ -117,5 +113,4 @@ classes: has_or_had_label: - Exact Match@en - Exacte match@nl - has_or_had_description: Exact semantic match - concepts are fully interchangeable - description: Exact mapping type definition + has_or_had_description: Exact semantic match - concepts are fully interchangeable \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/Material.yaml b/schemas/20251121/linkml/modules/classes/Material.yaml index a937011418..b954e2a379 100644 --- a/schemas/20251121/linkml/modules/classes/Material.yaml +++ b/schemas/20251121/linkml/modules/classes/Material.yaml @@ -104,10 +104,7 @@ classes: pattern: "^https://nde\\.nl/ontology/hc/material/[a-z0-9-]+$" examples: - value: https://nde.nl/ontology/hc/material/paper - description: Paper material identifier - value: https://nde.nl/ontology/hc/material/nitrate-film - description: Nitrate film material identifier - has_or_had_label: range: string required: true @@ -124,30 +121,18 @@ classes: has_or_had_type: range: uriorcurie - description: | - Classification of this material into a type category. - Enables hierarchical organization of materials. examples: - value: https://nde.nl/ontology/hc/material-type/organic - description: Organic material category - is_or_was_equivalent_to: range: WikiDataIdentifier multivalued: true inlined: true inlined_as_list: true - description: | - Wikidata equivalence for this material. examples: - value: - qid: "Q11472" - label: "paper" - description: Wikidata equivalence for paper - value: - qid: "Q1201597" - label: "nitrate film" - description: Wikidata equivalence for nitrate film - annotations: custodian_types: '["*"]' custodian_types_rationale: "Materials apply to all custodian types with collections" @@ -182,9 +167,6 @@ classes: has_or_had_type: https://nde.nl/ontology/hc/material-type/organic is_or_was_equivalent_to: - qid: "Q11472" - label: "paper" - description: Paper material - - value: has_or_had_identifier: https://nde.nl/ontology/hc/material/nitrate-film has_or_had_label: @@ -195,9 +177,6 @@ classes: has_or_had_type: https://nde.nl/ontology/hc/material-type/synthetic is_or_was_equivalent_to: - qid: "Q1201597" - label: "nitrate film" - description: Nitrate film material requiring cold storage - - value: has_or_had_identifier: https://nde.nl/ontology/hc/material/parchment has_or_had_label: @@ -206,6 +185,4 @@ classes: has_or_had_description: "Animal skin prepared for writing, historically used for manuscripts and legal documents." has_or_had_type: https://nde.nl/ontology/hc/material-type/organic is_or_was_equivalent_to: - - qid: "Q226697" - label: "parchment" - description: Parchment material for archival storage + - qid: "Q226697" \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/MaterialType.yaml b/schemas/20251121/linkml/modules/classes/MaterialType.yaml index 1ba032bf85..8d75012cdc 100644 --- a/schemas/20251121/linkml/modules/classes/MaterialType.yaml +++ b/schemas/20251121/linkml/modules/classes/MaterialType.yaml @@ -127,10 +127,7 @@ classes: pattern: "^https://nde\\.nl/ontology/hc/material-type/[a-z0-9-]+$" examples: - value: https://nde.nl/ontology/hc/material-type/organic - description: Organic material type category - value: https://nde.nl/ontology/hc/material-type/synthetic - description: Synthetic material type category - has_or_had_label: range: string required: true @@ -146,22 +143,16 @@ classes: has_or_had_hypernym: range: MaterialType - description: Parent material type category in the hierarchy. examples: - value: https://nde.nl/ontology/hc/material-type/organic - description: Parent type for paper-based materials - has_or_had_hyponym: range: MaterialType multivalued: true inlined_as_list: true - description: Child material type categories. examples: - value: - https://nde.nl/ontology/hc/material-type/paper - https://nde.nl/ontology/hc/material-type/parchment - description: Subtypes of organic materials - annotations: custodian_types: '["*"]' custodian_types_rationale: "Material types apply to all custodian types with collections" @@ -199,8 +190,6 @@ classes: - https://nde.nl/ontology/hc/material-type/leather - https://nde.nl/ontology/hc/material-type/textile - https://nde.nl/ontology/hc/material-type/wood - description: Organic material type category - - value: has_or_had_identifier: https://nde.nl/ontology/hc/material-type/synthetic has_or_had_label: @@ -210,5 +199,4 @@ classes: has_or_had_hyponym: - https://nde.nl/ontology/hc/material-type/cellulose-nitrate - https://nde.nl/ontology/hc/material-type/cellulose-acetate - - https://nde.nl/ontology/hc/material-type/polyester - description: Synthetic material type category + - https://nde.nl/ontology/hc/material-type/polyester \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/MaximumHumidity.yaml b/schemas/20251121/linkml/modules/classes/MaximumHumidity.yaml index 8bb961548d..b616c9aa6e 100644 --- a/schemas/20251121/linkml/modules/classes/MaximumHumidity.yaml +++ b/schemas/20251121/linkml/modules/classes/MaximumHumidity.yaml @@ -23,7 +23,6 @@ classes: has_or_had_value: range: float required: true - description: Maximum relative humidity percentage (0-100). has_or_had_unit: range: string ifabsent: string(%) diff --git a/schemas/20251121/linkml/modules/classes/MeasureUnit.yaml b/schemas/20251121/linkml/modules/classes/MeasureUnit.yaml index 0854e8097b..9964fe8203 100644 --- a/schemas/20251121/linkml/modules/classes/MeasureUnit.yaml +++ b/schemas/20251121/linkml/modules/classes/MeasureUnit.yaml @@ -43,56 +43,42 @@ classes: - has_or_had_label slot_usage: has_or_had_type: - description: The type of unit from MeasureUnitEnum (e.g., HECTARE, SQUARE_METER). range: MeasureUnitEnum required: true has_or_had_symbol: - description: "The symbol for the unit (e.g., \"ha\", \"m\xB2\", \"km\")." range: string required: false examples: - value: ha - description: Hectare symbol - value: "m\xB2" - description: Square meter symbol - value: m - description: Meter symbol has_or_had_code: - description: Standard code for the unit (UCUM or QUDT code). range: string required: false examples: - value: har - description: UCUM code for hectare - value: m2 - description: UCUM code for square meter has_or_had_label: - description: Human-readable label for the unit. range: string examples: - value: hectare - description: Hectare label - value: square meter - description: Square meter label examples: - value: has_or_had_type: HECTARE has_or_had_symbol: ha has_or_had_code: har has_or_had_label: hectare - description: Hectare unit for outdoor site area - value: has_or_had_type: SQUARE_METER has_or_had_symbol: "m\xB2" has_or_had_code: m2 has_or_had_label: square meter - description: Square meter unit for building floor area - value: has_or_had_type: LINEAR_METER has_or_had_symbol: m has_or_had_code: m has_or_had_label: linear meter - description: Linear meter for archival shelf extent annotations: custodian_types: '["*"]' custodian_types_rationale: Measurement units applicable to all heritage custodian types. diff --git a/schemas/20251121/linkml/modules/classes/Measurement.yaml b/schemas/20251121/linkml/modules/classes/Measurement.yaml index 1136379703..2c439a998b 100644 --- a/schemas/20251121/linkml/modules/classes/Measurement.yaml +++ b/schemas/20251121/linkml/modules/classes/Measurement.yaml @@ -47,14 +47,11 @@ classes: - has_or_had_measurement_unit slot_usage: has_or_had_value: - description: "The measured value as a string (e.g., \"19.5\", \"48\", \"250\").\nString type allows for special notation (\xB1, <, >, ranges).\n" required: true has_or_had_measurement_type: - description: The type/category of measurement (temperature, humidity, etc.). range: MeasurementType inlined: true has_or_had_measurement_unit: - description: "The unit of measurement (\xB0C, % RH, lux, etc.)." range: MeasureUnit inlined: true exact_mappings: @@ -70,7 +67,6 @@ classes: has_or_had_measurement_unit: has_or_had_name: Degree Celsius has_or_had_symbol: "\xB0C" - description: "Temperature measurement of 19.5\xB0C" - value: has_or_had_value: '48' has_or_had_measurement_type: @@ -78,7 +74,6 @@ classes: has_or_had_measurement_unit: has_or_had_name: Percent has_or_had_symbol: '%' - description: Humidity measurement of 48% RH - value: has_or_had_value: '250' has_or_had_measurement_type: @@ -86,7 +81,6 @@ classes: has_or_had_measurement_unit: has_or_had_name: Lux has_or_had_symbol: lx - description: Light level measurement of 250 lux annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/MeasurementType.yaml b/schemas/20251121/linkml/modules/classes/MeasurementType.yaml index f91b9d40a5..0fc0559286 100644 --- a/schemas/20251121/linkml/modules/classes/MeasurementType.yaml +++ b/schemas/20251121/linkml/modules/classes/MeasurementType.yaml @@ -40,12 +40,9 @@ classes: - has_or_had_measurement_unit slot_usage: has_or_had_name: - description: The name of this measurement type category. required: true has_or_had_description: - description: Description of this measurement type and what it measures. has_or_had_measurement_unit: - description: The standard unit(s) of measurement for this type. range: MeasureUnit exact_mappings: - skos:Concept diff --git a/schemas/20251121/linkml/modules/classes/MeasurementTypes.yaml b/schemas/20251121/linkml/modules/classes/MeasurementTypes.yaml index d021cb80d5..0c0a88c59a 100644 --- a/schemas/20251121/linkml/modules/classes/MeasurementTypes.yaml +++ b/schemas/20251121/linkml/modules/classes/MeasurementTypes.yaml @@ -238,7 +238,6 @@ classes: has_or_had_name: equals_string: Water Activity aliases: - - aw - Moisture Content broad_mappings: - crm:E54_Dimension diff --git a/schemas/20251121/linkml/modules/classes/MediaArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/MediaArchiveRecordSetType.yaml index 8575661b7e..12872bb510 100644 --- a/schemas/20251121/linkml/modules/classes/MediaArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/MediaArchiveRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/MetadataStandard.yaml b/schemas/20251121/linkml/modules/classes/MetadataStandard.yaml index 214670dfe1..8222f72efb 100644 --- a/schemas/20251121/linkml/modules/classes/MetadataStandard.yaml +++ b/schemas/20251121/linkml/modules/classes/MetadataStandard.yaml @@ -29,15 +29,7 @@ classes: slot_usage: has_or_had_type: range: uriorcurie - attributes: - standard_name: - description: Name of the metadata standard (e.g., Dublin Core, MARC21, EAD) - range: string - required: true - standard_uri: - description: URI identifying the metadata standard specification - range: uriorcurie annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/Methodology.yaml b/schemas/20251121/linkml/modules/classes/Methodology.yaml index da9ea164d1..570d34ffc0 100644 --- a/schemas/20251121/linkml/modules/classes/Methodology.yaml +++ b/schemas/20251121/linkml/modules/classes/Methodology.yaml @@ -62,54 +62,38 @@ classes: has_or_had_identifier: range: uriorcurie required: false - description: Optional identifier for this methodology specification. examples: - value: https://nde.nl/ontology/hc/methodology/retinaface-arcface-v1 - description: Face clustering methodology identifier methodology_type: range: MethodologyTypeEnum required: false - description: The type of methodology used. examples: - value: ENTITY_RESOLUTION - description: Deduplication via feature matching - value: OBJECT_TRACKING - description: Multi-object tracking across frames has_or_had_label: range: string required: false description: 'Human-readable name for the methodology or algorithm. MIGRATED: Now serves both methodology name AND algorithm_name (Rule 53/56).' examples: - value: RetinaFace + ArcFace clustering - description: Face detection and clustering pipeline - value: YOLOv8 - description: Object detection model (was algorithm_name) - value: ArcFace - description: Face recognition model (was algorithm_name) has_or_had_description: range: string required: false - description: Detailed description of the methodology. examples: - value: Faces detected using RetinaFace, clustered using ArcFace embeddings - description: Algorithm description has_or_had_version: range: string required: false - description: Version of the algorithm, model, or methodology specification. MIGRATED from algorithm_version per slot_fixes.yaml (Rule 53/56). examples: - value: 1.0.0 - value: v8n has_or_had_threshold: range: ConfidenceThreshold required: false - description: Confidence threshold used for detection/classification. MIGRATED from confidence_threshold per slot_fixes.yaml (Rule 53). Uses ConfidenceThreshold class for structured threshold representation. examples: - value: - threshold_value: 0.6 - threshold_type: CONFIDENCE - threshold_description: Minimum confidence for face matching - description: 60% confidence threshold for face matching comments: - Describes HOW a measurement was derived - Essential for comparing measurements from different sources @@ -125,14 +109,11 @@ classes: has_or_had_version: '1.0' has_or_had_threshold: - threshold_value: 0.6 - threshold_type: CONFIDENCE - description: Face entity resolution methodology - value: methodology_type: OBJECT_TRACKING has_or_had_label: DeepSORT multi-object tracking has_or_had_description: Objects tracked across video frames using DeepSORT algorithm with Kalman filtering and appearance features. has_or_had_version: '1.0' - description: Object tracking methodology annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/MilitaryArchive.yaml b/schemas/20251121/linkml/modules/classes/MilitaryArchive.yaml index 6179190c3a..f8e5b53045 100644 --- a/schemas/20251121/linkml/modules/classes/MilitaryArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/MilitaryArchive.yaml @@ -54,7 +54,6 @@ classes: skos:prefLabel: Military Archive skos:altLabel: "Milit\xE4rarchiv, archivo militar, archive militaire, Defense Archive, Armed Forces Archive" subject_domain: military/defense - has_or_had_access_restriction: may have security classifications specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration custodian_types: "['*']" diff --git a/schemas/20251121/linkml/modules/classes/MilitaryArchiveRecordSetTypes.yaml b/schemas/20251121/linkml/modules/classes/MilitaryArchiveRecordSetTypes.yaml index 0ab7125b89..775d4d0c4c 100644 --- a/schemas/20251121/linkml/modules/classes/MilitaryArchiveRecordSetTypes.yaml +++ b/schemas/20251121/linkml/modules/classes/MilitaryArchiveRecordSetTypes.yaml @@ -121,13 +121,9 @@ classes: in_language: pt keywords: - military operations - - operatiebevelen - war diaries - - oorlogsdagboeken - campaign records - - veldtocht - combat records - - gevechtsverslagen - intelligence reports - strategic planning - command records @@ -218,15 +214,10 @@ classes: in_language: pt keywords: - military personnel - - stamboeken - service records - staten van dienst - muster rolls - enlistment records - - inschrijving - - decorations - - onderscheidingen - - discharge - military genealogy exact_mappings: - rico:RecordSetType @@ -314,15 +305,12 @@ classes: in_language: pt keywords: - unit history - - regimentsgeschiedenis - regimental records - battalion history - squadron records - ship records - - scheepsarchief - battle honors - honor rolls - - erelijst - veterans associations exact_mappings: - rico:RecordSetType @@ -409,15 +397,12 @@ classes: - military maps - militaire kaarten - battle maps - - gevechtskaarten - fortification plans - - vestingplannen - survey maps - aerial photographs - luchtfoto's - strategic maps - tactical maps - - cartography exact_mappings: - rico:RecordSetType related_mappings: @@ -502,19 +487,10 @@ classes: in_language: pt keywords: - veterans documentation - - veteranendocumentatie - war graves - - oorlogsgraven - - commemoration - - herdenking - - memorials - - monumenten - oral history - war testimonies - - resistance - - verzet - POW - - krijgsgevangenen exact_mappings: - rico:RecordSetType related_mappings: diff --git a/schemas/20251121/linkml/modules/classes/MinimumHumidity.yaml b/schemas/20251121/linkml/modules/classes/MinimumHumidity.yaml index 08d05e0a0b..399c64815b 100644 --- a/schemas/20251121/linkml/modules/classes/MinimumHumidity.yaml +++ b/schemas/20251121/linkml/modules/classes/MinimumHumidity.yaml @@ -23,7 +23,6 @@ classes: has_or_had_value: range: float required: true - description: Minimum relative humidity percentage (0-100). has_or_had_unit: range: string ifabsent: string(%) diff --git a/schemas/20251121/linkml/modules/classes/MissionStatement.yaml b/schemas/20251121/linkml/modules/classes/MissionStatement.yaml index 7f51bab1a5..f2a7dec678 100644 --- a/schemas/20251121/linkml/modules/classes/MissionStatement.yaml +++ b/schemas/20251121/linkml/modules/classes/MissionStatement.yaml @@ -60,14 +60,11 @@ classes: - schema:seeks slots: - describes_or_described - - has_archive_memento_uri - content_hash - css_selector - is_or_was_effective_at - - has_agent_name - has_or_had_note - temporal_extent - - html_file - page_section - retrieved_on - source_url @@ -84,20 +81,13 @@ classes: slot_usage: describes_or_described: range: string - description: The policy (e.g. strategic plan, adoption framework) described by this mission statement. has_or_had_type: required: true range: StatementType - description: 'The type of organizational purpose statement. - Uses StatementType class hierarchy (mission, vision, goal, value, motto). - ' examples: - value: mission - description: Mission statement - value: vision - description: Vision statement - value: goal - description: Goals/objectives statement has_or_had_text: required: true source_url: @@ -107,23 +97,13 @@ classes: has_or_had_provenance_path: range: XPath inlined: true - description: 'XPath provenance path documenting the exact location in the source HTML - where this statement was extracted from. Contains the XPath expression, - match score, and reference to the archived HTML file. - ' has_or_had_url: range: uri inlined: true - description: 'W3C Text Fragment URL enabling direct deep-linking to the statement. - Format: {source_url}#:~:text={encoded_text} - MIGRATED 2026-01-15: Uses URL class with url_type="text_fragment" - per slot_fixes.yaml Rule 53 migration. - ' examples: - value: url_value: https://example.org/about#:~:text=Our%20mission%20is url_type: text_fragment - description: W3C Text Fragment URL for direct linking comments: - 'MIGRATION (2026-01-15): Replaced xpath/xpath_match_score slots with has_or_had_provenance_path using XPath class per slot_fixes.yaml' - 'MIGRATION (2026-01-15): Replaced text_fragment slot with has_or_had_url using URL class (url_type=text_fragment) per slot_fixes.yaml' @@ -151,10 +131,8 @@ classes: retrieved_on: '2025-12-29T10:00:00Z' page_section: Onze Missie content_hash: sha256-abc123... - has_agent_name: claude-opus-4.5 has_or_had_score: has_or_had_score: 0.95 - description: Mission statement from Dutch agricultural museum - value: has_or_had_identifier: https://nde.nl/ontology/hc/mission/nl-zh-zui-m-lmt/vision-2025 has_or_had_type: vision @@ -167,10 +145,8 @@ classes: retrieved_on: '2025-12-29T10:00:00Z' page_section: Onze visie content_hash: sha256-def456... - has_agent_name: claude-opus-4.5 has_or_had_score: has_or_had_score: 0.9 - description: Vision statement from Dutch agricultural museum - value: has_or_had_identifier: https://nde.nl/ontology/hc/mission/nl-zh-zui-m-lmt/goals-2025 has_or_had_type: goal @@ -179,8 +155,6 @@ classes: source_url: https://www.landbouwmuseumtiengemeten.nl/het-museum/missie-en-visie retrieved_on: '2025-12-29T10:00:00Z' page_section: Doelstellingen - has_agent_name: claude-opus-4.5 - description: Goals/objectives from Dutch agricultural museum annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/MixedCustodianType.yaml b/schemas/20251121/linkml/modules/classes/MixedCustodianType.yaml index b81b640efa..cab5d71fdc 100644 --- a/schemas/20251121/linkml/modules/classes/MixedCustodianType.yaml +++ b/schemas/20251121/linkml/modules/classes/MixedCustodianType.yaml @@ -171,19 +171,9 @@ classes: required: true examples: - value: Archive (primary), Museum (significant exhibitions) - description: Stadsarchief Amsterdam types - value: Museum (primary), Library (research collections) - description: Research museum types - value: Library + Archive + Museum (equal) - description: Presidential library types integrates_or_integrated: - description: 'Integrated functions or departments within the mixed institution. - - MIGRATED from functional_integration per slot_fixes.yaml (Rule 53, 2026-01-26). - - Uses InstitutionalFunction class with FunctionType. - - ' range: InstitutionalFunction multivalued: true inlined: true @@ -195,75 +185,47 @@ classes: has_or_had_label: Facilities Management is_or_was_categorized_as: has_or_had_label: SUPPORT - description: Stadsarchief Amsterdam integration - value: has_or_had_label: Unified visitor services has_or_had_type: has_or_had_label: Visitor Services is_or_was_categorized_as: has_or_had_label: SUPPORT - description: Shared visitor services defines_or_defined: range: GovernanceStructure required: true examples: - value: has_or_had_description: Single director, Unified budget, Cross-functional - description: Stadsarchief Amsterdam structure - value: has_or_had_description: Director + Deputy (museum) + Deputy (library) - description: Presidential library structure - value: has_or_had_description: Co-directors (archive + museum), Unified operations - description: Historical society structure service_portfolio: range: string multivalued: true required: true examples: - value: Archival research, Exhibitions, Education, Digitization - description: Stadsarchief Amsterdam services - value: Museum exhibitions, Library reference, Fellowships, Conservation - description: Research museum services - value: Reading room, Galleries, Lectures, Digital portal - description: Library-archive services has_or_had_service: range: string multivalued: true inlined: true - description: 'Services or facility features offered by the mixed institution. - - MIGRATED from facility_design per slot_fixes.yaml (Rule 53, 2026-01-26). - - Note: This migration maps facility features to "Service" class, which aligns with - - how facilities are often modeled as services provided to users. - - ' examples: - value: has_or_had_label: Purpose-built facility (2007) has_or_had_description: Vaults + Galleries + Reading rooms + Lab - description: Stadsarchief Amsterdam facility - value: has_or_had_label: Historic building 1990 has_or_had_description: Separate wings, Shared entrance - description: Adapted mixed facility serves_or_served: range: UserCommunity multivalued: true inlined_as_list: true required: true - description: 'User communities served by this mixed institution. - - MIGRATED from user_community slot per slot_fixes.yaml (Rule 53, 2026-01-15). - - - Uses UserCommunity class with UserCommunityType classification. - - ' examples: - value: "- has_or_had_type: ResearcherCommunity\n has_or_had_label:\n - label_value: \"Researchers and genealogists\"\n language_code: \"en\"\n" - description: Research community example has_or_had_type: equals_expression: '["hc:MixedCustodianType"]' diff --git a/schemas/20251121/linkml/modules/classes/Model.yaml b/schemas/20251121/linkml/modules/classes/Model.yaml index e2ed1e9ab5..df66d9f2d9 100644 --- a/schemas/20251121/linkml/modules/classes/Model.yaml +++ b/schemas/20251121/linkml/modules/classes/Model.yaml @@ -28,25 +28,18 @@ classes: - has_or_had_label slot_usage: has_or_had_identifier: - description: Model number, SKU, or unique identifier for this model. range: string required: false examples: - value: EPB-v3.0 - description: Estimote Proximity Beacon version 3.0 - value: SHT45-AD1B-R2 - description: Sensirion sensor model number has_or_had_label: - description: Name or designation of the model. range: string required: true examples: - value: Estimote Proximity Beacon - description: Beacon model name - value: Sensirion SHT45 - description: Sensor model name - value: Samsung Kiosk 24 Touch - description: Kiosk model name annotations: custodian_types: '["*"]' custodian_types_rationale: Product models applicable to all custodian types using equipment. @@ -61,8 +54,6 @@ classes: - value: has_or_had_identifier: EPB-v3.0 has_or_had_label: Estimote Proximity Beacon - description: Estimote beacon model - value: has_or_had_identifier: SHT45-AD1B-R2 - has_or_had_label: Sensirion SHT45 - description: Sensirion sensor model + has_or_had_label: Sensirion SHT45 \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/MonasteryArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/MonasteryArchiveRecordSetType.yaml index e4e69e0056..5062518d92 100644 --- a/schemas/20251121/linkml/modules/classes/MonasteryArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/MonasteryArchiveRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/MunicipalArchiveRecordSetTypes.yaml b/schemas/20251121/linkml/modules/classes/MunicipalArchiveRecordSetTypes.yaml index 9695e6b00d..88b2492044 100644 --- a/schemas/20251121/linkml/modules/classes/MunicipalArchiveRecordSetTypes.yaml +++ b/schemas/20251121/linkml/modules/classes/MunicipalArchiveRecordSetTypes.yaml @@ -59,12 +59,6 @@ classes: in_language: pt keywords: - council minutes - - gemeenteraad - - ordinances - - verordeningen - - resolutions - - besluiten - - bylaws - mayor correspondence - aldermen records - B&W besluiten @@ -154,13 +148,9 @@ classes: - civil registry - burgerlijke stand - birth records - - geboorteakten - marriage records - - huwelijksakten - death records - - overlijdensakten - population register - - bevolkingsregister - vital records - genealogy sources exact_mappings: @@ -250,11 +240,9 @@ classes: - public works - openbare werken - finance records - - financien - social services - sociale zaken - personnel records - - personeelszaken - department records exact_mappings: - rico:RecordSetType @@ -335,17 +323,8 @@ classes: in_language: pt keywords: - urban planning - - stedenbouw - building permits - - bouwvergunningen - building plans - - bouwtekeningen - - maps - - plattegronden - - zoning - - bestemmingsplannen - - monuments - - monumenten - cadastral records exact_mappings: - rico:RecordSetType @@ -430,15 +409,9 @@ classes: - plaatselijke geschiedenis - photograph - foto's - - postcards - - prentbriefkaarten - - newspapers - - kranten - oral history - community history - - ephemera - local businesses - - heemkunde exact_mappings: - rico:RecordSetType related_mappings: diff --git a/schemas/20251121/linkml/modules/classes/MuseumType.yaml b/schemas/20251121/linkml/modules/classes/MuseumType.yaml index 218334737d..e3649a032d 100644 --- a/schemas/20251121/linkml/modules/classes/MuseumType.yaml +++ b/schemas/20251121/linkml/modules/classes/MuseumType.yaml @@ -106,7 +106,6 @@ classes: - has_or_had_category - conservation_lab - has_or_had_type - - has_or_had_program - museum_subtype - research_department - specificity_annotation @@ -117,11 +116,7 @@ classes: has_or_had_identifier: pattern: ^Q[0-9]+$ required: true - description: Wikidata identifier (Q-number) for this Museum type concept has_or_had_hypernym: - description: 'MIGRATED from broader_type (Rule 53). - For museum type subtypes, links to parent type in hierarchy. - ' range: MuseumType conservation_lab: range: boolean @@ -129,32 +124,17 @@ classes: has_or_had_type: equals_expression: '["hc:MuseumType"]' has_or_had_facility: - description: 'Public facilities and amenities available at the museum. - Migrated from visitor_facility per Rule 53. - ' range: string inlined: true multivalued: true complies_or_complied_with: - description: 'Standards used for object cataloging and collection management. - MIGRATED from cataloging_standard per Rule 53/56 (2026-01-17). - Common museum standards: LIDO, SPECTRUM, CIDOC-CRM. - ' range: CatalogingStandard inlined: true multivalued: true has_or_had_category: - description: 'MIGRATED from collection_focus per slot_fixes.yaml (Rule 53, 2026-01-19). - Subject areas and thematic focus of the museum''s collections using Category class. - ' range: Category inlined: true multivalued: true - has_or_had_program: - description: Exhibition strategy (permanent, rotating, temporary). - range: Program - inlined: true - multivalued: true exact_mappings: - skos:Concept - schema:Museum @@ -183,13 +163,8 @@ classes: has_or_had_hypernym: https://nde.nl/ontology/hc/type/museum/Q33506 has_or_had_category: - category_name: paintings - category_type: TYPOLOGY - category_name: sculptures - category_type: TYPOLOGY - category_name: decorative arts - category_type: TYPOLOGY - has_or_had_program: - program_name: rotating exhibitions with permanent collection has_or_had_facility: - facility_name: "Museum Caf\xE9" facility_type: FOOD_SERVICE @@ -200,11 +175,8 @@ classes: complies_or_complied_with: - has_or_had_identifier: LIDO has_or_had_label: Lightweight Information Describing Objects - standard_domain: - - museum conservation_lab: true research_department: true - description: Art Museum classification with domain-specific metadata - value: has_or_had_identifier: https://nde.nl/ontology/hc/type/museum/Q559049 has_or_had_type_code: MUSEUM @@ -215,20 +187,10 @@ classes: has_or_had_hypernym: https://nde.nl/ontology/hc/type/museum/Q33506 has_or_had_category: - category_name: biological specimens - category_type: TYPOLOGY - category_name: fossils - category_type: TYPOLOGY - category_name: minerals - category_type: MATERIAL - category_name: taxidermy - category_type: TYPOLOGY - has_or_had_program: - program_name: permanent collection with themed galleries complies_or_complied_with: - has_or_had_identifier: Darwin Core has_or_had_label: Darwin Core - standard_domain: - - natural_history - - museum - research_department: true - description: Natural History Museum with science-specific metadata + research_department: true \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/MusicArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/MusicArchiveRecordSetType.yaml index 7fd348705e..809e576a36 100644 --- a/schemas/20251121/linkml/modules/classes/MusicArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/MusicArchiveRecordSetType.yaml @@ -31,7 +31,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -41,9 +40,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Nachlass.yaml b/schemas/20251121/linkml/modules/classes/Nachlass.yaml index 9ccd3e10e2..d463e6ba03 100644 --- a/schemas/20251121/linkml/modules/classes/Nachlass.yaml +++ b/schemas/20251121/linkml/modules/classes/Nachlass.yaml @@ -29,7 +29,6 @@ classes: - has_or_had_identifier slot_usage: has_or_had_identifier: - description: Wikidata identifier for Nachlass (personal papers) concept has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' annotations: diff --git a/schemas/20251121/linkml/modules/classes/Name.yaml b/schemas/20251121/linkml/modules/classes/Name.yaml index 643069b9f2..373ab37f02 100644 --- a/schemas/20251121/linkml/modules/classes/Name.yaml +++ b/schemas/20251121/linkml/modules/classes/Name.yaml @@ -64,38 +64,24 @@ classes: slot_usage: has_or_had_label: - description: The name value itself. range: string required: true examples: - value: "Dodo" - description: English common name - value: "Dronte" - description: Dutch common name has_or_had_type: - description: | - The type classification of this name. - Range narrowed to NameType class hierarchy. range: NameType required: false examples: - value: CommonName - description: Vernacular/common name - value: ScientificName - description: Binomial nomenclature has_or_had_language: - description: | - The language of this name (ISO 639-1 code). range: string required: false examples: - value: "en" - description: English - value: "nl" - description: Dutch - value: "la" - description: Latin (for scientific names) - exact_mappings: - schema:name close_mappings: @@ -131,14 +117,11 @@ classes: has_or_had_label: "Dodo" has_or_had_type: CommonName has_or_had_language: "en" - description: English common name for extinct bird - value: has_or_had_label: "Dronte" has_or_had_type: CommonName has_or_had_language: "nl" - description: Dutch common name for same species - value: has_or_had_label: "Coast Redwood" has_or_had_type: CommonName - has_or_had_language: "en" - description: English common name for tree species + has_or_had_language: "en" \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/NameType.yaml b/schemas/20251121/linkml/modules/classes/NameType.yaml index 2eff122a70..5cbd56c1cc 100644 --- a/schemas/20251121/linkml/modules/classes/NameType.yaml +++ b/schemas/20251121/linkml/modules/classes/NameType.yaml @@ -56,14 +56,12 @@ classes: slot_usage: has_or_had_label: - description: Human-readable label for this name type. range: string required: true examples: - value: "Common Name" - value: "Scientific Name" has_or_had_description: - description: Explanation of when to use this name type. range: string required: false diff --git a/schemas/20251121/linkml/modules/classes/NationalArchivesRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/NationalArchivesRecordSetType.yaml index 755611d18b..34f60dec08 100644 --- a/schemas/20251121/linkml/modules/classes/NationalArchivesRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/NationalArchivesRecordSetType.yaml @@ -31,15 +31,11 @@ classes: - rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/NationalTreasure.yaml b/schemas/20251121/linkml/modules/classes/NationalTreasure.yaml index 571af67f40..5a581becac 100644 --- a/schemas/20251121/linkml/modules/classes/NationalTreasure.yaml +++ b/schemas/20251121/linkml/modules/classes/NationalTreasure.yaml @@ -28,7 +28,6 @@ classes: - has_or_had_identifier slot_usage: has_or_had_identifier: - description: Wikidata identifier for National Treasure concept custodian_only: equals_string: 'true' annotations: diff --git a/schemas/20251121/linkml/modules/classes/NationalTreasureOfFrance.yaml b/schemas/20251121/linkml/modules/classes/NationalTreasureOfFrance.yaml index d9a525e424..4004e0aa1b 100644 --- a/schemas/20251121/linkml/modules/classes/NationalTreasureOfFrance.yaml +++ b/schemas/20251121/linkml/modules/classes/NationalTreasureOfFrance.yaml @@ -27,9 +27,6 @@ classes: - has_or_had_identifier slot_usage: has_or_had_identifier: - description: Wikidata identifier for National Treasure of France concept - geographic_restriction: - equals_string: France only annotations: skos:prefLabel: National Treasure of France skos:altLabel: "tr\xE9sor national, French National Treasure" diff --git a/schemas/20251121/linkml/modules/classes/NetAsset.yaml b/schemas/20251121/linkml/modules/classes/NetAsset.yaml index e57cf06862..3642512750 100644 --- a/schemas/20251121/linkml/modules/classes/NetAsset.yaml +++ b/schemas/20251121/linkml/modules/classes/NetAsset.yaml @@ -11,7 +11,6 @@ classes: class_uri: schema:MonetaryAmount description: Net asset value slots: - - has_or_had_net_asset attributes: currency: range: string diff --git a/schemas/20251121/linkml/modules/classes/NetworkAnalysis.yaml b/schemas/20251121/linkml/modules/classes/NetworkAnalysis.yaml index 3313020dd1..68e2a6fe4a 100644 --- a/schemas/20251121/linkml/modules/classes/NetworkAnalysis.yaml +++ b/schemas/20251121/linkml/modules/classes/NetworkAnalysis.yaml @@ -39,28 +39,18 @@ classes: has_or_had_quantity: range: integer inlined: true - description: 'Total number of connections extracted from this network. - MIGRATED 2026-01-14: Replaces total_connections_extracted slot. - ' required: true examples: - value: "Quantity:\n value: 776\n unit: \"connections\"\n" - description: Total connections extracted - value: "Quantity:\n value: 456\n unit: \"heritage relevant connections\"\n is_or_was_related_to: Heritage" - description: Heritage relevant count has_or_had_percentage: range: Percentage inlined: true - description: 'Percentage of connections that are heritage relevant. - MIGRATED from heritage_relevant_percentage per Rule 53 (2026-01-28). - ' examples: - value: has_or_had_value: 58.8 is_or_was_related_to: has_or_had_label: Heritage - description: Heritage relevant percentage - connections_by_heritage_type: range: HeritageTypeCount multivalued: true diff --git a/schemas/20251121/linkml/modules/classes/NewspaperClippingsArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/NewspaperClippingsArchiveRecordSetType.yaml index 89bede1182..526e1c17a7 100644 --- a/schemas/20251121/linkml/modules/classes/NewspaperClippingsArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/NewspaperClippingsArchiveRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/NobilityArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/NobilityArchiveRecordSetType.yaml index a9573700a7..66e8e683f8 100644 --- a/schemas/20251121/linkml/modules/classes/NobilityArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/NobilityArchiveRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/NonProfitType.yaml b/schemas/20251121/linkml/modules/classes/NonProfitType.yaml index b3aea8f02b..55f2d5c9bd 100644 --- a/schemas/20251121/linkml/modules/classes/NonProfitType.yaml +++ b/schemas/20251121/linkml/modules/classes/NonProfitType.yaml @@ -167,12 +167,9 @@ classes: slots: - has_or_had_beneficiary - has_or_had_type - - geographic_scope - - impact_measurement - nonprofit_subtype - organizational_mission - partnership_model - - program_activity - specificity_annotation - has_or_had_score slot_usage: @@ -181,61 +178,28 @@ classes: required: true examples: - value: Heritage advocacy, Awareness, Policy influence - description: Europa Nostra mission - value: Grant-making for endangered heritage - description: Heritage fund mission - value: Professional development, Training, Standards - description: Professional association mission - program_activity: - range: string - required: true - examples: - - value: 7 Most Endangered, Heritage Awards, Campaigns - description: Europa Nostra programs - value: Annual grants, Emergency funding, Scholarships - description: Heritage fund programs - value: Training workshops, Webinars, Certifications - description: Capacity building programs - geographic_scope: - range: string - required: true - examples: - - value: Pan-European, 50+ countries, 300+ members - description: Europa Nostra scope - value: Global, 100+ countries, 10 regional offices - description: International NGO scope - value: National (Netherlands), 500 members - description: National NGO scope has_or_had_beneficiary: range: string multivalued: true required: true examples: - value: Heritage organizations, Communities, Policy makers - description: Europa Nostra beneficiaries - value: Conservation professionals, Students - description: Training NGO beneficiaries - value: Museums, Libraries, Heritage managers - description: Support services beneficiaries partnership_model: range: string required: true examples: - value: Membership network, Co-funded programs, Coalitions - description: Europa Nostra partnerships - value: Academic partnerships, Government advisory - description: Professional association partnerships - value: Grassroots coalition, Community partnerships - description: Advocacy NGO partnerships - impact_measurement: - range: string - required: false - examples: - - value: Sites saved, Policy changes, Awareness metrics - description: Europa Nostra impact - value: Projects funded, Success rate, Beneficiaries - description: Grant-making foundation impact - value: Professionals trained, Knowledge retention - description: Training NGO impact has_or_had_type: equals_expression: '["hc:NonProfitType"]' diff --git a/schemas/20251121/linkml/modules/classes/Note.yaml b/schemas/20251121/linkml/modules/classes/Note.yaml index 29c6ca3d8e..739ce44571 100644 --- a/schemas/20251121/linkml/modules/classes/Note.yaml +++ b/schemas/20251121/linkml/modules/classes/Note.yaml @@ -77,35 +77,21 @@ classes: slot_usage: note_type: - description: | - The type of note (claim, category, certainty, conservation, copy, event, extraction, feature, general). - This allows distinguishing different kinds of notes when multiple - apply to the same entity. range: string required: false examples: - value: claim - description: Claim extraction documentation - value: category - description: Category/classification notes - value: conservation - description: Treatment documentation - value: extraction - description: Pipeline extraction notes - value: general - description: General documentation notes note_content: - description: The textual content of the note. range: string required: true note_date: - description: Date the note was created or last updated. range: date required: false language: - description: | - ISO 639-1 two-letter language code for this note. - Examples: "en", "nl", "de", "fr" range: string required: false pattern: "^[a-z]{2}$" @@ -123,16 +109,13 @@ classes: note_content: "Additional verification required for this claim. Source webpage may have changed since extraction." note_date: "2026-01-18" language: en - description: "Claim note documenting extraction issue" - value: | note_type: extraction note_content: "Biography truncated from longer text on page. Original text exceeded 500 chars." note_date: "2025-11-29" language: en - description: "Extraction note documenting processing decision" - value: | note_type: conservation note_content: "Surface cleaning completed. No further treatment recommended at this time." note_date: "2024-06-15" - language: en - description: "Conservation note documenting treatment" + language: en \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/Notes.yaml b/schemas/20251121/linkml/modules/classes/Notes.yaml index 6837a364a6..607427888b 100644 --- a/schemas/20251121/linkml/modules/classes/Notes.yaml +++ b/schemas/20251121/linkml/modules/classes/Notes.yaml @@ -67,29 +67,19 @@ classes: slot_usage: note_type: - description: | - The type of note (appraisal, arrangement, conservation, processing, general). range: string required: false examples: - value: appraisal - description: Appraisal decision documentation - value: arrangement - description: Physical organization notes - value: conservation - description: Treatment documentation note_content: - description: The textual content of the note. range: string required: true note_date: - description: Date the note was created or last updated. range: date required: false language: - description: | - ISO 639-1 two-letter language code for this note. - Examples: "en", "nl", "de", "fr" range: string required: false pattern: "^[a-z]{2}$" @@ -107,10 +97,8 @@ classes: note_content: "Retained all policy files; destroyed duplicate copies and routine correspondence per retention schedule RS-2020-05" note_date: "2024-03-15" language: en - description: "Appraisal note documenting retention decisions" - value: | note_type: arrangement note_content: "Maintained original order by correspondent. Created 5 series by function. Rehoused into acid-free folders and boxes." note_date: "2024-06-01" - language: en - description: "Arrangement note documenting physical organization" + language: en \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/OAIPMHEndpoint.yaml b/schemas/20251121/linkml/modules/classes/OAIPMHEndpoint.yaml index c3660545f7..b84017d796 100644 --- a/schemas/20251121/linkml/modules/classes/OAIPMHEndpoint.yaml +++ b/schemas/20251121/linkml/modules/classes/OAIPMHEndpoint.yaml @@ -298,55 +298,16 @@ classes: ' attributes: - spec: - slot_uri: dcterms:identifier - description: 'Set specification (setSpec). - - - Machine-readable identifier used in OAI-PMH requests. - - - Hierarchy indicated by colons (e.g., "photo:portraits:19th-century"). - - - Example: "foto" - - ' range: string required: true name: slot_uri: schema:name - description: 'Human-readable set name (setName). - - - Example: "Fotografische documenten" - - ' range: string required: true - set_description: - slot_uri: dcterms:description - description: 'Optional description of the set contents. - - ' range: string - parent_spec: - slot_uri: schema:isPartOf - description: 'Parent set specification for hierarchical sets. - - - If spec is "photo:portraits", parent_spec would be "photo". - - ' range: string record_count: slot_uri: schema:numberOfItems - description: 'Approximate number of records in this set. - - - Not part of OAI-PMH spec but useful if available. - - ' range: integer slots: - specificity_annotation diff --git a/schemas/20251121/linkml/modules/classes/OfficialInstitutionType.yaml b/schemas/20251121/linkml/modules/classes/OfficialInstitutionType.yaml index fe67af5966..54cd782710 100644 --- a/schemas/20251121/linkml/modules/classes/OfficialInstitutionType.yaml +++ b/schemas/20251121/linkml/modules/classes/OfficialInstitutionType.yaml @@ -145,7 +145,6 @@ classes: slots: - is_or_was_part_of - has_or_had_type - - funding_program - has_or_had_mandate # was: heritage_mandate - migrated per Rule 53 (2026-01-28) - official_institution_subtype - oversight_jurisdiction @@ -156,19 +155,13 @@ classes: slot_usage: is_or_was_part_of: range: GovernmentHierarchy - description: The administrative hierarchy this institution type belongs to (e.g. National, Provincial). examples: - value: has_or_had_label: National Government has_or_had_tier: has_or_had_label: National - description: National level has_or_had_mandate: # was: heritage_mandate - migrated per Rule 53 (2026-01-28) range: Mandate - description: | - Formal mandate or responsibility of the official institution. - MIGRATED from heritage_mandate per Rule 53. - Uses Mandate class. multivalued: true inlined: true required: false @@ -176,14 +169,9 @@ classes: - value: has_or_had_label: "preservation" has_or_had_description: "Legal responsibility to preserve national heritage" - description: Preservation mandate regulatory_authority: range: boolean required: false - funding_program: - range: string - multivalued: true - required: false oversight_jurisdiction: range: string required: false diff --git a/schemas/20251121/linkml/modules/classes/OnlineNewsArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/OnlineNewsArchiveRecordSetType.yaml index 41ae91cc32..6cc31f7b0a 100644 --- a/schemas/20251121/linkml/modules/classes/OnlineNewsArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/OnlineNewsArchiveRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Organization.yaml b/schemas/20251121/linkml/modules/classes/Organization.yaml index 9ba674af52..33cf5c56ad 100644 --- a/schemas/20251121/linkml/modules/classes/Organization.yaml +++ b/schemas/20251121/linkml/modules/classes/Organization.yaml @@ -28,7 +28,6 @@ classes: - has_or_had_identifier slot_usage: has_or_had_identifier: - description: Wikidata identifier for Organization concept organizational_level: equals_string: broad category annotations: diff --git a/schemas/20251121/linkml/modules/classes/OrganizationBranch.yaml b/schemas/20251121/linkml/modules/classes/OrganizationBranch.yaml index d610ec57b6..7fa29bc75a 100644 --- a/schemas/20251121/linkml/modules/classes/OrganizationBranch.yaml +++ b/schemas/20251121/linkml/modules/classes/OrganizationBranch.yaml @@ -70,7 +70,6 @@ classes: - has_or_had_label - has_or_had_type - contact_point - - has_operational_unit - has_or_had_branch - is_branch_of - located_at @@ -86,65 +85,37 @@ classes: range: uriorcurie required: true identifier: true - description: Unique identifier for this organizational branch. MIGRATED from branch_id (2026-01-14) per Rule 53. examples: - value: https://nde.nl/ontology/hc/branch/rm-schiphol-exhibition - description: Rijksmuseum Schiphol exhibition branch has_or_had_label: range: string required: true multivalued: false - description: Official name of this organizational branch. MIGRATED from branch_name (2026-01-15) per Rule 53. This is the formal name of the branch as used in official documents. examples: - value: Rijksmuseum Schiphol - description: Airport branch name - value: Conservation Division - Amersfoort - description: Off-site conservation facility has_or_had_type: range: uriorcurie required: true - description: 'Type of organizational branch unit. - MIGRATED from branch_type (2026-01-13). - Uses BranchType class hierarchy for rich type semantics. - Common types: RegionalOfficeBranch, BranchLibraryUnit, - ConservationLabUnit, ExhibitionSpaceUnit. - ' examples: - value: ExhibitionSpaceUnit - description: Exhibition branch type - value: ConservationLabUnit - description: Conservation facility type has_or_had_description: range: string - description: 'Narrative description of the branch''s purpose, role, and activities. MIGRATED from branch_description (2026-01-15) per Rule 53. - Describes what this branch does, its scope of operations, and its relationship to the parent organization.' examples: - value: Small exhibition space at Schiphol Airport featuring rotating highlights from the Rijksmuseum collection. - description: Exhibition branch description - value: Off-site collection storage facility managing overflow objects and art storage. - description: Storage operations branch located_at: range: AuxiliaryPlace multivalued: true inlined_as_list: true examples: - value: https://nde.nl/ontology/hc/aux-place/rijksmuseum-schiphol - description: Airport location - has_operational_unit: - range: OrganizationalStructure - multivalued: true - inlined_as_list: true - examples: - - value: - unit_name: Exhibition Curation Team - unit_type: TEAM - description: Team within branch is_branch_of: range: uriorcurie required: true examples: - value: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Branch of Rijksmuseum has_or_had_branch: range: OrganizationBranch multivalued: true @@ -152,42 +123,29 @@ classes: examples: - value: has_or_had_label: Schiphol Terminal 2 Kiosk - description: Sub-branch of Schiphol exhibition has_or_had_head: range: Person - description: 'Person who heads or headed this organizational branch. MIGRATED from branch_head (2026-01-14) per Rule 53. - Uses W3C ORG pattern - inverse of org:headOf. Can reference Person entity or be inline PersonObservation.' examples: - value: https://nde.nl/ontology/hc/person/dr-maria-van-der-berg - description: Branch director reference - value: full_name: Dr. Maria van der Berg - role: Branch Director - description: Inline person observation has_or_had_quantity: range: integer inlined: true - description: Quantity of staff members. MIGRATED from staff_count (2026-01-28). contact_point: range: string examples: - value: schiphol@rijksmuseum.nl - description: Branch email temporal_extent: - description: 'Validity period using CIDOC-CRM TimeSpan. - MIGRATED from valid_from + valid_to per slot_fixes.yaml (Rule 53). - ' range: TimeSpan inlined: true required: false examples: - value: begin_of_the_begin: '2002-10-01' - description: Branch opened October 2002 - value: begin_of_the_begin: '2002-10-01' end_of_the_end: '2020-03-15' - description: Branch active October 2002 to March 2020 is_or_was_derived_from: range: CustodianObservation multivalued: true @@ -200,7 +158,6 @@ classes: required: true examples: - value: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Rijksmuseum custodian hub comments: - OrganizationBranch models FORMAL branches with administrative status - OrganizationalStructure models INFORMAL operational units @@ -222,22 +179,16 @@ classes: has_or_had_description: Small exhibition space at Schiphol Airport featuring rotating highlights from the collection. located_at: - https://nde.nl/ontology/hc/aux-place/rijksmuseum-schiphol - has_operational_unit: - unit_name: Exhibition Curation Team - unit_type: TEAM has_or_had_quantity: range: integer inlined: true - description: Quantity of staff members. MIGRATED from staff_count (2026-01-28). is_branch_of: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 has_or_had_quantity: range: integer inlined: true - description: Quantity of staff members. MIGRATED from staff_count (2026-01-28). contact_point: schiphol@rijksmuseum.nl - valid_from: '2002-10-01' refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Rijksmuseum Schiphol exhibition branch - value: has_or_had_identifier: https://nde.nl/ontology/hc/branch/rm-depot-operations has_or_had_label: Collection Storage Operations - Amersfoort @@ -245,19 +196,13 @@ classes: has_or_had_description: Off-site collection storage facility managing overflow objects and art storage. located_at: - https://nde.nl/ontology/hc/aux-place/rijksmuseum-depot-amersfoort - has_operational_unit: - unit_name: Storage Management Team - unit_type: TEAM - unit_name: Climate Control Monitoring - unit_type: SERVICE is_branch_of: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 has_or_had_quantity: range: integer inlined: true - description: Quantity of staff members. MIGRATED from staff_count (2026-01-28). - valid_from: '1995-06-01' refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Rijksmuseum off-site storage operations branch - value: has_or_had_identifier: https://nde.nl/ontology/hc/branch/na-rhc-nh has_or_had_label: Regionaal Historisch Centrum Noord-Holland @@ -267,10 +212,7 @@ classes: has_or_had_quantity: range: integer inlined: true - description: Quantity of staff members. MIGRATED from staff_count (2026-01-28). - valid_from: '2001-01-01' refers_to_custodian: https://nde.nl/ontology/hc/nl-na - description: Regional historical center branch of National Archives annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/OrganizationalChangeEvent.yaml b/schemas/20251121/linkml/modules/classes/OrganizationalChangeEvent.yaml index 61579bb844..8a12d81e20 100644 --- a/schemas/20251121/linkml/modules/classes/OrganizationalChangeEvent.yaml +++ b/schemas/20251121/linkml/modules/classes/OrganizationalChangeEvent.yaml @@ -89,33 +89,20 @@ classes: - crm:E9_Move - geosparql:Feature slots: - - has_or_had_affected_territory - - has_or_had_affected_unit - has_or_had_rationale - has_or_had_documentation - temporal_extent - has_or_had_description - - is_or_was_located_at - has_or_had_type - has_or_had_origin - - id - - has_or_had_associated_custodian - - has_or_had_resulting_unit - specificity_annotation - staff_impact - has_or_had_score - is_or_was_transferred_to slot_usage: - id: - identifier: true - required: true - range: uriorcurie - examples: - - value: https://nde.nl/ontology/hc/event/rijksmuseum-conservation-reorganization-2013 has_or_had_type: required: true range: OrganizationalChangeEventTypeEnum - description: Type of organizational change. MIGRATED from event_type (2026-01-26). examples: - value: MERGER - value: REORGANIZATION @@ -123,84 +110,31 @@ classes: required: true range: TimeSpan inlined: true - description: Date/time of the event occurrence. MIGRATED from event_date per slot_fixes.yaml (Rule 53). Use begin_of_the_begin for point-in-time events. examples: - value: begin_of_the_begin: '2013-04-01' - description: Event date has_or_had_description: required: true range: string - description: Description of the change event. MIGRATED from event_description (2026-01-26). examples: - value: Merger of Restoration Department (12 FTE, founded 1885) and Research Department (16 FTE) to form Conservation and Research Department (28 FTE). Implemented as part of museum renovation and reopening strategy. Combined conservation lab facilities and integrated scientific research with conservation practice. - has_or_had_affected_unit: - range: OrganizationalStructure - multivalued: true - inlined: false - examples: - - value: - - id: https://nde.nl/ontology/hc/org-unit/rijks-restoration-old - unit_name: Restoration Department - - id: https://nde.nl/ontology/hc/org-unit/rijks-research-old - unit_name: Research Department - description: Two departments merged - has_or_had_resulting_unit: - range: OrganizationalStructure - multivalued: true - inlined: false - examples: - - value: - - id: https://nde.nl/ontology/hc/org-unit/rijks-conservation-research - unit_name: Conservation and Research Department - description: New department created from merger - has_or_had_associated_custodian: - required: true - range: Custodian - multivalued: false - description: 'The custodian institution where this organizational change event occurred. - MIGRATED from parent_custodian slot per slot_fixes.yaml (Rule 53, 2025-01-15). - Per Rule 39: Uses PROV-O event association pattern (not hierarchy). - ' - examples: - - value: - has_or_had_identifier: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Rijksmuseum has_or_had_rationale: range: string inlined: true - description: | - Rationale for the change. - MIGRATED from change_rationale (Rule 53, 2026-01-28). examples: - value: has_or_had_description: Part of 10-year museum renovation (2003-2013). Reorganization aimed to integrate conservation science with practice. - description: Renovation strategy rationale staff_impact: range: string examples: - value: 28 FTE total (12 from Restoration + 16 from Research). All existing staff retained. 5 new positions created for scientific imaging and digital conservation. 3 staff retirements (planned succession). - is_or_was_located_at: - range: CustodianPlace - required: false - description: Location where the event occurred. MIGRATED from event_location (2026-01-26). - examples: - - value: - place_name: Rijksmuseum Boardroom - place_specificity: BUILDING - description: Location where organizational decision was made has_or_had_origin: - description: 'Original location before a move or transfer. - MIGRATED from from_location per Rule 53. - Uses prov:atLocation semantics for the origin. - ' range: CustodianPlace required: false examples: - value: place_name: Stadhouderskade 42 place_specificity: BUILDING - description: Previous Rijksmuseum location (before 1885) is_or_was_transferred_to: range: CustodianPlace required: false @@ -208,38 +142,14 @@ classes: - value: place_name: Museumstraat 1 place_specificity: BUILDING - has_geospatial_location: - - latitude: 52.36 - longitude: 4.8852 - description: New Rijksmuseum location (1885-present) - has_or_had_affected_territory: - range: GeoSpatialPlace - multivalued: true - inlined_as_list: true - required: false - examples: - - value: - - geospatial_id: https://nde.nl/ontology/hc/geo/haarlem-municipality - latitude: 52.3814 - longitude: 4.6369 - geometry_type: POLYGON - - geospatial_id: https://nde.nl/ontology/hc/geo/noord-holland-province - latitude: 52.5 - longitude: 4.8 - geometry_type: MULTIPOLYGON - description: Territories affected by Noord-Hollands Archief merger (2001) has_or_had_documentation: range: string inlined: true multivalued: true - description: 'Documentation sources for this organizational change event. - MIGRATED from documentation_source (2026-01-26). - ' examples: - value: has_or_had_url: url_value: https://www.rijksmuseum.nl/en/about-us/annual-report-2013 - description: Annual report URL as source comments: - OrganizationalChangeEvent provides structured provenance for organizational history - Links to OrganizationalStructure via affected_units and resulting_units @@ -263,23 +173,12 @@ classes: temporal_extent: begin_of_the_begin: '2013-04-01' has_or_had_description: "Merger of Restoration Department and Research Department to form \nConservation and Research Department during museum renovation.\n" - has_or_had_affected_unit: - - id: https://nde.nl/ontology/hc/org-unit/rijks-restoration-old - unit_name: Restoration Department - - id: https://nde.nl/ontology/hc/org-unit/rijks-research-old - unit_name: Research Department - has_or_had_resulting_unit: - - id: https://nde.nl/ontology/hc/org-unit/rijks-conservation-research - unit_name: Conservation and Research Department - has_or_had_associated_custodian: - has_or_had_identifier: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 has_or_had_rationale: has_or_had_description: Strategic reorganization during 10-year renovation to integrate conservation science with practice and modernize facilities. staff_impact: 28 FTE (12+16), all staff retained, 5 new positions has_or_had_documentation: - has_or_had_url: url_value: https://www.rijksmuseum.nl/en/about-us/annual-report-2013 - description: Rijksmuseum departmental merger during renovation - value: id: https://nde.nl/ontology/hc/event/na-digital-preservation-founding-2008 has_or_had_type: FOUNDING @@ -287,65 +186,30 @@ classes: begin_of_the_begin: '2008-01-01' has_or_had_description: "Creation of Digital Preservation Department to address born-digital \narchival challenges and e-government records.\n" affected_units: [] - has_or_had_resulting_unit: - - id: https://nde.nl/ontology/hc/org-unit/na-digital-preservation - unit_name: Digital Preservation Department - has_or_had_associated_custodian: - has_or_had_identifier: https://nde.nl/ontology/hc/nl-zh-haa-a-na has_or_had_rationale: has_or_had_description: Government mandate to preserve electronic records from ministries and agencies. Growing volume of born-digital materials requiring specialized expertise. staff_impact: 15 FTE, all new hires with digital archiving expertise has_or_had_documentation: - has_or_had_url: url_value: https://www.nationaalarchief.nl/onderzoeken/archief/2.24.17.07 - description: National Archives digital department creation - value: id: https://nde.nl/ontology/hc/event/amsterdam-museum-relocation-2025 has_or_had_type: RELOCATION temporal_extent: begin_of_the_begin: '2025-06-01' has_or_had_description: "Amsterdam Museum relocates from historic Burgerweeshuis building to \nnew purpose-built facility. Move required due to structural concerns \nand accessibility improvements.\n" - has_or_had_affected_unit: - - id: https://nde.nl/ontology/hc/org-unit/amsterdam-museum-main - unit_name: Amsterdam Museum - has_or_had_resulting_unit: - - id: https://nde.nl/ontology/hc/org-unit/amsterdam-museum-main - unit_name: Amsterdam Museum - has_or_had_associated_custodian: - has_or_had_identifier: https://nde.nl/ontology/hc/nl-nh-ams-m-am has_or_had_rationale: has_or_had_description: Historic Burgerweeshuis building requires major renovation. New facility offers better accessibility, climate control, and exhibition space. has_or_had_origin: place_name: Burgerweeshuis, Kalverstraat 92 place_specificity: BUILDING - has_geospatial_location: - - latitude: 52.3676 - longitude: 4.8913 - osm_id: way/126574892 is_or_was_transferred_to: place_name: Amstel Campus, Building A place_specificity: BUILDING - has_geospatial_location: - - latitude: 52.3545 - longitude: 4.9123 - has_or_had_affected_territory: - - geospatial_id: https://nde.nl/ontology/hc/geo/burgerweeshuis-building - latitude: 52.3676 - longitude: 4.8913 - geometry_type: POLYGON - temporal_extent: - end_of_the_end: '2025-06-01' - - geospatial_id: https://nde.nl/ontology/hc/geo/amstel-campus-building-a - latitude: 52.3545 - longitude: 4.9123 - geometry_type: POLYGON - temporal_extent: - begin_of_the_begin: '2025-06-01' staff_impact: All 45 FTE relocating to new facility. No redundancies. has_or_had_documentation: - has_or_had_url: url_value: https://www.amsterdam.nl/nieuws/museum-verhuizing-2025 - description: Museum relocation with full location tracking annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/OrganizationalStructure.yaml b/schemas/20251121/linkml/modules/classes/OrganizationalStructure.yaml index 3b0416e889..73452fd2f7 100644 --- a/schemas/20251121/linkml/modules/classes/OrganizationalStructure.yaml +++ b/schemas/20251121/linkml/modules/classes/OrganizationalStructure.yaml @@ -39,9 +39,7 @@ classes: \n unit_type: \"team\"\n description: \"Reading room, reference services\"\n```\n" slots: - contact_point - - id - located_at - - has_or_had_managed_collection - parent_unit - refers_to_custodian - specificity_annotation @@ -52,12 +50,6 @@ classes: - has_or_had_type - temporal_extent slot_usage: - id: - identifier: true - required: true - examples: - - value: https://nde.nl/ontology/hc/org-unit/na-digital-preservation - description: URI for National Archives Digital Preservation Dept has_or_had_label: required: true range: string @@ -67,10 +59,6 @@ classes: - value: Research and Documentation Division has_or_had_type: range: uriorcurie - description: 'Type classification of this organizational unit. - Uses OrganizationalUnitType class hierarchy. - Replaces unit_type slot per slot_fixes.yaml migration. - ' examples: - value: DEPARTMENT - value: TEAM @@ -80,11 +68,9 @@ classes: - value: has_or_had_label: has_or_had_label: Collections Division - description: Parent of Acquisitions Dept has_or_had_quantity: range: integer inlined: true - description: Quantity of staff members. MIGRATED from staff_count (2026-01-28). has_or_had_staff_member: range: PersonObservation multivalued: true @@ -95,19 +81,6 @@ classes: person_name: John Doe staff_role: ARCHIVIST role_title: Digital Preservation Manager - description: Staff member in Digital Preservation Department - has_or_had_managed_collection: - range: CustodianCollection - multivalued: true - inlined_as_list: true - examples: - - value: - - id: https://nde.nl/ontology/hc/collection/rm-dutch-paintings - has_or_had_label: - has_or_had_label: Dutch Golden Age Paintings - has_or_had_type: collection_name - extent: 1,200 objects - description: Collection managed by Paintings Department located_at: range: AuxiliaryPlace multivalued: true @@ -116,34 +89,27 @@ classes: - value: - place_name: Depot Amersfoort auxiliary_place_type: STORAGE_FACILITY - description: Organizational unit located at off-site storage contact_point: range: string examples: - value: digitization@nationalarchives.nl - value: https://nationalarchives.nl/services/reading-room temporal_extent: - description: 'Validity period using CIDOC-CRM TimeSpan. - MIGRATED from valid_from + valid_to per slot_fixes.yaml (Rule 53). - ' range: TimeSpan inlined: true required: false examples: - value: begin_of_the_begin: '2015-01-01' - description: Digital Preservation Dept founded 2015 - value: begin_of_the_begin: '2015-01-01' end_of_the_end: '2020-12-31' - description: Unit active 2015-2020 refers_to_custodian: required: true range: Custodian examples: - value: has_or_had_identifier: https://nde.nl/ontology/hc/cust/national-archives - description: Unit belongs to National Archives comments: - OrganizationalStructure models INFORMAL operational units - GovernanceStructure models FORMAL legal structure @@ -162,13 +128,11 @@ classes: has_or_had_quantity: range: integer inlined: true - description: Quantity of staff members. MIGRATED from staff_count (2026-01-28). contact_point: digipres@nationalarchives.nl temporal_extent: begin_of_the_begin: '2010-01-01' refers_to_custodian: has_or_had_identifier: https://nde.nl/ontology/hc/cust/national-archives-nl - description: Digital preservation department example - value: id: https://nde.nl/ontology/hc/org-unit/rijks-conservation has_or_had_label: @@ -180,12 +144,10 @@ classes: has_or_had_quantity: range: integer inlined: true - description: Quantity of staff members. MIGRATED from staff_count (2026-01-28). temporal_extent: begin_of_the_begin: '1885-07-13' refers_to_custodian: has_or_had_identifier: https://nde.nl/ontology/hc/cust/national-archives-nl - description: Conservation lab with parent division example - value: id: https://nde.nl/ontology/hc/org-unit/rijks-conservation has_or_had_label: @@ -194,16 +156,13 @@ classes: parent_unit: has_or_had_label: has_or_had_label: Collections Care Division - description: Painting, paper, and textile conservation has_or_had_quantity: range: integer inlined: true - description: Quantity of staff members. MIGRATED from staff_count (2026-01-28). temporal_extent: begin_of_the_begin: '1885-07-13' refers_to_custodian: has_or_had_identifier: https://nde.nl/ontology/hc/cust/rijksmuseum - description: Museum conservation lab with parent division annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/OrganizationalSubdivision.yaml b/schemas/20251121/linkml/modules/classes/OrganizationalSubdivision.yaml index f79240978d..5a34f822d5 100644 --- a/schemas/20251121/linkml/modules/classes/OrganizationalSubdivision.yaml +++ b/schemas/20251121/linkml/modules/classes/OrganizationalSubdivision.yaml @@ -30,7 +30,6 @@ classes: - has_or_had_identifier slot_usage: has_or_had_identifier: - description: Wikidata identifier for Organizational Subdivision concept organizational_level: equals_string: subdivision annotations: diff --git a/schemas/20251121/linkml/modules/classes/Organizer.yaml b/schemas/20251121/linkml/modules/classes/Organizer.yaml index c0b2cb8398..ea2e5ceb36 100644 --- a/schemas/20251121/linkml/modules/classes/Organizer.yaml +++ b/schemas/20251121/linkml/modules/classes/Organizer.yaml @@ -68,44 +68,19 @@ classes: - prov:Agent slots: - - organizer_entity - has_or_had_role - - organizer_contribution slot_usage: - organizer_entity: - required: true - range: uriorcurie - description: | - Reference to the organizing institution (Custodian, Organization). - This is the entity that actually does the organizing. examples: - value: "https://nde.nl/ontology/hc/custodian/nl/rijksmuseum" - description: "Rijksmuseum as organizer" - has_or_had_role: required: false range: OrganizerRole inlined: true - description: | - Role of this organizer (PRIMARY, CO_ORGANIZER, SPONSOR_ORGANIZER, etc.). - If omitted, implies general organizational involvement. examples: - value: - role_type: PRIMARY - description: "Primary organizer role" - - organizer_contribution: - required: false - range: string - description: | - Description of organizational contribution. - Examples: "Provided 15 works from permanent collection", - "Funded conservation of borrowed works", "Curatorial expertise" examples: - value: "Provided 15 works from permanent collection and curatorial expertise" - description: "Description of Mauritshuis contribution to Vermeer exhibition" - annotations: specificity_score: 0.55 specificity_rationale: "Moderately specific - applies to any event organization context" @@ -121,25 +96,12 @@ classes: - value: organizer_entity: "https://nde.nl/ontology/hc/custodian/nl/rijksmuseum" has_or_had_role: - role_type: PRIMARY - role_description: "Main organizing institution" - description: "Rijksmuseum as primary organizer of Vermeer exhibition" - - value: organizer_entity: "https://nde.nl/ontology/hc/custodian/nl/mauritshuis" has_or_had_role: - role_type: CO_ORGANIZER - role_description: "Partner institution providing key loans" - organizer_contribution: "Provided Girl with a Pearl Earring and 5 other Vermeers" - description: "Mauritshuis as co-organizer with specific contribution" - - value: organizer_entity: "https://nde.nl/ontology/hc/custodian/us/national-gallery-washington" has_or_had_role: - role_type: LENDING_INSTITUTION - organizer_contribution: "Lent Woman Holding a Balance" - description: "National Gallery Washington as lending institution" - slots: organizer_entity: slot_uri: schema:organizer diff --git a/schemas/20251121/linkml/modules/classes/OrganizerRole.yaml b/schemas/20251121/linkml/modules/classes/OrganizerRole.yaml index 7d0c56fc82..4db0593113 100644 --- a/schemas/20251121/linkml/modules/classes/OrganizerRole.yaml +++ b/schemas/20251121/linkml/modules/classes/OrganizerRole.yaml @@ -42,19 +42,8 @@ classes: - prov:Role slots: - - role_type - - role_description slot_usage: - role_type: - required: true - range: string - description: Type of organizer role (PRIMARY, CO_ORGANIZER, etc.) - role_description: - required: false - range: string - description: Additional description of the role - annotations: specificity_score: 0.65 specificity_rationale: "Fairly specific - applies to event/exhibition organization contexts" @@ -68,18 +57,8 @@ classes: examples: - value: - role_type: PRIMARY - role_description: "Main organizing institution" - description: "Primary organizer role" - value: - role_type: CO_ORGANIZER - role_description: "Partner institution contributing loans and curatorial expertise" - description: "Co-organizer role with description" - value: - role_type: LENDING_INSTITUTION - role_description: "Major lender with exhibition advisory role" - description: "Lending institution with organizational involvement" - slots: role_type: slot_uri: schema:roleName @@ -98,16 +77,9 @@ enums: description: Types of organizer roles permissible_values: PRIMARY: - description: Main organizing institution CO_ORGANIZER: - description: Partner institution with significant organizational role SPONSOR_ORGANIZER: - description: Sponsor with curatorial/organizational input LENDING_INSTITUTION: - description: Institution lending objects with exhibition involvement HOST_VENUE: - description: Venue hosting a traveling exhibition SUPPORTING_PARTNER: - description: Supporting partner institution - ADVISOR: - description: Advisory organization + ADVISOR: \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/OriginalEntry.yaml b/schemas/20251121/linkml/modules/classes/OriginalEntry.yaml index b6dcb7d091..17791a21fc 100644 --- a/schemas/20251121/linkml/modules/classes/OriginalEntry.yaml +++ b/schemas/20251121/linkml/modules/classes/OriginalEntry.yaml @@ -23,7 +23,11 @@ imports: default_range: string classes: OriginalEntry: - description: "Source registry data from NDE CSV or CH-Annotator extraction, preserving original field names and values as imported from the source system. This is the raw data before normalization.\nOntology mapping rationale: - class_uri is prov:PrimarySource because original entries represent\n authoritative source records before transformation.\n- close_mappings includes dcat:Dataset as source entries form a\n dataset of registry records.\n- related_mappings includes prov:Entity for provenance tracking." + description: "Source registry data from NDE CSV or CH-Annotator extraction, preserving original field names and values\ + \ as imported from the source system. This is the raw data before normalization.\nOntology mapping rationale: - class_uri\ + \ is prov:PrimarySource because original entries represent\n authoritative source records before transformation.\n\ + - close_mappings includes dcat:Dataset as source entries form a\n dataset of registry records.\n- related_mappings\ + \ includes prov:Entity for provenance tracking." class_uri: prov:PrimarySource close_mappings: - dcat:Dataset @@ -74,13 +78,6 @@ classes: source: range: string description: Source file reference (e.g., CH-Annotator file path) - identifier: - any_of: - - range: OriginalEntryIdentifier - multivalued: true - - range: OriginalEntryIdentifiersDict - inlined_as_list: true - description: Identifiers from original source (array or dictionary format) locations: range: OriginalEntryLocation multivalued: true @@ -292,4 +289,4 @@ classes: annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/OutdoorSite.yaml b/schemas/20251121/linkml/modules/classes/OutdoorSite.yaml index d009e11234..94c05abb3a 100644 --- a/schemas/20251121/linkml/modules/classes/OutdoorSite.yaml +++ b/schemas/20251121/linkml/modules/classes/OutdoorSite.yaml @@ -122,50 +122,32 @@ classes: identifier: true examples: - value: https://nde.nl/ontology/hc/aux/kroller-muller-sculpture - description: Kröller-Müller sculpture garden outdoor_site_name: range: string required: true examples: - value: Kröller-Müller Beeldentuin - description: Sculpture garden - value: Paleis Het Loo Tuinen - description: Palace gardens - value: Archeologisch Park Matilo - description: Archaeological park outdoor_site_description: range: string examples: - value: One of Europe's largest sculpture gardens with 160 works set in 25 hectares of park landscape within De Hoge Veluwe National Park. - description: Sculpture garden description outdoor_site_type: range: OutdoorSiteTypeEnum required: true examples: - value: SCULPTURE_GARDEN - description: Outdoor art display - value: FORMAL_GARDEN - description: Historic garden is_or_was_classified_as: # was: bio_type_classification - migrated per Rule 53/56 (2026-01-17) range: BioTypeClassification # Type/Types class hierarchy (was BioCustodianTypeEnum) inlined: true required: false - description: >- - Optional biological/botanical classification from BioTypeClassification class hierarchy. - BioTypeClassification contains 15 high-level classification types for - botanical gardens, zoos, arboreta, and nature facilities based on collection focus, - primary function, institutional form, and collection type. examples: - value: BotanicalInstitutionClassification - description: Botanical garden - value: ZoologicalInstitutionClassification - description: Zoo or wildlife park has_or_had_type: # was: feature_type_classification - migrated per Rule 53 (2026-01-26) - description: | - MIGRATED from feature_type_classification per slot_fixes.yaml (Rule 53, 2026-01-26). - Classification of the outdoor site feature type. - Uses FeatureType class hierarchy (LandscapeFeature, Site) instead of FeatureTypeEnum. range: FeatureType required: false any_of: @@ -173,15 +155,9 @@ classes: - range: Site examples: - value: SCULPTURE_GARDEN - description: Sculpture garden (LandscapeFeature) - value: ARCHAEOLOGICAL_SITE - description: Archaeological site (Site) - value: FORMAL_GARDEN - description: Formal garden (LandscapeFeature) has_or_had_area: - description: >- - Area of the outdoor site. - MIGRATED from area_hectares and has_area_in_hectare (Rule 53). range: Area inlined: true multivalued: true @@ -192,7 +168,6 @@ classes: has_or_had_type: HECTARE has_or_had_symbol: "ha" has_or_had_label: "Sculpture garden area" - description: 25 hectares sculpture garden - value: area_value: 650.0 has_or_had_unit: @@ -200,25 +175,18 @@ classes: has_or_had_symbol: "ha" is_estimate: true has_or_had_label: "Estate grounds" - description: 650 hectares historic estate (estimated) has_or_had_artwork_count: range: integer examples: - value: 160 - description: 160 sculptures plant_species_count: range: integer examples: - value: 2500 - description: 2500 plant species contains_or_contained: range: string multivalued: true inlined: true - description: | - Animal species present at the site. - MIGRATED from has_or_had_animal_species_count per Rule 53. - Uses Animal class with Species classification and Quantity. examples: - value: outdoor_site_id: https://nde.nl/ontology/hc/aux/kroller-muller-sculpture @@ -240,7 +208,6 @@ classes: has_or_had_accessibility_feature: - has_or_had_label: "Paved paths" - has_or_had_label: "Wheelchair routes available" - description: Major sculpture garden - value: outdoor_site_id: https://nde.nl/ontology/hc/aux/het-loo-tuinen outdoor_site_name: Paleis Het Loo Tuinen @@ -260,7 +227,6 @@ classes: - has_or_had_label: "Included with palace ticket" seasonal_hour: Summer 10:00-18:00; Winter 10:00-16:00 historic_garden_designation: true - description: Historic palace gardens - value: outdoor_site_id: https://nde.nl/ontology/hc/aux/matilo-archaeological outdoor_site_name: Archeologisch Park Matilo @@ -276,6 +242,4 @@ classes: is_open_to_public: true has_or_had_fee: - has_or_had_label: "Free" - period_covered: Roman period (50-400 CE) - description: Roman archaeological park - + period_covered: Roman period (50-400 CE) \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/OutputData.yaml b/schemas/20251121/linkml/modules/classes/OutputData.yaml index 97068862ee..a6c8e8a963 100644 --- a/schemas/20251121/linkml/modules/classes/OutputData.yaml +++ b/schemas/20251121/linkml/modules/classes/OutputData.yaml @@ -32,57 +32,22 @@ classes: - has_or_had_format - has_or_had_description - has_or_had_identifier - - destination_url - - schema_url - - is_streaming slot_usage: has_or_had_format: range: uriorcurie inlined: true - description: 'The format specification for this output. - Uses DataFormat class to capture format type, media type, and schema. - ' examples: - value: has_or_had_type: JsonFormat - has_or_had_media_type: application/json - description: JSON output format has_or_had_description: range: string - description: Human-readable description of the output data. examples: - value: Temperature and humidity readings from conservation sensors - description: Sensor data description - destination_url: - range: uri - description: URL where output is sent or published. - examples: - value: https://analytics.museum.nl/data - description: Analytics platform destination - schema_url: - range: uri - description: URL to schema definition for the output data structure. - examples: - value: https://api.museum.nl/schemas/climate-v1.json - description: JSON Schema for climate data - is_streaming: - range: boolean - description: Whether this output is continuous/streaming vs batch/discrete. - examples: - value: true - description: Real-time streaming data - value: false - description: Batch data export attributes: - destination_url: - range: uri - description: URL where output is sent or published. - schema_url: - range: uri - description: URL to schema definition for the output data. - is_streaming: - range: boolean - description: Whether this output is streaming vs batch. annotations: custodian_types: '["*"]' custodian_types_rationale: Output data specifications apply to all custodian types with digital systems. diff --git a/schemas/20251121/linkml/modules/classes/Overview.yaml b/schemas/20251121/linkml/modules/classes/Overview.yaml index ef06b4995e..eead3856c6 100644 --- a/schemas/20251121/linkml/modules/classes/Overview.yaml +++ b/schemas/20251121/linkml/modules/classes/Overview.yaml @@ -91,7 +91,6 @@ classes: - schema:ItemList - rico:RecordSet slots: - - id - name - has_or_had_label # was: title - has_or_had_description @@ -103,47 +102,25 @@ classes: - specificity_annotation - has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) slot_usage: - id: - identifier: true - required: true - range: uriorcurie name: range: string - description: >- - Short name for the overview collection. has_or_had_label: # was: title range: string - description: >- - Descriptive title for the overview. - description: - range: string - description: >- - Human-readable description of the overview's purpose and scope. includes_or_included: range: string multivalued: true inlined_as_list: true - description: >- - The web links included in this overview collection. source_url: range: uri - description: >- - The URL of the page from which links were extracted. is_or_was_retrieved_at: # was: date_retrieved - migrated per Rule 53/56/57 (2026-01-23) range: Timestamp inlined: true - description: >- - Timestamp when the overview was extracted or compiled. - Uses Timestamp class for structured temporal data. examples: - value: has_or_had_timestamp: "2025-01-14" has_or_had_level: day - description: Day-precision retrieval date link_count: range: integer - description: >- - Total number of links in the overview. annotations: custodian_types: '["*"]' custodian_types_rationale: >- @@ -164,13 +141,10 @@ classes: examples: - value: id: hc:overview/findingaid-001-links - title: "Family History Research Links" - description: "Comprehensive collection of links from the family history finding aid" source_url: https://www.nationaalarchief.nl/onderzoeken/zoekhulpen/familiegeschiedenis is_or_was_retrieved_at: # was: date_retrieved has_or_had_timestamp: "2025-01-14" has_or_had_level: day link_count: 15 - description: Overview of links from a finding aid page # REMOVED inline slots 2026-01-16 - Rule 48 violation # Slots are imported from ../slots/ - do not define inline \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/Owner.yaml b/schemas/20251121/linkml/modules/classes/Owner.yaml index 6de92493dd..e487e85a59 100644 --- a/schemas/20251121/linkml/modules/classes/Owner.yaml +++ b/schemas/20251121/linkml/modules/classes/Owner.yaml @@ -71,9 +71,7 @@ classes: - has_or_had_identifier slot_usage: has_or_had_label: - description: Name of the owner (person, organization, or group) has_or_had_identifier: - description: Identifier for the owner (e.g., Wikidata ID, internal ID) exact_mappings: - prov:Agent close_mappings: @@ -90,8 +88,6 @@ classes: - value: has_or_had_label: Rijksmuseum has_or_had_identifier: https://www.wikidata.org/entity/Q190804 - description: Rijksmuseum as owner - value: has_or_had_label: Private Collection (Anonymous) - has_or_had_identifier: hc:owner/private-001 - description: Anonymous private collector + has_or_had_identifier: hc:owner/private-001 \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/PageSection.yaml b/schemas/20251121/linkml/modules/classes/PageSection.yaml index ed96196536..3425e441d4 100644 --- a/schemas/20251121/linkml/modules/classes/PageSection.yaml +++ b/schemas/20251121/linkml/modules/classes/PageSection.yaml @@ -10,4 +10,3 @@ classes: annotations: custodian_types: '["*"]' slots: - - description diff --git a/schemas/20251121/linkml/modules/classes/ParentOrganizationUnit.yaml b/schemas/20251121/linkml/modules/classes/ParentOrganizationUnit.yaml index 2711ff0bb9..3d5c5f8fd9 100644 --- a/schemas/20251121/linkml/modules/classes/ParentOrganizationUnit.yaml +++ b/schemas/20251121/linkml/modules/classes/ParentOrganizationUnit.yaml @@ -30,7 +30,6 @@ classes: - has_or_had_identifier slot_usage: has_or_had_identifier: - description: Wikidata identifier for Parent Organization Unit concept organizational_level: equals_string: parent annotations: diff --git a/schemas/20251121/linkml/modules/classes/ParishArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/ParishArchiveRecordSetType.yaml index 6b3de65f59..d3aa5986a7 100644 --- a/schemas/20251121/linkml/modules/classes/ParishArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/ParishArchiveRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ParliamentaryArchivesRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/ParliamentaryArchivesRecordSetType.yaml index edfd953c28..e39116e03a 100644 --- a/schemas/20251121/linkml/modules/classes/ParliamentaryArchivesRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/ParliamentaryArchivesRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/PartyArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/PartyArchiveRecordSetType.yaml index 77262ce0ff..e813203004 100644 --- a/schemas/20251121/linkml/modules/classes/PartyArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/PartyArchiveRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/PerformingArtsArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/PerformingArtsArchiveRecordSetType.yaml index e82afca548..922bf44d18 100644 --- a/schemas/20251121/linkml/modules/classes/PerformingArtsArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/PerformingArtsArchiveRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Permission.yaml b/schemas/20251121/linkml/modules/classes/Permission.yaml index 92ae167761..49c2f117e0 100644 --- a/schemas/20251121/linkml/modules/classes/Permission.yaml +++ b/schemas/20251121/linkml/modules/classes/Permission.yaml @@ -49,31 +49,22 @@ classes: has_or_had_type: range: uriorcurie required: true - description: >- - The type of permission required. examples: - value: BishopsPermission - description: Bishop's permission for ecclesiastical archives has_or_had_description: range: string - description: >- - Human-readable description of the permission requirement. examples: - value: "Written permission from the diocesan bishop required for access to personnel files" temporal_extent: range: TimeSpan inlined: true - description: >- - When this permission requirement is/was in effect. examples: - value: has_or_had_type: BishopsPermission has_or_had_description: "Written permission from the diocesan bishop required" - description: Ecclesiastical archive permission - value: has_or_had_type: InstitutionalAffiliation has_or_had_description: "Must be affiliated with accredited research institution" - description: Research library permission annotations: custodian_types: '["*"]' specificity_score: 0.5 diff --git a/schemas/20251121/linkml/modules/classes/Person.yaml b/schemas/20251121/linkml/modules/classes/Person.yaml index 8724cd76d8..e4f9c8a5e5 100644 --- a/schemas/20251121/linkml/modules/classes/Person.yaml +++ b/schemas/20251121/linkml/modules/classes/Person.yaml @@ -49,9 +49,7 @@ classes: - foaf:Agent slots: - created - - has_person_observation - modified - - has_or_had_participated_in_event - person_id - preferred_name - specificity_annotation @@ -65,15 +63,6 @@ classes: preferred_name: range: string required: false - has_or_had_participated_in_event: - range: Event - multivalued: true - required: false - has_person_observation: - range: PersonObservation - multivalued: true - required: false - inlined: false comments: - Person is the hub class for individual humans in the HC ontology - PersonObservation entities attach to Person via refers_to_person @@ -85,26 +74,12 @@ classes: - value: person_id: https://nde.nl/ontology/hc/person/taco-dibbits preferred_name: Taco Dibbits - has_or_had_participated_in_event: - - https://nde.nl/ontology/hc/event/dibbits-appointed-director-2020 - has_person_observation: - - https://nde.nl/ontology/hc/observation/dibbits-linkedin-2025 - - https://nde.nl/ontology/hc/observation/dibbits-rijksmuseum-annual-report-2024 - description: Director of Rijksmuseum as Person hub with multiple observations - value: person_id: https://nde.nl/ontology/hc/person/jan-de-vries-1985 preferred_name: Jan de Vries - description: Person with disambiguator (birth year) - value: person_id: https://nde.nl/ontology/hc/person/maria-garcia preferred_name: Maria Garcia - has_person_observation: - - https://nde.nl/ontology/hc/observation/garcia-rijksmuseum-2015 - - https://nde.nl/ontology/hc/observation/garcia-mauritshuis-2022 - has_or_had_participated_in_event: - - https://nde.nl/ontology/hc/event/garcia-curator-appointment-2015 - - https://nde.nl/ontology/hc/event/garcia-director-appointment-2022 - description: Person with career spanning multiple institutions - observations from each role annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/PersonConnection.yaml b/schemas/20251121/linkml/modules/classes/PersonConnection.yaml index 4b417efd2d..ae716c3254 100644 --- a/schemas/20251121/linkml/modules/classes/PersonConnection.yaml +++ b/schemas/20251121/linkml/modules/classes/PersonConnection.yaml @@ -104,65 +104,39 @@ classes: pattern: ^[a-z0-9-]+_conn_[0-9]{4}_[a-z0-9_]+$ examples: - value: giovannafossati_conn_0042_amy_b - description: 'Connection #42 from Giovanna Fossati''s network' - value: rijksmuseum_staff_0001_jan_van_berg - description: Staff member from Rijksmuseum connection_name: range: string required: true examples: - value: Maddalena Ghiotto - description: Full name visible - value: Amy B. - description: Abbreviated last name - value: LinkedIn Member - description: Anonymous/privacy-protected name_type: range: NameTypeEnum required: true examples: - value: full - description: Complete name visible - value: abbreviated - description: Partial name (privacy setting) has_or_had_degree: range: ConnectionDegree required: true inlined: true - description: 'MIGRATED from connection_degree per slot_fixes.yaml (Rule 53, 2026-01-22). - - Connection degree now uses structured ConnectionDegree class with - - ConnectionDegreeType hierarchy instead of simple enum. - - ' examples: - value: has_or_had_type: SecondDegreeConnection - description: Second-degree connection (connected through one mutual connection) - value: has_or_had_type: FirstDegreeConnection - description: First-degree direct connection has_or_had_description: - description: 'MIGRATED from connection_has_or_had_title per slot_fixes.yaml (Rule 53/56, 2026-01-18). - - Professional has_or_had_title/tagline for this LinkedIn connection. - - Uses Description class for structured representation. - - ' range: string inlined: true examples: - value: description_text: Archiving nerd in the digital era. - description: Personal tagline style has_or_had_title - value: description_text: Senior Curator at Rijksmuseum - description: Role-based has_or_had_title - value: description_text: PhD candidate Critical audiovisual heritage - description: Academic position has_or_had_title connection_location: range: string examples: @@ -179,18 +153,13 @@ classes: required: true examples: - value: true - description: Works in museum, archive, library, etc. - value: false - description: No apparent heritage sector connection connection_heritage_type: range: HeritageTypeEnum examples: - value: A - description: Archive sector - value: M - description: Museum sector - value: D - description: Digital heritage connection_linkedin_url: range: uri pattern: ^https://www\.linkedin\.com/in/[a-z0-9-]+/?$ diff --git a/schemas/20251121/linkml/modules/classes/PersonObservation.yaml b/schemas/20251121/linkml/modules/classes/PersonObservation.yaml index 5eed074718..48b7121ab5 100644 --- a/schemas/20251121/linkml/modules/classes/PersonObservation.yaml +++ b/schemas/20251121/linkml/modules/classes/PersonObservation.yaml @@ -78,7 +78,6 @@ classes: slot_usage: has_or_had_age: range: string - description: Age of the person (structured or simple value). required: false occupation: range: string @@ -88,23 +87,14 @@ classes: range: string required: false identifies_or_identified_as: - description: 'Gender identity or social classification of the person. - MIGRATED from gender_identity per slot_fixes.yaml (Rule 53, 2026-01-26). - Uses Gender class. - ' range: Gender inlined: true required: false examples: - value: has_or_had_label: Female - description: Female gender identity - value: has_or_had_label: Male - description: Male gender identity - pronoun: - range: string - required: false staff_role: range: StaffRole required: true @@ -114,9 +104,6 @@ classes: is_or_was_affiliated_with: range: string required: false - description: 'The organizational unit this person is/was affiliated with. - MIGRATED from unit_affiliation per slot_fixes.yaml (Rule 53, 2026-01-15). - ' role_start_date: range: date required: false @@ -126,14 +113,10 @@ classes: observation_source: range: string required: false - description: Simple text reference to source (use has_or_had_provenance for structured data) has_or_had_provenance: range: string inlined: true required: false - description: 'Extraction provenance metadata. - MIGRATED from extraction_metadata per Rule 53 (2026-01-26). - ' is_or_was_affected_by_event: range: OrganizationalChangeEvent required: false @@ -142,15 +125,6 @@ classes: multivalued: true inlined: true required: false - description: 'Area of expertise. - MIGRATED from expertise_area (2026-01-26). - ' - has_or_had_web_claim: - range: PersonWebClaim - multivalued: true - required: false - inlined: true - inlined_as_list: true linkedin_profile_path: range: string required: false @@ -183,10 +157,8 @@ classes: role_end_date: null affected_by_event: https://nde.nl/ontology/hc/event/rm-conservation-merger-2013 ' - description: Conservator promoted during department merger, linked to Person hub - value: "id: https://nde.nl/ontology/hc/person-obs/nl-nh-ams-m-rm/taco-dibbits/director-2016\nperson_name: Taco Dibbits\nrefers_to_person: https://nde.nl/ontology/hc/person/taco-dibbits\nstaff_role: DIRECTOR\nrole_title: General Director\nrole_start_date: '2016-09-01'\nrole_end_date: null\nlinkedin_profile_url: https://www.linkedin.com/in/taco-dibbits\nlinkedin_profile_path: data/custodian/person/entity/taco-dibbits_20250115T103000Z.json\nhas_or_had_web_claim:\n- person_claim_type: full_name\n person_claim_value: Taco Dibbits\n source_url: https://www.rijksmuseum.nl/en/about-us/organisation\n person_xpath: /html/body/main/section[2]/div[1]/h2\n retrieved_on: '2025-01-15T10:30:00Z'\n retrieval_agent: firecrawl\n person_xpath_match_score: 1.0\n- person_claim_type: role_title\n person_claim_value: General Director\n source_url: https://www.rijksmuseum.nl/en/about-us/organisation\n person_xpath: /html/body/main/section[2]/div[1]/p[1]\n retrieved_on: '2025-01-15T10:30:00Z'\n retrieval_agent:\ \ firecrawl\n person_xpath_match_score: 1.0\n" - description: Museum director with Person hub link and full web claim provenance (Rule 26 compliant) annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/PersonOrOrganization.yaml b/schemas/20251121/linkml/modules/classes/PersonOrOrganization.yaml index 1134642a7e..8cfe773e31 100644 --- a/schemas/20251121/linkml/modules/classes/PersonOrOrganization.yaml +++ b/schemas/20251121/linkml/modules/classes/PersonOrOrganization.yaml @@ -35,7 +35,6 @@ classes: - has_or_had_identifier slot_usage: has_or_had_identifier: - description: Wikidata identifier for Person or Organization concept organizational_level: equals_string: abstract category annotations: diff --git a/schemas/20251121/linkml/modules/classes/PersonWebClaim.yaml b/schemas/20251121/linkml/modules/classes/PersonWebClaim.yaml index 99ce70020c..835a5c2d03 100644 --- a/schemas/20251121/linkml/modules/classes/PersonWebClaim.yaml +++ b/schemas/20251121/linkml/modules/classes/PersonWebClaim.yaml @@ -56,15 +56,6 @@ classes: - specificity_annotation slot_usage: has_or_had_note: - description: 'MIGRATED from person_claim_note per Rule 53 (2026-01-18). - - Notes about this claim extraction using the Note class. - - Document any issues, conflicts, or special circumstances. - - Use note_type: "extraction" for extraction-related notes. - - ' range: string multivalued: true inlined: true @@ -73,11 +64,9 @@ classes: - value: - note_type: extraction note_content: Biography truncated from longer text on page - description: Extraction note about truncated content - value: - note_type: extraction note_content: Profile data stored in person/entity/taco-dibbits_20250115.json. No XPath for API extraction. - description: LinkedIn API extraction note person_claim_type: required: true person_claim_value: @@ -92,15 +81,6 @@ classes: has_or_had_provenance_path: range: XPath inlined: true - description: 'XPath provenance path documenting the exact location in the source HTML - - where this person claim was extracted from. Contains the XPath expression, - - match score, and matched text. - - REQUIRED for web page claims. May be omitted for API-sourced claims (e.g., LinkedIn via Exa). - - ' comments: - 'MIGRATION (2026-01-18): Replaced person_claim_note with has_or_had_note using Note class per Rule 53' - 'MIGRATION (2026-01-15): Replaced person_xpath/person_xpath_match_score slots with has_or_had_provenance_path using XPath class per slot_fixes.yaml' @@ -116,40 +96,27 @@ classes: source_url: https://www.rijksmuseum.nl/en/about-us/organisation retrieved_on: '2025-01-15T10:30:00Z' has_or_had_provenance_path: - expression: /html/body/main/section[2]/div[1]/h2 - match_score: 1.0 - source_document: web/NL-NH-AMS-M-RM/rijksmuseum.nl/organisation.html person_html_file: web/NL-NH-AMS-M-RM/rijksmuseum.nl/organisation.html retrieval_agent: firecrawl - description: Exact match for museum director name - value: person_claim_type: role_title person_claim_value: General Director source_url: https://www.rijksmuseum.nl/en/about-us/organisation retrieved_on: '2025-01-15T10:30:00Z' has_or_had_provenance_path: - expression: /html/body/main/section[2]/div[1]/p[1] - match_score: 1.0 - source_document: web/NL-NH-AMS-M-RM/rijksmuseum.nl/organisation.html person_html_file: web/NL-NH-AMS-M-RM/rijksmuseum.nl/organisation.html retrieval_agent: firecrawl - description: Role title from institutional page - value: person_claim_type: biography person_claim_value: Taco Dibbits has been General Director since 2016... source_url: https://www.rijksmuseum.nl/en/about-us/organisation retrieved_on: '2025-01-15T10:30:00Z' has_or_had_provenance_path: - expression: /html/body/main/section[2]/div[1]/div[2] - match_score: 0.92 - matched_text: Taco Dibbits has been General Director since 2016... - source_document: web/NL-NH-AMS-M-RM/rijksmuseum.nl/organisation.html person_html_file: web/NL-NH-AMS-M-RM/rijksmuseum.nl/organisation.html retrieval_agent: firecrawl has_or_had_note: - note_type: extraction note_content: Biography truncated from longer text on page - description: Biography text with partial match score - value: person_claim_type: linkedin_url person_claim_value: https://www.linkedin.com/in/taco-dibbits @@ -159,7 +126,6 @@ classes: has_or_had_note: - note_type: extraction note_content: Profile data stored in person/entity/taco-dibbits_20250115.json. No XPath for API extraction. - description: LinkedIn claim - No XPath for API extraction annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/PersonalCollectionType.yaml b/schemas/20251121/linkml/modules/classes/PersonalCollectionType.yaml index d712ac00dd..1e5b68dec7 100644 --- a/schemas/20251121/linkml/modules/classes/PersonalCollectionType.yaml +++ b/schemas/20251121/linkml/modules/classes/PersonalCollectionType.yaml @@ -37,58 +37,29 @@ classes: - specificity_annotation - has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - is_or_was_acquired_through - - has_or_had_access_restriction slot_usage: has_or_had_category: # was: collection_focus - migrated per Rule 53 (2026-01-19) - description: | - MIGRATED from collection_focus per slot_fixes.yaml (Rule 53, 2026-01-19). - Subject areas and thematic focus of the personal collection using Category class. range: Category inlined: true multivalued: true required: true examples: - value: - category_name: Dutch Golden Age paintings - category_type: SUBJECT - description: Art collector focus - value: - category_name: Rembrandt works - category_type: CREATOR - description: Artist-focused collection - value: - category_name: Roman coins - category_type: TYPOLOGY - description: Numismatist focus has_or_had_quantity: # was: collection_size - migrated per Rule 53 (2026-01-19) - description: | - MIGRATED from collection_size per slot_fixes.yaml (Rule 53, 2026-01-19). - Quantitative description of the personal collection using Quantity class. - Default unit is "item" for countable objects. range: integer inlined: true multivalued: true required: true examples: - value: - quantity_value: 50 - quantity_type: COLLECTION_SIZE has_or_had_unit: - unit_value: "item" has_or_had_label: - label_text: "paintings" - description: Art collection size - value: - quantity_value: 5000 - quantity_type: COLLECTION_SIZE has_or_had_unit: - unit_value: "volume" - description: Private library size is_or_was_acquired_through: - description: | - Acquisition history of the collection. - MIGRATED from has_acquisition_history per Rule 53 (2026-01-26). - Uses AcquisitionEvent with Provenance (has_or_had_description). range: AcquisitionEvent multivalued: true inlined: true @@ -99,46 +70,29 @@ classes: has_or_had_description: - description_text: "Inherited family collection since 1654" - description_text: "Selective purchases 1980-2020" - description: Multi-generational art collection - value: has_or_had_provenance: has_or_had_description: - description_text: "Assembled 1950-2000 through European auctions" - description: Acquired art collection - value: has_or_had_provenance: has_or_had_description: - description_text: "Field-collected during botanical expeditions" - description: Natural history collection - has_or_had_access_restriction: - range: string - required: true - examples: - - value: Private residence, No public access, Museum loans - description: Restricted access model - value: Scholars by appointment, Photography allowed - description: Research access model - value: Open Heritage Days, Guided tours - description: Limited public access model preservation_approach: range: string required: true examples: - value: Professional conservation, Climate control - description: High-standard preservation - value: Museum-standard storage, Annual checks - description: Institutional-quality care - value: Acid-free boxes, Climate monitoring - description: DIY preservation practices legacy_planning: range: string required: false examples: - value: Family succession, Museum permanent loans - description: Hybrid legacy model - value: Bequest to Metropolitan Museum - description: Full institutional gift - value: House museum, Foundation established - description: In situ preservation model has_or_had_type: equals_expression: '["hc:PersonalCollectionType"]' diff --git a/schemas/20251121/linkml/modules/classes/PersonalLibrary.yaml b/schemas/20251121/linkml/modules/classes/PersonalLibrary.yaml index e952316ec2..d2f56c6a87 100644 --- a/schemas/20251121/linkml/modules/classes/PersonalLibrary.yaml +++ b/schemas/20251121/linkml/modules/classes/PersonalLibrary.yaml @@ -36,7 +36,6 @@ classes: - has_or_had_identifier slot_usage: has_or_had_identifier: - description: Wikidata identifier for Personal Library concept has_or_had_type: equals_expression: '["hc:LibraryType", "hc:PersonalCollectionType"]' see_also: diff --git a/schemas/20251121/linkml/modules/classes/Photography.yaml b/schemas/20251121/linkml/modules/classes/Photography.yaml index cfe23fa18c..9089d82fe9 100644 --- a/schemas/20251121/linkml/modules/classes/Photography.yaml +++ b/schemas/20251121/linkml/modules/classes/Photography.yaml @@ -81,7 +81,6 @@ classes: - schema:amenityFeature - dcterms:accessRights slots: - - id - is_permitted - has_or_had_description # MIGRATED 2026-01-22: condition → poses_or_posed_condition + Condition (Rule 53) @@ -92,29 +91,15 @@ classes: - specificity_annotation - has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) slot_usage: - id: - identifier: true - required: true - range: uriorcurie is_permitted: range: boolean required: true - description: >- - Whether photography is permitted (true) or prohibited (false). - description: - range: string - description: >- - Human-readable description of the photography policy. # MIGRATED 2026-01-22: condition → poses_or_posed_condition + Condition (Rule 53) poses_or_posed_condition: range: Condition multivalued: true inlined: true inlined_as_list: true - description: >- - Conditions or restrictions on photography using structured Condition class. - Examples: No flash, Personal use only, No tripods. - MIGRATED from condition string slot per slot_fixes.yaml (Rule 53, 2026-01-22). examples: - value: - has_or_had_type: UseCondition @@ -123,27 +108,19 @@ classes: - has_or_had_type: UseCondition has_or_had_description: description_text: "Personal research use only" - description: Photography use conditions requires_declaration: range: boolean - description: >- - Whether a declaration or waiver must be signed. excludes_or_excluded: range: Material multivalued: true inlined: true - description: >- - Types of materials excluded from photography permission. - MIGRATED from excluded_materials (2026-01-26). examples: - value: has_or_had_identifier: "https://nde.nl/ontology/hc/material/fragile-manuscripts" has_or_had_label: "Fragile manuscripts" - description: Fragile materials excluded - value: has_or_had_identifier: "https://nde.nl/ontology/hc/material/copyrighted-materials" has_or_had_label: "Materials under copyright" - description: Copyright exclusion annotations: custodian_types: '["*"]' custodian_types_rationale: >- @@ -164,7 +141,6 @@ classes: - value: id: hc:photography-policy/nationaal-archief is_permitted: true - description: "Photography permitted for personal research use" poses_or_posed_condition: - has_or_had_type: UseCondition has_or_had_description: @@ -178,11 +154,9 @@ classes: requires_declaration: true temporal_extent: begin_of_the_begin: "2015-01-01" - description: Archive photography-friendly policy - value: id: hc:photography-policy/special-collections-restricted is_permitted: false - description: "Photography not permitted in special collections" poses_or_posed_condition: - has_or_had_type: UseCondition has_or_had_description: @@ -194,11 +168,9 @@ classes: - has_or_had_label: "All materials in this reading room" temporal_extent: begin_of_the_begin: "2020-01-01" - description: Restricted photography policy for fragile materials - value: id: hc:photography-policy/museum-gallery is_permitted: true - description: "Photography allowed in permanent galleries" poses_or_posed_condition: - has_or_had_type: UseCondition has_or_had_description: @@ -214,6 +186,5 @@ classes: - has_or_had_label: "Temporary exhibitions unless noted" temporal_extent: begin_of_the_begin: "2018-06-01" - description: Museum gallery photography policy # REMOVED inline slots 2026-01-16 - Rule 48 violation # Slots are imported from ../slots/ - do not define inline \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/Policy.yaml b/schemas/20251121/linkml/modules/classes/Policy.yaml index 21bb4421c2..15ae5d5468 100644 --- a/schemas/20251121/linkml/modules/classes/Policy.yaml +++ b/schemas/20251121/linkml/modules/classes/Policy.yaml @@ -85,30 +85,16 @@ classes: slot_usage: policy_id: required: false - description: Unique identifier for the policy. policy_name: required: true - description: Human-readable name for the policy. policy_description: - description: Detailed description of the policy's scope and requirements. is_or_was_effective_at: - description: 'Date when this policy became/becomes effective. - - MIGRATED from policy_effective_from (2026-01-26). - - ' range: date required: false is_or_was_expired_at: - description: 'Date when this policy expired/expires. - - MIGRATED from policy_effective_to (2026-01-26). - - ' range: date required: false note: - description: Additional notes about the policy. annotations: custodian_types: '["*"]' custodian_types_rationale: Policies apply to all heritage custodian types. diff --git a/schemas/20251121/linkml/modules/classes/PoliticalArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/PoliticalArchiveRecordSetType.yaml index f09be12797..72932b8284 100644 --- a/schemas/20251121/linkml/modules/classes/PoliticalArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/PoliticalArchiveRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/PostcustodialArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/PostcustodialArchiveRecordSetType.yaml index b82f88a708..450e49a962 100644 --- a/schemas/20251121/linkml/modules/classes/PostcustodialArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/PostcustodialArchiveRecordSetType.yaml @@ -31,7 +31,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -41,9 +40,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/PressArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/PressArchiveRecordSetType.yaml index 037897a13a..9d8f76875a 100644 --- a/schemas/20251121/linkml/modules/classes/PressArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/PressArchiveRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Price.yaml b/schemas/20251121/linkml/modules/classes/Price.yaml index 88e586003d..26e4448fbd 100644 --- a/schemas/20251121/linkml/modules/classes/Price.yaml +++ b/schemas/20251121/linkml/modules/classes/Price.yaml @@ -27,11 +27,9 @@ classes: has_or_had_value: description: "The price value. Can be:\n- Numeric (e.g., \"15.00\")\n- Symbolic (e.g., \"\u20AC\u20AC\u20AC\")\n- Descriptive (e.g., \"free\", \"donation suggested\")\n" has_or_had_currency: - description: The currency for this price (e.g., EUR, USD, GBP). range: Currency inlined: true has_or_had_type: - description: Price range classification (budget, moderate, premium, luxury). range: PriceRange inlined: true exact_mappings: @@ -43,19 +41,16 @@ classes: has_or_had_type: has_or_had_name: Luxury has_or_had_description: "Over \u20AC60 per person" - description: Luxury restaurant price range - value: has_or_had_value: "\u20AC" has_or_had_type: has_or_had_name: Budget has_or_had_description: "Under \u20AC15 per person" - description: Budget cafe price range - value: has_or_had_value: '15.00' has_or_had_currency: has_or_had_code: EUR has_or_had_symbol: "\u20AC" - description: Exact admission price annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/PriceRange.yaml b/schemas/20251121/linkml/modules/classes/PriceRange.yaml index cd2c4d6716..0b388435e9 100644 --- a/schemas/20251121/linkml/modules/classes/PriceRange.yaml +++ b/schemas/20251121/linkml/modules/classes/PriceRange.yaml @@ -33,12 +33,9 @@ classes: - has_or_had_symbol slot_usage: has_or_had_name: - description: Name of this price range (e.g., "Budget", "Luxury"). required: true has_or_had_symbol: - description: "Symbolic representation (e.g., \"\u20AC\", \"\u20AC\u20AC\u20AC\u20AC\")." has_or_had_description: - description: Description of what this price range means. exact_mappings: - skos:Concept close_mappings: @@ -48,22 +45,18 @@ classes: has_or_had_name: Budget has_or_had_symbol: "\u20AC" has_or_had_description: "Under \u20AC15 per person" - description: Budget price range - value: has_or_had_name: Moderate has_or_had_symbol: "\u20AC\u20AC" has_or_had_description: "\u20AC15-30 per person" - description: Moderate price range - value: has_or_had_name: Upscale has_or_had_symbol: "\u20AC\u20AC\u20AC" has_or_had_description: "\u20AC30-60 per person" - description: Upscale price range - value: has_or_had_name: Luxury has_or_had_symbol: "\u20AC\u20AC\u20AC\u20AC" has_or_had_description: "Over \u20AC60 per person" - description: Luxury price range annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/PrimaryDigitalPresenceAssertion.yaml b/schemas/20251121/linkml/modules/classes/PrimaryDigitalPresenceAssertion.yaml index 72081cce7d..291d377054 100644 --- a/schemas/20251121/linkml/modules/classes/PrimaryDigitalPresenceAssertion.yaml +++ b/schemas/20251121/linkml/modules/classes/PrimaryDigitalPresenceAssertion.yaml @@ -65,7 +65,6 @@ classes: - has_or_had_identifier - has_or_had_rationale - has_or_had_value - - has_or_had_based_on_observation - is_or_was_generated_by - asserts_or_asserted - specificity_annotation @@ -91,51 +90,29 @@ classes: range: DigitalPresence required: false inlined: true - description: 'The digital presence classification being asserted. - MIGRATED from digital_presence_type per slot_fixes.yaml (Rule 53, 2026-01-25). - Uses DigitalPresence wrapper with typed classification (WebsitePresence, SocialMediaPresence, etc.). - ' examples: - value: has_or_had_type: has_or_had_label: Social Media Profile has_or_had_identifier: https://nde.nl/ontology/hc/type/social-media - description: Characterizing a social media profile - value: has_or_had_type: has_or_had_label: Website has_or_had_identifier: https://nde.nl/ontology/hc/type/website - description: Characterizing main website has_or_had_value: - description: 'The boolean value of the assertion (true/false). - MIGRATED from has_assertion_value per Rule 53. - Uses Value class with value_content="true"/"false" and value_type="boolean". - ' range: string required: true inlined: true examples: - value: - value_content: 'true' - value_type: boolean - description: Facebook IS the primary digital presence - value: - value_content: 'false' - value_type: boolean - description: Instagram is secondary to main website has_or_had_rationale: - description: 'Rationale for this assertion. - MIGRATED from has_assertion_rationale per Rule 53. - Uses Rationale class. - ' range: Rationale required: false inlined: true examples: - value: has_or_had_rationale: No formal website exists for this heritage society. Facebook page is the only discoverable online presence. - decision_type: INFERENCE - description: Rationale based on absence of website temporal_extent: range: TimeSpan required: false @@ -144,46 +121,28 @@ classes: - value: begin_of_the_begin: '2015-03-01T00:00:00Z' end_of_the_begin: '2015-03-01T00:00:00Z' - description: Primary status began precisely on March 1, 2015 - has_or_had_based_on_observation: - range: WebObservation - multivalued: true - inlined_as_list: true - required: false - examples: - - value: - - observation_id: '.../observation/hvn-website-check-2025-11' - - observation_id: '.../observation/hvn-facebook-scrape-2025-11' is_or_was_asserted_on: - description: 'Date/time when the assertion was made. - MIGRATED from has_assertion_date per Rule 53. - Uses TimeSpan (start_of_the_start). - ' range: TimeSpan required: false inlined: true examples: - value: start_of_the_start: '2025-11-29T14:30:00Z' - description: Assertion made on specific date is_or_was_asserted_by: range: Asserter inlined: true required: false - description: The agent responsible for making this assertion. MIGRATED from asserted_by (Rule 53) - changed from string to Asserter class for richer provenance tracking. examples: - value: has_or_had_identifier: https://nde.nl/ontology/hc/asserter/primary-presence-analyzer has_or_had_label: primary-presence-analyzer asserter_type: AUTOMATED_SYSTEM asserter_version: '1.0' - description: Automated system asserter - value: has_or_had_identifier: https://nde.nl/ontology/hc/asserter/jane-doe has_or_had_label: Jane Doe asserter_type: HUMAN_ANALYST asserter_contact: jane.doe@heritage-org.nl - description: Human analyst asserter is_or_was_generated_by: range: GenerationEvent required: false @@ -194,12 +153,10 @@ classes: has_or_had_score: has_or_had_score: 0.95 has_or_had_method: evidence_analysis - description: High confidence - no website exists, Facebook only presence - value: has_or_had_score: has_or_had_score: 0.65 has_or_had_method: comparative_analysis - description: Medium confidence - both presences active, unclear primary is_or_was_superseded_by: range: uriorcurie required: false diff --git a/schemas/20251121/linkml/modules/classes/PrintRoom.yaml b/schemas/20251121/linkml/modules/classes/PrintRoom.yaml index 5a1b686c38..1a46f2af27 100644 --- a/schemas/20251121/linkml/modules/classes/PrintRoom.yaml +++ b/schemas/20251121/linkml/modules/classes/PrintRoom.yaml @@ -29,7 +29,6 @@ classes: - has_or_had_identifier slot_usage: has_or_had_identifier: - description: Wikidata identifier for Print Room concept has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' annotations: diff --git a/schemas/20251121/linkml/modules/classes/Program.yaml b/schemas/20251121/linkml/modules/classes/Program.yaml index 9d30525c9b..3839e478af 100644 --- a/schemas/20251121/linkml/modules/classes/Program.yaml +++ b/schemas/20251121/linkml/modules/classes/Program.yaml @@ -26,24 +26,9 @@ classes: slot_usage: has_or_had_type: range: uriorcurie - description: Type of program attributes: - program_name: - range: string - required: true - description: Name of the program - program_description: - range: string - description: Description of the program - start_date: - range: date - description: Program start date - end_date: - range: date - description: Program end date participant_count: range: integer - description: Number of participants close_mappings: - schema:Event annotations: @@ -51,8 +36,4 @@ classes: specificity_rationale: Moderately specific - programs common in heritage institutions. custodian_types: "['*']" examples: - - value: - program_name: Heritage Volunteer Program - program_description: Volunteer opportunities in collection care - start_date: '2025-01-01' - description: Volunteer program at museum + - value: \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/Project.yaml b/schemas/20251121/linkml/modules/classes/Project.yaml index bb01706287..12c4791730 100644 --- a/schemas/20251121/linkml/modules/classes/Project.yaml +++ b/schemas/20251121/linkml/modules/classes/Project.yaml @@ -92,7 +92,6 @@ classes: slots: # MIGRATED 2026-01-24: deliverable → has_or_had_objective + Deliverable (Rule 53) - has_or_had_objective - - documentation_url # MIGRATED 2026-01-26: start_date/end_date → temporal_extent - temporal_extent - has_or_had_budget # was: funding_amount - migrated per Rule 53 (2026-01-26) @@ -126,11 +125,8 @@ classes: pattern: ^https://nde\.nl/ontology/hc/project/[a-z0-9-]+/[a-z0-9-]+$|^https?://.*$ examples: - value: https://nde.nl/ontology/hc/project/nde/versnellen-2024 - description: Primary project URI (was project_id) - value: http://www.wikidata.org/entity/Q123456789 - description: Wikidata entity for project (was project_identifier) - value: https://doi.org/10.5281/zenodo.12345678 - description: DOI for project deliverables (was project_identifier) has_or_had_label: # was: project_name (required, primary) + project_short_name (optional, abbreviation) # Migration note: First value should be the full project name. @@ -141,13 +137,9 @@ classes: inlined_as_list: true examples: - value: Versnellen 2024 - description: Full project name (was project_name) - value: V2024 - description: Short name/acronym (was project_short_name) - value: Digital Collections Integration Project - description: Descriptive project name - value: DCIP - description: Acronym for alternative name has_or_had_description: # was: project_description - migrated 2026-01-16 per Rule 53 required: true @@ -163,43 +155,22 @@ classes: range: ProjectStatusEnum examples: - value: IN_PROGRESS - description: Project actively underway - value: COMPLETED - description: Project finished successfully has_or_had_url: # was: project_url - migrated 2026-01-16 per Rule 53 range: uri examples: - value: https://netwerkdigitaalerfgoed.nl/versnellen-2024/ - description: NDE Versnellen project page temporal_extent: range: TimeSpan inlined: true - description: >- - Time period for the project. - Replaces start_date/end_date with generic temporal_extent. - Use begin_of_the_begin for start, end_of_the_end for end. examples: - value: begin_of_the_begin: '2024-01-01' end_of_the_end: '2024-12-31' - description: Project duration 2024 - funding_source: - range: string - multivalued: true - inlined_as_list: true - examples: - - value: Ministry of OCW (Netherlands) - description: Dutch ministry funding - value: Horizon Europe - description: EU framework program funding - value: Member contributions - description: Self-funded by participating institutions has_or_had_budget: # was: funding_amount - migrated per Rule 53 (2026-01-26) - description: | - Total funding amount for the project. - MIGRATED from funding_amount per Rule 53. - Uses Budget class for structured financial data (amount, currency, period). range: Budget inlined: true required: false @@ -210,14 +181,12 @@ classes: has_or_had_currency: currency_code: "EUR" currency_symbol: "€" - description: 2.5 million euros - value: has_or_had_label: "Grant Amount" total_amount: 500000.0 has_or_had_currency: currency_code: "USD" currency_symbol: "$" - description: Half million US dollars objective: range: string multivalued: true @@ -228,10 +197,6 @@ classes: - value: Develop open source tools for digital preservation # MIGRATED 2026-01-24: deliverable → has_or_had_objective + Deliverable (Rule 53) has_or_had_objective: - description: | - MIGRATED from deliverable per slot_fixes.yaml (Rule 53, 2026-01-24). - Project deliverables as structured Deliverable objects. - Each deliverable captures type, title, URL, and completion status. range: Deliverable multivalued: true inlined: true @@ -239,53 +204,30 @@ classes: required: false examples: - value: - deliverable_type: "report" - deliverable_title: "Technical implementation guide" - completion_status: "completed" - description: Published technical guide (migrated from deliverable) - value: - deliverable_type: "dataset" - deliverable_title: "Aggregated dataset of 5M heritage objects" deliverable_url: "https://doi.org/10.1234/dataset" - completion_status: "completed" - description: Dataset deliverable with DOI - value: - deliverable_type: "software" - deliverable_title: "Open source metadata normalization tool" deliverable_url: "https://github.com/nde-project/tool" - completion_status: "completed" - description: Software tool deliverable organizing_body: required: true range: uriorcurie examples: - value: https://nde.nl/ontology/hc/encompassing-body/network/nde - description: NDE (Netwerk Digitaal Erfgoed) - value: https://nde.nl/ontology/hc/encompassing-body/cooperative/oclc - description: OCLC cooperative participating_custodian: range: uriorcurie multivalued: true inlined_as_list: true examples: - value: https://nde.nl/ontology/hc/nl-nh-ams-m-am - description: Amsterdam Museum - value: https://nde.nl/ontology/hc/nl-zh-haa-l-kb - description: Koninklijke Bibliotheek related_project: range: uriorcurie multivalued: true inlined_as_list: true examples: - value: https://nde.nl/ontology/hc/project/nde/versnellen-2023 - description: Previous year's acceleration program - documentation_url: - range: uri - examples: - - value: https://zenodo.org/record/12345678 - description: Final report on Zenodo - value: https://github.com/nde-project/versnellen-2024 - description: GitHub repository with deliverables keyword: range: string multivalued: true @@ -298,22 +240,13 @@ classes: - value: sustainable infrastructure # project_identifier slot_usage removed - migrated to has_or_had_identifier (2026-01-16) has_or_had_participated_in: # was: funding_call - migrated per Rule 53 (2026-01-26) - description: | - Funding call(s) that this project participated in. - MIGRATED from funding_call per Rule 53. range: FundingCall multivalued: true # Allow multiple calls if applicable (e.g. co-funded) required: false examples: - value: https://nde.nl/ontology/hc/call/ec/horizon-cl2-2025-heritage-01 - description: Horizon Europe CL2 heritage call - value: https://nde.nl/ontology/hc/call/nlhf/medium-grants-2025 - description: National Lottery Heritage Fund call receives_or_received: # was: funding_source - migrated per Rule 53 (2026-01-26) - description: | - Funding source(s) for the project. - MIGRATED from funding_source per Rule 53. - Uses frapo:isFundedBy via receives_or_received slot and FundingSource class. range: FundingSource multivalued: true inlined: true @@ -321,13 +254,10 @@ classes: examples: - value: has_or_had_label: "Ministry of OCW (Netherlands)" - description: Dutch ministry funding - value: has_or_had_label: "Horizon Europe" - description: EU framework program funding - value: has_or_had_label: "Member contributions" - description: Self-funded by participating institutions comments: - Project links EncompassingBody (organizer) to Custodian (participants) - 'Bidirectional navigation: organizing_body ↔ projects, participating_custodians ↔ participated_in_projects' @@ -357,9 +287,6 @@ classes: temporal_extent: begin_of_the_begin: '2024-01-15' end_of_the_end: '2024-12-31' - funding_source: - - Ministry of OCW (Netherlands) - - NDE member contributions has_or_had_budget: # was: funding_amount has_or_had_label: "Versnellen 2024 Budget" total_amount: 1200000.0 @@ -374,17 +301,9 @@ classes: # MIGRATED 2026-01-24: deliverable → has_or_had_objective + Deliverable (Rule 53) has_or_had_objective: - deliverable_title: "Individual implementation roadmaps for each participant" - deliverable_type: "report" - completion_status: "completed" - deliverable_title: "Technical documentation and best practices guide" - deliverable_type: "report" - completion_status: "completed" - deliverable_title: "Training curriculum and workshop materials" - deliverable_type: "training_materials" - completion_status: "completed" - deliverable_title: "Case study reports from participating institutions" - deliverable_type: "report" - completion_status: "completed" organizing_body: https://nde.nl/ontology/hc/encompassing-body/network/nde participating_custodian: - https://nde.nl/ontology/hc/nl-nh-ams-m-am @@ -394,7 +313,6 @@ classes: related_project: - https://nde.nl/ontology/hc/project/nde/versnellen-2023 has_or_had_contact_point: - email: versnellen@netwerkdigitaalerfgoed.nl keyword: - digital heritage - infrastructure @@ -402,7 +320,6 @@ classes: - IIIF - metadata - digital preservation - description: NDE Versnellen 2024 - Dutch digital heritage acceleration program - value: # Migrated to RiC-O slots 2026-01-16 has_or_had_identifier: @@ -418,8 +335,6 @@ classes: temporal_extent: begin_of_the_begin: '2023-06-01' end_of_the_end: '2025-05-31' - funding_source: - - Horizon Europe (European Commission) has_or_had_budget: # was: funding_amount has_or_had_label: "Common Culture Budget" total_amount: 4200000.0 @@ -440,5 +355,4 @@ classes: - aggregation - metadata - Europeana Data Model - - cultural heritage discovery - description: Europeana cross-border heritage aggregation project + - cultural heritage discovery \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/Provenance.yaml b/schemas/20251121/linkml/modules/classes/Provenance.yaml index 673fd27b33..7505f9e972 100644 --- a/schemas/20251121/linkml/modules/classes/Provenance.yaml +++ b/schemas/20251121/linkml/modules/classes/Provenance.yaml @@ -79,28 +79,21 @@ classes: is_or_was_retrieved_by: range: string inlined: true - description: Agent that performed the extraction (e.g. "claude-opus-4.5"). MIGRATED from extraction_agent (2026-01-26). is_or_was_retrieved_through: range: RetrievalMethod inlined: true - description: Method used for extraction (e.g. "exa_crawling_exa"). MIGRATED from extraction_method (2026-01-26). temporal_extent: - description: Time period of the provenance activity (extraction time). MIGRATED from extraction_timestamp per Rule 53 (2026-01-26). has_or_had_identifier: range: uriorcurie - description: Request ID or process identifier. MIGRATED from request_id (2026-01-26). has_or_had_quantity: range: integer inlined: true - description: Cost of the extraction. MIGRATED from cost_usd (2026-01-26). is_or_was_based_on: range: uriorcurie multivalued: true - description: Source file or input data. MIGRATED from source_file/extraction_source (2026-01-26). has_or_had_output: range: LLMResponse inlined: true - description: Raw output from LLM/Tool. MIGRATED from llm_response (2026-01-26). annotations: custodian_types: '["*"]' custodian_types_rationale: Provenance tracking is universal across all custodian types. @@ -109,6 +102,4 @@ classes: specificity_rationale: Very low specificity - provenance metadata applies universally. examples: - value: "Provenance:\n extraction_method: \"xpath_extraction\"\n source_entity: \"https://example.org/webpage/12345\"\n is_or_was_generated_by:\n has_or_had_score:\n has_or_had_score: 0.95\n has_or_had_method: \"xpath_extraction\"\n has_or_had_description: \"Exact match at expected XPath\"\n note: \"Extracted from archived HTML using XPath\"\n" - description: Provenance for an XPath-extracted value from an archived webpage. Uses new structured ConfidenceScore via GenerationEvent. - - value: "Provenance:\n is_or_was_retrieved_by:\n has_or_had_label: \"claude-opus-4.5\"\n is_or_was_retrieved_through:\n has_or_had_label: \"exa_crawling_exa\"\n is_or_was_based_on:\n - \"https://www.linkedin.com/in/...\"\n has_or_had_identifier: \"exa_12345678\"\n has_or_had_quantity:\n quantity_value: 0.001\n has_or_had_unit:\n has_or_had_label: \"USD\"\n temporal_extent:\n begin_of_the_begin: \"2025-12-12T22:00:00Z\"\n" - description: Full extraction provenance example. + - value: "Provenance:\n is_or_was_retrieved_by:\n has_or_had_label: \"claude-opus-4.5\"\n is_or_was_retrieved_through:\n has_or_had_label: \"exa_crawling_exa\"\n is_or_was_based_on:\n - \"https://www.linkedin.com/in/...\"\n has_or_had_identifier: \"exa_12345678\"\n has_or_had_quantity:\n quantity_value: 0.001\n has_or_had_unit:\n has_or_had_label: \"USD\"\n temporal_extent:\n begin_of_the_begin: \"2025-12-12T22:00:00Z\"\n" \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/ProvenanceBlock.yaml b/schemas/20251121/linkml/modules/classes/ProvenanceBlock.yaml index 09559a6f2f..ce7d6a3a58 100644 --- a/schemas/20251121/linkml/modules/classes/ProvenanceBlock.yaml +++ b/schemas/20251121/linkml/modules/classes/ProvenanceBlock.yaml @@ -45,108 +45,29 @@ classes: has_or_had_score: has_or_had_score: 0.95 has_or_had_method: automated_extraction - description: High confidence data extraction - value: has_or_had_score: has_or_had_score: 0.65 has_or_had_method: manual_review - description: Medium confidence manual review comments: - "MIGRATED 2026-01-19: confidence_score \u2192 is_or_was_generated_by + GenerationEvent + ConfidenceScore (Rule 53)" attributes: - schema_version: - range: string - description: Version of the provenance schema - generated_at: - range: datetime - description: When provenance was generated - sources: - range: ProvenanceSources - description: Nested sources by type - data_tier_summary: - range: DataTierSummary - description: Summary of data tiers present - data_source: - range: string - description: Data source type (CSV_REGISTRY, API_SCRAPING, etc.) - data_sources: - range: string - multivalued: true - inlined_as_list: true - description: List of data sources (e.g., NDE registry, Google Maps, website) - data_tier: - range: DataTierEnum - description: Quality tier of the data - extraction_date: - range: string - description: When data was extracted (ISO datetime string, may lack timezone) - extraction_method: - range: string - description: Method used to extract the data - enrichment_date: - range: string - description: When enrichment was performed (ISO date string) - enrichment_method: - range: string - description: Method used to enrich the data (e.g., website_research) note: range: string multivalued: true inlined_as_list: true - description: Provenance notes (can be single string or list) source_url: range: uri - description: URL of source data - fix_script: - range: string - description: Script used to fix this entry - last_manual_fix: - range: datetime - description: When last manual fix was applied source_type: range: string - description: Type of source (e.g., wikidata_p856) - discovery_timestamp: - range: datetime - description: When source was discovered - wikidata_id: - range: string - description: Wikidata entity ID - wikidata_property: - range: string - description: Wikidata property ID (e.g., P856) - archive_location: - range: string - description: Location of archived copy (e.g., web/1186/hartebrug.nl) - claim_extracted_from: - range: string - description: Source path from which claim was extracted (e.g., original_entry.reference) - verified_via_web_archive: - range: boolean - description: Whether claim was verified via web archive - notes: - range: string - description: Provenance notes (can be single string or list of strings) any_of: - range: string - range: string multivalued: true - enrichment_provenance: - range: EnrichmentProvenance - description: Nested provenance for individual enrichment sources - provenance_schema_version: - range: string - description: Version of the provenance schema format (e.g., "2.0") standards_compliance: range: string multivalued: true inlined_as_list: true - description: Standards this provenance record complies with (e.g., W3C PROV-O, W3C SRI) - corrections: - range: string - multivalued: true - inlined_as_list: true - description: List of corrections made to the entry with correction_date, correction_type, description, and corrected_by fields annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ProvenanceEvent.yaml b/schemas/20251121/linkml/modules/classes/ProvenanceEvent.yaml index e1c0e286f3..3a953252af 100644 --- a/schemas/20251121/linkml/modules/classes/ProvenanceEvent.yaml +++ b/schemas/20251121/linkml/modules/classes/ProvenanceEvent.yaml @@ -93,13 +93,11 @@ classes: - has_or_had_score - changes_or_changed_ownership_to - has_or_had_description - - is_or_was_located_at slot_usage: has_or_had_identifier: identifier: true required: true range: uriorcurie - description: Unique identifier for this provenance event. MIGRATED from event_id (2026-01-26). examples: - value: https://nde.nl/ontology/hc/provenance/mauritshuis-670-001 - value: https://nde.nl/ontology/hc/provenance/rijksmuseum-sk-c-5-005 @@ -112,7 +110,6 @@ classes: has_or_had_type: required: true range: ProvenanceEventTypeEnum - description: Type of provenance event (ACQUISITION, TRANSFER, etc.). MIGRATED from event_type (2026-01-26). examples: - value: BEQUEST - value: AUCTION @@ -121,118 +118,70 @@ classes: required: false range: TimeSpan inlined: true - description: Temporal extent of the provenance event. MIGRATED from event_timespan, event_date, event_date_text (2026-01-26). examples: - value: begin_of_the_begin: '1664-01-01' end_of_the_end: '1674-12-31' has_or_had_label: c. 1665-74 - description: Owned c. 1665-74 (approximately) - value: begin_of_the_begin: '1696-05-16' end_of_the_end: '1696-05-16' has_or_had_label: May 16, 1696 - description: Specific date event changes_or_changed_ownership_from: - description: 'Previous owner from whom ownership/title was transferred. - - CIDOC-CRM: P23_transferred_title_from - "identifies the E39 Actor who gave up legal ownership." - - Null for CREATION events. - - ' required: false range: uriorcurie inlined: false examples: - value: https://nde.nl/ontology/hc/person/des-tombe changes_or_changed_ownership_to: - description: 'New owner to whom ownership/title was transferred. - - CIDOC-CRM: P22_transferred_title_to - "identifies the E39 Actor who acquired legal ownership." - - ' required: false range: uriorcurie inlined: false examples: - value: https://nde.nl/ontology/hc/custodian/nl/mauritshuis has_or_had_description: - description: 'Owner (source or destination) described as text when no structured entity exists. - - MIGRATED from to_owner_text and from_owner_text per slot_fixes.yaml (Rule 53, 2026-01-15). - - - Use Description class with description_type to distinguish: - - - "from_owner": Previous owner (source of transfer) - - - "to_owner": New owner (destination of transfer) - - ' required: false multivalued: true examples: - value: description_text: A.A. des Tombe, The Hague (1881-1903) description_type: from_owner - description: Previous owner as text with dates and location - value: description_text: Pieter van Ruijven, Delft (c. 1665-1674) description_type: from_owner - description: Historical owner with approximate dates - value: description_text: Unknown German collector description_type: from_owner - description: Anonymous previous owner - value: description_text: Mauritshuis, The Hague description_type: to_owner - description: Transfer destination as text (when structured entity not available) - value: description_text: Maria de Knuijt, widow of van Ruijven description_type: to_owner - description: Historical owner as text - is_or_was_located_at: - description: 'Location where the provenance event (ownership/custody transfer) occurred. - - Replaces bespoke transfer_location, transfer_location_text, event_location slots. - - ' - required: false range: CustodianPlace - multivalued: true inlined: true - examples: - value: place_name: Amsterdam country: NL - description: Event at auction in Amsterdam - value: place_name: Dissius sale, Amsterdam - description: Specific sale event location - value: place_name: Christie's, London country: GB - description: Auction house location price: required: false range: decimal examples: - value: 30 - description: 30 guilders (1881 purchase) - value: 30000000 - description: Modern equivalent estimate price_currency: required: false range: string examples: - value: NLG - description: Dutch guilders - value: EUR - value: USD - value: RM - description: Reichsmarks (Nazi era) price_text: required: false range: string @@ -247,11 +196,6 @@ classes: - value: '36' - value: Lot 127A is_or_was_associated_with: - description: 'Art dealer(s) involved in this provenance event (for DEALER_SALE events). - - Range narrowed to ArtDealer for dealer-specific provenance. - - ' required: false range: ArtDealer inlined: true @@ -260,17 +204,10 @@ classes: - value: has_or_had_name: has_or_had_label: Paul Cassirer - description: German art dealer - value: has_or_had_name: has_or_had_label: Goupil & Cie - description: French art dealing firm has_or_had_reference: - description: 'Bibliographic or archival reference documenting this event. - - MIGRATED from documentation per slot_fixes.yaml (Rule 53, 2026-01-26). - - ' required: false range: Reference inlined: true @@ -278,16 +215,9 @@ classes: examples: - value: has_or_had_label: Dissius sale catalogue, Amsterdam, May 16, 1696, lot 36 - description: Sale catalogue reference - value: has_or_had_label: Hofstede de Groot, vol. 1, no. 44 - description: "Catalogue raisonn\xE9 reference" has_or_had_url: - description: 'URL to online documentation or provenance record. - - MIGRATED from documentation_url per slot_fixes.yaml (Rule 53, 2026-01-26). - - ' required: false range: uri inlined: true @@ -296,19 +226,10 @@ classes: - value: url_value: https://rkd.nl/explore/provenance/12345 url_type: provenance_record - description: RKD provenance record - value: url_value: https://www.getty.edu/research/provenance/sales url_type: sales_database - description: Getty Sales Catalogues has_or_had_level: - description: 'Certainty/confidence level for this provenance event. - - MIGRATED from certainty_level + certainty_note per slot_fixes.yaml (Rule 53/56, 2026-01-18). - - Uses CertaintyLevel class with level_value and has_or_had_note. - - ' required: false range: CertaintyLevel inlined: true @@ -318,29 +239,17 @@ classes: has_or_had_note: - note_type: certainty note_content: Confirmed by sale catalogue and receipt - description: Certain with documentary evidence - value: level_value: PROBABLE has_or_had_note: - note_type: certainty note_content: Inferred from stylistic analysis and collection history - description: Probable based on circumstantial evidence - value: level_value: UNCERTAIN has_or_had_note: - note_type: certainty note_content: Provenance gap 1933-1945 requires further research - description: Uncertain requiring further research has_or_had_provenance: - description: 'Provenance information for this event in Getty Provenance Index format. - - MIGRATED from provenance_text per slot_fixes.yaml (Rule 53/56, 2026-01-18). - - Uses Provenance class with has_or_had_description for text content. - - Use description_type: "provenance_text" to indicate Getty format. - - ' required: false range: Provenance inlined: true @@ -349,17 +258,14 @@ classes: has_or_had_description: - description_text: A.A. des Tombe, The Hague (purchased 1881, d. 1903) description_type: provenance_text - description: Getty Provenance Index format entry - value: has_or_had_description: - description_text: Dissius sale, Amsterdam, May 16, 1696, lot 36 description_type: provenance_text - description: Auction sale provenance entry has_or_had_note: required: false range: string multivalued: true - description: Notes about the provenance event, including bibliographic footnotes. MIGRATED from event_note and footnote (2026-01-26). examples: - value: des Tombe purchased at auction for 30 guilders, a bargain price - value: The painting's attribution to Vermeer was not recognized until later @@ -389,7 +295,6 @@ classes: has_or_had_description: - description_text: Johannes Vermeer, Delft description_type: to_owner - is_or_was_located_at: - place_name: Delft country: NL has_or_had_level: @@ -398,7 +303,6 @@ classes: has_or_had_description: - description_text: Created by Johannes Vermeer, Delft, c. 1665 description_type: provenance_text - description: Creation of Girl with a Pearl Earring - value: has_or_had_identifier: https://nde.nl/ontology/hc/provenance/mauritshuis-670-002 object_ref: https://nde.nl/ontology/hc/object/mauritshuis-girl-pearl-earring @@ -423,7 +327,6 @@ classes: has_or_had_description: - description_text: Possibly Pieter van Ruijven, Delft (c. 1665-1674) description_type: provenance_text - description: Possible purchase by van Ruijven - value: has_or_had_identifier: https://nde.nl/ontology/hc/provenance/mauritshuis-670-005 object_ref: https://nde.nl/ontology/hc/object/mauritshuis-girl-pearl-earring @@ -437,7 +340,6 @@ classes: description_type: from_owner - description_text: Unknown buyer description_type: to_owner - is_or_was_located_at: - place_name: Amsterdam country: NL publishes_or_published: @@ -454,7 +356,6 @@ classes: has_or_had_description: - description_text: Dissius sale, Amsterdam, May 16, 1696, lot 36 description_type: provenance_text - description: 1696 Dissius auction sale - value: has_or_had_identifier: https://nde.nl/ontology/hc/provenance/mauritshuis-670-008 object_ref: https://nde.nl/ontology/hc/object/mauritshuis-girl-pearl-earring @@ -480,7 +381,6 @@ classes: has_or_had_note: - Des Tombe purchased at auction for a bargain price - Painting was in poor condition and not yet attributed to Vermeer - description: 1881 purchase by des Tombe - value: has_or_had_identifier: https://nde.nl/ontology/hc/provenance/mauritshuis-670-009 object_ref: https://nde.nl/ontology/hc/object/mauritshuis-girl-pearl-earring @@ -504,7 +404,6 @@ classes: has_or_had_description: - description_text: Bequeathed to Mauritshuis, 1903 description_type: provenance_text - description: 1903 bequest to Mauritshuis - value: has_or_had_identifier: https://nde.nl/ontology/hc/provenance/example-nazi-confiscation object_ref: https://nde.nl/ontology/hc/object/example-painting @@ -528,7 +427,6 @@ classes: has_or_had_note: - Provenance gap requires further research - Listed on Art Loss Register - description: Example Nazi-era confiscation (illustrative) annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ProvincialArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/ProvincialArchiveRecordSetType.yaml index 5985ad8884..2729200021 100644 --- a/schemas/20251121/linkml/modules/classes/ProvincialArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/ProvincialArchiveRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ProvincialHistoricalArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/ProvincialHistoricalArchiveRecordSetType.yaml index 8b5924be2b..55bcfed89a 100644 --- a/schemas/20251121/linkml/modules/classes/ProvincialHistoricalArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/ProvincialHistoricalArchiveRecordSetType.yaml @@ -31,7 +31,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -41,9 +40,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/PublicArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/PublicArchiveRecordSetType.yaml index 5dae44b271..b37846da6e 100644 --- a/schemas/20251121/linkml/modules/classes/PublicArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/PublicArchiveRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/PublicArchivesInFrance.yaml b/schemas/20251121/linkml/modules/classes/PublicArchivesInFrance.yaml index 875e06985f..02e9417f84 100644 --- a/schemas/20251121/linkml/modules/classes/PublicArchivesInFrance.yaml +++ b/schemas/20251121/linkml/modules/classes/PublicArchivesInFrance.yaml @@ -51,7 +51,6 @@ classes: annotations: skos:prefLabel: Public Archives in France skos:altLabel: "\xD6ffentliches Archiv, archives publiques en France" - geographic_restriction: France only legal_framework: French archival law specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/PublicArchivesInFranceRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/PublicArchivesInFranceRecordSetType.yaml index 6402a46261..44be735fed 100644 --- a/schemas/20251121/linkml/modules/classes/PublicArchivesInFranceRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/PublicArchivesInFranceRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/PublicationEvent.yaml b/schemas/20251121/linkml/modules/classes/PublicationEvent.yaml index bb6e4362a8..24feb51148 100644 --- a/schemas/20251121/linkml/modules/classes/PublicationEvent.yaml +++ b/schemas/20251121/linkml/modules/classes/PublicationEvent.yaml @@ -89,18 +89,10 @@ classes: - has_or_had_score slot_usage: temporal_extent: - description: 'When the publication occurred. For precise timestamps, set all four - - TimeSpan boundaries to the same instant. For uncertain dates, use - - fuzzy boundaries. - - ' range: TimeSpan inlined: true required: true has_or_had_label: - description: Optional label for the publication event (e.g., "First Edition", "Reprint 2020") required: false comments: - 'Precise date: Set begin_of_the_begin == end_of_the_begin == begin_of_the_end == end_of_the_end' @@ -112,7 +104,6 @@ classes: end_of_the_begin: '2025-07-30T18:05:15Z' begin_of_the_end: '2025-07-30T18:05:15Z' end_of_the_end: '2025-07-30T18:05:15Z' - description: Precise social media post timestamp - value: temporal_extent: begin_of_the_begin: '1892-01-01T00:00:00Z' @@ -120,7 +111,6 @@ classes: begin_of_the_end: '1892-06-30T00:00:00Z' end_of_the_end: '1892-12-31T00:00:00Z' has_or_had_label: First Edition - description: Historical publication with uncertain date (sometime in 1892) annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Publisher.yaml b/schemas/20251121/linkml/modules/classes/Publisher.yaml index 1f8ba89243..3796662d8c 100644 --- a/schemas/20251121/linkml/modules/classes/Publisher.yaml +++ b/schemas/20251121/linkml/modules/classes/Publisher.yaml @@ -96,39 +96,14 @@ classes: has_or_had_label: required: true range: string - description: 'Name of the publisher. - - Required field - every publisher must have a name. - - ' examples: - value: Rijksmuseum - description: Dutch national museum publisher - value: Yale University Press - description: Academic press - value: Thames & Hudson - description: Commercial art publisher - value: The British Museum Press - description: Institutional publisher has_or_had_type: required: false range: string - description: 'Type classification of the publisher. - - - Common values: - - - institutional: Museums, archives, libraries - - - commercial: Trade publishers - - - academic: University presses - - - self-published: Individual publishing - - - government: Government publishing offices - - ' examples: - value: institutional - value: commercial @@ -137,11 +112,6 @@ classes: has_or_had_location: required: false range: string - description: 'Location/city of the publisher. - - Typically the city where the publisher is headquartered. - - ' examples: - value: Amsterdam - value: New York @@ -151,20 +121,12 @@ classes: required: false range: uriorcurie multivalued: true - description: 'Identifiers for the publisher (ISNI, Wikidata Q-number, etc.). - - ' examples: - value: Q190804 - description: Wikidata identifier for Rijksmuseum - value: 0000000121671840 - description: ISNI identifier has_or_had_url: required: false range: uri - description: 'Official website URL of the publisher. - - ' examples: - value: https://www.rijksmuseum.nl - value: https://yalebooks.yale.edu @@ -174,28 +136,23 @@ classes: has_or_had_type: institutional has_or_had_location: Amsterdam has_or_had_url: https://www.rijksmuseum.nl - description: Museum as institutional publisher - value: has_or_had_label: Yale University Press has_or_had_type: academic has_or_had_location: New Haven has_or_had_url: https://yalebooks.yale.edu - description: Academic press publisher - value: has_or_had_label: Thames & Hudson has_or_had_type: commercial has_or_had_location: London - description: Commercial art book publisher - value: has_or_had_label: The British Museum Press has_or_had_type: institutional has_or_had_location: London - description: Museum press as institutional publisher - value: has_or_had_label: Hannibal Publishing has_or_had_type: commercial has_or_had_location: Veurne - description: Belgian art book publisher annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Quantity.yaml b/schemas/20251121/linkml/modules/classes/Quantity.yaml index b1a2cb315c..49e58c9509 100644 --- a/schemas/20251121/linkml/modules/classes/Quantity.yaml +++ b/schemas/20251121/linkml/modules/classes/Quantity.yaml @@ -46,16 +46,12 @@ classes: - dcterms:extent slots: - has_or_had_identifier - - quantity_value - - quantity_type - - quantity_unit - has_or_had_measurement_unit - has_or_had_methodology - is_or_was_based_on - has_or_had_provenance - temporal_extent - has_or_had_description - - quantity_date - is_estimate - specificity_annotation - has_or_had_score @@ -63,47 +59,19 @@ classes: has_or_had_identifier: range: uriorcurie required: false - description: Optional identifier for this quantity measurement. examples: - value: https://nde.nl/ontology/hc/quantity/nha-zaanstreek-staff-2025 - description: Branch staff count measurement - quantity_value: - range: float - required: true - description: The numeric value of the quantity. - examples: - value: 3 - description: 3 staff members - value: 1200000 - description: 1.2 million collection items - value: 2500000 - description: 2.5 million annual visitors - quantity_type: - range: string - required: false - description: The type of quantity being measured. - examples: - value: STAFF_COUNT - value: COLLECTION_SIZE - value: VISITOR_COUNT - quantity_unit: - range: string - required: false - deprecated: Use has_or_had_measurement_unit with MeasureUnit class instead. Retained for backward compatibility with existing data. - description: 'DEPRECATED: The unit of measurement as a simple string. Prefer has_or_had_measurement_unit for structured unit data.' - examples: - - value: FTE - description: Full-time equivalent employees - value: headcount - description: Total number of people - value: items - description: Collection item count - value: linear meters - description: Archive extent - value: EUR - description: Budget in euros - value: "m\xB2" - description: Floor area has_or_had_measurement_unit: range: MeasureUnit required: false @@ -113,11 +81,9 @@ classes: - value: has_or_had_type: VISITOR has_or_had_symbol: visitors - description: Visitor count unit - value: has_or_had_type: SQUARE_METER has_or_had_symbol: "m\xB2" - description: Area unit temporal_extent: range: TimeSpan required: false @@ -127,7 +93,6 @@ classes: - value: begin_of_the_begin: '2024-01-01T00:00:00Z' end_of_the_end: '2024-12-31T23:59:59Z' - description: Annual measurement period has_or_had_methodology: range: Methodology required: false @@ -138,34 +103,23 @@ classes: methodology_type: ENTITY_RESOLUTION has_or_had_label: ArcFace clustering confidence_threshold: 0.6 - description: Face entity resolution methodology - value: methodology_type: OBJECT_TRACKING has_or_had_label: DeepSORT - description: Multi-object tracking methodology has_or_had_description: range: string required: false - description: Description of what this quantity represents. examples: - value: Staff assigned to Zaanstreek-Waterland branch - value: Annual visitor count for 2024 - quantity_date: - range: date - required: false - description: Date when this quantity was measured or is valid. - examples: - value: '2025-01-01' is_estimate: range: boolean required: false ifabsent: 'false' - description: Whether this quantity is an estimate rather than an exact count. examples: - value: false - description: Exact count - value: true - description: Estimated value comments: - Quantity models quantified values with units and provenance - Replaces simple integer fields with richer structured data @@ -177,19 +131,13 @@ classes: examples: - value: has_or_had_identifier: https://nde.nl/ontology/hc/quantity/nha-zaanstreek-staff-2025 - quantity_value: 3 - quantity_type: STAFF_COUNT has_or_had_measurement_unit: has_or_had_type: FTE has_or_had_symbol: FTE has_or_had_label: full-time equivalent has_or_had_description: Staff assigned to Zaanstreek-Waterland branch - quantity_date: '2025-01-01' is_estimate: false - description: Branch staff count (preferred pattern with structured unit) - value: - quantity_value: 650000 - quantity_type: VISITOR_COUNT has_or_had_measurement_unit: has_or_had_type: VISITOR has_or_had_symbol: visitors @@ -198,10 +146,7 @@ classes: end_of_the_end: '2023-06-04T23:59:59Z' has_or_had_description: Vermeer exhibition attendance is_estimate: false - description: Exhibition visitor count with temporal extent (Rule 53 pattern) - value: - quantity_value: 15 - quantity_type: OBJECT_COUNT has_or_had_measurement_unit: has_or_had_type: FACE has_or_had_symbol: faces @@ -211,10 +156,7 @@ classes: confidence_threshold: 0.6 has_or_had_description: Unique faces detected via entity resolution is_estimate: false - description: Unique face count with methodology (Rule 53 pattern for unique_face_count) - value: - quantity_value: 47 - quantity_type: OBJECT_COUNT has_or_had_measurement_unit: has_or_had_type: OBJECT has_or_had_symbol: objects @@ -223,22 +165,12 @@ classes: has_or_had_label: DeepSORT has_or_had_description: Unique objects tracked across video frames is_estimate: false - description: Unique object count with methodology (Rule 53 pattern for unique_object_count) - value: - quantity_value: 1200000 - quantity_type: COLLECTION_SIZE - quantity_unit: items has_or_had_description: Total collection size including artworks, documents, and photographs is_estimate: true - description: Estimated collection size (deprecated string unit - backward compatible) - value: - quantity_value: 2500000 - quantity_type: VISITOR_COUNT - quantity_unit: visitors/year has_or_had_description: Annual visitor count for 2024 - quantity_date: '2024-12-31' is_estimate: false - description: Annual visitor count (deprecated string unit - backward compatible) annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/RadioArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/RadioArchiveRecordSetType.yaml index 6f69fa6f22..7ac379a587 100644 --- a/schemas/20251121/linkml/modules/classes/RadioArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/RadioArchiveRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Rationale.yaml b/schemas/20251121/linkml/modules/classes/Rationale.yaml index 4d89a9148d..cf3fb6b679 100644 --- a/schemas/20251121/linkml/modules/classes/Rationale.yaml +++ b/schemas/20251121/linkml/modules/classes/Rationale.yaml @@ -18,19 +18,8 @@ classes: - has_or_had_description slot_usage: has_or_had_description: - description: The text content of the rationale. required: true attributes: - decision_type: - range: string - description: Type of decision (MAPPING, CLASSIFICATION, EXCLUSION) - confidence: - range: float - description: Confidence level in the decision (0.0-1.0) - alternatives_considered: - range: string - multivalued: true - description: Alternative options that were considered close_mappings: - prov:wasInfluencedBy annotations: @@ -39,7 +28,4 @@ classes: custodian_types: "['*']" examples: - value: - has_or_had_description: Mapped based on exact name match and location - decision_type: MAPPING - confidence: 0.95 - description: Wikidata mapping rationale + has_or_had_description: Mapped based on exact name match and location \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/ReadingRoom.yaml b/schemas/20251121/linkml/modules/classes/ReadingRoom.yaml index 6b9519cd29..d950c0b515 100644 --- a/schemas/20251121/linkml/modules/classes/ReadingRoom.yaml +++ b/schemas/20251121/linkml/modules/classes/ReadingRoom.yaml @@ -64,7 +64,6 @@ classes: slots: - has_or_had_accessibility_feature - allows_or_allowed - - has_computer_terminal - has_locker - has_microfilm_reader - has_supervised_handling @@ -87,122 +86,86 @@ classes: range: uriorcurie required: true identifier: true - description: Unique identifier for the reading room. examples: - value: https://nde.nl/ontology/hc/aux/na-studiezaal - description: Nationaal Archief reading room has_or_had_label: range: string required: true inlined: true - description: The name of the reading room. examples: - value: label_text: Nationaal Archief Studiezaal - description: Archive reading room - value: label_text: KB Bijzondere Collecties Leeszaal - description: Special collections room - value: label_text: Stadsarchief Amsterdam Studiezaal - description: City archive reading room has_or_had_description: range: string inlined: true - description: A description of the reading room. examples: - value: description_text: Main research room for consulting archival collections. Staff assistance available. Self-service microfilm readers and computer terminals for catalog access. - description: General reading room reading_room_type: range: ReadingRoomTypeEnum required: true examples: - value: GENERAL - description: General reading room - value: SPECIAL_COLLECTIONS - description: Special collections room seating_capacity: range: integer examples: - value: 80 - description: Large reading room - value: 20 - description: Small special collections room - has_computer_terminal: - range: boolean - examples: - - value: true - description: Has computer access has_or_had_quantity: range: integer required: false inlined: true - description: 'Number of computer terminals available. - MIGRATED 2026-01-14: Replaces terminal_count slot. - ' examples: - value: - quantity_value: 12 - quantity_type: TERMINAL_COUNT has_or_had_measurement_unit: has_or_had_type: TERMINAL has_or_had_symbol: terminals - description: 12 computer terminals available has_microfilm_reader: range: boolean examples: - value: true - description: Has microfilm readers has_wifi: range: boolean examples: - value: true - description: WiFi available requires_registration: range: boolean examples: - value: true - description: Registration required requires_appointment: range: boolean examples: - value: true - description: Appointment required - value: false - description: Walk-in access allows_or_allowed: range: string multivalued: true - description: Permitted activities and equipment in the reading room. Use Laptop and Photography classes for structured permissions. examples: - value: Laptops permitted - description: Laptop use allowed - value: Photography for personal research - description: Photography allowed with conditions has_supervised_handling: range: boolean examples: - value: true - description: Supervised handling required has_locker: range: boolean examples: - value: true - description: Lockers available opening_hour: range: string examples: - value: Tu-Fr 09:00-17:00, Sa 09:00-13:00 - description: Typical archive hours has_or_had_accessibility_feature: range: string multivalued: true examples: - value: Wheelchair accessible - description: Physical accessibility - value: Screen magnification software - description: Visual accessibility is_or_was_derived_from: range: CustodianObservation multivalued: true @@ -242,7 +205,6 @@ classes: has_or_had_accessibility_feature: - Wheelchair accessible - Adjustable desks - description: National archive reading room - value: has_or_had_identifier: https://nde.nl/ontology/hc/aux/kb-bijzondere-collecties has_or_had_label: @@ -260,7 +222,6 @@ classes: has_supervised_handling: true has_lockers: true opening_hours: Mo-Fr 10:00-16:00 - description: Special collections reading room annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ReadingRoomAnnex.yaml b/schemas/20251121/linkml/modules/classes/ReadingRoomAnnex.yaml index 2c46f32c60..8c814f5e89 100644 --- a/schemas/20251121/linkml/modules/classes/ReadingRoomAnnex.yaml +++ b/schemas/20251121/linkml/modules/classes/ReadingRoomAnnex.yaml @@ -81,10 +81,8 @@ classes: required: true identifier: true inlined: false - description: Unique identifier for this reading room annex following NDE Heritage Custodian ontology conventions. examples: - value: https://nde.nl/ontology/hc/aux/nha-annex-kleine-houtweg - description: Noord-Hollands Archief annex has_or_had_label: range: string required: true @@ -92,17 +90,14 @@ classes: examples: - value: label_text: Noord-Hollands Archief Reading Room Annex - description: Archive overflow annex - value: label_text: Stadsarchief Kaartenkamer Annex - description: Specialized materials annex has_or_had_description: range: string inlined: true examples: - value: description_text: Overflow reading room for peak research periods. Same registration as main studiezaal. Materials must be pre-ordered. - description: Overflow annex description is_or_was_created_through: range: string required: true @@ -111,58 +106,46 @@ classes: - value: has_or_had_reason: has_or_had_label: CAPACITY_OVERFLOW - description: Overflow capacity - value: has_or_had_reason: has_or_had_label: SPECIALIZED_MATERIALS - description: Specialized collection material_specialization: range: string examples: - value: Historical maps and atlases - description: Cartographic specialization - value: Newspaper and periodical collections - description: Periodicals specialization is_annex_of_reading_room: range: ReadingRoom required: true examples: - value: https://nde.nl/ontology/hc/aux/nha-studiezaal - description: Main reading room reference seating_capacity: range: integer examples: - value: 15 - description: Small annex capacity requires_separate_registration: range: boolean ifabsent: 'false' examples: - value: false - description: Same registration as main shares_catalog_with_main: range: boolean ifabsent: 'true' examples: - value: true - description: Shared catalog opening_hour: range: string examples: - value: We-Th 10:00-16:00 - description: Limited hours is_temporary: range: boolean examples: - value: true - description: Temporary during renovation - value: false - description: Permanent annex planned_closure_date: range: date examples: - value: '2025-12-31' - description: Planned closure when renovation complete is_or_was_derived_from: range: CustodianObservation multivalued: true @@ -194,7 +177,6 @@ classes: shares_catalog_with_main: true opening_hours: Tu-Th 10:00-16:00 is_temporary: false - description: Overflow reading room annex - value: has_or_had_identifier: https://nde.nl/ontology/hc/aux/sa-renovation-annex has_or_had_label: @@ -209,7 +191,6 @@ classes: opening_hours: Mo-Fr 10:00-16:00 is_temporary: true planned_closure_date: '2025-06-30' - description: Temporary renovation annex annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ReasoningContent.yaml b/schemas/20251121/linkml/modules/classes/ReasoningContent.yaml index f0523d0d65..8d29dd7b04 100644 --- a/schemas/20251121/linkml/modules/classes/ReasoningContent.yaml +++ b/schemas/20251121/linkml/modules/classes/ReasoningContent.yaml @@ -108,23 +108,14 @@ classes: slot_usage: has_or_had_label: - description: Human-readable label for this reasoning content. examples: - value: Turn 3 Reasoning - description: Reasoning from the third conversation turn - has_or_had_description: - description: Description of the reasoning context or purpose. examples: - value: Chain-of-thought reasoning for heritage institution extraction - description: Purpose of the preserved reasoning - has_or_had_identifier: - description: Unique identifier for this reasoning content block. examples: - value: reasoning-turn-3-20260119-143000 - description: Timestamped reasoning block ID - annotations: specificity_score: 0.80 specificity_rationale: Highly specific to LLM API reasoning preservation domain @@ -133,20 +124,10 @@ classes: examples: - value: - is_preserved: true has_or_had_label: Preserved Reasoning - content_text: | - The user is asking about Dutch heritage institutions... - turn_number: 3 - token_count: 250 - description: Preserved reasoning content from turn 3 - - value: - is_preserved: false has_or_had_label: Cleared Context has_or_had_description: Fresh context for new query topic - description: Cleared reasoning (fresh context) - comments: - Created from slot_fixes.yaml migration (2026-01-19) - Replaces boolean clear_thinking with structured reasoning preservation diff --git a/schemas/20251121/linkml/modules/classes/ReconstructionActivity.yaml b/schemas/20251121/linkml/modules/classes/ReconstructionActivity.yaml index 6a12deae3c..7d5b07fbeb 100644 --- a/schemas/20251121/linkml/modules/classes/ReconstructionActivity.yaml +++ b/schemas/20251121/linkml/modules/classes/ReconstructionActivity.yaml @@ -46,45 +46,28 @@ classes: related_mappings: - crm:E13_Attribute_Assignment slots: - - has_or_had_activity_type - has_or_had_value # was: has_or_had_confidence_measure - migrated per Rule 53 (2026-01-28) # has_or_had_generate REMOVED - migrated to generates_or_generated (Rule 53) - generates_or_generated - - id - justification - method - responsible_agent - specificity_annotation - has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - temporal_extent - - has_or_had_used_source slot_usage: - has_or_had_activity_type: - range: ReconstructionActivityTypeEnum method: range: string responsible_agent: range: ReconstructionAgent temporal_extent: range: TimeSpan - has_or_had_used_source: - description: | - CustodianObservation(s) used as input for reconstruction activity. - MIGRATED 2026-01-15: Replaces 'used' slot per Rule 53 - uses prov:used slot_uri. - range: CustodianObservation multivalued: true required: true has_or_had_value: # was: has_or_had_confidence_measure - migrated per Rule 53 (2026-01-28) required: false - description: | - Confidence in the reconstruction activity's PROCESS and methodology. - MIGRATED 2026-01-28: Uses ConfidenceValue class via has_or_had_value slot. range: ConfidenceValue generates_or_generated: - description: | - Output(s) generated by the reconstruction activity. - MIGRATED from has_or_had_generate per Rule 53. - Uses Output class. range: Output multivalued: true inlined: true @@ -92,7 +75,6 @@ classes: - value: has_or_had_label: "Reconstructed Custodian Record" has_or_had_description: "Merged record from ISIL and Wikidata sources" - description: Generated output justification: range: string comments: @@ -113,33 +95,19 @@ classes: Amsterdam responsible_agent: id: https://w3id.org/heritage/custodian/agent/curator-jdoe - agent_type: PERSON name: Jane Doe temporal_extent: begin_of_the_begin: '2025-01-15T09:00:00Z' end_of_the_begin: '2025-01-15T09:00:00Z' begin_of_the_end: '2025-01-15T17:30:00Z' end_of_the_end: '2025-01-15T17:30:00Z' - has_or_had_used_source: - - https://archief.amsterdam/nl/inventaris/433.php - - https://www.wikidata.org/wiki/Q621531 justification: Name variations 'Stedelijk Museum Amsterdam' and 'Stedelijk Museum' confirmed as same institution via ISIL code NL-AsdSM - description: Manual curation activity with precise timestamps - value: - id: https://w3id.org/heritage/custodian/activity/reconstruction-002 - activity_type: ALGORITHMIC_MATCHING method: Fuzzy string matching algorithm (Levenshtein distance threshold 0.85) applied to 1,200 ISIL registry entries - responsible_agent: - id: https://w3id.org/heritage/custodian/agent/dedupe-v2.1 - agent_type: SOFTWARE - name: Heritage Deduplication Tool v2.1 temporal_extent: begin_of_the_begin: '2025-01-20T02:00:00Z' end_of_the_begin: '2025-01-20T02:00:00Z' begin_of_the_end: '2025-01-20T02:15:00Z' end_of_the_end: '2025-01-20T02:15:00Z' - has_or_had_used_source: - - https://isil.org/NL - justification: Automated matching with high confidence scores (>0.90) for 85% of entities - description: Algorithmic reconstruction with precise automated timestamps + justification: Automated matching with high confidence scores (>0.90) for 85% of entities \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/ReconstructionAgent.yaml b/schemas/20251121/linkml/modules/classes/ReconstructionAgent.yaml index 22e392e773..18fb97edf1 100644 --- a/schemas/20251121/linkml/modules/classes/ReconstructionAgent.yaml +++ b/schemas/20251121/linkml/modules/classes/ReconstructionAgent.yaml @@ -53,23 +53,17 @@ classes: - pico:Agent - tooi:Overheidsorganisatie slots: - - has_or_had_affiliation - has_or_had_label - has_or_had_type - contact - - id - specificity_annotation - has_or_had_score slot_usage: has_or_had_label: range: string required: true - description: Name of the agent. has_or_had_type: range: uriorcurie - description: Type of the agent (Person, Organization, SoftwareAgent). - has_or_had_affiliation: - range: string contact: range: string annotations: diff --git a/schemas/20251121/linkml/modules/classes/Reference.yaml b/schemas/20251121/linkml/modules/classes/Reference.yaml index 66bff98019..04ca65ddee 100644 --- a/schemas/20251121/linkml/modules/classes/Reference.yaml +++ b/schemas/20251121/linkml/modules/classes/Reference.yaml @@ -78,23 +78,15 @@ classes: has_or_had_label: range: string inlined: true - description: >- - Human-readable label for the reference. examples: - value: label_value: "Parish register entry for Johannes van Berg" examples: - value: - citation_text: "born in the year of our Lord 1823" source_type: "parish_register" - source_location: "Amsterdam Stadsarchief, DTB 456, folio 23r" source_date: "1823-03-15" - description: Birth reference from historical parish register - value: - citation_text: "ca. 1750" source_type: "biography" - source_location: "Van Dale Biographical Dictionary, 1920 edition" - description: Approximate date from biographical reference annotations: custodian_types: '["*"]' specificity_score: 0.4 diff --git a/schemas/20251121/linkml/modules/classes/RegionalArchive.yaml b/schemas/20251121/linkml/modules/classes/RegionalArchive.yaml index a2de67e9f0..9dc5207ef9 100644 --- a/schemas/20251121/linkml/modules/classes/RegionalArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/RegionalArchive.yaml @@ -54,7 +54,6 @@ classes: skos:prefLabel: Regional Archive skos:altLabel: "Regionalarchiv, archivo regional, archives r\xE9gionales" admin_level: regional - geographic_scope: regional specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration custodian_types: "['*']" diff --git a/schemas/20251121/linkml/modules/classes/RegionalArchiveRecordSetTypes.yaml b/schemas/20251121/linkml/modules/classes/RegionalArchiveRecordSetTypes.yaml index d6065f1f86..594b2241d3 100644 --- a/schemas/20251121/linkml/modules/classes/RegionalArchiveRecordSetTypes.yaml +++ b/schemas/20251121/linkml/modules/classes/RegionalArchiveRecordSetTypes.yaml @@ -217,8 +217,6 @@ classes: - cadastral maps - land registry - property records - - kadaster - - grondboeken - property transfer - mortgage records - land surveyor @@ -346,14 +344,10 @@ classes: keywords: - notarial protocols - notarieel archief - - wills - - testaments - marriage contracts - property transfers - - minuutakten - estate inventories - powers of attorney - - contracts exact_mappings: - rico:RecordSetType related_mappings: @@ -477,10 +471,7 @@ classes: - regional newspapers - oral history - regional maps - - streekgeschiedenis - local publications - - ephemera - - postcards - regional culture exact_mappings: - rico:RecordSetType @@ -594,18 +585,13 @@ classes: - literal_form: "fundo de gest\xE3o de \xE1guas" in_language: pt keywords: - - waterschap - water board - dike administration - polder records - flood control - land reclamation - - drooglegging - - dijkgraaf - - heemraden - water management - pumping stations - - sluices exact_mappings: - rico:RecordSetType related_mappings: diff --git a/schemas/20251121/linkml/modules/classes/RegionalArchivesInIceland.yaml b/schemas/20251121/linkml/modules/classes/RegionalArchivesInIceland.yaml index c1245ce342..0d21747736 100644 --- a/schemas/20251121/linkml/modules/classes/RegionalArchivesInIceland.yaml +++ b/schemas/20251121/linkml/modules/classes/RegionalArchivesInIceland.yaml @@ -51,7 +51,6 @@ classes: annotations: skos:prefLabel: Regional Archives in Iceland skos:altLabel: Regionalarchiv (Island), Icelandic Regional Archive - geographic_restriction: Iceland only admin_level: regional specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/RegionalArchivesInIcelandRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/RegionalArchivesInIcelandRecordSetType.yaml index 6cc5515ecd..bcc8520f23 100644 --- a/schemas/20251121/linkml/modules/classes/RegionalArchivesInIcelandRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/RegionalArchivesInIcelandRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/RegionalEconomicArchive.yaml b/schemas/20251121/linkml/modules/classes/RegionalEconomicArchive.yaml index 9c44a6b3a5..271570fff7 100644 --- a/schemas/20251121/linkml/modules/classes/RegionalEconomicArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/RegionalEconomicArchive.yaml @@ -52,7 +52,6 @@ classes: skos:prefLabel: Regional Economic Archive skos:altLabel: "regionales Wirtschaftsarchiv, archivo econ\xF3mico regional" subject_domain: economic history - geographic_scope: regional specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration custodian_types: "['*']" diff --git a/schemas/20251121/linkml/modules/classes/RegionalEconomicArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/RegionalEconomicArchiveRecordSetType.yaml index e75bf7f010..4d64c6e348 100644 --- a/schemas/20251121/linkml/modules/classes/RegionalEconomicArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/RegionalEconomicArchiveRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/RegionalHistoricCenter.yaml b/schemas/20251121/linkml/modules/classes/RegionalHistoricCenter.yaml index 449b67e589..907e1b2b82 100644 --- a/schemas/20251121/linkml/modules/classes/RegionalHistoricCenter.yaml +++ b/schemas/20251121/linkml/modules/classes/RegionalHistoricCenter.yaml @@ -27,9 +27,6 @@ classes: - has_or_had_identifier slot_usage: has_or_had_identifier: - description: Wikidata identifier for Regional Historic Center concept - geographic_restriction: - equals_string: Netherlands annotations: skos:prefLabel: Regional Historic Center skos:altLabel: "Regionalhistorisches Zentrum, centre r\xE9gional historique, Regionaal Historisch Centrum, RHC" diff --git a/schemas/20251121/linkml/modules/classes/RegionalStateArchives.yaml b/schemas/20251121/linkml/modules/classes/RegionalStateArchives.yaml index 3af9cf273a..f814d17a32 100644 --- a/schemas/20251121/linkml/modules/classes/RegionalStateArchives.yaml +++ b/schemas/20251121/linkml/modules/classes/RegionalStateArchives.yaml @@ -51,7 +51,6 @@ classes: annotations: skos:prefLabel: Regional State Archives skos:altLabel: "Provinzarchiv, archivo regional, archives r\xE9gionales, Swedish Regional Archives" - geographic_restriction: Sweden only admin_level: regional specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/RegionalStateArchivesRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/RegionalStateArchivesRecordSetType.yaml index 79d19f92b2..ceb070e057 100644 --- a/schemas/20251121/linkml/modules/classes/RegionalStateArchivesRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/RegionalStateArchivesRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/RegistrationAuthority.yaml b/schemas/20251121/linkml/modules/classes/RegistrationAuthority.yaml index d3eaf08882..8f953e29d3 100644 --- a/schemas/20251121/linkml/modules/classes/RegistrationAuthority.yaml +++ b/schemas/20251121/linkml/modules/classes/RegistrationAuthority.yaml @@ -258,24 +258,9 @@ classes: slot_usage: is_or_was_equivalent_to: slot_uri: schema:sameAs - description: 'Wikidata entity equivalent for this registration authority. - - - Examples: - - - OCLC: Q190593 - - - Wikimedia Foundation: Q180 - - - Danish Agency for Culture and Palaces: Q12324270 - - ' range: WikiDataIdentifier examples: - value: - qid: Q12324270 - label: Danish Agency for Culture and Palaces - description: Registration authority for ISIL annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ReligiousArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/ReligiousArchiveRecordSetType.yaml index 3c95011425..343da9e43d 100644 --- a/schemas/20251121/linkml/modules/classes/ReligiousArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/ReligiousArchiveRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/RequirementStatus.yaml b/schemas/20251121/linkml/modules/classes/RequirementStatus.yaml index be5bf2e3bb..2cda2287ba 100644 --- a/schemas/20251121/linkml/modules/classes/RequirementStatus.yaml +++ b/schemas/20251121/linkml/modules/classes/RequirementStatus.yaml @@ -46,37 +46,28 @@ classes: is_or_was_required: range: boolean required: true - description: Whether this requirement is active/mandatory. examples: - value: true - description: Booking is required - value: false - description: Booking is optional (walk-ins welcome) has_or_had_type: range: uriorcurie multivalued: true inlined_as_list: true - description: The type(s) of requirement (advance booking, group booking, etc.). examples: - value: - has_or_had_code: ADVANCE_BOOKING - description: Advance booking required has_or_had_description: range: string - description: Free text description of the requirement details. examples: - value: Advance booking required for groups of 10 or more. Individual visitors welcome without booking. has_or_had_note: range: string multivalued: true - description: Additional notes about the requirement. examples: - value: Online booking available at www.museum.nl/book - value: 'Phone bookings: +31 20 123 4567' begin_of_the_begin: - description: When this requirement came into effect. end_of_the_end: - description: When this requirement ended (if no longer in effect). annotations: specificity_score: '0.55' specificity_rationale: Requirement status applicable to many heritage contexts (education, reading rooms, visits). @@ -105,16 +96,13 @@ classes: has_or_had_note: - 'Online booking: educatie@rijksmuseum.nl' begin_of_the_begin: '2020-01-01T00:00:00Z' - description: Example booking requirement for museum education center - value: has_or_had_identifier: https://nde.nl/ontology/hc/requirement-status/archive-reading-room is_or_was_required: true has_or_had_type: - has_or_had_code: APPOINTMENT_REQUIRED has_or_had_description: "Appointment required for reading room access. \nWalk-in visits not possible due to limited seating.\n" - description: Appointment requirement for archive reading room - value: has_or_had_identifier: https://nde.nl/ontology/hc/requirement-status/library-open-access is_or_was_required: false - has_or_had_description: No booking required. Open access during public hours. - description: No requirement (open access) + has_or_had_description: No booking required. Open access during public hours. \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/RequirementType.yaml b/schemas/20251121/linkml/modules/classes/RequirementType.yaml index 0011879b28..0af96a0d0d 100644 --- a/schemas/20251121/linkml/modules/classes/RequirementType.yaml +++ b/schemas/20251121/linkml/modules/classes/RequirementType.yaml @@ -51,7 +51,6 @@ classes: pattern: ^https://nde\.nl/ontology/hc/requirement-type/[a-z0-9-]+$ examples: - value: https://nde.nl/ontology/hc/requirement-type/eligibility-geographic - description: Geographic eligibility requirement type has_or_had_code: range: string required: true @@ -77,7 +76,6 @@ classes: - value: Geographic eligibility constraint on applicant location (e.g., EU Member States only). has_or_had_hypernym: range: RequirementType - description: Parent requirement category in the classification hierarchy. has_or_had_hyponym: range: RequirementType multivalued: true @@ -87,11 +85,6 @@ classes: multivalued: true inlined: true inlined_as_list: true - description: 'Wikidata equivalence for this requirement type concept. - - MIGRATED 2026-01-15: Replaces wikidata_id slot per Rule 53. - - ' annotations: specificity_score: '0.65' specificity_rationale: Requirement types specific to funding call contexts but applicable across heritage sectors. @@ -119,5 +112,4 @@ classes: ' has_or_had_hypernym: - has_or_had_code: ELIGIBILITY - description: Geographic eligibility requirement type definition + has_or_had_code: ELIGIBILITY \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/ResearchCenter.yaml b/schemas/20251121/linkml/modules/classes/ResearchCenter.yaml index f45e70eed8..f1b6cf8064 100644 --- a/schemas/20251121/linkml/modules/classes/ResearchCenter.yaml +++ b/schemas/20251121/linkml/modules/classes/ResearchCenter.yaml @@ -60,14 +60,10 @@ classes: - hc:EducationCenter slots: - accepts_or_accepted - - has_or_had_affiliated_university - has_or_had_type - - fellows_count - - has_fellows_program - publishes_or_published - has_or_had_facility - major_research_project - - publication_series_name - has_or_had_description - has_or_had_identifier - has_or_had_label @@ -83,111 +79,64 @@ classes: range: uriorcurie required: true identifier: true - description: Unique identifier for the research center. examples: - value: https://nde.nl/ontology/hc/aux/rijksmuseum-research - description: Rijksmuseum research department has_or_had_label: range: string required: true inlined: true - description: The name of the research center. examples: - value: label_text: Rijksmuseum Research Department - description: Museum research department - value: label_text: KB Digital Humanities Lab - description: Digital humanities center - value: label_text: NIOD Institute for War, Holocaust and Genocide Studies - description: Specialized research institute has_or_had_description: range: string inlined: true - description: A description of the research center. examples: - value: description_text: The Rijksmuseum Research Department conducts scholarly research on Dutch art and history, with particular focus on the Golden Age. Publishes the Rijksmuseum Bulletin and monograph series. - description: Museum research department research_center_type: range: ResearchCenterTypeEnum required: true examples: - value: RESEARCH_DEPARTMENT - description: Department within larger institution - value: DIGITAL_HUMANITIES_CENTER - description: Digital humanities focus - value: RESEARCH_INSTITUTE - description: Independent research institute research_focus_area: range: string multivalued: true examples: - value: Dutch Golden Age painting - description: Art historical focus - value: Technical art history - description: Scientific analysis - value: Provenance research - description: Ownership history - has_or_had_affiliated_university: - range: string - multivalued: true - examples: - - value: University of Amsterdam - description: University partnership - value: Leiden University - description: Academic has_or_had_affiliation - has_fellows_program: - range: boolean - examples: - - value: true - description: Has fellowship program - fellows_count: - range: integer - examples: - - value: 8 - description: 8 fellows per year publishes_or_published: range: boolean examples: - value: true - description: Has publication series - publication_series_name: - range: string - examples: - - value: Rijksmuseum Studies in Art - description: Monograph series - value: Rijksmuseum Bulletin - description: Journal has_or_had_facility: range: boolean examples: - value: true - description: Has research library accepts_or_accepted: range: VisitingScholar inlined: true multivalued: true - description: Visiting scholar programs that this research center accepts. examples: - value: - program_type: fellowship - duration: 3-6 months - stipend_available: true - description: Fellowship program major_research_project: range: string multivalued: true examples: - value: Rembrandt Database - description: Cataloguing project - value: Operation Night Watch - description: Conservation research has_or_had_quantity: range: integer inlined: true - description: Quantity of staff members. MIGRATED from staff_count (2026-01-28). is_or_was_derived_from: range: CustodianObservation multivalued: true @@ -220,29 +169,16 @@ classes: - Technical art history - Provenance research - Decorative arts - has_or_had_affiliated_university: - - University of Amsterdam - - Vrije Universiteit Amsterdam - has_fellows_program: true - fellows_count: 6 publishes_or_published: true - publication_series_name: Rijksmuseum Studies in Art has_or_had_facility: true accepts_or_accepted: - program_type: fellowship - duration: 3-12 months - eligibility: - - PhD candidates - - Post-doctoral researchers - stipend_available: true major_research_project: - Rembrandt Database - Operation Night Watch has_or_had_quantity: range: integer inlined: true - description: Quantity of staff members. MIGRATED from staff_count (2026-01-28). - description: Major museum research department - value: has_or_had_identifier: https://nde.nl/ontology/hc/aux/kb-dh-lab has_or_had_label: @@ -255,21 +191,11 @@ classes: - Linked open data - Machine learning for OCR - Digital preservation - has_or_had_affiliated_university: - - Leiden University - - TU Delft - has_fellows_program: true - fellows_count: 4 accepts_or_accepted: - program_type: short_term_visit - duration: 1-4 weeks - eligibility: - - Academic researchers has_or_had_quantity: range: integer inlined: true - description: Quantity of staff members. MIGRATED from staff_count (2026-01-28). - description: Digital humanities research lab annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ResearchOrganizationType.yaml b/schemas/20251121/linkml/modules/classes/ResearchOrganizationType.yaml index 300602923f..c07894d2be 100644 --- a/schemas/20251121/linkml/modules/classes/ResearchOrganizationType.yaml +++ b/schemas/20251121/linkml/modules/classes/ResearchOrganizationType.yaml @@ -158,10 +158,8 @@ classes: \ glamtype:research_infrastructure [\"X-ray fluorescence\", \"microscopy lab\", \"climate chamber\"] .\n```\n\n**Domain-Specific Properties**:\nThis class adds research-specific metadata beyond base CustodianType:\n- `research_focus` - Primary research domains (conservation, archaeology, etc.)\n- `publication_output` - Whether organization publishes research findings\n- `data_repository` - URL to research data repository (if available)\n- `research_infrastructure` - Major equipment or facilities\n- `academic_affiliation` - Link to parent university or research network\n- `research_projects` - Active or completed research initiatives\n\n**Integration with VIVO Ontology**:\nVIVO (Vitae Research Ontology) models academic research organizations:\n- vivo:ResearchOrganization - Research entity\n- vivo:Laboratory - Lab facilities\n- vivo:ResearchProject - Research initiatives\n- vivo:Grant - Research funding\n\n**Integration with CERIF**:\nCommon European Research Information Format for\ \ research data:\n- cfResOrg - Research organization entity\n- cfProj - Research projects\n- cfFacil - Research facilities\n- cfEquip - Research equipment\n\n**Data Population**:\nResearch organization subtypes extracted from 44 Wikidata entities with type='R'\nin `data/wikidata/GLAMORCUBEPSXHFN/hyponyms_curated_full.yaml`.\n" slots: - - has_or_had_academic_affiliation - has_or_had_type - data_repository - - publication_output - research_center_subtype - research_focus - research_infrastructure @@ -173,11 +171,7 @@ classes: has_or_had_identifier: pattern: ^Q[0-9]+$ required: true - description: Wikidata identifier (Q-number) for this Research Organization type concept has_or_had_hypernym: - description: 'MIGRATED from broader_type (Rule 53). - For research organization type subtypes, links to parent type in hierarchy. - ' range: ResearchOrganizationType has_or_had_type: equals_expression: '["hc:ResearchOrganizationType"]' @@ -210,13 +204,11 @@ classes: - materials analysis - restoration techniques - preventive conservation - publication_output: true data_repository: https://data.cultureelerfgoed.nl research_infrastructure: - X-ray fluorescence spectrometer - microscopy laboratory - climate-controlled storage - description: Conservation laboratory for cultural heritage research - value: has_or_had_identifier: https://nde.nl/ontology/hc/type/research/Q181916 has_or_had_type_code: RESEARCH_CENTER @@ -229,10 +221,8 @@ classes: - botanical taxonomy - plant systematics - biodiversity documentation - publication_output: true research_infrastructure: - climate-controlled cabinets - microscopy equipment - DNA sequencing lab - academic_affiliation: https://www.universiteitleiden.nl/en/science/biology - description: University herbarium for botanical research + academic_affiliation: https://www.universiteitleiden.nl/en/science/biology \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/Resolution.yaml b/schemas/20251121/linkml/modules/classes/Resolution.yaml index 28c893825f..b377565ba1 100644 --- a/schemas/20251121/linkml/modules/classes/Resolution.yaml +++ b/schemas/20251121/linkml/modules/classes/Resolution.yaml @@ -42,59 +42,28 @@ classes: exact_mappings: - schema:videoQuality slots: - - resolution_type - - resolution_label - - width_pixels - - height_pixels - has_or_had_quantity - has_or_had_unit slot_usage: - resolution_type: - range: string - required: false - examples: - - value: video - description: Video resolution - value: image - description: Image resolution - resolution_label: - range: string - required: false - description: Standard quality label examples: - value: hd - description: High definition (720p/1080p) - value: sd - description: Standard definition - value: 4k - description: 4K Ultra HD - value: 8k - description: 8K resolution - width_pixels: - range: integer - required: false - description: Horizontal resolution in pixels examples: - value: 1920 - description: Full HD width - height_pixels: - range: integer - required: false - description: Vertical resolution in pixels examples: - value: 1080 - description: Full HD height has_or_had_quantity: range: integer inlined: true multivalued: true required: false - description: Structured numeric values for resolution has_or_had_unit: range: string inlined: true required: false - description: Unit of measurement (pixels, DPI) annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ResponseFormat.yaml b/schemas/20251121/linkml/modules/classes/ResponseFormat.yaml index 6fcfd952e6..db52e51715 100644 --- a/schemas/20251121/linkml/modules/classes/ResponseFormat.yaml +++ b/schemas/20251121/linkml/modules/classes/ResponseFormat.yaml @@ -17,11 +17,6 @@ classes: has_or_had_type: range: uriorcurie attributes: - format_name: - range: string - required: true - mime_type: - range: string annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Responsibility.yaml b/schemas/20251121/linkml/modules/classes/Responsibility.yaml index 6f60054ca6..4dd8d6fdcc 100644 --- a/schemas/20251121/linkml/modules/classes/Responsibility.yaml +++ b/schemas/20251121/linkml/modules/classes/Responsibility.yaml @@ -31,15 +31,7 @@ classes: slot_usage: has_or_had_type: range: uriorcurie - attributes: - responsibility_name: - description: Name or title of the responsibility role - range: string - required: true - responsibility_description: - description: Description of the responsibility scope and duties - range: string annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/Restriction.yaml b/schemas/20251121/linkml/modules/classes/Restriction.yaml index 213a352acf..87347c32b3 100644 --- a/schemas/20251121/linkml/modules/classes/Restriction.yaml +++ b/schemas/20251121/linkml/modules/classes/Restriction.yaml @@ -47,25 +47,14 @@ classes: slot_usage: temporal_extent: range: TimeSpan - description: 'Time period during which the restriction applies. - - For embargo restrictions, models the restriction duration. - - ' attributes: restriction_type: range: string - description: Type of restriction (EMBARGO, ACCESS, USE) examples: - value: EMBARGO - years: - range: integer - description: Number of years for time-based restrictions (legacy, prefer temporal_extent) - examples: - value: 25 restriction_reason: range: string - description: Reason for the restriction exact_mappings: - dct:RightsStatement annotations: @@ -75,9 +64,7 @@ classes: examples: - value: restriction_type: EMBARGO - years: 25 restriction_reason: Privacy protection temporal_extent: begin_of_the_begin: '2025-01-01T00:00:00Z' - end_of_the_end: '2050-01-01T00:00:00Z' - description: 25-year embargo restriction from 2025-2050 + end_of_the_end: '2050-01-01T00:00:00Z' \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/RetrievalAgent.yaml b/schemas/20251121/linkml/modules/classes/RetrievalAgent.yaml index 89e68069ab..3cc0a77f08 100644 --- a/schemas/20251121/linkml/modules/classes/RetrievalAgent.yaml +++ b/schemas/20251121/linkml/modules/classes/RetrievalAgent.yaml @@ -29,7 +29,6 @@ classes: slot_usage: has_or_had_label: range: string - description: Name of the agent (e.g. "claude-opus-4.5"). annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/RetrievalEvent.yaml b/schemas/20251121/linkml/modules/classes/RetrievalEvent.yaml index 60d0996651..48f979b3d1 100644 --- a/schemas/20251121/linkml/modules/classes/RetrievalEvent.yaml +++ b/schemas/20251121/linkml/modules/classes/RetrievalEvent.yaml @@ -31,7 +31,6 @@ classes: - has_or_had_score slot_usage: temporal_extent: - description: Time of retrieval. range: TimeSpan inlined: true annotations: diff --git a/schemas/20251121/linkml/modules/classes/RetrievalMethod.yaml b/schemas/20251121/linkml/modules/classes/RetrievalMethod.yaml index cdd0afed0c..2a558602ff 100644 --- a/schemas/20251121/linkml/modules/classes/RetrievalMethod.yaml +++ b/schemas/20251121/linkml/modules/classes/RetrievalMethod.yaml @@ -36,7 +36,6 @@ classes: slot_usage: has_or_had_label: range: string - description: Name of the method (e.g. "exa_crawling_exa"). annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ReturnEvent.yaml b/schemas/20251121/linkml/modules/classes/ReturnEvent.yaml index 15ed0f4239..9d60ff3572 100644 --- a/schemas/20251121/linkml/modules/classes/ReturnEvent.yaml +++ b/schemas/20251121/linkml/modules/classes/ReturnEvent.yaml @@ -88,33 +88,22 @@ classes: range: Item multivalued: true inlined: false - description: The item(s) being returned examples: - value: "hc:object/mauritshuis-670" - description: Reference to returned painting has_or_had_condition: range: Condition multivalued: true inlined: true inlined_as_list: true - description: | - Condition assessment of returned item(s). - MIGRATED from condition_on_return per slot_fixes.yaml (Rule 53, 2026-01-22). - - Uses Condition class with ConditionType for structured classification - (UNCHANGED, MINOR_DAMAGE, MAJOR_DAMAGE → GoodCondition, FairCondition, PoorCondition). examples: - value: has_or_had_type: GoodCondition has_or_had_description: description_text: "Returned in same condition as loaned (UNCHANGED)" - description: Item returned unchanged - value: has_or_had_type: FairCondition has_or_had_description: description_text: "Minor surface scratches noted (MINOR_DAMAGE)" - description: Item returned with minor damage - annotations: custodian_types: '["M", "A", "L", "G", "R"]' custodian_types_rationale: "Used by institutions that participate in loan programs." @@ -123,27 +112,17 @@ classes: examples: - value: - return_date: "2024-01-15" item_returned: - "hc:object/mauritshuis-670" has_or_had_condition: - has_or_had_type: GoodCondition has_or_had_description: description_text: "Returned in excellent condition, no changes from pre-loan assessment" - received_by: "Collections Manager" - damage_noted: false - description: Successful return with no issues - - value: - return_date: "2024-03-20" item_returned: - "hc:object/rijksmuseum-sk-c-5" has_or_had_condition: - has_or_had_type: FairCondition has_or_had_description: description_text: "Minor scratches on frame corner, likely from handling" - received_by: "Petria Noble, Conservation" - damage_noted: true - damage_description: "Small scratches on lower right frame corner" - return_report_url: "https://example.org/returns/2024-03-20-report.pdf" - description: Return with minor damage noted + return_report_url: "https://example.org/returns/2024-03-20-report.pdf" \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/Revenue.yaml b/schemas/20251121/linkml/modules/classes/Revenue.yaml index 4c788acaf4..f11e8a6a65 100644 --- a/schemas/20251121/linkml/modules/classes/Revenue.yaml +++ b/schemas/20251121/linkml/modules/classes/Revenue.yaml @@ -19,4 +19,3 @@ classes: specificity_rationale: "Generic utility class created during migration" custodian_types: '["*"]' slots: - - has_or_had_amount diff --git a/schemas/20251121/linkml/modules/classes/Roadmap.yaml b/schemas/20251121/linkml/modules/classes/Roadmap.yaml index c9fa633932..2d5b27d05d 100644 --- a/schemas/20251121/linkml/modules/classes/Roadmap.yaml +++ b/schemas/20251121/linkml/modules/classes/Roadmap.yaml @@ -41,7 +41,6 @@ classes: range: string multivalued: true inlined: true - description: Plans contained within this roadmap. annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/SchoolArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/SchoolArchiveRecordSetType.yaml index 4831d3cb20..9022cb2abf 100644 --- a/schemas/20251121/linkml/modules/classes/SchoolArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/SchoolArchiveRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ScientificArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/ScientificArchiveRecordSetType.yaml index 5e1d134558..7a3bc02131 100644 --- a/schemas/20251121/linkml/modules/classes/ScientificArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/ScientificArchiveRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/ScopeType.yaml b/schemas/20251121/linkml/modules/classes/ScopeType.yaml index 0deb410914..2ca7599497 100644 --- a/schemas/20251121/linkml/modules/classes/ScopeType.yaml +++ b/schemas/20251121/linkml/modules/classes/ScopeType.yaml @@ -52,9 +52,7 @@ classes: multivalued: true examples: - value: https://nde.nl/ontology/hc/scope-type/temporal - description: Temporal scope type URI - value: Q186408 - description: Wikidata Q-number for scope concept has_or_had_label: range: string required: true @@ -64,13 +62,11 @@ classes: - Temporal@en - temporeel@nl - zeitlich@de - description: Multilingual labels for temporal scope type has_or_had_description: range: string required: false examples: - value: Time-based scope dimension covering date ranges and historical periods - description: Description of temporal scope type annotations: specificity_score: '0.35' specificity_rationale: Moderately low specificity - scope types are generic classification concepts. @@ -92,5 +88,4 @@ classes: has_or_had_label: - Temporal@en - temporeel@nl - has_or_had_description: Time-based scope dimension - description: Temporal scope type with multilingual labels + has_or_had_description: Time-based scope dimension \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/SearchAPI.yaml b/schemas/20251121/linkml/modules/classes/SearchAPI.yaml index f153d353d7..7db363c648 100644 --- a/schemas/20251121/linkml/modules/classes/SearchAPI.yaml +++ b/schemas/20251121/linkml/modules/classes/SearchAPI.yaml @@ -27,8 +27,20 @@ classes: SearchAPI: is_a: DataServiceEndpoint class_uri: hc:SearchAPI - description: "REST/JSON search API endpoint for heritage collection discovery.\n\n**Purpose:**\n\nModels search APIs that provide programmatic access to collection search\nfunctionality. These APIs enable:\n- Custom search interface development\n- Integration with aggregation platforms\n- Automated data discovery\n- Faceted search and filtering\n\n**Common Patterns:**\n\nHeritage search APIs typically support:\n- **Full-text search**: Query across all fields\n- **Field-specific search**: Query specific metadata fields\n- **Faceted search**: Filter by category, date, type, etc.\n- **Pagination**: Navigate large result sets\n- **Sorting**: Order results by relevance, date, etc.\n\n**Example - Nationaal Archief Search API:**\n\n```yaml\nsearch_api:\n endpoint_name: \"Nationaal Archief Search API\"\n endpoint_url: \"https://www.nationaalarchief.nl/onderzoeken/api/zoeken\"\n protocol: REST\n query_parameters:\n - name: \"q\"\n type: \"string\"\n description: \"Full-text search\ - \ query\"\n - name: \"from\"\n type: \"integer\"\n description: \"Pagination offset\"\n - name: \"size\"\n type: \"integer\"\n description: \"Results per page\"\n pagination_method: OFFSET_LIMIT\n max_results_per_page: 100\n response_format: JSON\n supports_facets: true\n facet_fields: [\"type\", \"periode\", \"archief\"]\n```\n\n**Response Structure:**\n\nMost heritage search APIs return JSON with:\n- `total`: Total number of matching records\n- `results`/`items`/`records`: Array of result objects\n- `facets`: Aggregation counts for filtering\n- `pagination`: Links or cursors for paging\n\n**See Also:**\n\n- OpenSearch: https://opensearch.org/\n- Hydra API vocabulary: https://www.hydra-cg.com/\n" + description: "REST/JSON search API endpoint for heritage collection discovery.\n\n**Purpose:**\n\nModels search APIs that\ + \ provide programmatic access to collection search\nfunctionality. These APIs enable:\n- Custom search interface development\n\ + - Integration with aggregation platforms\n- Automated data discovery\n- Faceted search and filtering\n\n**Common Patterns:**\n\ + \nHeritage search APIs typically support:\n- **Full-text search**: Query across all fields\n- **Field-specific search**:\ + \ Query specific metadata fields\n- **Faceted search**: Filter by category, date, type, etc.\n- **Pagination**: Navigate\ + \ large result sets\n- **Sorting**: Order results by relevance, date, etc.\n\n**Example - Nationaal Archief Search API:**\n\ + \n```yaml\nsearch_api:\n endpoint_name: \"Nationaal Archief Search API\"\n endpoint_url: \"https://www.nationaalarchief.nl/onderzoeken/api/zoeken\"\ + \n protocol: REST\n query_parameters:\n - name: \"q\"\n type: \"string\"\n description: \"Full-text search\ + \ query\"\n - name: \"from\"\n type: \"integer\"\n description: \"Pagination offset\"\n - name: \"size\"\ + \n type: \"integer\"\n description: \"Results per page\"\n pagination_method: OFFSET_LIMIT\n max_results_per_page:\ + \ 100\n response_format: JSON\n supports_facets: true\n facet_fields: [\"type\", \"periode\", \"archief\"]\n```\n\ + \n**Response Structure:**\n\nMost heritage search APIs return JSON with:\n- `total`: Total number of matching records\n\ + - `results`/`items`/`records`: Array of result objects\n- `facets`: Aggregation counts for filtering\n- `pagination`:\ + \ Links or cursors for paging\n\n**See Also:**\n\n- OpenSearch: https://opensearch.org/\n- Hydra API vocabulary: https://www.hydra-cg.com/\n" attributes: has_or_had_url: slot_uri: dcat:endpointURL @@ -45,7 +57,10 @@ classes: required: true query_parameters: slot_uri: hydra:mapping - description: "Query parameters supported by this search API.\n\nDocuments the available search parameters, their types, and usage.\n\nExample:\n```yaml\nquery_parameters:\n - name: \"q\"\n type: \"string\"\n required: true\n description: \"Full-text query\"\n - name: \"type\"\n type: \"string\"\n description: \"Filter by record type\"\n```\n" + description: "Query parameters supported by this search API.\n\nDocuments the available search parameters, their types,\ + \ and usage.\n\nExample:\n```yaml\nquery_parameters:\n - name: \"q\"\n type: \"string\"\n required: true\n\ + \ description: \"Full-text query\"\n - name: \"type\"\n type: \"string\"\n description: \"Filter by record\ + \ type\"\n```\n" range: SearchQueryParameter multivalued: true inlined_as_list: true @@ -235,7 +250,7 @@ classes: annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' SearchQueryParameter: class_uri: hydra:IriTemplateMapping description: 'Describes a query parameter supported by a search API. @@ -266,12 +281,6 @@ classes: ' range: string - required: - slot_uri: hydra:required - description: 'Whether this parameter is required. - - ' - range: boolean parameter_description: slot_uri: dcterms:description description: 'Human-readable description of the parameter. diff --git a/schemas/20251121/linkml/modules/classes/SecurityArchives.yaml b/schemas/20251121/linkml/modules/classes/SecurityArchives.yaml index 518a82bde1..4e71e3829d 100644 --- a/schemas/20251121/linkml/modules/classes/SecurityArchives.yaml +++ b/schemas/20251121/linkml/modules/classes/SecurityArchives.yaml @@ -51,9 +51,7 @@ classes: annotations: skos:prefLabel: Security Archives skos:altLabel: Security Service Archives, Intelligence Archives - geographic_restriction: Czech Republic (primarily) subject_domain: security/intelligence - has_or_had_access_restriction: may have restricted access specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration custodian_types: "['*']" diff --git a/schemas/20251121/linkml/modules/classes/SecurityArchivesRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/SecurityArchivesRecordSetType.yaml index 3a332bc225..944b2eac7c 100644 --- a/schemas/20251121/linkml/modules/classes/SecurityArchivesRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/SecurityArchivesRecordSetType.yaml @@ -24,7 +24,6 @@ classes: class_uri: rico:RecordSetType slots: - has_or_had_type - - dual_class_link - specificity_annotation - has_or_had_score - has_or_had_scope @@ -34,9 +33,6 @@ classes: slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' - dual_class_link: - range: DualClassLink - inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Service.yaml b/schemas/20251121/linkml/modules/classes/Service.yaml index 3999ceadef..04d8d92d1f 100644 --- a/schemas/20251121/linkml/modules/classes/Service.yaml +++ b/schemas/20251121/linkml/modules/classes/Service.yaml @@ -26,21 +26,9 @@ classes: slot_usage: has_or_had_type: range: uriorcurie - description: Type of service attributes: - service_name: - range: string - required: true - description: Name of the service - service_description: - range: string - description: Description of the service price: range: string - description: Price or fee for the service - availability: - range: string - description: Availability schedule exact_mappings: - schema:Service annotations: @@ -49,7 +37,4 @@ classes: custodian_types: "['*']" examples: - value: - service_name: Guided Tours - service_description: Expert-led tours of the collection - price: "\u20AC15 per person" - description: Guided tour service + price: "\u20AC15 per person" \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/ServiceArea.yaml b/schemas/20251121/linkml/modules/classes/ServiceArea.yaml index 9cb21dc5f8..4a8cbc8ec5 100644 --- a/schemas/20251121/linkml/modules/classes/ServiceArea.yaml +++ b/schemas/20251121/linkml/modules/classes/ServiceArea.yaml @@ -64,7 +64,6 @@ classes: - cover_or_covered_subregion - has_or_had_identifier - has_or_had_label - - has_boundary - is_historical_boundary - served_by - service_area_description @@ -126,7 +125,6 @@ classes: name: Haarlem - geonames_id: 2754669 name: Heemskerk - has_boundary: - geospatial_id: https://nde.nl/ontology/hc/geo/nha-boundary has_or_had_geometry: - has_or_had_format: @@ -137,7 +135,6 @@ classes: begin_of_the_begin: '2001-01-01' is_historical_boundary: false served_by: https://nde.nl/ontology/hc/legal/noord-hollands-archief - description: Current service area for Noord-Hollands Archief - value: service_area_id: https://nde.nl/ontology/hc/servicearea/vianen-historical-1500 service_area_name: Graafschap Vianen (Historical) @@ -145,15 +142,6 @@ classes: service_area_type: HISTORICAL covers_country: alpha_2: NL - has_boundary: - - geospatial_id: https://nde.nl/ontology/hc/geo/vianen-1500 - has_or_had_geometry: - - has_or_had_type: - has_or_had_label: POLYGON - source_dataset: HALC - temporal_extent: - begin_of_the_begin: '1500-01-01' - end_of_the_end: '1795-01-01' is_historical_boundary: true temporal_extent: begin_of_the_begin: '1500-01-01' @@ -164,7 +152,6 @@ classes: has_or_had_label: Vianen served_by: https://nde.nl/ontology/hc/legal/gemeentearchief-vianen source_dataset: HALC Historical Boundaries 1500 - description: Historical service area for Gemeentearchief Vianen based on 1500 territory annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Setpoint.yaml b/schemas/20251121/linkml/modules/classes/Setpoint.yaml index 907fb62a4e..d1d5255cf0 100644 --- a/schemas/20251121/linkml/modules/classes/Setpoint.yaml +++ b/schemas/20251121/linkml/modules/classes/Setpoint.yaml @@ -43,7 +43,6 @@ classes: setpoint_type: range: SetpointTypeEnum required: true - description: The type of environmental parameter (temperature, humidity, etc.) examples: - value: TEMPERATURE - value: RELATIVE_HUMIDITY @@ -51,35 +50,27 @@ classes: setpoint_value: range: float required: true - description: The target setpoint value. examples: - value: 18.0 - description: "Target temperature 18\xB0C" - value: 50.0 - description: Target humidity 50% RH setpoint_min: range: float required: false - description: Minimum acceptable value. examples: - value: 16.0 setpoint_max: range: float required: false - description: Maximum acceptable value. examples: - value: 20.0 setpoint_tolerance: range: float required: false - description: "Acceptable deviation from target (\xB1)." examples: - value: 2.0 - description: "\xB12\xB0C tolerance" setpoint_unit: range: MeasureUnitEnum required: true - description: Unit of measurement for the setpoint value. examples: - value: DEGREE_CELSIUS - value: PERCENT @@ -87,7 +78,6 @@ classes: iso_standard_reference: range: string required: false - description: ISO or other standard reference for this setpoint. examples: - value: ISO 11799:2015 - value: EN 15757:2010 @@ -100,7 +90,6 @@ classes: setpoint_tolerance: 2.0 setpoint_unit: DEGREE_CELSIUS iso_standard_reference: ISO 11799:2015 - description: Standard archive temperature setpoint - value: setpoint_type: RELATIVE_HUMIDITY setpoint_value: 50.0 @@ -109,7 +98,6 @@ classes: setpoint_tolerance: 5.0 setpoint_unit: PERCENT iso_standard_reference: ISO 11799:2015 - description: Standard archive humidity setpoint - value: setpoint_type: TEMPERATURE setpoint_value: -18.0 @@ -118,7 +106,6 @@ classes: setpoint_tolerance: 2.0 setpoint_unit: DEGREE_CELSIUS iso_standard_reference: ISO 18911:2010 - description: Cold storage temperature setpoint annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Settlement.yaml b/schemas/20251121/linkml/modules/classes/Settlement.yaml index 5ba7e8f13c..cefdfabea1 100644 --- a/schemas/20251121/linkml/modules/classes/Settlement.yaml +++ b/schemas/20251121/linkml/modules/classes/Settlement.yaml @@ -63,7 +63,6 @@ classes: ' slots: - country - - geonames_id - latitude - longitude - settlement_name @@ -71,8 +70,6 @@ classes: - has_or_had_geographic_subdivision - has_or_had_score slot_usage: - geonames_id: - required: false settlement_name: required: true country: diff --git a/schemas/20251121/linkml/modules/classes/Significance.yaml b/schemas/20251121/linkml/modules/classes/Significance.yaml index f72aa58865..0420eb5138 100644 --- a/schemas/20251121/linkml/modules/classes/Significance.yaml +++ b/schemas/20251121/linkml/modules/classes/Significance.yaml @@ -60,26 +60,18 @@ classes: slot_usage: has_or_had_type: - description: | - The type classification of this significance. - Range narrowed to SignificanceType class hierarchy. range: SignificanceType required: false examples: - value: CommunitySignificance - description: Community/cultural significance - value: EconomicSignificance - description: Economic importance has_or_had_description: - description: | - Detailed description of the significance. range: string required: true examples: - value: "UNESCO-recognized Trappist tradition, Belgian cultural identity" - value: "Economic importance for regional tourism" has_or_had_label: - description: Short label for this significance. range: string required: false examples: @@ -116,9 +108,7 @@ classes: has_or_had_type: CommunitySignificance has_or_had_label: "Belgian Trappist Heritage" has_or_had_description: "UNESCO-recognized Trappist tradition, Belgian cultural identity, Beer pilgrimage site" - description: Community/cultural significance for Trappist brewery - value: has_or_had_type: EconomicSignificance has_or_had_label: "Regional Tourism" - has_or_had_description: "Whisky tourism generating 50,000 visitors/year" - description: Economic significance for Islay distillery + has_or_had_description: "Whisky tourism generating 50,000 visitors/year" \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/SignificanceType.yaml b/schemas/20251121/linkml/modules/classes/SignificanceType.yaml index 006d06a47e..bbd2843467 100644 --- a/schemas/20251121/linkml/modules/classes/SignificanceType.yaml +++ b/schemas/20251121/linkml/modules/classes/SignificanceType.yaml @@ -47,14 +47,12 @@ classes: slot_usage: has_or_had_label: - description: Human-readable label for this significance type. range: string required: true examples: - value: "Community Significance" - value: "Economic Significance" has_or_had_description: - description: Explanation of this significance type. range: string required: false diff --git a/schemas/20251121/linkml/modules/classes/Size.yaml b/schemas/20251121/linkml/modules/classes/Size.yaml index 337b660f73..2ef4404661 100644 --- a/schemas/20251121/linkml/modules/classes/Size.yaml +++ b/schemas/20251121/linkml/modules/classes/Size.yaml @@ -25,10 +25,8 @@ classes: slot_usage: has_or_had_label: range: string - description: Textual representation of dimensions (e.g., '44.5 x 39 cm'). has_or_had_unit: range: string - description: Unit of measurement if applicable. annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/SocialMediaContent.yaml b/schemas/20251121/linkml/modules/classes/SocialMediaContent.yaml index e5492229e0..4bda061d0f 100644 --- a/schemas/20251121/linkml/modules/classes/SocialMediaContent.yaml +++ b/schemas/20251121/linkml/modules/classes/SocialMediaContent.yaml @@ -60,7 +60,6 @@ classes: - dcterms:BibliographicResource slots: - has_or_had_endpoint - - has_api_version - content_category - content_id - content_url @@ -84,45 +83,31 @@ classes: identifier: true examples: - value: FbIoC-Owy-M - description: YouTube video ID content_url: range: uri required: true pattern: ^https?:// examples: - value: https://www.youtube.com/watch?v=FbIoC-Owy-M - description: YouTube video URL platform_type: range: uriorcurie required: true examples: - value: YouTube - description: Content from YouTube platform posted_by_profile: range: SocialMediaProfile required: false examples: - value: https://nde.nl/ontology/hc/social-media/nationaal-onderduikmuseum-youtube - description: Museum's YouTube channel profile has_or_had_label: range: string required: false examples: - value: "De Vrijheidsroute (aflevering 3) \u2013 Zevenaar, Duiven, Westervoort" - description: YouTube video title - description: - range: string - required: false - examples: - - value: De videoreeks De Vrijheidsroute is gebaseerd op de gelijknamige fietsroute... - description: YouTube video description is_or_was_published_at: range: PublicationEvent required: true inlined: true - description: 'Publication event with temporal extent. For precise timestamps, - set all four TimeSpan boundaries to the same instant. - ' examples: - value: temporal_extent: @@ -130,84 +115,54 @@ classes: end_of_the_begin: '2025-07-30T18:05:15Z' begin_of_the_end: '2025-07-30T18:05:15Z' end_of_the_end: '2025-07-30T18:05:15Z' - description: Published July 30, 2025 (precise timestamp) is_or_was_last_updated_at: range: datetime required: false examples: - value: '2025-08-01T10:30:00Z' - description: Last edited August 1, 2025 language: range: string required: false examples: - value: nl - description: Dutch language content is_or_was_categorized_as: range: Tag multivalued: true inlined_as_list: true required: false - description: 'Tags, hashtags, or keywords associated with the content. - MIGRATED from tag slot per slot_fixes.yaml (Rule 53/56, 2026-01-16). - ' examples: - value: - tag_value: 80 jaar vrijheid - is_hashtag: false - tag_platform: YouTube - tag_value: wo2 - is_hashtag: false - tag_platform: YouTube - tag_value: vrijheidsroute - is_hashtag: false - tag_platform: YouTube - description: YouTube video tags (migrated to structured Tag format) has_or_had_url: range: uri required: false - description: 'Thumbnail URL for this social media content. - MIGRATED from thumbnail_url slot per slot_fixes.yaml (Rule 53, 2026-01-15). - ' examples: - value: https://i.ytimg.com/vi/FbIoC-Owy-M/hqdefault.jpg - description: YouTube video thumbnail is_official_content: range: boolean required: false ifabsent: 'true' examples: - value: true - description: Posted by official museum channel content_category: range: string required: false examples: - value: '22' - description: YouTube category ID for People & Blogs retrieval_timestamp: range: datetime required: true examples: - value: '2025-12-01T23:16:22.294232+00:00' - description: Retrieved December 1, 2025 has_or_had_endpoint: range: APIEndpoint inlined: true - description: 'API endpoint used to retrieve this content. - MIGRATED from has_or_had_api_endpoint per Rule 53. - ' examples: - value: has_or_had_url: https://www.googleapis.com/youtube/v3 has_or_had_description: YouTube Data API v3 - description: YouTube API endpoint - has_api_version: - range: string - required: false - examples: - - value: v3 - description: YouTube API version 3 comments: - Abstract base class - use specific subclasses (VideoPost, ImagePost, etc.) - Represents individual CONTENT items, not profiles or platforms diff --git a/schemas/20251121/linkml/modules/classes/SocialMediaPost.yaml b/schemas/20251121/linkml/modules/classes/SocialMediaPost.yaml index fc9d0903cd..7d359117c2 100644 --- a/schemas/20251121/linkml/modules/classes/SocialMediaPost.yaml +++ b/schemas/20251121/linkml/modules/classes/SocialMediaPost.yaml @@ -62,14 +62,12 @@ classes: - dcterms:BibliographicResource slots: - has_or_had_endpoint - - has_api_version - content_category - has_or_had_description - is_official_content - language - platform_type - post_id - - has_or_had_post_type - post_url - posted_by_profile - is_or_was_published_at @@ -87,59 +85,35 @@ classes: identifier: true examples: - value: FbIoC-Owy-M - description: YouTube video ID - value: '1234567890123456789' - description: Twitter/X tweet ID post_url: range: uri required: true pattern: ^https?:// examples: - value: https://www.youtube.com/watch?v=FbIoC-Owy-M - description: YouTube video URL - has_or_had_post_type: - range: SocialMediaPostType - multivalued: true - required: true - inlined: false - examples: - - value: '[VideoPost]' - description: Standard video content - value: '[CarouselPost, ImagePost, VideoPost]' - description: Instagram carousel with mixed media platform_type: range: uriorcurie required: true inlined: false examples: - value: YouTube - description: Posted on YouTube posted_by_profile: range: SocialMediaProfile required: false inlined: false examples: - value: https://nde.nl/ontology/hc/social-media/nationaal-onderduikmuseum-youtube - description: Museum's YouTube channel profile has_or_had_label: range: string required: false examples: - value: "De Vrijheidsroute (aflevering 3) \u2013 Zevenaar, Duiven, Westervoort" - description: YouTube video title - description: - range: string - required: false - examples: - - value: De videoreeks De Vrijheidsroute is gebaseerd op de gelijknamige fietsroute... - description: YouTube video description is_or_was_published_at: range: PublicationEvent required: true inlined: true - description: 'Publication event with temporal extent. For precise timestamps, - set all four TimeSpan boundaries to the same instant. - ' examples: - value: temporal_extent: @@ -147,84 +121,54 @@ classes: end_of_the_begin: '2025-07-30T18:05:15Z' begin_of_the_end: '2025-07-30T18:05:15Z' end_of_the_end: '2025-07-30T18:05:15Z' - description: Published July 30, 2025 (precise timestamp) is_or_was_last_updated_at: range: datetime required: false examples: - value: '2025-08-01T10:30:00Z' - description: Last edited August 1, 2025 language: range: string required: false examples: - value: nl - description: Dutch language content is_or_was_categorized_as: range: Tag multivalued: true inlined_as_list: true required: false - description: 'Tags, hashtags, or keywords associated with the post. - MIGRATED from tag slot per slot_fixes.yaml (Rule 53/56, 2026-01-16). - ' examples: - value: - tag_value: 80 jaar vrijheid - is_hashtag: false - tag_platform: YouTube - tag_value: wo2 - is_hashtag: false - tag_platform: YouTube - tag_value: vrijheidsroute - is_hashtag: false - tag_platform: YouTube - description: YouTube video tags (migrated to structured Tag format) has_or_had_url: range: uri required: false - description: 'Thumbnail URL for this social media post. - MIGRATED from thumbnail_url slot per slot_fixes.yaml (Rule 53, 2026-01-15). - ' examples: - value: https://i.ytimg.com/vi/FbIoC-Owy-M/hqdefault.jpg - description: YouTube video thumbnail is_official_content: range: boolean required: false ifabsent: 'true' examples: - value: true - description: Posted by official museum channel content_category: range: string required: false examples: - value: '22' - description: YouTube category ID for People & Blogs retrieval_timestamp: range: datetime required: true examples: - value: '2025-12-01T23:16:22.294232+00:00' - description: Retrieved December 1, 2025 has_or_had_endpoint: range: APIEndpoint inlined: true - description: 'API endpoint used to retrieve this post. - MIGRATED from has_or_had_api_endpoint per Rule 53. - ' examples: - value: has_or_had_url: https://www.googleapis.com/youtube/v3 has_or_had_description: YouTube Data API v3 - description: YouTube API endpoint - has_api_version: - range: string - required: false - examples: - - value: v3 - description: YouTube API version 3 comments: - Concrete class for social media posts - post_types is MULTIVALUED - a post can have multiple content types diff --git a/schemas/20251121/linkml/modules/classes/SocialMediaProfile.yaml b/schemas/20251121/linkml/modules/classes/SocialMediaProfile.yaml index f49e01f40a..1224a2446b 100644 --- a/schemas/20251121/linkml/modules/classes/SocialMediaProfile.yaml +++ b/schemas/20251121/linkml/modules/classes/SocialMediaProfile.yaml @@ -69,32 +69,22 @@ classes: - schema:sameAs - dcterms:identifier slots: - - has_or_had_account_identifier - - has_or_had_account_name - - has_or_had_account_status - - has_or_had_associated_auxiliary_platform - - has_or_had_associated_digital_platform - cover_image_url - created_date - has_or_had_engagement_metric - - follower_count - - following_count - is_primary_digital_presence - language - metrics_observed_date - platform_name - platform_type - post_count - - has_or_had_primary_presence_assertion - profile_description - profile_image_url - - profile_url - refers_to_custodian - social_media_profile_id - specificity_annotation - has_or_had_score - temporal_extent - - has_or_had_verification_status - is_or_was_derived_from - is_or_was_generated_by slot_usage: @@ -104,170 +94,84 @@ classes: identifier: true examples: - value: https://nde.nl/ontology/hc/social-media/rijksmuseum-instagram - description: Rijksmuseum Instagram profile ID platform_type: range: uriorcurie required: true examples: - value: INSTAGRAM - description: Instagram platform - value: FACEBOOK - description: Facebook platform platform_name: range: string required: false examples: - value: Instagram - description: Instagram platform name - value: Mastodon (glammr.us) - description: Mastodon instance specification - has_or_had_account_name: - range: string - required: true - examples: - - value: rijksmuseum - description: Rijksmuseum username - has_or_had_account_identifier: - range: string - required: false - examples: - - value: '123456789' - description: Twitter user ID - profile_url: - range: uri - required: true - pattern: ^https?:// - examples: - - value: https://www.instagram.com/rijksmuseum - description: Rijksmuseum Instagram URL profile_description: range: string required: false examples: - value: The museum of the Netherlands. Open daily 9-17h. - description: Rijksmuseum Instagram bio is_primary_digital_presence: range: boolean required: false ifabsent: 'false' examples: - value: false - description: Instagram supports main website - value: true - description: Facebook IS the main digital presence - has_or_had_primary_presence_assertion: - range: PrimaryDigitalPresenceAssertion - multivalued: true - inlined_as_list: true - required: false - has_or_had_verification_status: - description: 'Platform verification status (e.g., verified checkmark). - MIGRATED from verified boolean to structured VerificationStatus class. - ' - range: VerificationStatus inlined: true - required: false - examples: - value: - status: VERIFIED verified_date: '2024-06-15T00:00:00Z' - description: Verified account with blue checkmark - follower_count: - range: integer - required: false - examples: - - value: 1200000 - description: 1.2M Instagram followers - following_count: - range: integer - required: false - examples: - - value: 250 - description: Following 250 accounts post_count: range: integer required: false examples: - value: 2500 - description: 2,500 posts has_or_had_engagement_metric: range: EngagementMetric inlined: true multivalued: true - description: Metrics tracking engagement (rates, counts). MIGRATED from engagement_rate per Rule 53 (2026-01-26). examples: - value: has_or_had_type: Engagement Rate has_or_had_value: 2.5 has_or_had_unit: '%' - description: Average engagement rate metrics_observed_date: range: datetime required: false examples: - value: '2025-11-29T12:00:00Z' - description: Metrics observed November 29, 2025 profile_image_url: range: uri required: false examples: - value: https://instagram.com/p/rijksmuseum/avatar.jpg - description: Profile image URL cover_image_url: range: uri required: false examples: - value: https://facebook.com/rijksmuseum/cover.jpg - description: Facebook cover image - has_or_had_associated_digital_platform: - range: DigitalPlatform - required: false - examples: - - value: https://nde.nl/ontology/hc/platform/rijksmuseum-website - description: Linked to main Rijksmuseum website - has_or_had_associated_auxiliary_platform: - range: AuxiliaryDigitalPlatform - required: false - examples: - - value: https://nde.nl/ontology/hc/aux-platform/night-watch-exhibition - description: Instagram for Night Watch exhibition created_date: range: date required: false examples: - value: '2012-03-15' - description: Account created March 2012 temporal_extent: - description: 'Validity period using CIDOC-CRM TimeSpan. - MIGRATED from valid_from + valid_to per slot_fixes.yaml (Rule 53). - ' range: TimeSpan inlined: true required: false examples: - value: begin_of_the_begin: '2012-03-15' - description: Active from March 2012 - value: begin_of_the_begin: '2012-03-15' end_of_the_end: '2024-06-01' - description: Account active March 2012 to June 2024 - has_or_had_account_status: - range: string - required: false - examples: - - value: ACTIVE - description: Account is actively maintained - value: MIGRATED - description: Moved to new platform language: range: string required: false examples: - value: nl - description: Dutch language profile - value: en - description: English language profile is_or_was_derived_from: range: CustodianObservation multivalued: true @@ -280,7 +184,6 @@ classes: required: true examples: - value: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Rijksmuseum custodian hub comments: - SocialMediaProfile models THIRD-PARTY social media accounts - Distinct from DigitalPlatform (owned websites) and AuxiliaryDigitalPlatform (owned project sites) @@ -302,9 +205,6 @@ classes: profile_url: https://www.instagram.com/rijksmuseum profile_description: 'The museum of the Netherlands. Open daily 9-17h. #Rijksmuseum' is_primary_digital_presence: false - has_or_had_verification_status: - status: VERIFIED - follower_count: 1200000 post_count: 3500 has_or_had_engagement_metric: - has_or_had_type: Engagement Rate @@ -315,7 +215,6 @@ classes: account_status: ACTIVE language: en refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Rijksmuseum Instagram (supports main website) - value: social_media_profile_id: https://nde.nl/ontology/hc/social-media/hvn-facebook platform_type: FACEBOOK @@ -323,27 +222,18 @@ classes: profile_url: https://www.facebook.com/HistorischeVerenigingNijeveen profile_description: Historische Vereniging Nijeveen - preserving local heritage since 1985 is_primary_digital_presence: true - has_or_had_verification_status: - status: UNVERIFIED - follower_count: 450 post_count: 320 metrics_observed_date: '2025-11-29T10:00:00Z' associated_digital_platform: null account_status: ACTIVE language: nl refers_to_custodian: https://nde.nl/ontology/hc/nl-dr-nvn-s-hvn - description: Local heritage society with Facebook as primary presence - value: social_media_profile_id: https://nde.nl/ontology/hc/social-media/rijksmuseum-x platform_type: X_TWITTER account_name: rijksmuseum - has_or_had_account_identifier: '20137141' profile_url: https://x.com/rijksmuseum is_primary_digital_presence: false - has_or_had_verification_status: - status: VERIFIED - follower_count: 350000 - following_count: 150 post_count: 12500 metrics_observed_date: '2025-11-29T12:00:00Z' associated_digital_platform: https://nde.nl/ontology/hc/platform/rijksmuseum-website @@ -351,7 +241,6 @@ classes: account_status: ACTIVE language: en refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Rijksmuseum X/Twitter profile annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/SocialNetworkMember.yaml b/schemas/20251121/linkml/modules/classes/SocialNetworkMember.yaml index 84f18735ed..dfa9f5a3e2 100644 --- a/schemas/20251121/linkml/modules/classes/SocialNetworkMember.yaml +++ b/schemas/20251121/linkml/modules/classes/SocialNetworkMember.yaml @@ -68,12 +68,8 @@ classes: slot_usage: has_or_had_identifier: - description: Unique identifier for this network member (LinkedIn URL, ORCID, etc.). has_or_had_label: - description: Name of the network member. linkedin_profile_url: - description: LinkedIn profile URL if available. - annotations: custodian_types: '["*"]' custodian_types_rationale: Network members can be associated with any heritage type. @@ -89,5 +85,4 @@ classes: - value: has_or_had_label: label_text: "Jan de Vries" - linkedin_profile_url: "https://www.linkedin.com/in/jan-de-vries-heritage/" - description: "Heritage professional as network member" + linkedin_profile_url: "https://www.linkedin.com/in/jan-de-vries-heritage/" \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/SoundArchive.yaml b/schemas/20251121/linkml/modules/classes/SoundArchive.yaml index ea1f6b1fad..a3507b30bc 100644 --- a/schemas/20251121/linkml/modules/classes/SoundArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/SoundArchive.yaml @@ -27,7 +27,10 @@ imports: - ./WikidataAlignment classes: SoundArchive: - description: "A heritage custodian specialized in collecting, preserving, and providing access to audio recordings and sound materials. Sound archives (also known as phonoth\xE8ques or fonotecas) hold diverse audio collections including music recordings, oral histories, radio broadcasts, field recordings, and other audio documentation of cultural significance." + description: "A heritage custodian specialized in collecting, preserving, and providing access to audio recordings and\ + \ sound materials. Sound archives (also known as phonoth\xE8ques or fonotecas) hold diverse audio collections including\ + \ music recordings, oral histories, radio broadcasts, field recordings, and other audio documentation of cultural\ + \ significance." is_a: ArchiveOrganizationType class_uri: schema:ArchiveOrganization slots: @@ -52,22 +55,13 @@ classes: custodian_type: true specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' slot_usage: has_or_had_type: equals_expression: '["hc:ArchiveOrganizationType"]' is_or_was_related_to: range: WikidataAlignment inlined: true - attributes: - audio_format_types: - description: Types of audio formats in the collection (vinyl, tape, digital, etc.) - range: string - multivalued: true - subject_focus: - description: Subject areas of audio collection (music, oral history, nature sounds, etc.) - range: string - multivalued: true see_also: - RadioArchive - MediaArchive diff --git a/schemas/20251121/linkml/modules/classes/Source.yaml b/schemas/20251121/linkml/modules/classes/Source.yaml index 0685138ca7..295cd9c075 100644 --- a/schemas/20251121/linkml/modules/classes/Source.yaml +++ b/schemas/20251121/linkml/modules/classes/Source.yaml @@ -34,15 +34,12 @@ classes: - has_or_had_description slot_usage: has_or_had_type: - description: The type or category of this source (e.g., MANUAL, AI_GENERATED, IMPORTED) range: uriorcurie required: false has_or_had_label: - description: Human-readable name for this source range: string required: false has_or_had_description: - description: Detailed description of the source range: string required: false annotations: @@ -54,16 +51,13 @@ classes: has_or_had_type: MANUAL has_or_had_label: Creator-defined chapters has_or_had_description: Chapters manually defined in video description - description: Manual source for video chapters - value: has_or_had_type: YOUTUBE_AI has_or_had_label: YouTube Auto-Chapters has_or_had_description: AI-generated chapter markers from YouTube - description: AI-generated source - value: has_or_had_type: WHISPER_CHAPTERS has_or_had_label: Whisper Transcript Analysis - description: Whisper-derived chapters ChapterSource: is_a: Source class_uri: hc:ChapterSource @@ -75,5 +69,4 @@ classes: examples: - value: has_or_had_type: YOUTUBE_AI - has_or_had_label: YouTube Auto-Chapters - description: YouTube AI-generated chapters + has_or_had_label: YouTube Auto-Chapters \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/SourceCommentCount.yaml b/schemas/20251121/linkml/modules/classes/SourceCommentCount.yaml index 9df8716ac9..85d222dc61 100644 --- a/schemas/20251121/linkml/modules/classes/SourceCommentCount.yaml +++ b/schemas/20251121/linkml/modules/classes/SourceCommentCount.yaml @@ -108,44 +108,23 @@ classes: slot_usage: was_fetched_at: - description: | - When the comments were fetched from the source. range: Timestamp inlined: true required: false examples: - value: has_or_had_timestamp: "2025-01-14T10:30:00Z" - description: Fetch timestamp - has_or_had_quantity: - description: | - Alternative structured representation of count. - Use fetched_count for simple integer. range: integer inlined: true required: false examples: - value: - fetched_count: 100 - total_count: 500 - fetch_complete: false - source_api: "youtube_data_api_v3" was_fetched_at: has_or_had_timestamp: "2025-01-14T10:30:00Z" - description: Partial comment fetch from YouTube API - - value: - fetched_count: 50 - total_count: 50 - fetch_complete: true - description: Complete comment fetch - - value: - fetched_count: 0 - description: No comments fetched (minimal) - comments: - Created 2026-01-22 from comments_fetched migration (Rule 53) - Tracks fetched vs total comment counts diff --git a/schemas/20251121/linkml/modules/classes/Speaker.yaml b/schemas/20251121/linkml/modules/classes/Speaker.yaml index 5b80eba604..0d0af95607 100644 --- a/schemas/20251121/linkml/modules/classes/Speaker.yaml +++ b/schemas/20251121/linkml/modules/classes/Speaker.yaml @@ -38,11 +38,9 @@ classes: slot_usage: has_or_had_identifier: - description: Unique identifier for the speaker (e.g., "spk_001", Wikidata ID). range: uriorcurie required: true has_or_had_label: - description: Human-readable name or label for the speaker (e.g., "Curator", "Interviewer"). range: string required: false @@ -59,8 +57,6 @@ classes: - value: has_or_had_identifier: spk_001 has_or_had_label: Curator - description: Identified curator speaker - value: has_or_had_identifier: https://www.wikidata.org/wiki/Q12345 - has_or_had_label: John Doe - description: Speaker linked to Wikidata entity + has_or_had_label: John Doe \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/SpecialCollection.yaml b/schemas/20251121/linkml/modules/classes/SpecialCollection.yaml index b47e8d5728..21a9e11d2d 100644 --- a/schemas/20251121/linkml/modules/classes/SpecialCollection.yaml +++ b/schemas/20251121/linkml/modules/classes/SpecialCollection.yaml @@ -31,7 +31,10 @@ imports: - ./WikidataAlignment classes: SpecialCollection: - description: A library or library unit that houses materials requiring specialized security and user services, or whose relationship (period, subject, format, provenance, etc.) is to be preserved as a distinct collection. Special collections typically include rare books, manuscripts, archives, maps, photographs, and other unique or valuable materials that require special handling, storage, and access conditions. + description: A library or library unit that houses materials requiring specialized security and user services, or whose + relationship (period, subject, format, provenance, etc.) is to be preserved as a distinct collection. Special collections + typically include rare books, manuscripts, archives, maps, photographs, and other unique or valuable materials that + require special handling, storage, and access conditions. is_a: ArchiveOrganizationType class_uri: skos:Concept exact_mappings: @@ -65,17 +68,6 @@ classes: equals_string: "fonds sp\xE9ciaux" custodian_type: equals_expression: 'true' - attributes: - collection_strengths: - description: Subject or format strengths of the special collection - range: string - multivalued: true - has_or_had_access_restriction: - description: Special access requirements or restrictions - range: string - reading_room_required: - description: Whether materials must be used in a supervised reading room - range: boolean see_also: - RareBookLibrary - ManuscriptCollection @@ -84,4 +76,4 @@ classes: annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/SpecializedArchive.yaml b/schemas/20251121/linkml/modules/classes/SpecializedArchive.yaml index ad7016f56b..6434404618 100644 --- a/schemas/20251121/linkml/modules/classes/SpecializedArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/SpecializedArchive.yaml @@ -27,7 +27,9 @@ imports: - ./WikidataAlignment classes: SpecializedArchive: - description: An archive specialized in a specific field, subject area, format, or type of documentation. Specialized archives (Facharchive) focus their collection and preservation activities on particular domains such as architecture, medicine, sports, or other thematic areas, developing deep expertise in their chosen specialization. + description: An archive specialized in a specific field, subject area, format, or type of documentation. Specialized + archives (Facharchive) focus their collection and preservation activities on particular domains such as architecture, medicine, + sports, or other thematic areas, developing deep expertise in their chosen specialization. is_a: ArchiveOrganizationType class_uri: schema:ArchiveOrganization slots: @@ -50,14 +52,6 @@ classes: is_or_was_related_to: range: WikidataAlignment inlined: true - attributes: - specialization_field: - description: The specific field or subject area of specialization - range: string - required: true - format_specialization: - description: Any format-based specialization (photographs, films, maps, etc.) - range: string see_also: - SpecializedArchivesCzechia - LiteraryArchive @@ -72,4 +66,4 @@ classes: custodian_type: true specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/SpecializedArchivesCzechia.yaml b/schemas/20251121/linkml/modules/classes/SpecializedArchivesCzechia.yaml index 4c16e66c8e..ab4e9dab2d 100644 --- a/schemas/20251121/linkml/modules/classes/SpecializedArchivesCzechia.yaml +++ b/schemas/20251121/linkml/modules/classes/SpecializedArchivesCzechia.yaml @@ -27,7 +27,9 @@ imports: - ./WikidataAlignment classes: SpecializedArchivesCzechia: - description: A type of specialized archives specific to the Czech archival system. These archives focus on particular subject areas, formats, or types of documentation within the Czech national archival framework, operating under Czech archival law and regulations. + description: A type of specialized archives specific to the Czech archival system. These archives focus on particular + subject areas, formats, or types of documentation within the Czech national archival framework, operating under Czech + archival law and regulations. is_a: ArchiveOrganizationType class_uri: schema:ArchiveOrganization slots: @@ -50,10 +52,6 @@ classes: is_or_was_related_to: range: WikidataAlignment inlined: true - attributes: - czech_archive_category: - description: Category within Czech archival classification system - range: string see_also: - SpecializedArchive - StateDistrictArchive @@ -62,9 +60,8 @@ classes: annotations: label_es: archivo especializado label_fr: "archives sp\xE9cialis\xE9es" - geographic_restriction: CZ record_set_type: true custodian_type: true specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/SpecializedArchivesCzechiaRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/SpecializedArchivesCzechiaRecordSetType.yaml index 0c0597e63a..b8a74cc122 100644 --- a/schemas/20251121/linkml/modules/classes/SpecializedArchivesCzechiaRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/SpecializedArchivesCzechiaRecordSetType.yaml @@ -28,7 +28,6 @@ classes: see_also: - SpecializedArchivesCzechia annotations: - geographic_restriction: CZ specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration custodian_types: "['*']" diff --git a/schemas/20251121/linkml/modules/classes/StaffRole.yaml b/schemas/20251121/linkml/modules/classes/StaffRole.yaml index 4fead3391e..7dc4697827 100644 --- a/schemas/20251121/linkml/modules/classes/StaffRole.yaml +++ b/schemas/20251121/linkml/modules/classes/StaffRole.yaml @@ -95,48 +95,21 @@ classes: multivalued: true inlined: true inlined_as_list: true - description: 'Common role title variants, synonyms, and alternative names. - - MIGRATED from common_variant per slot_fixes.yaml (Rule 53, 2026-01-22). - - - Uses VariantType class hierarchy for structured representation: - - - AbbreviationVariant: Abbreviated forms (e.g., "Dir." for "Director") - - - SynonymVariant: Alternative names (e.g., "Keeper" for "Curator") - - - RegionalVariant: Regional variations (e.g., British vs American) - - - HistoricalVariant: Archaic/obsolete terms - - - InformalVariant: Colloquial names - - - TranslationVariant: Translations in other languages - - ' examples: - value: has_or_had_label: Keeper has_or_had_type: SynonymVariant has_or_had_description: British English alternative for Curator - description: Regional synonym for Curator - value: has_or_had_label: Conservateur has_or_had_type: TranslationVariant has_or_had_language: fr - description: French translation includes_or_included: required: false range: VariantType multivalued: true inlined: true inlined_as_list: true - description: 'Included variant types for this role. - - Used to express containment relationships in variant hierarchies. - - ' comments: - Abstract base class - use specific subclasses (Curator, Archivist, etc.) - Represents OFFICIAL JOB TITLES, not de facto work performed diff --git a/schemas/20251121/linkml/modules/classes/Standard.yaml b/schemas/20251121/linkml/modules/classes/Standard.yaml index 6e588703e9..05ac2620f0 100644 --- a/schemas/20251121/linkml/modules/classes/Standard.yaml +++ b/schemas/20251121/linkml/modules/classes/Standard.yaml @@ -29,8 +29,17 @@ imports: classes: Standard: class_uri: skos:ConceptScheme - description: "A standard that defines an identifier system for heritage institutions or related entities.\n\n**Key Concepts:**\n\n1. **Standard**: The specification itself (ISO 15511, ISO 27729)\n2. **RegistrationAuthority**: Global registry maintainer (OCLC for ISIL, WIPO for ISNI)\n3. **AllocationAgency**: Local allocator by country/domain (National Library of NL for ISIL)\n4. **IdentifierFormat**: Format variants (ISNI with or without spaces)\n\n**Examples:**\n\n- **ISIL** (ISO 15511):\n - defined_by: ISO\n - registration_authority: Danish Agency for Culture and Palaces\n - geographic_scope: Global (160+ countries)\n - formats: \"XX-YYYY\" (country prefix + local code)\n\n- **ISNI** (ISO 27729):\n - defined_by: ISO\n - registration_authority: WIPO (ISNI International Agency)\n - geographic_scope: Global\n - formats: \"0000 0000 0000 0000\" or \"0000000000000000\"\n\n- **Wikidata Q-ID**:\n - defined_by: Wikimedia Foundation (not ISO)\n - registration_authority: Wikimedia\ - \ Foundation\n - formats: \"Q\" + digits\n\n**Ontology Alignment:**\n\n- skos:ConceptScheme - SKOS concept scheme (identifier systems as schemes)\n- schema:DefinedTermSet - Schema.org defined term set\n- dcterms:Standard - Dublin Core standard reference\n" + description: "A standard that defines an identifier system for heritage institutions or related entities.\n\n**Key Concepts:**\n\ + \n1. **Standard**: The specification itself (ISO 15511, ISO 27729)\n2. **RegistrationAuthority**: Global registry maintainer\ + \ (OCLC for ISIL, WIPO for ISNI)\n3. **AllocationAgency**: Local allocator by country/domain (National Library of NL\ + \ for ISIL)\n4. **IdentifierFormat**: Format variants (ISNI with or without spaces)\n\n**Examples:**\n\n- **ISIL** (ISO\ + \ 15511):\n - defined_by: ISO\n - registration_authority: Danish Agency for Culture and Palaces\n - geographic_scope:\ + \ Global (160+ countries)\n - formats: \"XX-YYYY\" (country prefix + local code)\n\n- **ISNI** (ISO 27729):\n - defined_by:\ + \ ISO\n - registration_authority: WIPO (ISNI International Agency)\n - geographic_scope: Global\n - formats: \"0000\ + \ 0000 0000 0000\" or \"0000000000000000\"\n\n- **Wikidata Q-ID**:\n - defined_by: Wikimedia Foundation (not ISO)\n\ + \ - registration_authority: Wikimedia Foundation\n - formats: \"Q\" + digits\n\n**Ontology Alignment:**\n\n- skos:ConceptScheme\ + \ - SKOS concept scheme (identifier systems as schemes)\n- schema:DefinedTermSet - Schema.org defined term set\n- dcterms:Standard\ + \ - Dublin Core standard reference\n" exact_mappings: - skos:ConceptScheme close_mappings: @@ -96,7 +105,8 @@ classes: range: string defined_by: slot_uri: dcterms:creator - description: "Standards organization that defines this standard.\n\nExamples:\n- ISIL \u2192 ISO\n- VIAF \u2192 OCLC (in collaboration with national libraries)\n- Wikidata \u2192 Wikimedia Foundation\n" + description: "Standards organization that defines this standard.\n\nExamples:\n- ISIL \u2192 ISO\n- VIAF \u2192 OCLC\ + \ (in collaboration with national libraries)\n- Wikidata \u2192 Wikimedia Foundation\n" range: StandardsOrganization required: true inlined: false @@ -284,7 +294,14 @@ classes: range: string standard_type: slot_uri: schema:additionalType - description: "Classification of how this standard/identifier system is governed.\n\nThis is CRITICAL for understanding the authority model:\n\n- **ISO_STANDARD**: Formal ISO standard with TC governance\n - Examples: ISIL (ISO 15511), ISNI (ISO 27729)\n - Has iso_standard_number\n - Governed by ISO Technical Committee\n\n- **CONSORTIUM_SERVICE**: Collaborative aggregation service\n - Examples: VIAF, ORCID, ROR\n - NO ISO number\n - Governed by council/board with contributor representatives\n - has contributing_agencies list\n\n- **PROPRIETARY_SYSTEM**: Single-organization system\n - Examples: Wikidata Q-IDs, GND, LCNAF\n - Controlled by one organization\n\n- **NATIONAL_STANDARD**: Country-specific standard\n - Examples: KvK (NL), Companies House (UK)\n\n- **COMMUNITY_STANDARD**: De facto community standard\n - Examples: DOI (before ISO formalization)\n" + description: "Classification of how this standard/identifier system is governed.\n\nThis is CRITICAL for understanding\ + \ the authority model:\n\n- **ISO_STANDARD**: Formal ISO standard with TC governance\n - Examples: ISIL (ISO 15511),\ + \ ISNI (ISO 27729)\n - Has iso_standard_number\n - Governed by ISO Technical Committee\n\n- **CONSORTIUM_SERVICE**:\ + \ Collaborative aggregation service\n - Examples: VIAF, ORCID, ROR\n - NO ISO number\n - Governed by council/board\ + \ with contributor representatives\n - has contributing_agencies list\n\n- **PROPRIETARY_SYSTEM**: Single-organization\ + \ system\n - Examples: Wikidata Q-IDs, GND, LCNAF\n - Controlled by one organization\n\n- **NATIONAL_STANDARD**:\ + \ Country-specific standard\n - Examples: KvK (NL), Companies House (UK)\n\n- **COMMUNITY_STANDARD**: De facto\ + \ community standard\n - Examples: DOI (before ISO formalization)\n" range: string required: true governance_model: @@ -308,7 +325,11 @@ classes: range: GovernanceModelEnum contributing_agencies: slot_uri: schema:contributor - description: "Organizations that contribute data to this identifier system.\n\nONLY applicable for CONSORTIUM_SERVICE type standards.\n\nFor VIAF, this includes 37 national libraries and agencies:\n- Library of Congress (LC)\n- Deutsche Nationalbibliothek (DNB)\n- Biblioth\xE8que nationale de France (BnF)\n- National Library of the Netherlands (NTA)\n- etc.\n\nContributors are both:\n1. DATA SOURCES: They provide authority records\n2. ALLOCATION AGENCIES: They allocate their own national IDs\n\nSee ContributingAgency class for full modeling.\n" + description: "Organizations that contribute data to this identifier system.\n\nONLY applicable for CONSORTIUM_SERVICE\ + \ type standards.\n\nFor VIAF, this includes 37 national libraries and agencies:\n- Library of Congress (LC)\n-\ + \ Deutsche Nationalbibliothek (DNB)\n- Biblioth\xE8que nationale de France (BnF)\n- National Library of the Netherlands\ + \ (NTA)\n- etc.\n\nContributors are both:\n1. DATA SOURCES: They provide authority records\n2. ALLOCATION AGENCIES:\ + \ They allocate their own national IDs\n\nSee ContributingAgency class for full modeling.\n" range: ContributingAgency multivalued: true inlined: false @@ -344,7 +365,11 @@ classes: range: uri applicable_schema_types: slot_uri: schema:about - description: "Schema.org classes that this identifier standard applies to.\n\nThis enables semantic querying like \"which identifiers apply to Museums?\"\n\nExamples:\n- ISIL: [schema:Library, schema:Museum, schema:ArchiveOrganization, \n schema:ResearchOrganization, schema:GovernmentOrganization]\n- ORCID: [schema:Person]\n- ROR: [schema:ResearchOrganization, schema:EducationalOrganization]\n- KvK: [schema:Organization] (all legal entity types)\n\nUses Schema.org class URIs from https://schema.org/\n" + description: "Schema.org classes that this identifier standard applies to.\n\nThis enables semantic querying like\ + \ \"which identifiers apply to Museums?\"\n\nExamples:\n- ISIL: [schema:Library, schema:Museum, schema:ArchiveOrganization,\ + \ \n schema:ResearchOrganization, schema:GovernmentOrganization]\n- ORCID: [schema:Person]\n- ROR: [schema:ResearchOrganization,\ + \ schema:EducationalOrganization]\n- KvK: [schema:Organization] (all legal entity types)\n\nUses Schema.org class\ + \ URIs from https://schema.org/\n" range: uriorcurie multivalued: true wikidata_id: @@ -487,10 +512,16 @@ classes: annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' IdentifierFormat: class_uri: schema:PropertyValue - description: "A specific format variant for an identifier standard.\n\nMany identifier standards allow multiple display formats. This class\ncaptures the variations and which is canonical for storage.\n\n**Examples:**\n\n- **ISNI formats:**\n - \"0000 0000 0000 0000\" (display format with spaces)\n - \"0000000000000000\" (compact/canonical for storage)\n - \"http://isni.org/isni/0000000000000000\" (URI format)\n\n- **ISIL formats:**\n - \"NL-AmUvA\" (full format with country prefix)\n - \"AmUvA\" (local part only)\n\n- **Wikidata formats:**\n - \"Q12345\" (short form)\n - \"http://www.wikidata.org/entity/Q12345\" (full URI)\n\n**Usage:**\n\nWhen storing identifiers, use the canonical format (canonical: true).\nWhen displaying, choose the appropriate format for the context.\n" + description: "A specific format variant for an identifier standard.\n\nMany identifier standards allow multiple display\ + \ formats. This class\ncaptures the variations and which is canonical for storage.\n\n**Examples:**\n\n- **ISNI formats:**\n\ + \ - \"0000 0000 0000 0000\" (display format with spaces)\n - \"0000000000000000\" (compact/canonical for storage)\n\ + \ - \"http://isni.org/isni/0000000000000000\" (URI format)\n\n- **ISIL formats:**\n - \"NL-AmUvA\" (full format with\ + \ country prefix)\n - \"AmUvA\" (local part only)\n\n- **Wikidata formats:**\n - \"Q12345\" (short form)\n - \"http://www.wikidata.org/entity/Q12345\"\ + \ (full URI)\n\n**Usage:**\n\nWhen storing identifiers, use the canonical format (canonical: true).\nWhen displaying,\ + \ choose the appropriate format for the context.\n" exact_mappings: - schema:PropertyValue attributes: @@ -518,24 +549,6 @@ classes: ' range: string required: true - pattern: - slot_uri: schema:pattern - description: 'Regular expression pattern for this format. - - - Examples: - - - ISNI display: "^[0-9]{4} [0-9]{4} [0-9]{4} [0-9]{3}[0-9X]$" - - - ISNI compact: "^[0-9]{15}[0-9X]$" - - - ISIL: "^[A-Z]{2}-[A-Za-z0-9-]+$" - - - Wikidata: "^Q[0-9]+$" - - ' - range: string - required: true example: slot_uri: schema:exampleOfWork description: 'Example identifier in this format. @@ -593,7 +606,9 @@ classes: required: true transformation_to_canonical: slot_uri: schema:algorithm - description: "Description of how to transform this format to canonical.\n\nExamples:\n- ISNI display \u2192 compact: \"Remove spaces\"\n- Wikidata URI \u2192 short: \"Extract Q-number from URI path\"\n- ISIL local \u2192 full: \"Prepend country code prefix\"\n" + description: "Description of how to transform this format to canonical.\n\nExamples:\n- ISNI display \u2192 compact:\ + \ \"Remove spaces\"\n- Wikidata URI \u2192 short: \"Extract Q-number from URI path\"\n- ISIL local \u2192 full:\ + \ \"Prepend country code prefix\"\n" range: string slots: - specificity_annotation diff --git a/schemas/20251121/linkml/modules/classes/StateArchives.yaml b/schemas/20251121/linkml/modules/classes/StateArchives.yaml index a56ddfcab5..030c373c1d 100644 --- a/schemas/20251121/linkml/modules/classes/StateArchives.yaml +++ b/schemas/20251121/linkml/modules/classes/StateArchives.yaml @@ -34,7 +34,9 @@ imports: - ./WikidataAlignment classes: StateArchives: - description: An archive operated by and for a state (subnational entity), responsible for preserving records of state government agencies, courts, and other state-level institutions. State archives (Staatsarchive) serve as the official repository for historical records of state administration and governance, distinct from national or federal archives. + description: An archive operated by and for a state (subnational entity), responsible for preserving records of state + government agencies, courts, and other state-level institutions. State archives (Staatsarchive) serve as the official + repository for historical records of state administration and governance, distinct from national or federal archives. is_a: ArchiveOrganizationType class_uri: schema:ArchiveOrganization slots: @@ -57,14 +59,6 @@ classes: is_or_was_related_to: range: WikidataAlignment inlined: true - attributes: - state_jurisdiction: - description: The state or subnational entity served by this archive - range: string - government_branch_coverage: - description: Branches of state government whose records are held - range: string - multivalued: true see_also: - NationalArchives - RegionalArchive @@ -79,4 +73,4 @@ classes: custodian_type: true specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/StateArchivesSection.yaml b/schemas/20251121/linkml/modules/classes/StateArchivesSection.yaml index 2542d15936..f8a34294d4 100644 --- a/schemas/20251121/linkml/modules/classes/StateArchivesSection.yaml +++ b/schemas/20251121/linkml/modules/classes/StateArchivesSection.yaml @@ -34,7 +34,9 @@ imports: - ./WikidataAlignment classes: StateArchivesSection: - description: A section of a national archive in Italy (sezione di archivio di Stato). These are branch offices or divisions of the Italian state archives system, typically located in smaller cities or towns to provide local access to archival services and preserve records of regional significance within the Italian national archival framework. + description: A section of a national archive in Italy (sezione di archivio di Stato). These are branch offices or divisions + of the Italian state archives system, typically located in smaller cities or towns to provide local access to archival + services and preserve records of regional significance within the Italian national archival framework. is_a: ArchiveOrganizationType class_uri: schema:ArchiveOrganization slots: @@ -57,13 +59,6 @@ classes: is_or_was_related_to: range: WikidataAlignment inlined: true - attributes: - parent_state_archive: - description: The main Archivio di Stato this section belongs to - range: string - provincial_coverage: - description: The Italian province served by this section - range: string see_also: - StateArchives - NationalArchives @@ -72,9 +67,8 @@ classes: label_de: Staatsarchiv-Abteilung label_it: sezione di archivio di Stato label_nl: sectie staatsarchief - geographic_restriction: IT record_set_type: true custodian_type: true specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/StateArchivesSectionRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/StateArchivesSectionRecordSetType.yaml index 93baf8f13b..cc6519821c 100644 --- a/schemas/20251121/linkml/modules/classes/StateArchivesSectionRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/StateArchivesSectionRecordSetType.yaml @@ -28,7 +28,6 @@ classes: see_also: - StateArchivesSection annotations: - geographic_restriction: IT specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration custodian_types: "['*']" diff --git a/schemas/20251121/linkml/modules/classes/StateDistrictArchive.yaml b/schemas/20251121/linkml/modules/classes/StateDistrictArchive.yaml index f12ce886b1..d309d111c2 100644 --- a/schemas/20251121/linkml/modules/classes/StateDistrictArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/StateDistrictArchive.yaml @@ -27,7 +27,9 @@ imports: - ./WikidataAlignment classes: StateDistrictArchive: - description: A type of archive in the Czech Republic operating at the district (okres) level. State district archives (Bezirksarchiv) preserve records from local government, courts, and other administrative bodies within their respective districts, forming part of the Czech national archival network. + description: A type of archive in the Czech Republic operating at the district (okres) level. State district archives + (Bezirksarchiv) preserve records from local government, courts, and other administrative bodies within their respective + districts, forming part of the Czech national archival network. is_a: ArchiveOrganizationType class_uri: schema:ArchiveOrganization slots: @@ -50,13 +52,6 @@ classes: is_or_was_related_to: range: WikidataAlignment inlined: true - attributes: - district_name: - description: The Czech district (okres) served by this archive - range: string - regional_archive_parent: - description: The state regional archive this district archive reports to - range: string see_also: - StateRegionalArchiveCzechia - SpecializedArchivesCzechia @@ -64,9 +59,8 @@ classes: - MunicipalArchive annotations: label_de: Bezirksarchiv (Tschechien) - geographic_restriction: CZ record_set_type: true custodian_type: true specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/StateDistrictArchiveRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/StateDistrictArchiveRecordSetType.yaml index 932e8453a7..383cb9fa36 100644 --- a/schemas/20251121/linkml/modules/classes/StateDistrictArchiveRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/StateDistrictArchiveRecordSetType.yaml @@ -28,7 +28,6 @@ classes: see_also: - StateDistrictArchive annotations: - geographic_restriction: CZ specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration custodian_types: "['*']" diff --git a/schemas/20251121/linkml/modules/classes/StateRegionalArchiveCzechia.yaml b/schemas/20251121/linkml/modules/classes/StateRegionalArchiveCzechia.yaml index 74c6e00862..0f3d664468 100644 --- a/schemas/20251121/linkml/modules/classes/StateRegionalArchiveCzechia.yaml +++ b/schemas/20251121/linkml/modules/classes/StateRegionalArchiveCzechia.yaml @@ -27,7 +27,9 @@ imports: - ./WikidataAlignment classes: StateRegionalArchiveCzechia: - description: A state regional archive in the Czech Republic, responsible for preserving and providing access to historical records at the regional (kraj) level. These archives supervise district archives within their region and serve as the primary archival authority for regional government records and historical documentation. + description: A state regional archive in the Czech Republic, responsible for preserving and providing access to historical + records at the regional (kraj) level. These archives supervise district archives within their region and serve as + the primary archival authority for regional government records and historical documentation. is_a: ArchiveOrganizationType class_uri: schema:ArchiveOrganization slots: @@ -50,23 +52,14 @@ classes: is_or_was_related_to: range: WikidataAlignment inlined: true - attributes: - region_name: - description: The Czech region (kraj) served by this archive - range: string - supervised_district_archives: - description: District archives under this regional archive's supervision - range: string - multivalued: true see_also: - StateDistrictArchive - SpecializedArchivesCzechia - SecurityArchives - RegionalArchive annotations: - geographic_restriction: CZ record_set_type: true custodian_type: true specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/StateRegionalArchiveCzechiaRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/StateRegionalArchiveCzechiaRecordSetType.yaml index f7d830d763..82c3e58e0e 100644 --- a/schemas/20251121/linkml/modules/classes/StateRegionalArchiveCzechiaRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/StateRegionalArchiveCzechiaRecordSetType.yaml @@ -28,7 +28,6 @@ classes: see_also: - StateRegionalArchiveCzechia annotations: - geographic_restriction: CZ specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration custodian_types: "['*']" diff --git a/schemas/20251121/linkml/modules/classes/StatementType.yaml b/schemas/20251121/linkml/modules/classes/StatementType.yaml index 042daa9aff..2292617cd5 100644 --- a/schemas/20251121/linkml/modules/classes/StatementType.yaml +++ b/schemas/20251121/linkml/modules/classes/StatementType.yaml @@ -56,9 +56,7 @@ classes: pattern: ^https://nde\.nl/ontology/hc/statement-type/[a-z-]+$ examples: - value: https://nde.nl/ontology/hc/statement-type/mission - description: Mission statement type - value: https://nde.nl/ontology/hc/statement-type/vision - description: Vision statement type has_or_had_code: range: string required: true @@ -88,12 +86,10 @@ classes: has_or_had_hypernym: range: StatementType required: false - description: Parent statement type in hierarchy has_or_had_hyponym: range: StatementType multivalued: true required: false - description: Child statement types in hierarchy annotations: specificity_score: '0.45' specificity_rationale: Moderately specific - statement types are organizational metadata. @@ -117,5 +113,4 @@ classes: has_or_had_label: - Mission Statement@en - missieverklaring@nl - has_or_had_description: Statement defining the organization's core purpose - description: Mission statement type definition + has_or_had_description: Statement defining the organization's core purpose \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/Status.yaml b/schemas/20251121/linkml/modules/classes/Status.yaml index 8b6d411b3a..9cc166819a 100644 --- a/schemas/20251121/linkml/modules/classes/Status.yaml +++ b/schemas/20251121/linkml/modules/classes/Status.yaml @@ -45,18 +45,12 @@ classes: - has_or_had_type - has_or_had_label - has_or_had_description - - is_default slot_usage: has_or_had_type: - description: Type of status (e.g., DEFAULT, PRIMARY, SECONDARY) range: string has_or_had_label: - description: Human-readable label for the status range: string - is_default: - description: Whether this represents a default/primary status - range: boolean annotations: custodian_types: '["*"]' @@ -68,10 +62,6 @@ classes: - value: has_or_had_type: DEFAULT has_or_had_label: "Default Language" - is_default: true - description: Default language status - value: has_or_had_type: SECONDARY - has_or_had_label: "Alternative Audio" - is_default: false - description: Non-default status + has_or_had_label: "Alternative Audio" \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/Storage.yaml b/schemas/20251121/linkml/modules/classes/Storage.yaml index f4f39ccb1e..e6f6e432ac 100644 --- a/schemas/20251121/linkml/modules/classes/Storage.yaml +++ b/schemas/20251121/linkml/modules/classes/Storage.yaml @@ -86,14 +86,11 @@ classes: - refers_to_custodian - specificity_annotation - standards_applied - - has_or_had_storage_condition - has_or_had_description - has_or_had_identifier - is_or_was_stored_at - has_or_had_label - has_or_had_type - - has_or_had_storage_unit - - has_or_had_stores_collection - has_or_had_score - temporal_extent slot_usage: @@ -101,20 +98,12 @@ classes: range: uriorcurie required: true identifier: true - description: 'Unique identifier for this storage facility. - MIGRATED from storage_id per slot_fixes.yaml (Rule 53). - ' examples: - value: https://nde.nl/ontology/hc/storage/rijksmuseum-depot-amersfoort - description: Rijksmuseum off-site depot has_or_had_label: range: string required: true inlined: true - description: 'Human-readable name for this storage facility. - MIGRATED from storage_name per slot_fixes.yaml (Rule 53). - Uses Label class with text and language support. - ' examples: - value: label_text: Depot Amersfoort @@ -128,48 +117,31 @@ classes: has_or_had_type: range: uriorcurie required: true - description: 'The type classification of this storage facility. - Uses StorageType class hierarchy (ARCHIVE_DEPOT, COLD_STORAGE, ART_STORAGE, etc.). - ' examples: - value: ARCHIVE_DEPOT - description: Archive storage depot - value: COLD_STORAGE - description: Cold storage for film and photographic materials - value: ART_STORAGE - description: Climate-controlled art storage has_or_had_description: - description: 'Description of this storage facility. - MIGRATED from storage_description per slot_fixes.yaml (Rule 53). - Uses Description class with text and language support. - ' multivalued: true examples: - value: 'description_text: ''Climate-controlled archive depot housing overflow document collections. Equipped with mobile shelving system (Compactus). Staff access only. Fire suppression: inert gas system.'' description_type: storage language: en ' - description: Storage description using Description class is_or_was_stored_at: range: StorageLocation required: false inlined: true - description: 'Physical or digital location where this storage facility is situated. - MIGRATED from storage_location per slot_fixes.yaml (Rule 53). - Uses StorageLocation class for unified location modeling. - ' examples: - value: has_or_had_identifier: https://nde.nl/ontology/hc/aux-place/rijksmuseum-depot-amersfoort has_or_had_label: label_text: Rijksmuseum Depot Amersfoort language: nl - description: Physical storage location reference has_or_had_capacity: range: Capacity multivalued: true inlined_as_list: true - description: "Storage capacity measurements for this facility.\nMIGRATED from capacity_cubic_meters, capacity_description, \ncapacity_item, capacity_linear_meters per slot_fixes.yaml (Rule 53).\nUses Capacity class with capacity_type and has_or_had_measurement_unit.\n" examples: - value: - has_or_had_quantity: @@ -179,7 +151,6 @@ classes: has_or_had_symbol: m has_or_had_type: ShelfLength has_or_had_description: Total linear meters of shelving - description: "Was capacity_linear_meters (capacity_value \u2192 has_or_had_quantity)" - value: - has_or_had_quantity: has_or_had_numeric_value: 2500.0 @@ -187,7 +158,6 @@ classes: has_or_had_type: CubicMeter has_or_had_symbol: "m\xB3" has_or_had_type: Volume - description: "Was capacity_cubic_meters (capacity_value \u2192 has_or_had_quantity)" - value: - has_or_had_quantity: has_or_had_numeric_value: 50000 @@ -195,41 +165,15 @@ classes: has_or_had_type: Item has_or_had_symbol: archive boxes has_or_had_type: ItemCount - description: "Was capacity_item (capacity_value \u2192 has_or_had_quantity)" - value: - has_or_had_description: Approximately 5,000 linear meters of shelving across 3 floors is_estimate: true - description: Was capacity_description (textual only) current_utilization_percent: range: float minimum_value: 0.0 maximum_value: 100.0 examples: - value: 85.5 - description: 85.5% of capacity currently used - has_or_had_stores_collection: - range: CustodianCollection - multivalued: true - inlined_as_list: true - examples: - - value: - - https://nde.nl/ontology/hc/collection/rijksmuseum-prints - - https://nde.nl/ontology/hc/collection/rijksmuseum-drawings - has_or_had_environmental_zone: - range: EnvironmentalZone - multivalued: true - inlined_as_list: true - examples: - - value: - - https://nde.nl/ontology/hc/zone/na-depot-a-standard - - https://nde.nl/ontology/hc/zone/na-depot-a-cold - has_or_had_storage_unit: - range: StorageUnit - multivalued: true - inlined_as_list: true - examples: - - value: - - https://nde.nl/ontology/hc/unit/na-depot-general-r1-b1 standards_applied: range: StorageStandardEnum multivalued: true @@ -240,10 +184,6 @@ classes: - EN_15757_2010 has_or_had_policy: range: string - description: 'Environmental and safety policy governing this storage facility. - MIGRATED from condition_policy per slot_fixes.yaml (Rule 53). - Uses ConditionPolicy/StorageConditionPolicy class for policy specification. - ' examples: - value: policy_name: Archive Climate Control Policy @@ -252,27 +192,18 @@ classes: - ISO/TR 19815:2018 - EN 16893:2018 policy_effective_from: '2020-01-01' - description: Storage condition policy (was condition_policy) - has_or_had_storage_condition: - range: StorageCondition - multivalued: true - inlined_as_list: true managed_by: range: string examples: - value: Collections Management Department - value: Facilities and Security Team temporal_extent: - description: 'Validity period using CIDOC-CRM TimeSpan. - MIGRATED from valid_from + valid_to per slot_fixes.yaml (Rule 53). - ' range: TimeSpan inlined: true required: false examples: - value: begin_of_the_begin: '1995-06-01' - description: Storage facility operational since June 1995 refers_to_custodian: range: Custodian required: true @@ -316,7 +247,6 @@ classes: - EN_16893_2018 - EN_15757_2010 refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 - description: Rijksmuseum off-site art storage depot - value: has_or_had_identifier: https://nde.nl/ontology/hc/storage/nationaal-archief-depot-b has_or_had_label: @@ -335,7 +265,6 @@ classes: - IMAGE_PERMANENCE_INSTITUTE - ISO_TR_19815_2018 refers_to_custodian: https://nde.nl/ontology/hc/nl-na - description: National Archives cold storage for photographic materials annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/StorageCondition.yaml b/schemas/20251121/linkml/modules/classes/StorageCondition.yaml index f086c403dd..ec7b43efd4 100644 --- a/schemas/20251121/linkml/modules/classes/StorageCondition.yaml +++ b/schemas/20251121/linkml/modules/classes/StorageCondition.yaml @@ -129,20 +129,13 @@ classes: - has_or_had_category slot_usage: has_or_had_identifier: # was: condition_id - migrated per Rule 53 (2026-01-18) - description: | - MIGRATED from condition_id per slot_fixes.yaml (Rule 53, 2026-01-18). - Unique identifier for this condition observation. Uses dcterms:identifier semantics. - Uses Identifier class with identifier_scheme for type discrimination. - Format: URI following NDE Heritage Custodian ontology conventions. range: uriorcurie inlined: true required: true identifier: true examples: - value: - identifier_scheme: CONDITION_URI identifier_value: "https://nde.nl/ontology/hc/condition/rijksmuseum-depot-2024-q2" - description: Q2 2024 assessment of Rijksmuseum depot refers_to_storage: range: Storage required: true @@ -181,22 +174,14 @@ classes: required: true examples: - value: true - description: Official annual condition survey - value: false - description: Journalist investigation overall_status: range: StorageConditionStatusEnum required: true examples: - value: CRITICAL - description: White ant infestation discovered - value: GOOD - description: All parameters within acceptable ranges includes_or_included: - description: | - Categorized assessment results. - MIGRATED from has_or_had_category_assessment per Rule 53 (2026-01-28). - Replaces bespoke/classification slots with generic composition slot. range: StorageConditionCategoryAssessment multivalued: true inlined_as_list: true @@ -218,16 +203,12 @@ classes: - note_type: category note_content: White ants discovered in main depot area has_or_had_category: - description: | - Category of assessment (e.g., PEST_CONTROL, TEMPERATURE). - MIGRATED from has_assessment_category per Rule 53. range: AssessmentCategory multivalued: true inlined: true examples: - value: has_or_had_category: PEST_CONTROL - description: Pest control assessment observation_note: range: string examples: @@ -238,35 +219,21 @@ classes: range: string multivalued: true inlined: true - description: | - Documentation or evidence supporting the observation. - MIGRATED from evidence_documentation per slot_fixes.yaml (Rule 53). - Uses Provenance class with is_or_was_based_on -> Documentation. examples: - value: is_or_was_based_on: has_or_had_url: url_value: "https://www.volkskrant.nl/archive-pest-investigation-2024" - description: Published article evidence - value: is_or_was_based_on: has_or_had_url: url_value: "https://archive.org/evidence/photos/depot-damage-20240915.zip" - description: Photographic evidence measurement_data: range: string examples: - value: '{"temperature_celsius": 23.5, "humidity_percent": 58, "threshold_exceeded": true}' # MIGRATED 2026-01-22: compliance_status → has_or_had_status + ComplianceStatus (Rule 53) has_or_had_status: - description: | - Compliance status with referenced standards. - MIGRATED from compliance_status per slot_fixes.yaml (Rule 53, 2026-01-22). - - Uses ComplianceStatus class for structured representation including: - - Status type (COMPLIANT, NON_COMPLIANT, PARTIALLY_COMPLIANT, NOT_ASSESSED) - - Standard reference - - Assessment metadata range: ComplianceStatus inlined: true required: false @@ -281,23 +248,16 @@ classes: has_or_had_type: "COMPLIANT" has_or_had_label: "ISO 11799 Compliant" standard_reference: "ISO 11799:2015" - assessment_date: "2024-06-30" - description: Meets ISO 11799 archival storage requirements remediation_required: range: boolean examples: - value: true - description: Pest treatment required immediately remediation_note: range: string examples: - value: 1. Engage licensed pest control immediately 2. Quarantine affected materials 3. Survey adjacent storage areas 4. Install additional monitoring traps 5. Report to Heritage Inspectorate within 48 hours indicates_or_indicated: # was: follow_up_date - migrated per Rule 53 (2026-01-26) - description: | - Indicates a future review or assessment. - MIGRATED from follow_up_date per Rule 53. - Uses ConservationReview class with temporal_extent. range: ConservationReview inlined: true required: false @@ -306,26 +266,20 @@ classes: temporal_extent: begin_of_the_begin: "2024-12-01" has_or_had_label: "Post-treatment verification inspection" - description: Follow-up inspection date # REMOVED 2026-01-19: confidence_score - migrated to is_or_was_generated_by (Rule 53) is_or_was_generated_by: range: GenerationEvent required: false inlined: true - description: >- - Generation event containing confidence score for this observation. - MIGRATED 2026-01-19: Replaces confidence_score slot with structured pattern. examples: - value: has_or_had_score: has_or_had_score: 0.95 has_or_had_method: "government_inspection" - description: High confidence - Government inspector with full access - value: has_or_had_score: has_or_had_score: 0.75 has_or_had_method: "journalist_investigation" - description: Medium confidence - Journalist with limited access # supersede migrated to supersedes_or_superseded # This domain-specific slot has explicit StorageCondition range # to avoid OWL type ambiguity (DatatypeProperty vs ObjectProperty conflict) @@ -343,7 +297,6 @@ classes: examples: - value: has_or_had_identifier: # was: condition_id - migrated per Rule 53 (2026-01-18) - identifier_scheme: CONDITION_URI identifier_value: "https://nde.nl/ontology/hc/condition/depot-pest-investigation-2024" refers_to_storage: https://nde.nl/ontology/hc/storage/national-archive-depot-b observation_date: '2024-09-15' @@ -373,16 +326,12 @@ classes: has_or_had_score: has_or_had_score: 0.85 has_or_had_method: "journalist_investigation" - description: Journalist investigation discovering unreported pest infestation - value: has_or_had_identifier: # was: condition_id - migrated per Rule 53 (2026-01-18) - identifier_scheme: CONDITION_URI identifier_value: "https://nde.nl/ontology/hc/condition/rijksmuseum-q2-2024" refers_to_storage: https://nde.nl/ontology/hc/storage/rijksmuseum-depot-amersfoort observation_date: '2024-06-30' observation_period: - start_date: '2024-04-01' - end_date: '2024-06-30' observer_type: INTERNAL_STAFF observer_name: Collections Management Team observer_affiliation: Rijksmuseum @@ -421,13 +370,11 @@ classes: has_or_had_status: has_or_had_type: "COMPLIANT" standard_reference: "ISO 11799:2015" - assessment_date: "2024-06-30" remediation_required: false is_or_was_generated_by: # was: confidence_score - migrated per Rule 53 (2026-01-19) has_or_had_score: has_or_had_score: 0.9 has_or_had_method: "internal_assessment" - description: Official quarterly internal assessment StorageConditionCategoryAssessment: class_uri: hc:StorageConditionCategoryAssessment description: 'Individual category assessment within a StorageCondition observation. @@ -447,31 +394,18 @@ classes: - has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) slot_usage: has_or_had_category: - description: | - Category of assessment (e.g., PEST_CONTROL, TEMPERATURE). - MIGRATED from has_assessment_category per Rule 53 (2026-01-28). range: AssessmentCategory required: true inlined: true has_or_had_status: # was: category_status - migrated per Rule 53/56 (2026-01-24) - description: | - MIGRATED from category_status per Rule 53/56 (2026-01-24). - Status classification for this category assessment. range: CategoryStatus required: true inlined: true has_or_had_measurement: # was: category_measurement - migrated per Rule 53/56 (2026-01-24) - description: | - MIGRATED from category_measurement per Rule 53/56 (2026-01-24). - Structured measurement with value, type, and unit. range: Measurement inlined: true multivalued: true has_or_had_note: # was: category_note - migrated per Rule 53/56 (2026-01-18) - description: | - MIGRATED from category_note per Rule 53/56 (2026-01-18). - Notes specific to this category assessment. - Use note_type: "category" for category-specific notes. range: string multivalued: true inlined: true @@ -479,5 +413,4 @@ classes: examples: - value: - note_type: category - note_content: "White ants discovered in main depot area" - description: Pest control observation note + note_content: "White ants discovered in main depot area" \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/StorageConditionPolicy.yaml b/schemas/20251121/linkml/modules/classes/StorageConditionPolicy.yaml index 7e3d4c5bb3..fa69ea7244 100644 --- a/schemas/20251121/linkml/modules/classes/StorageConditionPolicy.yaml +++ b/schemas/20251121/linkml/modules/classes/StorageConditionPolicy.yaml @@ -58,21 +58,15 @@ classes: class_uri: premis:PreservationPolicy description: "Policy defining target storage conditions for a facility or zone.\n\n**MIGRATED** humidity and temperature slots to structured classes (Rule 53).\n" slots: - - condition_policy_code - - condition_policy_name - has_or_had_description - has_or_had_policy - is_or_was_approved_by - - valid_from_date - specificity_annotation - has_or_had_score - light_max_lux - - has_or_had_requirement_status - particulate_max - pest_management_required - requires_or_required - - flood_protection_required - - has_or_had_security_level - has_or_had_policy - standards_compliance - is_or_was_effective_at @@ -84,30 +78,16 @@ classes: range: float examples: - value: 50.0 - description: 50 lux max for sensitive materials - has_or_had_requirement_status: - description: 'Whether UV-filtered lighting is required for this storage policy. - MIGRATED 2026-01-14: Replaces uv_filtered_required slot. - MIGRATED 2026-01-16: Renamed from is_or_was_required to has_or_had_requirement_status - to resolve OWL ambiguous type warning (base slot has range: boolean). - ' - examples: - value: "RequirementStatus:\n is_required: true\n requirement_type: \"uv_filtered_lighting\"\n" - description: UV filtering required particulate_max: range: float examples: - value: 100000.0 - description: ISO Class 8 clean room equivalent pest_management_required: range: boolean examples: - value: true requires_or_required: - description: 'Fire suppression system required by the storage policy. - MIGRATED from fire_suppression_type per Rule 53. - Uses FireSuppressionSystem class with FireSuppressionType taxonomy. - ' range: FireSuppressionSystem inlined: true examples: @@ -115,27 +95,12 @@ classes: has_or_had_type: has_or_had_label: InertGasSystem has_or_had_description: Inert gas suppression for archive materials - description: Inert gas suppression - value: has_or_had_type: has_or_had_label: WaterMistSystem has_or_had_description: Water mist suppression for museum galleries - description: Water mist suppression - flood_protection_required: - range: boolean - examples: - - value: true - has_or_had_security_level: - range: SecurityLevel - required: false - description: 'Security classification level for this storage policy. - MIGRATED from storage_security_level slot per slot_fixes.yaml (Rule 53, 2025-01-15). - ' - examples: - value: level_code: HIGH - level_name: High Security - description: High-value collection storage has_or_had_policy: range: string examples: @@ -156,16 +121,13 @@ classes: is_or_was_expired_at: range: date is_or_was_approved_by: - description: Agent (person/organization) that approved this policy. MIGRATED from policy_approved_by (2026-01-15) per Rule 39. Range changed from string to Approver class for structured approval tracking. range: Approver required: false examples: - value: approver_name: Collections Committee - description: Committee approval - value: approver_name: Director of Collections - description: Individual approval policy_review_date: range: date examples: @@ -205,18 +167,11 @@ classes: setpoint_unit: PERCENT iso_standard_reference: EN 15757:2010 light_max_lux: 50.0 - has_or_had_requirement_status: - is_required: true - requirement_type: uv_filtered_lighting pest_management_required: true requires_or_required: has_or_had_type: has_or_had_label: InertGasSystem has_or_had_description: Inert gas suppression for archive materials - flood_protection_required: true - has_or_had_security_level: - level_code: HIGH - level_name: High Security standards_compliance: - EN_15757_2010 - EN_16893_2018 @@ -224,7 +179,6 @@ classes: is_or_was_approved_by: approver_name: Collections Committee policy_review_date: '2025-12-31' - description: Museum art storage climate policy - value: policy_id: https://nde.nl/ontology/hc/policy/nationaal-archief-cold-storage policy_name: National Archives Cold Storage Policy @@ -246,18 +200,11 @@ classes: setpoint_unit: PERCENT iso_standard_reference: ISO 18911:2010 light_max_lux: 0.0 - has_or_had_requirement_status: - is_required: true - requirement_type: uv_filtered_lighting pest_management_required: true requires_or_required: has_or_had_type: has_or_had_label: InertGasSystem has_or_had_description: Inert gas suppression for archive materials - flood_protection_required: true - has_or_had_security_level: - level_code: HIGH - level_name: High Security has_or_had_policy: Restricted access - Conservation staff only. Materials must acclimate 24 hours before and after access. Gloves required. standards_compliance: - IMAGE_PERMANENCE_INSTITUTE @@ -266,7 +213,6 @@ classes: is_or_was_approved_by: approver_name: General Rijksarchivaris policy_review_date: '2025-06-01' - description: Archive cold storage policy for photographic materials annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/StorageLocation.yaml b/schemas/20251121/linkml/modules/classes/StorageLocation.yaml index d72befec5c..79ba1001f0 100644 --- a/schemas/20251121/linkml/modules/classes/StorageLocation.yaml +++ b/schemas/20251121/linkml/modules/classes/StorageLocation.yaml @@ -95,44 +95,26 @@ classes: slot_usage: has_or_had_identifier: - description: Unique identifier for this storage location. range: uriorcurie required: true identifier: true examples: - value: https://nde.nl/ontology/hc/storage-location/rijksmuseum-depot-a - description: Physical storage location identifier - value: https://nde.nl/ontology/hc/storage-location/dans-vault - description: Digital repository storage location - has_or_had_label: - description: Human-readable name for this storage location. range: string required: true examples: - value: Depot Amersfoort - Vault A - description: Physical vault name - value: AWS S3 eu-west-1 - description: Cloud storage region - value: DANS Data Archive - description: Trusted digital repository - has_or_had_description: - description: | - Description of this storage location including access information. range: string required: false examples: - value: "Climate-controlled vault for photographic materials. -18°C, 30% RH." - description: Physical cold storage description - value: "DANS is a trusted digital repository for Dutch research data." - description: Digital repository description - has_or_had_type: - description: | - Type of storage location (physical or digital). - Examples: PHYSICAL_DEPOT, CLOUD_STORAGE, DIGITAL_REPOSITORY, - TRUSTED_ARCHIVE, ON_PREMISES_SERVER range: string required: false examples: @@ -142,19 +124,12 @@ classes: - value: TRUSTED_ARCHIVE has_or_had_url: - description: | - URL or URI for digital storage locations. - For physical locations, this may be a reference to AuxiliaryPlace. range: uri required: false examples: - value: https://nde.nl/ontology/hc/aux-place/rijksmuseum-depot-amersfoort - description: Reference to AuxiliaryPlace for physical location - value: https://easy.dans.knaw.nl/ - description: DANS data archive URL - value: https://archive.org/ - description: Internet Archive - annotations: custodian_types: '["*"]' custodian_types_rationale: Storage locations apply to all custodian types. @@ -181,20 +156,15 @@ classes: has_or_had_description: "Climate-controlled art storage vault. 18-22°C, 45-55% RH." has_or_had_type: PHYSICAL_DEPOT has_or_had_url: https://nde.nl/ontology/hc/aux-place/rijksmuseum-depot-amersfoort - description: Physical storage location with AuxiliaryPlace reference - - value: has_or_had_identifier: https://nde.nl/ontology/hc/storage-location/dans-archive has_or_had_label: DANS Data Archive has_or_had_description: "DANS is a Dutch trusted digital repository for research data and cultural heritage collections." has_or_had_type: TRUSTED_ARCHIVE has_or_had_url: https://easy.dans.knaw.nl/ - description: Digital trusted repository storage location - - value: has_or_had_identifier: https://nde.nl/ontology/hc/storage-location/aws-s3-heritage has_or_had_label: AWS S3 Heritage Bucket (eu-west-1) has_or_had_description: "Cloud storage for digitized heritage materials. Amsterdam region for GDPR compliance." has_or_had_type: CLOUD_STORAGE - has_or_had_url: s3://heritage-custodian-archive/ - description: Cloud storage infrastructure + has_or_had_url: s3://heritage-custodian-archive/ \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/StorageType.yaml b/schemas/20251121/linkml/modules/classes/StorageType.yaml index 4eaf300270..3c6e0e26c2 100644 --- a/schemas/20251121/linkml/modules/classes/StorageType.yaml +++ b/schemas/20251121/linkml/modules/classes/StorageType.yaml @@ -124,9 +124,7 @@ classes: - is_or_was_related_to # Domain-specific slots # has_or_had_access_frequency REMOVED - migrated to offers_or_offered (Rule 53) - - has_or_had_access_frequency - has_or_had_use_case - - example_instance - preservation_requirement - security_level - specificity_annotation @@ -143,9 +141,7 @@ classes: pattern: "^https://nde\\.nl/ontology/hc/storage-type/[a-z0-9-]+$" examples: - value: https://nde.nl/ontology/hc/storage-type/archive-depot - description: Archive depot storage type - value: https://nde.nl/ontology/hc/storage-type/cold-storage - description: Cold storage for film materials has_or_had_code: range: string required: true @@ -170,7 +166,6 @@ classes: range: StorageType examples: - value: https://nde.nl/ontology/hc/storage-type/climate-controlled - description: Parent type for specialized climate storage has_or_had_hyponym: range: StorageType multivalued: true @@ -183,25 +178,17 @@ classes: range: StorageType multivalued: true inlined_as_list: true - description: "Non-hierarchical associations with other storage types" # ADDED 2026-01-15: Replaces wikidata_id slot per Rule 53 is_or_was_equivalent_to: range: WikiDataIdentifier multivalued: true inlined: true inlined_as_list: true - description: | - Wikidata equivalence for this storage type concept. - MIGRATED 2026-01-15: Replaces wikidata_id slot per Rule 53. examples: - value: - qid: "Q1454974" - label: "Archive storage" - description: Wikidata equivalence example - value: - qid: "Q1280667" - label: "Art storage" - description: Wikidata equivalence for art storage preservation_requirement: range: string examples: @@ -212,36 +199,25 @@ classes: multivalued: true inlined: true inlined_as_list: true - description: | - Typical environmental conditions for this storage type. - MIGRATED 2026-01-15: Replaces typical_condition slot. - Uses Condition class with has_or_had_description for specifications. examples: - value: - has_or_had_description: description_text: "18-20°C, 45-55% RH, <50 lux, UV-filtered" description_type: condition - description: Archive depot conditions - value: - has_or_had_description: description_text: "-18°C to 4°C, 30-35% RH, dark" description_type: condition - description: Cold storage conditions - value: - has_or_had_description: description_text: "18-22°C, 45-55% RH, UV-filtered, vibration-free" description_type: condition - description: Art storage conditions # was: target_material - migrated per Rule 53/56 (2026-01-16) stores_or_stored: range: Material multivalued: true inlined: true inlined_as_list: true - description: | - Material types this storage type is designed for. - MIGRATED 2026-01-16: Replaces target_material slot per Rule 53/56. - Uses Material class with MaterialType classification for structured representation. examples: - value: - has_or_had_identifier: https://nde.nl/ontology/hc/material/paper @@ -259,7 +235,6 @@ classes: - vellum@en - velijn@nl has_or_had_type: https://nde.nl/ontology/hc/material-type/organic - description: Archive depot materials - value: - has_or_had_identifier: https://nde.nl/ontology/hc/material/nitrate-film has_or_had_label: @@ -271,39 +246,23 @@ classes: - acetate film@en - acetaatfilm@nl has_or_had_type: https://nde.nl/ontology/hc/material-type/synthetic - description: Cold storage materials security_level: range: string examples: - value: STANDARD - description: General collection storage - value: HIGH_SECURITY - description: Rare materials vault - value: MAXIMUM - description: Treasure room, highly valuable items - has_or_had_access_frequency: - range: string - examples: - - value: FREQUENT - description: Active research collection - value: RARE - description: Deep archival storage - value: VERY_RARE - description: Quarantine/hazmat storage has_or_had_use_case: range: UseCase multivalued: true inlined: true - description: >- - Example instances or use cases of this storage type. - MIGRATED from example_instance (2026-01-26). examples: - value: has_or_had_label: "Nationaal Archief Depot Den Haag" - description: Archive depot example - value: has_or_had_label: "British Library Document Storage" - description: Document storage example # example_instance: # range: string # multivalued: true @@ -353,11 +312,9 @@ classes: Specialized climate-controlled facility for archival documents, manuscripts, and records. Maintains stable temperature and humidity optimal for paper and parchment preservation. - wikidata_id: Q1454974 # MIGRATED 2026-01-15: Use is_or_was_equivalent_to with WikiDataIdentifier is_or_was_equivalent_to: - qid: Q1454974 - label: Archive storage preservation_requirement: | Required for paper-based materials, manuscripts, and archival documents. Prevents acid migration, foxing, and brittleness. @@ -384,11 +341,9 @@ classes: - foto@nl has_or_had_type: https://nde.nl/ontology/hc/material-type/composite security_level: STANDARD - has_or_had_access_frequency: REGULAR has_or_had_use_case: - has_or_had_label: Nationaal Archief Depot Den Haag - has_or_had_label: British Library Document Storage - description: Archive depot storage type definition - value: has_or_had_identifier: https://nde.nl/ontology/hc/storage-type/cold-storage has_or_had_code: COLD_STORAGE @@ -399,11 +354,9 @@ classes: Refrigerated or frozen storage for temperature-sensitive materials. Essential for film, photographic materials, and biological specimens. has_or_had_hypernym: https://nde.nl/ontology/hc/storage-type/climate-controlled - wikidata_id: Q1191732 # MIGRATED 2026-01-15: Use is_or_was_equivalent_to with WikiDataIdentifier is_or_was_equivalent_to: - qid: Q1191732 - label: Depot/storage facility preservation_requirement: | Mandatory for nitrate and acetate film to prevent vinegar syndrome. Required for color photographs to prevent dye fading. @@ -435,11 +388,9 @@ classes: - Biological Specimens@en material_description: "Preserved biological specimens requiring cryogenic storage" security_level: ENHANCED - has_or_had_access_frequency: RARE has_or_had_use_case: - has_or_had_label: EYE Filmmuseum Cold Vault - has_or_had_label: Library of Congress Film Vault - description: Cold storage type definition - value: has_or_had_identifier: https://nde.nl/ontology/hc/storage-type/deposit-storage has_or_had_code: DEPOSIT_STORAGE @@ -459,8 +410,6 @@ classes: description_text: "Variable, per material type and agreement" description_type: condition security_level: ENHANCED - has_or_had_access_frequency: REGULAR has_or_had_use_case: - has_or_had_label: National Archives deposit storage for government records - - has_or_had_label: University archive deposit facility for departmental records - description: Deposit storage type for deposit archives + - has_or_had_label: University archive deposit facility for departmental records \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/StorageUnit.yaml b/schemas/20251121/linkml/modules/classes/StorageUnit.yaml index 70974dd790..d4450b3465 100644 --- a/schemas/20251121/linkml/modules/classes/StorageUnit.yaml +++ b/schemas/20251121/linkml/modules/classes/StorageUnit.yaml @@ -83,23 +83,9 @@ classes: - value: Archive Box 145 - WWII Correspondence - value: Map Drawer 42 - Netherlands 19th Century has_or_had_type: - description: 'Type classification for this storage unit. - - MIGRATED from unit_type per slot_fixes.yaml (Rule 53). - - Uses StorageUnitTypeEnum values. - - ' range: StorageUnitTypeEnum required: true has_or_had_description: - description: 'Description of this storage unit. - - MIGRATED from unit_description per slot_fixes.yaml (Rule 53). - - Uses Description class with text and language support. - - ' multivalued: true row_number: range: string @@ -108,48 +94,29 @@ classes: - value: '12' - value: North-3 has_or_had_identifier: - description: "Storage unit identifiers including unit IDs, bay numbers, and box numbers.\nMIGRATED from bay_number, box_number, unit_id, unit_identifier (Rule 53).\nUse UnitIdentifier for storage unit identifiers, BayNumber for bay/section \nidentifiers, BoxNumber for box positions.\n" range: uriorcurie multivalued: true required: true identifier: true examples: - value: https://nde.nl/ontology/hc/unit/na-depot-a-r12-b3-s4 - description: Storage unit URI identifier - value: '{"type": "UnitIdentifier", "value": "BOX-2024-00145"}' - description: Local box identifier - value: '{"type": "BayNumber", "value": "3"}' - description: Bay 3 identifier shelf_number: range: integer examples: - value: 4 - description: Fourth shelf from bottom has_or_had_drawer: range: Drawer multivalued: true inlined: true - description: 'Drawer within the storage unit. - - MIGRATED from drawer_number (2026-01-26). - - ' examples: - value: has_or_had_identifier: - identifier_value: '3' - description: Drawer 3 has_or_had_capacity: range: Capacity multivalued: true inlined_as_list: true - description: 'Storage capacity of this unit. - - MIGRATED from capacity_item per slot_fixes.yaml (Rule 53). - - Uses Capacity class with ITEM_COUNT capacity_type. - - ' examples: - value: - capacity_value: 50 @@ -157,7 +124,6 @@ classes: has_or_had_measurement_unit: has_or_had_type: ITEM has_or_had_symbol: items - description: Was capacity_item (capacity for 50 items) current_item_count: range: integer part_of_storage: @@ -165,22 +131,10 @@ classes: part_of_zone: range: EnvironmentalZone stores_or_stored: - description: 'Heritage objects currently or formerly stored in this unit. - - MIGRATED from stores_object per slot_fixes.yaml (Rule 53, 2026-01-15). - - Range is HeritageObject (abstract parent of ExhibitedObject, BiologicalObject). - - ' range: HeritageObject multivalued: true inlined_as_list: true temporal_extent: - description: 'Validity period using CIDOC-CRM TimeSpan. - - MIGRATED from valid_from + valid_to per slot_fixes.yaml (Rule 53). - - ' range: TimeSpan inlined: true required: false @@ -197,8 +151,6 @@ classes: - value: unit_id: https://nde.nl/ontology/hc/unit/na-depot-a-r12-b3-s4 unit_identifier: NA-2024-BOX-00145 - unit_name: Archive Box 145 - WWII Ministry Records - unit_type: ARCHIVE_BOX has_or_had_description: - description_text: Acid-free archive box containing Ministry of Defense correspondence from 1940-1945. Handle with care. description_type: unit @@ -209,20 +161,15 @@ classes: _type: BayNumber shelf_number: 4 part_of_zone: https://nde.nl/ontology/hc/zone/na-depot-a-standard - valid_from: '2020-03-15' - description: Archive box in National Archives depot - value: unit_id: https://nde.nl/ontology/hc/unit/rm-depot-ff-042 unit_identifier: FF-MAPS-042 - unit_name: Flat File Drawer 42 - Netherlands Maps - unit_type: FLAT_FILE_DRAWER has_or_had_description: - description_text: Flat file drawer containing oversized maps of the Netherlands, 1850-1920. Climate-controlled environment. description_type: unit language: en has_or_had_drawer: - has_or_had_identifier: - identifier_value: '42' has_or_had_capacity: - capacity_value: 50 capacity_type: ITEM_COUNT @@ -231,7 +178,6 @@ classes: has_or_had_symbol: maps current_item_count: 38 part_of_storage: https://nde.nl/ontology/hc/storage/rm-depot-prints - description: Flat file drawer for maps annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/SubGuideType.yaml b/schemas/20251121/linkml/modules/classes/SubGuideType.yaml index 3480df839f..0d97cffa91 100644 --- a/schemas/20251121/linkml/modules/classes/SubGuideType.yaml +++ b/schemas/20251121/linkml/modules/classes/SubGuideType.yaml @@ -56,9 +56,7 @@ classes: pattern: ^https://nde\.nl/ontology/hc/sub-guide-type/[a-z-]+$ examples: - value: https://nde.nl/ontology/hc/sub-guide-type/sub-guide - description: Direct sub-guide type - value: https://nde.nl/ontology/hc/sub-guide-type/thematic - description: Thematic sub-guide type has_or_had_code: range: string required: true @@ -87,12 +85,10 @@ classes: has_or_had_hypernym: range: SubGuideType required: false - description: Parent sub-guide type in hierarchy has_or_had_hyponym: range: SubGuideType multivalued: true required: false - description: Child sub-guide types in hierarchy annotations: specificity_score: '0.65' specificity_rationale: Fairly specific - archival finding aid domain. @@ -117,5 +113,4 @@ classes: has_or_had_label: - Thematic Sub-collection@en - Thematische deelcollectie@nl - has_or_had_description: Subject-based grouping that cuts across organizational structure - description: Thematic sub-guide type definition + has_or_had_description: Subject-based grouping that cuts across organizational structure \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/Subregion.yaml b/schemas/20251121/linkml/modules/classes/Subregion.yaml index 8d5a93dd8b..6167d31d63 100644 --- a/schemas/20251121/linkml/modules/classes/Subregion.yaml +++ b/schemas/20251121/linkml/modules/classes/Subregion.yaml @@ -38,14 +38,6 @@ classes: required: true has_or_had_label: required: false - description: 'Human-readable name of the subdivision. - - - Prefer resolving names via GeoNames API to avoid maintaining multilingual data. - - Examples: "Pennsylvania" (for US-PA), "Bali" (for ID-BA), "Bayern" (for DE-BY) - - ' annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/SubsidiaryOrganization.yaml b/schemas/20251121/linkml/modules/classes/SubsidiaryOrganization.yaml index af876c9391..ceb242e1e2 100644 --- a/schemas/20251121/linkml/modules/classes/SubsidiaryOrganization.yaml +++ b/schemas/20251121/linkml/modules/classes/SubsidiaryOrganization.yaml @@ -22,7 +22,9 @@ imports: - ./WikidataAlignment classes: SubsidiaryOrganization: - description: An entity or organization administered by a larger entity or organization. In the heritage context, subsidiary organizations are archives, museums, libraries, or other heritage custodians that operate under the governance or administrative control of a parent institution. This class models the hierarchical relationship between organizations. + description: An entity or organization administered by a larger entity or organization. In the heritage context, subsidiary + organizations are archives, museums, libraries, or other heritage custodians that operate under the governance or + administrative control of a parent institution. This class models the hierarchical relationship between organizations. is_a: ArchiveOrganizationType class_uri: skos:Concept mixins: @@ -47,17 +49,6 @@ classes: equals_string: "entit\xE9 subsidiaire" custodian_only: equals_expression: 'true' - attributes: - parent_organization: - description: The parent organization that administers this subsidiary - range: string - required: true - governance_relationship: - description: Type of governance relationship (wholly owned, affiliated, etc.) - range: string - operational_autonomy: - description: Level of operational independence from parent - range: string see_also: - ParentOrganizationUnit - OrganizationalSubdivision @@ -66,4 +57,4 @@ classes: annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/Supplier.yaml b/schemas/20251121/linkml/modules/classes/Supplier.yaml index 3f5e092cc6..8287ec3785 100644 --- a/schemas/20251121/linkml/modules/classes/Supplier.yaml +++ b/schemas/20251121/linkml/modules/classes/Supplier.yaml @@ -33,48 +33,37 @@ classes: slot_usage: has_or_had_identifier: range: uriorcurie - description: Unique identifier for the supplier. examples: - value: hc:supplier/king-mcgaw - description: Supplier identifier CURIE has_or_had_label: range: string inlined: true required: true - description: Name of the supplier organization. examples: - value: label_text: King & McGaw - description: Art print supplier name - value: label_text: Museum Reproductions Ltd - description: Reproduction supplier name has_or_had_description: range: string inlined: true - description: Description of the supplier and what they provide. examples: - value: description_text: Fine art print supplier specializing in museum reproduction prints - description: Supplier description has_or_had_type: range: uriorcurie inlined: true multivalued: true - description: Classification of the supplier type. examples: - value: has_or_had_label: label_text: Print Supplier - description: Art print supplier type temporal_extent: range: TimeSpan inlined: true - description: Time period of the supplier relationship. examples: - value: begin_of_the_begin: '2018-01-01' - description: Relationship started January 2018 exact_mappings: - schema:Organization close_mappings: @@ -93,7 +82,6 @@ classes: description_text: Leading supplier of fine art prints and museum reproduction services temporal_extent: begin_of_the_begin: '2018-01-01' - description: Art print supplier - value: has_or_had_identifier: hc:supplier/museum-reproductions-ltd has_or_had_label: @@ -106,7 +94,6 @@ classes: temporal_extent: begin_of_the_begin: '2015-06-01' end_of_the_end: '2022-12-31' - description: Reproduction supplier (historical relationship) annotations: custodian_types: '["*"]' custodian_types_rationale: Suppliers applicable to any custodian with commercial operations. diff --git a/schemas/20251121/linkml/modules/classes/SupplierType.yaml b/schemas/20251121/linkml/modules/classes/SupplierType.yaml index 7b607b952a..b8e7701b7b 100644 --- a/schemas/20251121/linkml/modules/classes/SupplierType.yaml +++ b/schemas/20251121/linkml/modules/classes/SupplierType.yaml @@ -63,19 +63,15 @@ classes: has_or_had_label: range: string inlined: true - description: Human-readable label for the supplier type. examples: - value: label_text: Print Supplier - description: Art print supplier type has_or_had_description: range: string inlined: true - description: Description of what this supplier type provides. examples: - value: description_text: Suppliers providing print-on-demand and art reproduction services - description: Print supplier description exact_mappings: - skos:Concept close_mappings: diff --git a/schemas/20251121/linkml/modules/classes/Tag.yaml b/schemas/20251121/linkml/modules/classes/Tag.yaml index 998d1de11e..7d871c4130 100644 --- a/schemas/20251121/linkml/modules/classes/Tag.yaml +++ b/schemas/20251121/linkml/modules/classes/Tag.yaml @@ -54,32 +54,14 @@ classes: - has_or_had_identifier - has_or_had_label - has_or_had_description - - tag_value - - tag_platform - - is_hashtag slot_usage: has_or_had_identifier: - description: Unique identifier for this tag (e.g., platform-specific ID, taxonomy URI) has_or_had_label: - description: Display label for the tag in various languages multivalued: true - tag_value: - description: The raw tag/keyword/hashtag string value required: true - tag_platform: - description: Platform where this tag originated (YouTube, Twitter, Instagram, etc.) - is_hashtag: - description: Whether this tag uses hashtag format (#tag) rules: - preconditions: slot_conditions: - is_hashtag: - equals_expression: 'true' - postconditions: - slot_conditions: - tag_value: - pattern: ^# - description: 'If is_hashtag is true, tag_value should start with #' annotations: specificity_score: 0.45 specificity_rationale: 'Tags are broadly useful across social media content, collections, @@ -93,27 +75,15 @@ classes: custodian_types: "['*']" examples: - value: - tag_value: '#heritage' - is_hashtag: true - tag_platform: Twitter has_or_had_label: - heritage@en - description: Hashtag from Twitter/X post - value: - tag_value: museum exhibition - is_hashtag: false - tag_platform: YouTube has_or_had_label: - museum exhibition@en - description: YouTube video tag (not hashtag format) - value: - tag_value: '#digitaalerfgoed' - is_hashtag: true - tag_platform: Mastodon has_or_had_label: - digitaal erfgoed@nl - digital heritage@en - description: Dutch digital heritage hashtag from Mastodon comments: - Replaces string-based tag per Rule 53/56 (2026-01-16) - Enables platform-specific tag handling (hashtags vs. keywords) @@ -131,9 +101,7 @@ slots: required: true examples: - value: '#heritage' - description: Twitter hashtag - value: museum - description: YouTube keyword tag tag_platform: slot_uri: hc:tagPlatform description: 'The platform where this tag originated. diff --git a/schemas/20251121/linkml/modules/classes/TargetHumidity.yaml b/schemas/20251121/linkml/modules/classes/TargetHumidity.yaml index 09bbd2a97e..854cb3fb35 100644 --- a/schemas/20251121/linkml/modules/classes/TargetHumidity.yaml +++ b/schemas/20251121/linkml/modules/classes/TargetHumidity.yaml @@ -23,7 +23,6 @@ classes: has_or_had_value: range: float required: true - description: Target relative humidity percentage (0-100). has_or_had_unit: range: string ifabsent: string(%) diff --git a/schemas/20251121/linkml/modules/classes/TasteScentHeritageType.yaml b/schemas/20251121/linkml/modules/classes/TasteScentHeritageType.yaml index c499de01a0..e38b09ebef 100644 --- a/schemas/20251121/linkml/modules/classes/TasteScentHeritageType.yaml +++ b/schemas/20251121/linkml/modules/classes/TasteScentHeritageType.yaml @@ -170,9 +170,6 @@ classes: - has_or_had_type slot_usage: preserves_or_preserved: - description: | - Heritage practices preserved by this institution. - MIGRATED from heritage_practice per Rule 53 (2026-01-28). range: HeritagePractice multivalued: true inlined: true @@ -180,69 +177,41 @@ classes: examples: - value: has_or_had_label: Traditional Trappist brewing using 1838 recipe - description: Westvleteren brewery practice - value: has_or_had_label: Historic perfume formulation, 18th-century Grasse - description: Perfume house practice - value: has_or_had_label: Ancestral Gouda cheese with raw milk - description: Traditional dairy practice sensory_heritage_domain: range: string required: true examples: - value: Taste (beer), Scent (aromas), Intangible (brewing) - description: Westvleteren sensory domains - value: Scent (perfume), Intangible (nose expertise) - description: Perfume house sensory domains - value: Taste (cheese), Texture (aging), Intangible (craft) - description: Traditional dairy sensory domains preservation_method: range: string multivalued: true required: true examples: - value: Oral tradition, Brewing logs, Apprenticeship - description: Westvleteren preservation - value: Formula archives, Nose training, Apprenticeship - description: Perfume house preservation - value: Family manuscripts, Demonstration, PDO status - description: Traditional cheese preservation has_or_had_type: - description: Traditional products created by this heritage custodian. Uses RiC-O has_or_had_type for temporal typing relationship. range: TraditionalProductType multivalued: true required: true examples: - value: Westvleteren 12, 8, Blonde - description: Trappist beers - value: Eau de Cologne 1709, Rose de Mai - description: Historic perfumes - value: Aged Gouda 18-month, 24-month, 36-month - description: Traditional cheeses knowledge_transmission: range: string required: true examples: - value: Monastic apprenticeship, Direct demo, Oral tradition - description: Westvleteren transmission - value: Apprentice program (3 years), Nose training - description: Perfume house transmission - value: Family succession, Public demos, PDO training - description: Traditional dairy transmission has_or_had_significance: - description: 'Why this culinary/olfactory heritage matters to local/regional/national identity. - - MIGRATED from community_significance per slot_fixes.yaml (Rule 53, 2026-01-22). - - - Uses Significance class for structured representation including: - - - Type (CommunitySignificance, EconomicSignificance, TerroirSignificance, etc.) - - - Description of the significance - - ' range: Significance multivalued: true inlined: true @@ -252,17 +221,13 @@ classes: - value: has_or_had_type: CommunitySignificance has_or_had_description: UNESCO-recognized Trappist tradition, Belgian cultural identity, Beer pilgrimage site - description: Westvleteren brewery - community/cultural significance - value: has_or_had_type: TerroirSignificance has_or_had_description: Grasse UNESCO heritage, French parfumerie tradition, Olfactory tourism - description: Perfume house - terroir/cultural significance - value: has_or_had_type: EconomicSignificance has_or_had_description: Protected Gouda PDO, Dutch cheese identity, Economic importance to region - description: Traditional cheese - economic significance has_or_had_hyponym: - description: Specific subtype from the taste/scent heritage taxonomy (15 Wikidata-aligned types). range: TasteScentSubType multivalued: true inlined_as_list: true @@ -270,12 +235,9 @@ classes: - value: - Brewery - Cafe - description: Beverage production heritage subtypes - value: - Chocolaterie - FoodManufacturer - description: Food production heritage subtypes - value: - Restaurant - - Pizzeria - description: Restaurant heritage subtypes + - Pizzeria \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/TasteScentSubType.yaml b/schemas/20251121/linkml/modules/classes/TasteScentSubType.yaml index 5b5f84fc9f..920149a84b 100644 --- a/schemas/20251121/linkml/modules/classes/TasteScentSubType.yaml +++ b/schemas/20251121/linkml/modules/classes/TasteScentSubType.yaml @@ -52,31 +52,20 @@ classes: slot_usage: has_or_had_label: - description: Human-readable label for this taste/scent subtype. required: true examples: - value: Brewery - description: Beer production heritage - value: Café - description: Coffee/tea heritage - value: Chocolaterie - description: Chocolate production heritage has_or_had_description: - description: Description of this taste/scent heritage category. examples: - value: Business that makes and sells beer - description: Brewery description is_or_was_equivalent_to: - description: Wikidata entity equivalent for this taste/scent subtype. Replaces wikidata_id (Rule 53). range: WikiDataIdentifier examples: - value: - qid: Q131734 - label: brewery description: wikidata:Q131734 (brewery) - value: - qid: Q30022 - label: café description: wikidata:Q30022 (café) annotations: diff --git a/schemas/20251121/linkml/modules/classes/TaxDeductibility.yaml b/schemas/20251121/linkml/modules/classes/TaxDeductibility.yaml index d4e2314ec4..8b4927b8be 100644 --- a/schemas/20251121/linkml/modules/classes/TaxDeductibility.yaml +++ b/schemas/20251121/linkml/modules/classes/TaxDeductibility.yaml @@ -44,99 +44,46 @@ classes: range: uriorcurie required: true inlined: true - description: 'The deductibility classification type. - - MIGRATED from deductibility_status per slot_fixes.yaml (Rule 53). - - Uses TaxDeductibilityType class hierarchy per Rule 0b. - - ' examples: - value: has_or_had_label: Fully Deductible has_or_had_description: 100% of donation is tax-deductible - description: Full deductibility type jurisdiction: range: string inlined: true - description: 'Jurisdiction where this deductibility applies. - - Uses Jurisdiction class for structured representation. - - ' examples: - value: jurisdiction_code: NL jurisdiction_name: Netherlands - description: Netherlands - value: jurisdiction_code: UK jurisdiction_name: United Kingdom - description: United Kingdom has_or_had_condition: range: Condition inlined: true multivalued: true - description: 'Conditions that must be met for tax deductibility. - - MIGRATED from deductibility_conditions per slot_fixes.yaml (Rule 53). - - Uses Condition class for structured condition representation. - - ' examples: - value: has_or_had_type: TAX_THRESHOLD has_or_had_description: description_text: "Donation must exceed \u20AC25 minimum" description_type: condition - description: Dutch minimum threshold condition - value: has_or_had_type: DECLARATION_REQUIRED has_or_had_description: description_text: Must complete Gift Aid declaration description_type: condition - description: UK Gift Aid requirement condition has_or_had_percentage: range: Percentage inlined: true - description: 'Percentage of donation that is deductible (0-100). - - MIGRATED from deductible_percentage per slot_fixes.yaml (Rule 53). - - Uses Percentage class for structured representation. - - For enhanced cultural deductions (e.g., 125%), use 100 here - - and document the enhancement in regulated_by_scheme. - - ' examples: - value: - percentage_value: 100 - percentage_display: 100% - percentage_context: deductibility - description: Fully deductible (100%) - value: - percentage_value: 70 - percentage_display: 70% - percentage_context: deductibility - description: Partially deductible (70%) minimum_donation: range: decimal - description: 'Minimum donation amount for tax deductibility. - - ' is_or_was_effective_at: range: datetime inlined: true - description: 'Time period when this deductibility status is/was effective. - - MIGRATED from effective_from/effective_until per Rule 53. - - Uses TimeSpan with begin_of_the_begin and end_of_the_end. - - ' see_also: - https://www.belastingdienst.nl/wps/wcm/connect/nl/aftrek-en-kortingen/content/gift-aftrekken - https://www.gov.uk/donating-to-charity/gift-aid @@ -153,9 +100,6 @@ classes: has_or_had_description: description_text: "Donation must exceed \u20AC25 minimum" has_or_had_percentage: - percentage_value: 100 - percentage_display: 100% - description: Dutch ANBI fully deductible donation - value: has_or_had_type: has_or_had_label: Conditionally Deductible @@ -168,9 +112,6 @@ classes: has_or_had_description: description_text: Donor must complete Gift Aid declaration has_or_had_percentage: - percentage_value: 100 - percentage_display: 100% - description: UK Gift Aid conditional deductibility - value: has_or_had_type: has_or_had_label: Partially Deductible @@ -183,9 +124,6 @@ classes: has_or_had_description: description_text: Fair market value of benefits received is subtracted has_or_had_percentage: - percentage_value: 70 - percentage_display: 70% - description: US gala ticket with partial deductibility - value: has_or_had_type: has_or_had_label: Not Deductible @@ -197,7 +135,6 @@ classes: - has_or_had_type: BENEFIT_EXCEEDS_VALUE has_or_had_description: description_text: Membership benefits exceed donation value - description: Museum membership not tax-deductible annotations: specificity_score: 0.5 specificity_rationale: 'Moderately specific - tax deductibility details relevant for diff --git a/schemas/20251121/linkml/modules/classes/TaxDeductibilityType.yaml b/schemas/20251121/linkml/modules/classes/TaxDeductibilityType.yaml index d90fdef6b9..eef7d72dc9 100644 --- a/schemas/20251121/linkml/modules/classes/TaxDeductibilityType.yaml +++ b/schemas/20251121/linkml/modules/classes/TaxDeductibilityType.yaml @@ -55,11 +55,9 @@ classes: slot_usage: has_or_had_label: - description: Human-readable label for the deductibility type. range: string required: true has_or_had_description: - description: Detailed explanation of this deductibility classification. range: string annotations: diff --git a/schemas/20251121/linkml/modules/classes/TaxScheme.yaml b/schemas/20251121/linkml/modules/classes/TaxScheme.yaml index 42f80f4d1c..b232624084 100644 --- a/schemas/20251121/linkml/modules/classes/TaxScheme.yaml +++ b/schemas/20251121/linkml/modules/classes/TaxScheme.yaml @@ -54,121 +54,60 @@ classes: has_or_had_type: range: uriorcurie required: true - description: 'The type of tax scheme from the TaxSchemeType taxonomy. - - ' examples: - value: CulturalANBI - description: Dutch cultural public benefit status - value: GiftAid - description: UK Gift Aid scheme - value: Section501c3 - description: US 501(c)(3) status has_or_had_label: range: string - description: 'Human-readable name of the tax scheme instance. - - ' examples: - value: Cultural ANBI (125%) - description: Cultural ANBI with multiplier noted - value: Gift Aid eligible - description: UK Gift Aid status has_or_had_description: range: string - description: 'Explanation of the scheme and its benefits for this institution. - - ' has_or_had_identifier: range: string - description: 'Official registration identifier (e.g., RSIN number for ANBI). - - ' examples: - value: RSIN 123456789 - description: Dutch ANBI registration number - value: Charity No. 1234567 - description: UK Charity Commission number jurisdiction: range: string required: true - description: 'ISO 3166-1 alpha-2 country code or jurisdiction identifier. - - ' examples: - value: NL - description: Netherlands - value: UK - description: United Kingdom - value: US - description: United States - value: DE - description: Germany offers_or_offered: range: TaxDeductibility inlined: true multivalued: true - description: 'Tax deductibility offering provided by this scheme. - - MIGRATED from deduction_percentage per slot_fixes.yaml (Rule 53). - - Uses TaxDeductibility class with has_or_had_percentage for percentage. - - Values over 100 indicate enhanced cultural multipliers. - - ' examples: - value: has_or_had_type: has_or_had_label: Fully Deductible has_or_had_percentage: - percentage_value: 100 - percentage_display: 100% - description: Standard 100% deduction - value: has_or_had_type: has_or_had_label: Enhanced Cultural has_or_had_percentage: - percentage_value: 125 - percentage_display: 125% - description: Cultural ANBI 125% enhanced deduction regulatory_body: range: string - description: 'Name of the government body administering the scheme. - - ' examples: - value: Belastingdienst - description: Dutch Tax Authority - value: HMRC - description: UK tax authority - value: IRS - description: US Internal Revenue Service legal_basis: range: string - description: 'Legal statute or regulation establishing the scheme. - - ' examples: - value: Wet inkomstenbelasting 2001 - description: Dutch income tax law - value: Finance Act 1990 - description: UK Gift Aid legislation - value: Internal Revenue Code Section 501(c)(3) - description: US tax code is_or_was_effective_at: range: date - description: 'Date when the scheme status became effective for this institution. - - ' expires_on_expired_at: range: TimeSpan inlined: true - description: 'Date/TimeSpan when the scheme status expires (if applicable). - - MIGRATED from expiration_date (2026-01-26). - - ' comments: - Tax schemes vary significantly by jurisdiction - always document jurisdiction - Cultural institutions often qualify for enhanced rates beyond standard charity status @@ -190,12 +129,9 @@ classes: - has_or_had_type: has_or_had_label: Enhanced Cultural Deductibility has_or_had_percentage: - percentage_value: 125 - percentage_display: 125% regulatory_body: Belastingdienst legal_basis: Wet inkomstenbelasting 2001, Art. 6.39a is_or_was_effective_at: '2008-01-01' - description: Rijksmuseum Cultural ANBI registration - value: has_or_had_type: GiftAid has_or_had_label: Gift Aid eligible @@ -206,12 +142,9 @@ classes: - has_or_had_type: has_or_had_label: Fully Deductible has_or_had_percentage: - percentage_value: 100 - percentage_display: 100% regulatory_body: HMRC legal_basis: Finance Act 1990 is_or_was_effective_at: '1990-10-01' - description: British Library Gift Aid registration - value: has_or_had_type: Section501c3 has_or_had_label: 501(c)(3) tax-exempt @@ -222,11 +155,8 @@ classes: - has_or_had_type: has_or_had_label: Fully Deductible has_or_had_percentage: - percentage_value: 100 - percentage_display: 100% regulatory_body: IRS legal_basis: Internal Revenue Code Section 501(c)(3) - description: Smithsonian Institution 501(c)(3) status annotations: specificity_score: 0.5 specificity_rationale: 'Moderately specific - tax scheme details are primarily relevant diff --git a/schemas/20251121/linkml/modules/classes/TaxSchemeType.yaml b/schemas/20251121/linkml/modules/classes/TaxSchemeType.yaml index 798b05caee..bd5de0c61f 100644 --- a/schemas/20251121/linkml/modules/classes/TaxSchemeType.yaml +++ b/schemas/20251121/linkml/modules/classes/TaxSchemeType.yaml @@ -80,14 +80,10 @@ classes: - has_or_had_description slot_usage: has_or_had_label: - description: Human-readable name of the tax scheme type. examples: - value: ANBI - description: Dutch general public benefit institution - value: Gift Aid - description: UK donation tax reclaim scheme has_or_had_description: - description: Explanation of the tax scheme type and its benefits. annotations: specificity_score: 0.5 specificity_rationale: 'Moderately specific - tax scheme types are relevant primarily diff --git a/schemas/20251121/linkml/modules/classes/Taxon.yaml b/schemas/20251121/linkml/modules/classes/Taxon.yaml index 984fc6de56..c4ff91f974 100644 --- a/schemas/20251121/linkml/modules/classes/Taxon.yaml +++ b/schemas/20251121/linkml/modules/classes/Taxon.yaml @@ -36,33 +36,17 @@ classes: close_mappings: - skos:Concept slots: - - id - has_or_had_label - has_or_had_description - specificity_annotation - has_or_had_score slot_usage: - id: - identifier: true - required: true - range: uriorcurie - pattern: ^https://nde\.nl/ontology/hc/taxon/[a-z0-9-]+$ - examples: - - value: https://nde.nl/ontology/hc/taxon/raphus-cucullatus - description: Dodo (extinct species) has_or_had_label: - description: Scientific name of the taxon. range: string required: true examples: - value: Raphus cucullatus - description: Dodo scientific name - value: Homo sapiens - description: Human scientific name - description: - range: string - examples: - - value: Extinct flightless bird endemic to Mauritius comments: - Used for taxonomic associations in natural history collections - Link to GBIF, NCBI, or Wikidata for authoritative identifiers @@ -71,8 +55,6 @@ classes: - value: id: https://nde.nl/ontology/hc/taxon/raphus-cucullatus has_or_had_label: Raphus cucullatus - description: Dodo - an extinct flightless bird that was endemic to the island of Mauritius. Last confirmed sighting in 1662. - description: Dodo taxon for natural history specimen annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/TaxonomicAuthority.yaml b/schemas/20251121/linkml/modules/classes/TaxonomicAuthority.yaml index fbdaaf2ffb..db4ab02692 100644 --- a/schemas/20251121/linkml/modules/classes/TaxonomicAuthority.yaml +++ b/schemas/20251121/linkml/modules/classes/TaxonomicAuthority.yaml @@ -67,34 +67,20 @@ classes: - has_or_had_identifier - has_or_had_label - has_or_had_description - - has_or_had_date - has_or_had_author - - is_or_was_recombined - - nomenclatural_code - - basionym_authority slot_usage: has_or_had_identifier: - description: Reference to authority in taxonomic databases (e.g., IPNI, ZooBank). examples: - value: urn:lsid:zoobank.org:act:12345678-1234-1234-1234-123456789012 - description: ZooBank LSID for nomenclatural act has_or_had_label: required: true - description: 'The full authority string as conventionally formatted. - This is the human-readable form of the authority. - ' examples: - value: Linnaeus, 1758 - description: Standard zoological authority format - value: (Gray, 1821) - description: Parentheses indicate recombination - value: L. - description: Abbreviated botanical authority - value: (Migula 1900) Skerman et al. 1980 - description: Complex bacterial recombination has_or_had_author: multivalued: true - description: Author name(s) parsed from the authority string. examples: - value: - Carl Linnaeus @@ -104,28 +90,11 @@ classes: - Skerman - McGowan - Sneath - description: Multiple authors - has_or_had_date: - description: 'Year of original publication/description. - May be a range for imprecisely dated works. - ' - examples: - value: 1758 - description: Publication year of Systema Naturae 10th edition has_or_had_description: - description: Notes on the authority or publication context. examples: - value: Original description in Systema Naturae, 10th edition - is_or_was_recombined: - examples: - - value: false - description: Name in original genus - value: true - description: Parenthetical authority indicates recombination - nomenclatural_code: - examples: - - value: ICZN - - value: ICN comments: - TaxonomicAuthority provides structured representation of authorship - The has_or_had_label slot holds the conventional formatted string @@ -140,44 +109,22 @@ classes: has_or_had_label: Linnaeus, 1758 has_or_had_author: - Carl Linnaeus - has_or_had_date: 1758 - is_or_was_recombined: false - nomenclatural_code: ICZN has_or_had_description: Original description of Homo sapiens in Systema Naturae, 10th edition - description: Standard zoological authority (Linnaeus) - value: has_or_had_label: (Gray, 1821) has_or_had_author: - John Edward Gray - has_or_had_date: 1821 - is_or_was_recombined: true - nomenclatural_code: ICZN - description: Recombined authority (parenthetical) - value: has_or_had_label: L. has_or_had_author: - Carl Linnaeus - has_or_had_date: 1753 - is_or_was_recombined: false - nomenclatural_code: ICN has_or_had_description: Abbreviated botanical authority per ICN conventions - description: Abbreviated botanical authority - value: has_or_had_label: (Migula 1900) Skerman et al. 1980 has_or_had_author: - Skerman - McGowan - Sneath - has_or_had_date: 1980 - is_or_was_recombined: true - nomenclatural_code: ICNP - basionym_authority: - has_or_had_label: Migula 1900 - has_or_had_author: - - Walter Migula - has_or_had_date: 1900 - is_or_was_recombined: false - description: Complex bacterial recombination with basionym annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/TechnicalFeature.yaml b/schemas/20251121/linkml/modules/classes/TechnicalFeature.yaml index 2d97cbcad9..33b9cb30e2 100644 --- a/schemas/20251121/linkml/modules/classes/TechnicalFeature.yaml +++ b/schemas/20251121/linkml/modules/classes/TechnicalFeature.yaml @@ -13,23 +13,14 @@ imports: classes: TechnicalFeature: class_uri: schema:PropertyValue - description: 'A technical feature or capability of a platform. - ' + description: 'A technical feature or capability of a platform. ' slots: - has_or_had_type slot_usage: has_or_had_type: range: uriorcurie - attributes: - feature_name: - description: Name of the technical feature or capability - range: string - required: true - feature_description: - description: Description of what the technical feature provides - range: string close_mappings: - schema:PropertyValue annotations: specificity_score: '0.50' - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/Technique.yaml b/schemas/20251121/linkml/modules/classes/Technique.yaml index fa822c2c50..3fa548f148 100644 --- a/schemas/20251121/linkml/modules/classes/Technique.yaml +++ b/schemas/20251121/linkml/modules/classes/Technique.yaml @@ -47,39 +47,22 @@ classes: - includes_or_included slot_usage: has_or_had_identifier: - description: Unique identifier for this technique instance or reference to vocabulary term. examples: - value: aat:300379752 - description: AAT identifier for solvent cleaning - value: https://nde.nl/ontology/hc/technique/mauritshuis-670-1994-solvent-cleaning - description: Instance-specific technique identifier has_or_had_type: range: uriorcurie required: true - description: 'The type of technique from the TechniqueType hierarchy. - - Required to classify the technique method. - - ' examples: - value: SolventCleaning - description: Solvent cleaning technique type - value: InfraredReflectography - description: IR reflectography examination technique - value: TratteggioInpainting - description: Tratteggio inpainting technique has_or_had_label: - description: Human-readable name of the technique as applied. examples: - value: Varnish removal with acetone mixture - value: Tratteggio inpainting of paint losses - value: Macro XRF scanning has_or_had_description: - description: 'Detailed description of how the technique was applied. - - Should include materials, methods, and specific conditions. - - ' examples: - value: 'Removal of discolored natural resin varnish using @@ -101,17 +84,11 @@ classes: range: string multivalued: true inlined_as_list: true - description: 'Sub-techniques or component steps within this technique. - - Enables hierarchical technique documentation. - - ' examples: - value: has_or_had_type: AqueousCleaning has_or_had_label: Initial surface cleaning has_or_had_description: Removal of surface grime with distilled water and cotton swabs - description: First step in multi-step cleaning process comments: - Technique represents a procedure or method applied in heritage activities - Always requires has_or_had_type to classify the technique @@ -135,7 +112,6 @@ classes: solvent action continuously to preserve original glazes. ' - description: Solvent cleaning technique from 1994 Vermeer restoration - value: has_or_had_type: TratteggioInpainting has_or_had_label: Tratteggio inpainting of background losses @@ -146,7 +122,6 @@ classes: Distinguishable at close range but integrates at normal viewing distance. ' - description: Inpainting technique with tratteggio method - value: has_or_had_type: VacuumLining has_or_had_label: Vacuum table lining with BEVA 371 @@ -155,12 +130,10 @@ classes: - has_or_had_type: StructuralRepairTechnique has_or_had_label: Thread-by-thread tear mending has_or_had_description: Aligned torn threads and secured with wheat starch paste - description: Complex lining technique with sub-technique - value: has_or_had_type: XRayFluorescence has_or_had_label: MA-XRF elemental mapping has_or_had_description: "Macro X-ray fluorescence scanning to map elemental distribution.\nBruker M6 Jetstream scanner, 50kV, 600\u03BCA.\nScan area 67 x 60 cm at 650 \u03BCm resolution.\nIdentified lead white, vermilion, yellow ochre, natural ultramarine.\n" - description: XRF examination technique from Operation Night Watch annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/TechniqueType.yaml b/schemas/20251121/linkml/modules/classes/TechniqueType.yaml index f2a665e635..85a4c59e2f 100644 --- a/schemas/20251121/linkml/modules/classes/TechniqueType.yaml +++ b/schemas/20251121/linkml/modules/classes/TechniqueType.yaml @@ -71,17 +71,13 @@ classes: - has_or_had_description slot_usage: has_or_had_identifier: - description: Unique identifier for this technique type (e.g., AAT URI). examples: - value: aat:300053052 - description: AAT identifier for cleaning techniques has_or_had_label: - description: Human-readable name of the technique type. examples: - value: Solvent Cleaning - value: Infrared Reflectography has_or_had_description: - description: Definition or explanation of this technique type. examples: - value: Removal of surface deposits using organic solvents. annotations: diff --git a/schemas/20251121/linkml/modules/classes/TechnologicalInfrastructure.yaml b/schemas/20251121/linkml/modules/classes/TechnologicalInfrastructure.yaml index 7e401a1106..e0a431780b 100644 --- a/schemas/20251121/linkml/modules/classes/TechnologicalInfrastructure.yaml +++ b/schemas/20251121/linkml/modules/classes/TechnologicalInfrastructure.yaml @@ -41,75 +41,37 @@ classes: has_or_had_identifier: identifier: true required: true - description: Unique identifier for this technology component instance. examples: - value: tech-react-18-frontend - description: React 18.x frontend component - value: tech-postgresql-15-primary - description: PostgreSQL 15 primary database has_or_had_type: range: uriorcurie required: true - description: 'Type classification for this technology component. - - References TechnologicalInfrastructureType hierarchy. - - ' examples: - value: FrontendFramework - description: React is a frontend framework - value: RelationalDatabase - description: PostgreSQL is a relational database - value: SPARQLEndpoint - description: SPARQL query endpoint has_or_had_label: required: true - description: 'Human-readable name of the technology. - - Use the commonly known name (e.g., "React", "PostgreSQL", "Django"). - - ' examples: - value: React - description: Frontend framework - value: Python/Django - description: Backend stack (language/framework combo) - value: Fedora Commons - description: Digital repository system has_or_had_description: - description: 'Description of how this technology is used in the platform context. - - ' examples: - value: Frontend JavaScript framework for collection browsing interface - description: Platform-specific usage description has_or_had_version: range: string - description: 'Version string for this technology component. - - Use semantic versioning where applicable (e.g., "18.2.0", "4.2", "15.4"). - - ' examples: - value: 18.2.0 - description: React version - value: 4.2 LTS - description: Django LTS version - value: '15.4' - description: PostgreSQL version includes_or_included: range: string multivalued: true - description: 'Sub-components or plugins included with this technology. - - Enables modeling of technology stack composition. - - ' examples: - value: Django REST Framework - description: REST API extension for Django - value: React Router - description: Routing library for React comments: - 'MIGRATION: Replaces technology_stack slot per slot_fixes.yaml (2026-01-16)' - DOAP-aligned for software project descriptions @@ -122,7 +84,6 @@ classes: has_or_had_label: React has_or_had_version: 18.2.0 has_or_had_description: Frontend JavaScript library for collection interface - description: React frontend framework - value: has_or_had_identifier: tech-django-backend has_or_had_type: BackendFramework @@ -133,21 +94,18 @@ classes: - Django REST Framework - Django ORM - Celery - description: Django backend with components - value: has_or_had_identifier: tech-solr-search has_or_had_type: SearchIndex has_or_had_label: Apache Solr has_or_had_version: '9.4' has_or_had_description: Full-text search indexing for collection discovery - description: Solr search index - value: has_or_had_identifier: tech-fedora-repo has_or_had_type: DigitalRepositorySystem has_or_had_label: Fedora Commons has_or_had_version: '6.5' has_or_had_description: Digital asset repository for preservation - description: Fedora digital repository annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/TechnologicalInfrastructureType.yaml b/schemas/20251121/linkml/modules/classes/TechnologicalInfrastructureType.yaml index 837b45af44..c716d6be56 100644 --- a/schemas/20251121/linkml/modules/classes/TechnologicalInfrastructureType.yaml +++ b/schemas/20251121/linkml/modules/classes/TechnologicalInfrastructureType.yaml @@ -72,18 +72,14 @@ classes: required: true examples: - value: hc:TechnologicalInfrastructureType/Framework - description: Framework type identifier has_or_had_label: required: true examples: - value: Framework - description: Web application framework - value: Database - description: Database management system has_or_had_description: examples: - value: Frontend or backend web application framework - description: Description of framework type comments: - Abstract base class - concrete types in TechnologicalInfrastructureTypes.yaml - 'Follows Rule 0b: Type (singular) = abstract, Types (plural) = subclasses' diff --git a/schemas/20251121/linkml/modules/classes/TelevisionArchive.yaml b/schemas/20251121/linkml/modules/classes/TelevisionArchive.yaml index c4fd570813..23846014ce 100644 --- a/schemas/20251121/linkml/modules/classes/TelevisionArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/TelevisionArchive.yaml @@ -27,7 +27,10 @@ imports: - ./WikidataAlignment classes: TelevisionArchive: - description: A heritage custodian specialized in collecting, preserving, and providing access to television programs, recordings, and broadcasts. Television archives (Fernseharchive) maintain collections of broadcast content, including news programs, documentaries, entertainment shows, and other televisual materials that document broadcast history and cultural production. + description: A heritage custodian specialized in collecting, preserving, and providing access to television programs, + recordings, and broadcasts. Television archives (Fernseharchive) maintain collections of broadcast content, including + news programs, documentaries, entertainment shows, and other televisual materials that document broadcast history and + cultural production. is_a: ArchiveOrganizationType class_uri: schema:ArchiveOrganization slots: @@ -50,17 +53,6 @@ classes: is_or_was_related_to: range: WikidataAlignment inlined: true - attributes: - broadcast_network: - description: The broadcasting network or station whose content is archived - range: string - program_types: - description: Types of television programs in the collection - range: string - multivalued: true - broadcast_era_coverage: - description: Historical periods of broadcasting represented - range: string see_also: - RadioArchive - MediaArchive @@ -74,4 +66,4 @@ classes: custodian_type: true specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/TemperatureDeviation.yaml b/schemas/20251121/linkml/modules/classes/TemperatureDeviation.yaml index c276fedf49..9d49148c87 100644 --- a/schemas/20251121/linkml/modules/classes/TemperatureDeviation.yaml +++ b/schemas/20251121/linkml/modules/classes/TemperatureDeviation.yaml @@ -76,35 +76,27 @@ classes: range: integer required: false inlined: true - description: Alternative structured representation using Quantity class. For complex scenarios requiring full provenance tracking. examples: - value: - quantity_value: 2.0 - quantity_type: TEMPERATURE_TOLERANCE has_or_had_measurement_unit: has_or_had_type: DEGREE_CELSIUS has_or_had_symbol: "\xB0C" - description: Structured quantity representation has_or_had_measurement_unit: range: MeasureUnit required: false inlined: true - description: Unit of measurement (typically degree Celsius). If not specified, defaults to Celsius per ISO standards. examples: - value: has_or_had_type: DEGREE_CELSIUS has_or_had_symbol: "\xB0C" - description: Celsius unit (default) has_or_had_description: range: string required: false - description: Additional notes about this tolerance setting. examples: - value: Tighter tolerance required for daguerreotype collection has_or_had_label: range: string required: false - description: Human-readable label for this tolerance specification. examples: - value: Archive Standard Tolerance - value: Cold Storage Precision Tolerance @@ -127,37 +119,25 @@ classes: custodian_types: "['*']" examples: - value: - deviation_value: 2.0 - deviation_direction: PLUS_MINUS has_or_had_measurement_unit: has_or_had_type: DEGREE_CELSIUS has_or_had_symbol: "\xB0C" iso_standard_reference: ISO 11799:2015 has_or_had_label: Standard Archive Tolerance has_or_had_description: Per ISO 11799:2015 for paper-based materials - description: "Standard archive storage tolerance (\xB12\xB0C)" - value: - deviation_value: 1.0 - deviation_direction: PLUS_MINUS has_or_had_measurement_unit: has_or_had_type: DEGREE_CELSIUS has_or_had_symbol: "\xB0C" iso_standard_reference: BS 4971:2017 has_or_had_label: Sensitive Materials Tolerance - description: "Tight tolerance for sensitive materials (\xB11\xB0C)" - value: - deviation_value: 0.5 - deviation_direction: PLUS_MINUS iso_standard_reference: ISO 18911:2010 has_or_had_description: Precision cold storage for film negatives - description: Very tight tolerance for precision cold storage enums: DeviationDirectionEnum: description: Direction of allowed deviation from a setpoint. permissible_values: PLUS_MINUS: - description: "Symmetric tolerance - deviation allowed in both directions (\xB1)" PLUS: - description: Asymmetric - only positive deviation allowed (+) - MINUS: - description: Asymmetric - only negative deviation allowed (-) + MINUS: \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/TemplateSpecificityScore.yaml b/schemas/20251121/linkml/modules/classes/TemplateSpecificityScore.yaml index 9c1b24bd97..00f6e35ded 100644 --- a/schemas/20251121/linkml/modules/classes/TemplateSpecificityScore.yaml +++ b/schemas/20251121/linkml/modules/classes/TemplateSpecificityScore.yaml @@ -22,15 +22,9 @@ classes: - has_or_had_score slot_usage: has_or_had_type: - description: The template type this score applies to. range: TemplateSpecificityType required: true has_or_had_score: - description: 'The relevance score (0.0-1.0) for this template. - - Lower scores indicate broader relevance. - - ' range: float required: true minimum_value: 0.0 @@ -51,8 +45,5 @@ classes: custodian_types: "['*']" examples: - value: "archive_relevance:\n has_or_had_type: ArchiveSearchTemplate\n has_or_had_score: 0.85\n" - description: High relevance for archive-specific class - value: "museum_relevance:\n has_or_had_type: MuseumSearchTemplate\n has_or_had_score: 0.20\n" - description: Low relevance (broadly applicable) for general class - - value: "# Multiple scores for a single class\nscores:\n - has_or_had_type: ArchiveSearchTemplate\n has_or_had_score: 0.95\n - has_or_had_type: LibrarySearchTemplate\n has_or_had_score: 0.30\n - has_or_had_type: GeneralHeritageTemplate\n has_or_had_score: 0.45\n" - description: Class with varying relevance across templates + - value: "# Multiple scores for a single class\nscores:\n - has_or_had_type: ArchiveSearchTemplate\n has_or_had_score: 0.95\n - has_or_had_type: LibrarySearchTemplate\n has_or_had_score: 0.30\n - has_or_had_type: GeneralHeritageTemplate\n has_or_had_score: 0.45\n" \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/TemplateSpecificityType.yaml b/schemas/20251121/linkml/modules/classes/TemplateSpecificityType.yaml index a9e30f61b9..a7d27605c1 100644 --- a/schemas/20251121/linkml/modules/classes/TemplateSpecificityType.yaml +++ b/schemas/20251121/linkml/modules/classes/TemplateSpecificityType.yaml @@ -51,10 +51,8 @@ classes: - has_or_had_description slot_usage: has_or_had_label: - description: Human-readable name for this template type. required: true has_or_had_description: - description: Explanation of what queries this template handles. annotations: specificity_score: 0.15 specificity_rationale: 'Low specificity (meta-class) - TemplateSpecificityType is part of the @@ -69,5 +67,4 @@ classes: rule_compliance: Rules 0b, 37, 53, 56 (Type/Types convention, specificity, full migration, semantic consistency) custodian_types: "['*']" examples: - - value: "archive_search_type:\n has_or_had_label: Archive Search\n has_or_had_description: Queries about archival institutions, finding aids, and records management.\n" - description: Archive search template type definition + - value: "archive_search_type:\n has_or_had_label: Archive Search\n has_or_had_description: Queries about archival institutions, finding aids, and records management.\n" \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/TemporaryLocation.yaml b/schemas/20251121/linkml/modules/classes/TemporaryLocation.yaml index a28925cdd5..395aa1dbee 100644 --- a/schemas/20251121/linkml/modules/classes/TemporaryLocation.yaml +++ b/schemas/20251121/linkml/modules/classes/TemporaryLocation.yaml @@ -74,102 +74,76 @@ classes: range: uriorcurie required: true identifier: true - description: Unique identifier for this temporary location. examples: - value: https://nde.nl/ontology/hc/aux/stedelijk-temp-2020 - description: Stedelijk Museum renovation temporary location has_or_had_label: range: string required: true multivalued: true - description: Human-readable name(s) for this temporary location. examples: - value: Stedelijk Museum Temporary Entrance - description: Renovation interim access - value: Rijksmuseum Pop-up Groningen - description: Traveling exhibition - value: Emergency Collection Storage - Watersnood 2024 - description: Emergency relocation has_or_had_description: range: string inlined: true - description: Detailed description of the temporary location. examples: - value: description_text: Temporary entrance during main entrance renovation. Access collections via garden entrance, Paulus Potterstraat side. description_type: location language: en - description: Renovation interim description has_or_had_type: range: TemporaryLocationReasonEnum required: true multivalued: false - description: The reason/type for this temporary location (renovation, emergency, pop-up, etc.) examples: - value: RENOVATION - description: Building renovation - value: POP_UP_PROGRAM - description: Pop-up exhibition - value: EMERGENCY - description: Emergency relocation has_or_had_rationale: range: string - description: Detailed explanation of the reason for the temporary location. examples: - value: Main entrance renovation including new accessibility features. Expected completion Q4 2021. - description: Renovation reason - value: Emergency relocation due to flooding at main depot on 2024-01-14. Extent of damage being assessed. - description: Emergency reason planned_start: range: date examples: - value: '2020-06-01' - description: Planned renovation start planned_end: range: date examples: - value: '2021-12-31' - description: Planned renovation completion temporal_extent: range: TimeSpan - description: The actual temporal extent of this temporary location using CIDOC-CRM TimeSpan. Use begin_of_the_begin for actual start date, end_of_the_end for actual end date. For precise dates, set begin_of_the_begin == end_of_the_begin (and same for end). examples: - value: begin_of_the_begin: '2020-06-15' end_of_the_begin: '2020-06-15' begin_of_the_end: '2022-03-15' end_of_the_end: '2022-03-15' - description: Precise actual start (2020-06-15) and end (2022-03-15) dates for renovation - value: begin_of_the_begin: '2024-06-01' end_of_the_begin: '2024-07-15' begin_of_the_end: '2024-09-15' end_of_the_end: '2024-10-31' - description: Summer 2024 pop-up with fuzzy boundaries (soft open June-July, wind-down Sept-Oct) - value: begin_of_the_begin: '2024-01-15' end_of_the_begin: '2024-01-15' - description: Emergency storage with known start but unknown end (ongoing) is_active: range: boolean examples: - value: true - description: Currently active replaces_primary_location: range: boolean examples: - value: true - description: Main entrance closed, use this entrance - value: false - description: Additional location (pop-up) serves_function_of: range: string multivalued: true examples: - value: Public entrance - description: Temporary entrance during renovation - value: Collection storage - description: Emergency collection storage is_or_was_derived_from: range: CustodianObservation multivalued: true @@ -210,7 +184,6 @@ classes: serves_function_of: - Public entrance - Ticket sales - description: Museum renovation temporary entrance (completed) - actual dates via temporal_extent - value: has_or_had_identifier: https://nde.nl/ontology/hc/aux/rijksmuseum-popup-groningen has_or_had_label: @@ -230,7 +203,6 @@ classes: replaces_primary_location: false serves_function_of: - Exhibition space - description: Pop-up exhibition (active) - actual start via temporal_extent, no end yet - value: has_or_had_identifier: https://nde.nl/ontology/hc/aux/emergency-storage-2024 has_or_had_label: @@ -249,7 +221,6 @@ classes: replaces_primary_location: true serves_function_of: - Collection storage - description: Emergency storage (active, end date unknown) - actual start via temporal_extent annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/TentativeWorldHeritageSite.yaml b/schemas/20251121/linkml/modules/classes/TentativeWorldHeritageSite.yaml index 717bb99744..3fb5c0e892 100644 --- a/schemas/20251121/linkml/modules/classes/TentativeWorldHeritageSite.yaml +++ b/schemas/20251121/linkml/modules/classes/TentativeWorldHeritageSite.yaml @@ -23,7 +23,10 @@ imports: - ./WikidataAlignment classes: TentativeWorldHeritageSite: - description: A site or property that has been submitted by a State Party to UNESCO for consideration as a future World Heritage Site. Tentative World Heritage Sites appear on the indicative list (Tentativliste) and represent cultural or natural heritage that may be nominated for full World Heritage status. In the heritage custodian context, this designates institutions managing sites on the tentative list. + description: A site or property that has been submitted by a State Party to UNESCO for consideration as a future World + Heritage Site. Tentative World Heritage Sites appear on the indicative list (Tentativliste) and represent cultural + or natural heritage that may be nominated for full World Heritage status. In the heritage custodian context, this designates + institutions managing sites on the tentative list. is_a: ArchiveOrganizationType class_uri: skos:Concept slots: @@ -49,19 +52,6 @@ classes: equals_string: liste indicative du patrimoine mondial custodian_only: equals_expression: 'true' - attributes: - submission_year: - description: Year the site was added to the tentative list - range: integer - state_party: - description: The UNESCO State Party that submitted the nomination - range: string - heritage_category: - description: Category (cultural, natural, or mixed) - range: string - nomination_status: - description: Current status of the nomination process - range: string see_also: - WorldHeritageSite - NationalTreasure @@ -69,7 +59,7 @@ classes: annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' prefixes: linkml: https://w3id.org/linkml/ hc: https://nde.nl/ontology/hc/ diff --git a/schemas/20251121/linkml/modules/classes/TextDirection.yaml b/schemas/20251121/linkml/modules/classes/TextDirection.yaml index 7254c093c3..c20db129ed 100644 --- a/schemas/20251121/linkml/modules/classes/TextDirection.yaml +++ b/schemas/20251121/linkml/modules/classes/TextDirection.yaml @@ -49,24 +49,16 @@ classes: - has_or_had_code slot_usage: has_or_had_label: - description: Human-readable label for the text direction (e.g., "Left to Right", "Right to Left") examples: - value: "Left to Right" - value: "Right to Left" - value: "Top to Bottom" has_or_had_code: - description: | - Short code for the text direction. - Common codes: LTR, RTL, TTB, BTT, BOUSTROPHEDON examples: - value: "LTR" - description: Left to right - value: "RTL" - description: Right to left (Arabic, Hebrew) - value: "TTB" - description: Top to bottom (traditional CJK) - value: "BOUSTROPHEDON" - description: Alternating direction annotations: custodian_types: '["L", "A", "M", "R", "H"]' custodian_types_rationale: Relevant to libraries, archives, museums, research centers, and holy sites holding manuscripts @@ -76,16 +68,12 @@ classes: - value: has_or_had_code: "LTR" has_or_had_label: "Left to Right" - description: Standard Western European text direction - value: has_or_had_code: "RTL" has_or_had_label: "Right to Left" - description: Arabic or Hebrew manuscript text direction - value: has_or_had_code: "TTB" has_or_had_label: "Top to Bottom" - description: Traditional Chinese/Japanese vertical writing - value: has_or_had_code: "BOUSTROPHEDON" - has_or_had_label: "Boustrophedon" - description: Ancient alternating direction (lines alternate LTR and RTL) + has_or_had_label: "Boustrophedon" \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/TextType.yaml b/schemas/20251121/linkml/modules/classes/TextType.yaml index 9cd85db24e..b792250121 100644 --- a/schemas/20251121/linkml/modules/classes/TextType.yaml +++ b/schemas/20251121/linkml/modules/classes/TextType.yaml @@ -60,9 +60,7 @@ classes: pattern: ^https://nde\.nl/ontology/hc/text-type/[a-z-]+$ examples: - value: https://nde.nl/ontology/hc/text-type/title-card - description: Title card text type - value: https://nde.nl/ontology/hc/text-type/lower-third - description: Lower third text type has_or_had_code: range: string required: true @@ -92,12 +90,10 @@ classes: has_or_had_hypernym: range: TextType required: false - description: Parent text type in hierarchy has_or_had_hyponym: range: TextType multivalued: true required: false - description: Child text types in hierarchy annotations: specificity_score: '0.80' specificity_rationale: Highly specific - video OCR annotation domain only. @@ -122,5 +118,4 @@ classes: has_or_had_label: - Lower Third@en - Naam-balk@nl - has_or_had_description: Name or title overlay displayed in lower third of frame - description: Lower third text type definition + has_or_had_description: Name or title overlay displayed in lower third of frame \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/ThinkingMode.yaml b/schemas/20251121/linkml/modules/classes/ThinkingMode.yaml index f13f5f48dd..aea2e2632c 100644 --- a/schemas/20251121/linkml/modules/classes/ThinkingMode.yaml +++ b/schemas/20251121/linkml/modules/classes/ThinkingMode.yaml @@ -64,15 +64,11 @@ classes: required: true slot_usage: has_or_had_label: - description: Human-readable label for the thinking mode. examples: - value: Preserved Thinking - description: Multi-turn reasoning preservation mode has_or_had_description: - description: Detailed description of the thinking mode configuration. examples: - value: Retains reasoning_content from previous assistant turns in context for improved performance. - description: Preserved mode explanation annotations: specificity_score: 0.75 specificity_rationale: Highly specific to LLM API configuration domain @@ -80,12 +76,8 @@ classes: custodian_types_rationale: Applies to Digital Platform custodians using LLM APIs examples: - value: - mode_value: preserved has_or_had_label: Preserved Thinking has_or_had_description: Retains reasoning across conversation turns for improved accuracy. - description: GLM 4.7 Preserved Thinking mode for multi-turn agents - value: - mode_value: interleaved has_or_had_label: Interleaved Thinking - has_or_had_description: Default mode - thinks between tool calls. - description: Default GLM 4.5+ interleaved thinking mode + has_or_had_description: Default mode - thinks between tool calls. \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/Threat.yaml b/schemas/20251121/linkml/modules/classes/Threat.yaml index c6e9425915..2d18fc810a 100644 --- a/schemas/20251121/linkml/modules/classes/Threat.yaml +++ b/schemas/20251121/linkml/modules/classes/Threat.yaml @@ -40,19 +40,9 @@ classes: - has_or_had_type slot_usage: has_or_had_type: - description: The type/category of threat. range: ThreatType multivalued: false attributes: - threat_name: - range: string - description: Short name for the threat factor. - threat_description: - range: string - description: Detailed description of the threat and its impact. - severity: - range: string - description: Severity level (LOW, MEDIUM, HIGH, CRITICAL). annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Thumbnail.yaml b/schemas/20251121/linkml/modules/classes/Thumbnail.yaml index a88d7d3b4f..6cd98aa27a 100644 --- a/schemas/20251121/linkml/modules/classes/Thumbnail.yaml +++ b/schemas/20251121/linkml/modules/classes/Thumbnail.yaml @@ -27,23 +27,15 @@ classes: slot_usage: has_or_had_url: required: true - description: URL of the thumbnail image examples: - value: https://i.ytimg.com/vi/ABC123/hq1.jpg - description: YouTube thumbnail URL derives_or_derived_from: - description: 'Source video from which this thumbnail was extracted. - - Use when the thumbnail represents a specific video frame. - - ' range: Video inlined: true required: false examples: - value: has_or_had_url: https://www.youtube.com/watch?v=ABC123 - description: Thumbnail derived from YouTube video has_or_had_time_interval: description: "Timestamp in the source video from which this thumbnail was extracted.\nCaptures the frame time as a duration from video start.\n\n**MIGRATION NOTE**: Replaces deprecated `chapter_thumbnail_timestamp` float.\nThe float value (seconds) should be converted to ISO 8601 duration format.\n\nExample conversions:\n- 122.5 seconds \u2192 PT2M2.5S (2 minutes, 2.5 seconds)\n- 3600 seconds \u2192 PT1H (1 hour)\n" range: TimeInterval @@ -51,9 +43,7 @@ classes: required: false examples: - value: - duration_value: PT2M2.5S duration_description: Thumbnail from 2:02.5 in video - description: Frame extracted at 122.5 seconds exact_mappings: - foaf:Image annotations: @@ -66,12 +56,10 @@ classes: examples: - value: has_or_had_url: https://example.org/thumbnails/rijksmuseum-night-watch-thumb.jpg - description: Simple thumbnail with URL only - value: has_or_had_url: https://i.ytimg.com/vi/ABC123/hq1.jpg derives_or_derived_from: has_or_had_url: https://www.youtube.com/watch?v=ABC123 has_or_had_time_interval: - duration_value: PT2M2.5S duration_description: Frame at 2:02.5 description: 'Video-derived thumbnail with timestamp (replaces chapter_thumbnail_timestamp: 122.5)' diff --git a/schemas/20251121/linkml/modules/classes/TimeSpan.yaml b/schemas/20251121/linkml/modules/classes/TimeSpan.yaml index 73449329dc..673039f1f4 100644 --- a/schemas/20251121/linkml/modules/classes/TimeSpan.yaml +++ b/schemas/20251121/linkml/modules/classes/TimeSpan.yaml @@ -82,20 +82,11 @@ classes: has_or_had_notation: range: string required: false - description: 'Original EDTF (Extended Date/Time Format) notation string. Preserves the exact notation used to express temporal uncertainty. - - **EDTF PATTERNS**: | Pattern | Meaning | Example | |---------|---------|---------| | `YYYY-MM-DD` | Full date | `1970-08-15` | | `YYYY-MM` | Year-month | `1970-08` | | `YYYY` | Year only | `1970` | | `YYYX` | Decade | `197X` (1970s) | | `YYYY~` | Approximate | `1970~` (circa) | | `YYYY?` | Uncertain | `1970?` | | `XXXX` | Unknown | Requires provenance |' examples: - value: '1970-08-15' - description: Full date known - value: 197X - description: Decade known (1970s) - value: 1970~ - description: Approximate (circa 1970) attributes: - notes: - range: string - description: Additional notes or remarks about the time span comments: - Handles temporal uncertainty common in heritage contexts - 'Precise dates: Set begin_of_the_begin == end_of_the_begin (and same for end)' diff --git a/schemas/20251121/linkml/modules/classes/Timestamp.yaml b/schemas/20251121/linkml/modules/classes/Timestamp.yaml index 5ba1c45a7d..6f8a45bba9 100644 --- a/schemas/20251121/linkml/modules/classes/Timestamp.yaml +++ b/schemas/20251121/linkml/modules/classes/Timestamp.yaml @@ -81,20 +81,10 @@ classes: slot_usage: has_or_had_timestamp: # was: timestamp_value - migrated per Rule 53 - description: | - The timestamp value as ISO 8601 string. - Precision determined by string format: - - "1995" = year precision - - "1995-06" = month precision - - "1995-06-15" = day precision - - "1995-06-15T10:30:00Z" = full datetime range: string required: true pattern: "^-?\\d{4}(-\\d{2})?(-\\d{2})?(T\\d{2}:\\d{2}(:\\d{2})?(\\.\\d+)?(Z|[+-]\\d{2}:\\d{2})?)?$" has_or_had_level: # was: timestamp_precision - migrated per Rule 53 - description: | - Explicit precision level. Auto-derived from timestamp_value if not provided. - Values: year, month, day, hour, minute, second, millisecond range: string required: false examples: @@ -102,23 +92,12 @@ classes: - value: day - value: second complies_or_complied_with: - description: | - Calendar system for the timestamp. Default is Gregorian. - MIGRATED 2026-01-22: Replaces calendar_system string with CalendarSystem class. - For historical or non-Western dates, specify the calendar. range: CalendarSystem required: false inlined: true examples: - value: - system_code: gregorian - system_name: "Gregorian Calendar" - description: Standard Gregorian calendar - value: - system_code: julian - system_name: "Julian Calendar" - description: Julian calendar for historical dates - annotations: custodian_types: '["*"]' custodian_types_rationale: Generic timestamp class applicable to all types. @@ -130,17 +109,11 @@ classes: - value: | has_or_had_timestamp: "1995" has_or_had_level: year - description: "Year-only timestamp (e.g., founding year)" - value: | has_or_had_timestamp: "2024-06-15" has_or_had_level: day complies_or_complied_with: - system_code: gregorian - system_name: "Gregorian Calendar" - description: "Full date timestamp with calendar system" - value: | has_or_had_timestamp: "2024-06-15T14:30:00Z" has_or_had_level: second - complies_or_complied_with: - system_code: gregorian - description: "Full datetime timestamp" + complies_or_complied_with: \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/Title.yaml b/schemas/20251121/linkml/modules/classes/Title.yaml index 304f48e50e..0d8695c0f9 100644 --- a/schemas/20251121/linkml/modules/classes/Title.yaml +++ b/schemas/20251121/linkml/modules/classes/Title.yaml @@ -52,8 +52,6 @@ classes: - schema:name slots: - - title_text - - title_type - has_or_had_language attributes: @@ -68,12 +66,9 @@ classes: slot_usage: has_or_had_language: - description: Language of the title (ISO 639-1 code). examples: - value: language_code: "nl" - description: Dutch language title - annotations: custodian_types: '["*"]' custodian_types_rationale: Titles applicable to all heritage resources. @@ -87,14 +82,8 @@ classes: examples: - value: - title_text: "Collectie Nederland" - title_type: "main" has_or_had_language: language_code: "nl" - description: "Dutch main title" - value: - title_text: "Collection Netherlands" - title_type: "translated" has_or_had_language: - language_code: "en" - description: "English translated title" + language_code: "en" \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/Token.yaml b/schemas/20251121/linkml/modules/classes/Token.yaml index cad21475c9..0d386781f0 100644 --- a/schemas/20251121/linkml/modules/classes/Token.yaml +++ b/schemas/20251121/linkml/modules/classes/Token.yaml @@ -42,39 +42,24 @@ classes: required: false examples: - value: https://nde.nl/ontology/hc/token/llm-response-001-cached - description: Token count instance identifier has_or_had_type: range: uriorcurie required: false inlined: true - description: 'The type of token (INPUT, OUTPUT, CACHED, REASONING, TOTAL). - - References TokenType taxonomy. - - ' examples: - value: has_or_had_identifier: hc:TokenType/CACHED has_or_had_label: Cached Token - description: Cached token type - value: has_or_had_identifier: hc:TokenType/REASONING has_or_had_label: Reasoning Token - description: Reasoning/thinking token type has_or_had_quantity: range: integer required: false inlined: true - description: 'The numeric token count with optional metadata. - - For simple use cases, prefer quantity_value directly. - - ' examples: - value: - quantity_value: 50 has_or_had_description: Tokens served from cache - description: Cached token count has_or_had_label: range: string required: false @@ -99,17 +84,13 @@ classes: has_or_had_identifier: hc:TokenType/CACHED has_or_had_label: Cached Token has_or_had_quantity: - quantity_value: 50 has_or_had_description: Prompt tokens from cache has_or_had_description: 50 cached tokens reducing API cost - description: Cached token count with full metadata - value: has_or_had_type: has_or_had_identifier: hc:TokenType/REASONING has_or_had_label: Reasoning Token has_or_had_quantity: - quantity_value: 1250 - description: Reasoning tokens from GLM 4.7 thinking mode annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/TokenType.yaml b/schemas/20251121/linkml/modules/classes/TokenType.yaml index faa8826a2b..f0411473be 100644 --- a/schemas/20251121/linkml/modules/classes/TokenType.yaml +++ b/schemas/20251121/linkml/modules/classes/TokenType.yaml @@ -76,7 +76,6 @@ classes: range: uriorcurie examples: - value: hc:TokenType/INPUT - description: Input/prompt token type has_or_had_label: required: true range: string diff --git a/schemas/20251121/linkml/modules/classes/TokenTypes.yaml b/schemas/20251121/linkml/modules/classes/TokenTypes.yaml index 308c40ca28..37fac8000a 100644 --- a/schemas/20251121/linkml/modules/classes/TokenTypes.yaml +++ b/schemas/20251121/linkml/modules/classes/TokenTypes.yaml @@ -32,7 +32,6 @@ classes: has_or_had_identifier: hc:TokenType/INPUT has_or_had_label: Input Token has_or_had_description: Tokens in the input prompt - description: Input token type instance annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration @@ -59,7 +58,6 @@ classes: has_or_had_identifier: hc:TokenType/OUTPUT has_or_had_label: Output Token has_or_had_description: Tokens in the completion response - description: Output token type instance broad_mappings: - skos:Concept CachedToken: @@ -91,7 +89,6 @@ classes: has_or_had_identifier: hc:TokenType/CACHED has_or_had_label: Cached Token has_or_had_description: Tokens served from provider cache - description: Cached token type instance broad_mappings: - skos:Concept ReasoningToken: @@ -123,7 +120,6 @@ classes: has_or_had_identifier: hc:TokenType/REASONING has_or_had_label: Reasoning Token has_or_had_description: Tokens for chain-of-thought reasoning - description: Reasoning token type instance broad_mappings: - skos:Concept TotalToken: @@ -144,6 +140,5 @@ classes: has_or_had_identifier: hc:TokenType/TOTAL has_or_had_label: Total Token has_or_had_description: Sum of input and output tokens - description: Total token type instance broad_mappings: - skos:Concept diff --git a/schemas/20251121/linkml/modules/classes/Topic.yaml b/schemas/20251121/linkml/modules/classes/Topic.yaml index 53d15b129c..fd4c47c871 100644 --- a/schemas/20251121/linkml/modules/classes/Topic.yaml +++ b/schemas/20251121/linkml/modules/classes/Topic.yaml @@ -96,24 +96,13 @@ classes: required: true multivalued: true inlined: true - description: | - Human-readable label for this specific topic. - Supports multilingual labels. has_or_had_type: range: uriorcurie - description: | - The type/category of this topic. - Uses TopicType class hierarchy. has_or_had_description: - description: | - Detailed description of this specific topic's scope. includes_or_included: range: string multivalued: true inlined_as_list: true - description: | - Sub-topics included within this topic. - annotations: custodian_types: '["*"]' custodian_types_rationale: Subject topics are universal across all heritage custodian types. diff --git a/schemas/20251121/linkml/modules/classes/TopicType.yaml b/schemas/20251121/linkml/modules/classes/TopicType.yaml index 9def3b09ce..9514458e5a 100644 --- a/schemas/20251121/linkml/modules/classes/TopicType.yaml +++ b/schemas/20251121/linkml/modules/classes/TopicType.yaml @@ -79,22 +79,13 @@ classes: slot_usage: has_or_had_code: - description: | - Short code for the topic type (e.g., "GEN" for genealogy). has_or_had_label: required: true - description: | - Human-readable label for the topic type. has_or_had_hypernym: range: TopicType - description: | - Broader topic type that includes this one. has_or_had_hyponym: range: TopicType multivalued: true - description: | - Narrower topic types included in this one. - annotations: custodian_types: '["*"]' custodian_types_rationale: Subject topics are universal across all heritage custodian types. diff --git a/schemas/20251121/linkml/modules/classes/TradeRegister.yaml b/schemas/20251121/linkml/modules/classes/TradeRegister.yaml index 2532f425ca..f004c172c1 100644 --- a/schemas/20251121/linkml/modules/classes/TradeRegister.yaml +++ b/schemas/20251121/linkml/modules/classes/TradeRegister.yaml @@ -55,7 +55,6 @@ classes: - has_or_had_description - has_or_had_identifier - has_or_had_format - - has_or_had_jurisdiction - maintained_by - register_abbreviation - register_id @@ -82,10 +81,6 @@ classes: maintained_by: required: true has_or_had_identifier: - description: 'GLEIF Registration Authority code. - MIGRATED from gleif_ra_code per Rule 53. - Uses GLEIFIdentifier class. - ' range: GLEIFIdentifier inlined: true required: false @@ -93,20 +88,13 @@ classes: range: uri inlined: true multivalued: false - description: 'Official website of the trade register. - MIGRATED from website slot per slot_fixes.yaml (Rule 53, 2025-01-15). - ' has_or_had_endpoint: range: APIEndpoint inlined: true - description: 'API endpoint for accessing the trade register. - MIGRATED from has_or_had_api_endpoint per Rule 53. - ' examples: - value: has_or_had_url: https://api.kvk.nl/ has_or_had_description: KvK Handelsregister API - description: Trade register API endpoint annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/TradeUnionArchive.yaml b/schemas/20251121/linkml/modules/classes/TradeUnionArchive.yaml index 0a064d7411..0d53d95985 100644 --- a/schemas/20251121/linkml/modules/classes/TradeUnionArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/TradeUnionArchive.yaml @@ -36,7 +36,10 @@ imports: - ./WikidataAlignment classes: TradeUnionArchive: - description: An archive formed by the documentation of labor organizations, trade unions, and workers' movements. Trade union archives (Gewerkschaftsarchive) preserve records documenting the history of organized labor, including meeting minutes, correspondence, publications, photographs, and other materials relating to workers' rights, collective bargaining, strikes, and labor activism. + description: An archive formed by the documentation of labor organizations, trade unions, and workers' movements. Trade + union archives (Gewerkschaftsarchive) preserve records documenting the history of organized labor, including meeting + minutes, correspondence, publications, photographs, and other materials relating to workers' rights, collective bargaining, + strikes, and labor activism. is_a: ArchiveOrganizationType class_uri: schema:ArchiveOrganization exact_mappings: @@ -56,7 +59,8 @@ classes: slot_usage: has_or_had_identifier: null hold_or_held_record_set_type: - equals_expression: '["hc:UnionAdministrationFonds", "hc:CollectiveBargainingSeries", "hc:StrikeDocumentationCollection", "hc:LaborPublicationsCollection", "hc:WorkersPhotographyCollection"] + equals_expression: '["hc:UnionAdministrationFonds", "hc:CollectiveBargainingSeries", "hc:StrikeDocumentationCollection", + "hc:LaborPublicationsCollection", "hc:WorkersPhotographyCollection"] ' has_or_had_type: @@ -64,18 +68,6 @@ classes: is_or_was_related_to: range: WikidataAlignment inlined: true - attributes: - union_affiliation: - description: The trade union or labor federation associated with this archive - range: string - industry_sectors: - description: Industry sectors represented in the archive - range: string - multivalued: true - labor_movement_coverage: - description: Aspects of labor history documented (strikes, negotiations, etc.) - range: string - multivalued: true see_also: - PoliticalArchive - AssociationArchive @@ -89,7 +81,7 @@ classes: subject_domain: labor/workers specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' comments: - Gewerkschaftsarchiv (de) - archivo sindical (es) diff --git a/schemas/20251121/linkml/modules/classes/TradeUnionArchiveRecordSetTypes.yaml b/schemas/20251121/linkml/modules/classes/TradeUnionArchiveRecordSetTypes.yaml index e68187018e..d99aa5a395 100644 --- a/schemas/20251121/linkml/modules/classes/TradeUnionArchiveRecordSetTypes.yaml +++ b/schemas/20251121/linkml/modules/classes/TradeUnionArchiveRecordSetTypes.yaml @@ -131,15 +131,9 @@ classes: in_language: pt keywords: - union administration - - vakbondsbestuur - congress minutes - - congresverslagen - membership records - - ledenregisters - union governance - - vakbondsorganisatie - - bylaws - - statuten - labor organization exact_mappings: - rico:RecordSetType @@ -296,14 +290,8 @@ classes: - CAO - collectieve arbeidsovereenkomst - labor contracts - - arbeidscontracten - - negotiations - - onderhandelingen - wage agreements - - loonafspraken - industrial relations - - arbeidsrelaties - - arbitration exact_mappings: - rico:RecordSetType related_mappings: @@ -460,16 +448,9 @@ classes: in_language: pt keywords: - strike documentation - - stakingsarchief - labor actions - - arbeidsacties - picket lines - - stakingsposten - - solidarity - - solidariteit - - lockouts - work stoppages - - werkonderbrekingen - February strike - Februaristaking exact_mappings: @@ -630,13 +611,8 @@ classes: in_language: pt keywords: - labor publications - - vakbondspers - union newspapers - - vakbondskranten - - pamphlets - - pamfletten - workers press - - arbeiderspers - labor propaganda - union magazines - May Day @@ -812,7 +788,6 @@ classes: in_language: pt keywords: - workers photography - - arbeidersfotografie - workplace photographs - fabrieksfoto's - strike photographs @@ -821,7 +796,6 @@ classes: - labor movement images - industrial photography - worker portraits - - werknemersportretten exact_mappings: - rico:RecordSetType related_mappings: diff --git a/schemas/20251121/linkml/modules/classes/TransferEvent.yaml b/schemas/20251121/linkml/modules/classes/TransferEvent.yaml index 54c52c7eb4..08f5c2b53c 100644 --- a/schemas/20251121/linkml/modules/classes/TransferEvent.yaml +++ b/schemas/20251121/linkml/modules/classes/TransferEvent.yaml @@ -62,39 +62,24 @@ classes: slots: - temporal_extent - starts_or_started_at_location - - ends_or_ended_at_location - has_or_had_description # was: has_or_had_description - has_or_had_policy - specificity_annotation - has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) slot_usage: temporal_extent: - description: | - When the transfer occurred. Can be a single date or date range. range: TimeSpan required: false inlined: true starts_or_started_at_location: - description: | - Origin location - where the transferred items came from. - range: Location - required: false - inlined: true - ends_or_ended_at_location: - description: | - Destination location - where the transferred items went to. range: Location required: false inlined: true has_or_had_description: # was: has_or_had_description - description: | - Narrative description of the transfer event. range: string required: false inlined: true has_or_had_policy: - description: | - Policy that governed this transfer. range: TransferPolicy required: false inlined: true @@ -111,8 +96,5 @@ classes: has_or_had_timestamp: "2020-01-15T00:00:00Z" # was: timestamp_value - migrated per Rule 53 starts_or_started_at_location: location_name: "Old Storage Facility" - ends_or_ended_at_location: - location_name: "New Archive Building" has_or_had_description: # was: has_or_had_description - description_text: "Transfer of historical photographs to new climate-controlled facility" - description: "Collection relocation transfer" + description_text: "Transfer of historical photographs to new climate-controlled facility" \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/TransferPolicy.yaml b/schemas/20251121/linkml/modules/classes/TransferPolicy.yaml index 569ad36dcc..3c1a1483b2 100644 --- a/schemas/20251121/linkml/modules/classes/TransferPolicy.yaml +++ b/schemas/20251121/linkml/modules/classes/TransferPolicy.yaml @@ -66,18 +66,12 @@ classes: slot_usage: policy_name: - description: | - Name or title of the transfer policy. range: string required: false policy_text: - description: | - Full text of the policy. range: string required: false has_or_had_description: # was: has_or_had_description - description: | - Summary description of the policy. range: string required: false inlined: true @@ -92,5 +86,4 @@ classes: examples: - value: | policy_name: "Donor Transfer Restriction" - policy_text: "Materials may not be transferred to institutions outside the Netherlands without donor consent." - description: "Donor-imposed transfer restriction" + policy_text: "Materials may not be transferred to institutions outside the Netherlands without donor consent." \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/TransitionType.yaml b/schemas/20251121/linkml/modules/classes/TransitionType.yaml index 1e386ffa55..17f6640ca8 100644 --- a/schemas/20251121/linkml/modules/classes/TransitionType.yaml +++ b/schemas/20251121/linkml/modules/classes/TransitionType.yaml @@ -56,9 +56,7 @@ classes: pattern: ^https://nde\.nl/ontology/hc/transition-type/[a-z-]+$ examples: - value: https://nde.nl/ontology/hc/transition-type/cut - description: Cut transition type - value: https://nde.nl/ontology/hc/transition-type/dissolve - description: Dissolve transition type has_or_had_code: range: string required: true @@ -91,12 +89,10 @@ classes: has_or_had_hypernym: range: TransitionType required: false - description: "Parent transition type in hierarchy (e.g., FADE \u2192 FADE_IN, FADE_OUT)" has_or_had_hyponym: range: TransitionType multivalued: true required: false - description: Child transition types in hierarchy annotations: specificity_score: '0.85' specificity_rationale: Highly specific - transition types only relevant for video annotation domain. @@ -123,7 +119,6 @@ classes: - Cut@en - snede@nl has_or_had_description: Instantaneous transition between shots with no visual effect - description: Cut transition type definition - value: has_or_had_identifier: https://nde.nl/ontology/hc/transition-type/dissolve has_or_had_code: DISSOLVE @@ -131,5 +126,4 @@ classes: - Dissolve@en - overgang@nl has_or_had_description: Cross-fade transition where one shot gradually blends into the next - has_or_had_hypernym: https://nde.nl/ontology/hc/transition-type/gradual - description: Dissolve transition type definition + has_or_had_hypernym: https://nde.nl/ontology/hc/transition-type/gradual \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/TreatmentType.yaml b/schemas/20251121/linkml/modules/classes/TreatmentType.yaml index 9498ac036e..7b277ec38a 100644 --- a/schemas/20251121/linkml/modules/classes/TreatmentType.yaml +++ b/schemas/20251121/linkml/modules/classes/TreatmentType.yaml @@ -58,9 +58,7 @@ classes: pattern: ^https://nde\.nl/ontology/hc/treatment-type/[a-z-]+$ examples: - value: https://nde.nl/ontology/hc/treatment-type/cleaning - description: Cleaning treatment type - value: https://nde.nl/ontology/hc/treatment-type/stabilization - description: Stabilization treatment type has_or_had_code: range: string required: true @@ -93,25 +91,16 @@ classes: multivalued: true inlined: true inlined_as_list: true - description: 'Wikidata equivalence for this treatment type concept. - - MIGRATED 2026-01-15: Replaces wikidata_id slot per Rule 53. - - ' examples: - value: - qid: Q753445 - label: Conservation and restoration - description: Wikidata equivalence for conservation treatment has_or_had_hypernym: range: TreatmentType required: false - description: Parent treatment type in hierarchy has_or_had_hyponym: range: TreatmentType multivalued: true required: false - description: Child treatment types in hierarchy annotations: specificity_score: '0.60' specificity_rationale: Fairly specific - conservation treatments are domain-specific to heritage preservation. @@ -138,6 +127,4 @@ classes: - reiniging@nl has_or_had_description: Surface cleaning treatment to remove dirt and accretions is_or_was_equivalent_to: - - qid: Q2608948 - label: Cleaning treatment - description: Cleaning treatment type definition + - qid: Q2608948 \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/UNESCODomain.yaml b/schemas/20251121/linkml/modules/classes/UNESCODomain.yaml index 3dc283ba5b..4bcb3693c1 100644 --- a/schemas/20251121/linkml/modules/classes/UNESCODomain.yaml +++ b/schemas/20251121/linkml/modules/classes/UNESCODomain.yaml @@ -11,26 +11,15 @@ imports: classes: UNESCODomain: class_uri: skos:Concept - description: 'A UNESCO intangible cultural heritage domain classification. - Represents the thematic categorization of intangible heritage elements - according to the 2003 UNESCO Convention for the Safeguarding of the - Intangible Cultural Heritage. Domains include oral traditions, performing - arts, social practices, traditional knowledge, and craftsmanship. - ' + description: 'A UNESCO intangible cultural heritage domain classification. Represents the thematic categorization of intangible + heritage elements according to the 2003 UNESCO Convention for the Safeguarding of the Intangible Cultural Heritage. + Domains include oral traditions, performing arts, social practices, traditional knowledge, and craftsmanship. ' slots: - has_or_had_type slot_usage: has_or_had_type: range: uriorcurie - attributes: - domain_name: - description: Name of the UNESCO intangible heritage domain - range: string - required: true - domain_code: - description: UNESCO domain code identifier - range: string annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/URL.yaml b/schemas/20251121/linkml/modules/classes/URL.yaml index 3a9432359f..f3ce38c38b 100644 --- a/schemas/20251121/linkml/modules/classes/URL.yaml +++ b/schemas/20251121/linkml/modules/classes/URL.yaml @@ -69,19 +69,12 @@ classes: slot_usage: has_or_had_url: # was: url_value - migrated 2026-01-16 per Rule 53 - description: | - The actual URL string (e.g., https://example.org/). range: uri required: true has_or_had_type: # was: url_type - migrated 2026-01-16 per Rule 53 - description: | - Classification of the URL type (website, api, archive, etc.). range: string required: false language: - description: | - Language/locale of the content at this URL. - ISO 639-1 code, optionally with region (e.g., "en", "nl-NL"). range: string required: false pattern: "^[a-z]{2}(-[A-Z]{2})?$" @@ -98,13 +91,10 @@ classes: has_or_had_url: "https://www.rijksmuseum.nl/" has_or_had_type: website language: nl - description: "Official website URL for Rijksmuseum" - value: | has_or_had_url: "https://api.rijksmuseum.nl/api/nl/collection" has_or_had_type: api language: nl - description: "API endpoint for Rijksmuseum collection" - value: | has_or_had_url: "https://web.archive.org/web/20240101/https://example.org/" - has_or_had_type: webarchive - description: "Web archive snapshot URL" + has_or_had_type: webarchive \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/UnescoIchElement.yaml b/schemas/20251121/linkml/modules/classes/UnescoIchElement.yaml index 68b8b8538a..628a1bc6d7 100644 --- a/schemas/20251121/linkml/modules/classes/UnescoIchElement.yaml +++ b/schemas/20251121/linkml/modules/classes/UnescoIchElement.yaml @@ -14,7 +14,11 @@ imports: default_range: string classes: UnescoIchElement: - description: "A UNESCO Intangible Cultural Heritage (ICH) element, representing traditions, practices, or cultural expressions inscribed on UNESCO lists. Captures ICH ID, name, list type, inscription year, whether multinational, URL, and description.\nOntology mapping rationale: - class_uri is skos:Concept because ICH elements are conceptual\n categories in UNESCO's intangible heritage classification system\n- close_mappings includes schema:Thing as ICH elements are identifiable\n things with names and descriptions\n- related_mappings includes prov:Entity for provenance tracking" + description: "A UNESCO Intangible Cultural Heritage (ICH) element, representing traditions, practices, or cultural expressions\ + \ inscribed on UNESCO lists. Captures ICH ID, name, list type, inscription year, whether multinational, URL, and description.\n\ + Ontology mapping rationale: - class_uri is skos:Concept because ICH elements are conceptual\n categories in UNESCO's\ + \ intangible heritage classification system\n- close_mappings includes schema:Thing as ICH elements are identifiable\n\ + \ things with names and descriptions\n- related_mappings includes prov:Entity for provenance tracking" class_uri: skos:Concept close_mappings: - schema:Thing @@ -39,10 +43,7 @@ classes: range: uri element_description: range: string - description: - range: string - description: Alternative field for element description (from enrichment data) annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/UnitIdentifier.yaml b/schemas/20251121/linkml/modules/classes/UnitIdentifier.yaml index cd62d8e9b5..8dc71bd23a 100644 --- a/schemas/20251121/linkml/modules/classes/UnitIdentifier.yaml +++ b/schemas/20251121/linkml/modules/classes/UnitIdentifier.yaml @@ -30,21 +30,13 @@ classes: ' slots: - has_or_had_code - - identifier_scheme slot_usage: has_or_had_code: range: string required: true - description: The identifier value examples: - value: BOX-2024-00145 - description: Archive box barcode - value: FF-MAPS-042 - description: Flat file drawer label - identifier_scheme: - range: string - description: The identifier scheme (URI, Barcode, Label, etc.) - examples: - value: barcode - value: label - value: uri diff --git a/schemas/20251121/linkml/modules/classes/UniversityArchive.yaml b/schemas/20251121/linkml/modules/classes/UniversityArchive.yaml index bef0a5f3dd..073904cb4f 100644 --- a/schemas/20251121/linkml/modules/classes/UniversityArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/UniversityArchive.yaml @@ -36,7 +36,9 @@ imports: - ./WikidataAlignment classes: UniversityArchive: - description: "A collection of historical records of a college or university. University archives (Universit\xE4tsarchive) preserve the institutional memory of higher education institutions, including administrative records, faculty papers, student records, photographs, publications, and other documentation of academic life and institutional history." + description: "A collection of historical records of a college or university. University archives (Universit\xE4tsarchive)\ + \ preserve the institutional memory of higher education institutions, including administrative records, faculty papers,\ + \ student records, photographs, publications, and other documentation of academic life and institutional history." is_a: ArchiveOrganizationType class_uri: schema:ArchiveOrganization slots: @@ -61,21 +63,8 @@ classes: range: WikidataAlignment inlined: true is_or_was_founded_through: - description: 'The founding event for this university archive. - - Migrated from founding_date attribute per slot_fixes.yaml revision. - - ' range: FoundingEvent inlined: true - attributes: - parent_university: - description: The university or college this archive serves - range: string - records_scope: - description: Types of university records held (administrative, faculty, student, etc.) - range: string - multivalued: true see_also: - AcademicArchive - InstitutionalArchive @@ -89,4 +78,4 @@ classes: custodian_type: true specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/UnspecifiedType.yaml b/schemas/20251121/linkml/modules/classes/UnspecifiedType.yaml index 9fb28a64af..effc6c9a41 100644 --- a/schemas/20251121/linkml/modules/classes/UnspecifiedType.yaml +++ b/schemas/20251121/linkml/modules/classes/UnspecifiedType.yaml @@ -146,8 +146,6 @@ classes: slots: - has_or_had_status - has_or_had_type - - has_or_had_data_quality_flag - - evidence_gap - is_or_was_based_on - review_status - specificity_annotation @@ -158,98 +156,45 @@ classes: range: ClassificationStatus required: true inlined: true - description: 'Current status of type classification attempt. - MIGRATED 2026-01-19: Replaces classification_status string with structured ClassificationStatus. - ' examples: - value: has_or_had_type: - type: IndeterminateStatus has_or_had_label: Indeterminate has_or_had_description: Type indeterminate - insufficient evidence - description: Defunct organization, minimal records - value: has_or_had_type: - type: AmbiguousStatus has_or_had_label: Ambiguous has_or_had_description: 'Sources conflict: museum (website) vs archive (ISIL)' - description: Called museum but operates as archive - value: has_or_had_type: - type: TransitionalStatus has_or_had_label: Transitional has_or_had_description: Type transitional - merger in progress - description: Reorganization underway - evidence_gap: - range: string - multivalued: true - required: true - examples: - - value: Only newspaper mention, No surviving records, Building demolished - description: Historical heritage society gaps - value: Website offline, Phone disconnected, No email response - description: Contemporary institution gaps - value: 'Conflicting sources: museum vs. archive' - description: Ambiguous evidence gaps asserts_or_asserted: range: Hypothesis multivalued: true required: false inlined_as_list: true - description: 'Structured hypothesis records about the institution''s possible type. - Each Hypothesis includes confidence level, supporting/contradicting evidence. - MIGRATED from type_hypothesis per slot_fixes.yaml (Rule 53, 2026-01-15). - ' examples: - value: - asserted_value: MUSEUM - confidence_level: medium - confidence_score: 0.65 - supporting_evidence: - - Website mentions 'exhibitions' - - Has physical visitor address - contradicting_evidence: - - No collection catalog found - description: Type hypothesis suggesting institution is a museum - value: - asserted_value: COLLECTING_SOCIETY - confidence_level: high - confidence_score: 0.85 - supporting_evidence: - - Name contains 'Historische Vereniging' - - Membership-based organization - description: High-confidence hypothesis for a collecting society is_or_was_based_on: range: string multivalued: true required: true examples: - value: National Archives search (no results), Local society queried - description: Historical research attempts - value: Website checked (offline), Email sent (no response) - description: Contemporary research attempts - value: Wikidata search, ICOM directory, Regional museum - description: Database research attempts review_status: range: string required: true examples: - value: Requires specialist research, Low priority, Consider removing - description: Historical institution review - value: High priority - recently mentioned in journal, Re-investigate - description: Active institution review - value: Medium priority - waiting for archival cataloging, Review 2026 - description: Deferred review - has_or_had_data_quality_flag: - range: string - multivalued: true - required: true - examples: - - value: 'needs_verification: true, confidence_score: 0.2' - description: Low confidence flags - value: 'evidence_quality: minimal, source_count: 1' - description: Evidence quality flags - value: 'completeness: 30%, last_updated: 2025-11-23' - description: Completeness flags has_or_had_type: equals_expression: '["hc:UnspecifiedType"]' diff --git a/schemas/20251121/linkml/modules/classes/UpdateFrequency.yaml b/schemas/20251121/linkml/modules/classes/UpdateFrequency.yaml index 5edfd2d257..ebdaacf770 100644 --- a/schemas/20251121/linkml/modules/classes/UpdateFrequency.yaml +++ b/schemas/20251121/linkml/modules/classes/UpdateFrequency.yaml @@ -51,17 +51,13 @@ classes: has_or_had_quantity: range: integer inlined: true - description: The numeric quantity component of the frequency. For "every 5 minutes", this would be a Quantity with value 5. examples: - value: "has_or_had_quantity:\n numeric_value: 5\n has_or_had_measurement_unit:\n has_or_had_symbol: \"updates\"\n" - description: 5 updates per interval has_or_had_time_interval: range: TimeInterval inlined: true - description: The time interval/period component of the frequency. For "every 5 minutes", this would be a TimeInterval representing minutes. examples: - value: "has_or_had_time_interval:\n duration_value: \"PT1M\"\n duration_description: \"per minute\"\n" - description: Per-minute interval annotations: custodian_types: '["*"]' custodian_types_rationale: Update frequency applicable to all custodian types with IoT or data systems. @@ -70,13 +66,9 @@ classes: specificity_rationale: Moderate specificity - relevant to custodians with digital/IoT infrastructure. examples: - value: "UpdateFrequency:\n frequency_description: \"Every 5 minutes\"\n has_or_had_quantity:\n numeric_value: 5\n has_or_had_time_interval:\n duration_value: \"PT1M\"\n duration_description: \"minute\"\n" - description: Climate sensor updating every 5 minutes. - value: "UpdateFrequency:\n frequency_description: \"Hourly\"\n has_or_had_quantity:\n numeric_value: 1\n has_or_had_time_interval:\n duration_value: \"PT1H\"\n duration_description: \"hour\"\n" - description: Hourly update frequency. - value: "UpdateFrequency:\n frequency_description: \"On proximity trigger\"\n is_event_driven: true\n trigger_type: \"proximity\"\n" - description: Event-driven beacon updates (no time interval). - value: "UpdateFrequency:\n frequency_description: \"Real-time\"\n is_event_driven: true\n trigger_type: \"continuous\"\n" - description: Real-time streaming updates. comments: - Created from slot_fixes.yaml migration (2026-01-14) - Replaces simple string update_frequency slot diff --git a/schemas/20251121/linkml/modules/classes/UseCase.yaml b/schemas/20251121/linkml/modules/classes/UseCase.yaml index 5c7064e91f..07a9e763e0 100644 --- a/schemas/20251121/linkml/modules/classes/UseCase.yaml +++ b/schemas/20251121/linkml/modules/classes/UseCase.yaml @@ -40,7 +40,6 @@ classes: range: Example multivalued: true inlined: true - description: Concrete examples illustrating this use case. annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/UserCommunity.yaml b/schemas/20251121/linkml/modules/classes/UserCommunity.yaml index 3e7c31bea7..812a804bca 100644 --- a/schemas/20251121/linkml/modules/classes/UserCommunity.yaml +++ b/schemas/20251121/linkml/modules/classes/UserCommunity.yaml @@ -26,16 +26,6 @@ classes: has_or_had_type: range: uriorcurie attributes: - community_name: - range: string - required: true - description: Name of the user community - community_description: - range: string - description: Description of the community - estimated_size: - range: integer - description: Estimated size of the community exact_mappings: - schema:Audience annotations: @@ -43,7 +33,4 @@ classes: specificity_rationale: Moderately specific - user communities relevant to all institutions. custodian_types: "['*']" examples: - - value: - community_name: Academic Researchers - community_description: Scholars and researchers in heritage studies - description: Academic research community + - value: \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/VariantType.yaml b/schemas/20251121/linkml/modules/classes/VariantType.yaml index d713514b87..69ebdd3451 100644 --- a/schemas/20251121/linkml/modules/classes/VariantType.yaml +++ b/schemas/20251121/linkml/modules/classes/VariantType.yaml @@ -51,14 +51,12 @@ classes: slot_usage: has_or_had_label: - description: Human-readable label for this variant type. range: string required: true examples: - value: "Abbreviation" - value: "Synonym" has_or_had_description: - description: Explanation of when to use this variant type. range: string required: false diff --git a/schemas/20251121/linkml/modules/classes/Ventilation.yaml b/schemas/20251121/linkml/modules/classes/Ventilation.yaml index d981c79770..e15344af1a 100644 --- a/schemas/20251121/linkml/modules/classes/Ventilation.yaml +++ b/schemas/20251121/linkml/modules/classes/Ventilation.yaml @@ -33,7 +33,6 @@ classes: slot_usage: requires_or_required: range: AirChanges - description: Required air changes per hour. annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/Venue.yaml b/schemas/20251121/linkml/modules/classes/Venue.yaml index 390210c085..75498f5f41 100644 --- a/schemas/20251121/linkml/modules/classes/Venue.yaml +++ b/schemas/20251121/linkml/modules/classes/Venue.yaml @@ -31,18 +31,7 @@ classes: slot_usage: has_or_had_type: range: uriorcurie - attributes: - venue_name: - description: Name of the venue (e.g., museum, gallery, exhibition hall) - range: string - required: true - venue_city: - description: City where the venue is located - range: string - venue_country: - description: Country where the venue is located (ISO 3166-1 alpha-2 code) - range: string annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/Vereinsarchiv.yaml b/schemas/20251121/linkml/modules/classes/Vereinsarchiv.yaml index a79d6e7ce1..9c38a29ba6 100644 --- a/schemas/20251121/linkml/modules/classes/Vereinsarchiv.yaml +++ b/schemas/20251121/linkml/modules/classes/Vereinsarchiv.yaml @@ -51,17 +51,10 @@ classes: equals_string: Vereinsarchiv custodian_type: equals_expression: 'true' - geographic_restriction: - equals_string: DE, AT, CH attributes: - association_type: - description: Type of association (cultural, sports, professional, etc.) range: string - association_name: - description: Name of the association whose records are preserved range: string legal_form: - description: Legal form of the association (e.V., etc.) range: string see_also: - AssociationArchive diff --git a/schemas/20251121/linkml/modules/classes/Verlagsarchiv.yaml b/schemas/20251121/linkml/modules/classes/Verlagsarchiv.yaml index ffabe8f41f..41234b5f3a 100644 --- a/schemas/20251121/linkml/modules/classes/Verlagsarchiv.yaml +++ b/schemas/20251121/linkml/modules/classes/Verlagsarchiv.yaml @@ -27,7 +27,9 @@ imports: - ./WikidataAlignment classes: Verlagsarchiv: - description: An archive of a publishing house (Verlag). Verlagsarchive preserve the historical records of publishing companies in German-speaking countries, including correspondence with authors, manuscript submissions, editorial files, contracts, marketing materials, and documentation of book production and distribution activities. + description: An archive of a publishing house (Verlag). Verlagsarchive preserve the historical records of publishing + companies in German-speaking countries, including correspondence with authors, manuscript submissions, editorial files, + contracts, marketing materials, and documentation of book production and distribution activities. is_a: ArchiveOrganizationType class_uri: skos:Concept exact_mappings: @@ -50,19 +52,6 @@ classes: equals_string: Verlagsarchiv custodian_type: equals_expression: 'true' - geographic_restriction: - equals_string: DE, AT, CH - attributes: - publisher_name: - description: Name of the publishing house - range: string - publication_focus: - description: Subject areas or genres of publications - range: string - multivalued: true - active_period: - description: Period during which the publisher was active - range: string see_also: - LiteraryArchive - CompanyArchives @@ -71,4 +60,4 @@ classes: annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/VerlagsarchivRecordSetType.yaml b/schemas/20251121/linkml/modules/classes/VerlagsarchivRecordSetType.yaml index 388f338ee3..a05195eb9f 100644 --- a/schemas/20251121/linkml/modules/classes/VerlagsarchivRecordSetType.yaml +++ b/schemas/20251121/linkml/modules/classes/VerlagsarchivRecordSetType.yaml @@ -28,13 +28,10 @@ classes: - has_or_had_score - is_or_was_related_to - has_or_had_identifier - - geographic_restriction slot_usage: is_or_was_related_to: range: WikidataAlignment inlined: true - geographic_restriction: - equals_string: DE, AT, CH see_also: - Verlagsarchiv annotations: diff --git a/schemas/20251121/linkml/modules/classes/Version.yaml b/schemas/20251121/linkml/modules/classes/Version.yaml index bd12e7a647..6086801be1 100644 --- a/schemas/20251121/linkml/modules/classes/Version.yaml +++ b/schemas/20251121/linkml/modules/classes/Version.yaml @@ -47,79 +47,46 @@ classes: - schema:version - doap:Version slots: - - version_string - - major_version - - minor_version - - patch_version - - prerelease_tag - - build_metadata - - release_date - temporal_extent slot_usage: - version_string: - description: Full version string (e.g., "1.8.0", "v3.2.1-beta") range: string required: true examples: - value: "1.8.0" - description: Semantic version - value: "7.4" - description: Two-part version - value: "v3.2.1-beta" - description: Version with prerelease tag - major_version: - description: Major version number (breaking changes) range: integer required: false examples: - value: 1 - description: Major version 1 - minor_version: - description: Minor version number (new features) range: integer required: false examples: - value: 8 - description: Minor version 8 - patch_version: - description: Patch version number (bug fixes) range: integer required: false examples: - value: 0 - description: Patch version 0 - prerelease_tag: - description: Prerelease identifier (e.g., "alpha", "beta", "rc1") range: string required: false examples: - value: beta - description: Beta prerelease - value: rc1 - description: Release candidate 1 - build_metadata: - description: Build metadata (e.g., git commit hash) range: string required: false examples: - value: "20230615.abc123" - description: Build date and commit hash - release_date: - description: Date this version was released range: date required: false examples: - value: "2023-06-15" - description: Release date temporal_extent: - description: Validity period for this version (when deployed) range: TimeSpan required: false examples: - value: begin_of_the_begin: "2023-06-15" end_of_the_end: null - description: Version deployed since June 2023 annotations: custodian_types: '["D"]' custodian_types_rationale: Primarily used by digital platforms (D) for software versioning diff --git a/schemas/20251121/linkml/modules/classes/Verwaltungsarchiv.yaml b/schemas/20251121/linkml/modules/classes/Verwaltungsarchiv.yaml index 7df25eb7cc..378883554f 100644 --- a/schemas/20251121/linkml/modules/classes/Verwaltungsarchiv.yaml +++ b/schemas/20251121/linkml/modules/classes/Verwaltungsarchiv.yaml @@ -29,7 +29,9 @@ imports: - ./GovernmentHierarchy classes: Verwaltungsarchiv: - description: An administrative archive (Verwaltungsarchiv) that preserves records created in the course of administrative activities. These archives hold documentation of organizational management, bureaucratic processes, policy implementation, and administrative decision-making, typically from government agencies or large organizations. + description: An administrative archive (Verwaltungsarchiv) that preserves records created in the course of administrative + activities. These archives hold documentation of organizational management, bureaucratic processes, policy implementation, + and administrative decision-making, typically from government agencies or large organizations. is_a: ArchiveOrganizationType class_uri: skos:Concept exact_mappings: @@ -43,7 +45,6 @@ classes: slot_usage: is_or_was_part_of: range: GovernmentHierarchy - description: Level of administration (federal, state, municipal, corporate) is_or_was_related_to: range: WikidataAlignment inlined: true @@ -53,14 +54,6 @@ classes: equals_string: Verwaltungsarchiv custodian_type: equals_expression: 'true' - attributes: - agency_coverage: - description: Administrative agencies or departments whose records are held - range: string - multivalued: true - records_retention_policy: - description: Administrative records retention and disposition policies - range: string see_also: - GovernmentArchive - PublicArchive @@ -69,4 +62,4 @@ classes: annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/Video.yaml b/schemas/20251121/linkml/modules/classes/Video.yaml index 7b2408d2ba..e097a2c46f 100644 --- a/schemas/20251121/linkml/modules/classes/Video.yaml +++ b/schemas/20251121/linkml/modules/classes/Video.yaml @@ -86,21 +86,13 @@ classes: slot_usage: has_or_had_url: required: true - description: URL of the video resource (e.g., YouTube, Vimeo, self-hosted) examples: - value: https://www.youtube.com/watch?v=ABC123def45 - description: YouTube video URL - value: https://vimeo.com/123456789 - description: Vimeo video URL has_or_had_identifier: - description: Platform-specific video identifier examples: - value: - identifier_scheme: YouTube - identifier_value: ABC123def45 - description: YouTube video ID has_or_had_label: - description: Title of the video range: string inlined: true exact_mappings: @@ -117,15 +109,11 @@ classes: - value: has_or_had_url: https://www.youtube.com/watch?v=dQw4w9WgXcQ has_or_had_identifier: - identifier_scheme: YouTube - identifier_value: dQw4w9WgXcQ has_or_had_label: has_or_had_label: Rijksmuseum Virtual Tour 2024 language: en - description: YouTube video with identifier and title - value: has_or_had_url: https://vimeo.com/987654321 has_or_had_label: has_or_had_label: Conservation of The Night Watch - language: en - description: Vimeo video for conservation documentation + language: en \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/VideoAnnotation.yaml b/schemas/20251121/linkml/modules/classes/VideoAnnotation.yaml index 754ebcd7a5..de7bbc6e7f 100644 --- a/schemas/20251121/linkml/modules/classes/VideoAnnotation.yaml +++ b/schemas/20251121/linkml/modules/classes/VideoAnnotation.yaml @@ -77,31 +77,25 @@ classes: has_or_had_type: range: uriorcurie required: true - description: Type of annotation (Object detection, Scene detection, etc.) examples: - value: has_or_had_code: OBJECT_DETECTION has_or_had_label: Object Detection - description: Object and face detection annotation contains_or_contained: range: string multivalued: true required: false inlined_as_list: true - description: Segments (temporal or spatial) identified by the annotation. MIGRATED from has_annotation_segment per Rule 53. examples: - value: has_or_had_label: Night Watch painting visible has_or_had_description: 30.0 - 35.0 seconds - description: Object detection segment has_or_had_rationale: range: string required: false - description: Motivation for the annotation. examples: - value: has_or_had_label: ClassifyingMotivation - description: Annotation for classification purposes filters_or_filtered: description: "MIGRATED 2026-01-25: Replaces detection_count and detection_threshold slots.\n\nLinks to DetectedEntity which contains:\n- has_or_had_quantity \u2192 Quantity (for detection_count)\n- has_or_had_treshold \u2192 DetectionThreshold (for detection_threshold)\n\n**Migration Pattern**:\n- Old: detection_count: 342, detection_threshold: 0.5\n- New: filters_or_filtered \u2192 DetectedEntity with structured data\n" range: DetectedEntity @@ -110,23 +104,13 @@ classes: examples: - value: has_or_had_quantity: - quantity_value: 342 has_or_had_unit: - unit_value: detections has_or_had_treshold: - threshold_value: 0.5 - threshold_type: MINIMUM - description: 342 detections at 0.5 confidence threshold - value: has_or_had_quantity: - quantity_value: 89 has_or_had_unit: - unit_value: detections has_or_had_treshold: - threshold_value: 0.9 - threshold_type: MINIMUM has_or_had_label: High Precision - description: 89 high-confidence detections analyzes_or_analyzed: description: "MIGRATED 2026-01-22: Now supports VideoFrame class for frame_sample_rate migration.\n\nFrame analysis information including:\n- Total frames analyzed (integer, legacy pattern)\n- Frame sample rate and analysis parameters (VideoFrame class)\n\nMIGRATED SLOTS:\n- frame_sample_rate \u2192 VideoFrame.has_or_had_quantity with unit \"samples per second\"\n" range: VideoFrame @@ -135,53 +119,37 @@ classes: examples: - value: has_or_had_quantity: - quantity_value: 1.0 - quantity_type: FRAME_SAMPLE_RATE has_or_had_unit: - unit_value: samples per second - frame_count: 1800 - description: Analyzed 1,800 frames at 1 fps (30 min video) - value: has_or_had_quantity: - quantity_value: 5.0 - quantity_type: FRAME_SAMPLE_RATE has_or_had_unit: - unit_value: fps - description: 5 frames per second sample rate keyframe_extraction: range: boolean required: false examples: - value: true - description: Used keyframe extraction model_architecture: range: string required: false examples: - value: Transformer - description: Vision Transformer architecture - value: CNN - description: Convolutional Neural Network model_task: range: string required: false examples: - value: detection - description: Object detection task - value: captioning - description: Video captioning task includes_bounding_box: range: boolean required: false examples: - value: true - description: Includes bounding box coordinates includes_segmentation_mask: range: boolean required: false examples: - value: false - description: No segmentation masks included comments: - Abstract base for all CV/multimodal video annotations - Extends VideoTextContent with frame-based analysis parameters diff --git a/schemas/20251121/linkml/modules/classes/VideoAnnotationTypes.yaml b/schemas/20251121/linkml/modules/classes/VideoAnnotationTypes.yaml index dead86ed3b..ffc6d60754 100644 --- a/schemas/20251121/linkml/modules/classes/VideoAnnotationTypes.yaml +++ b/schemas/20251121/linkml/modules/classes/VideoAnnotationTypes.yaml @@ -136,7 +136,6 @@ classes: close_mappings: - schema:Clip slots: - - has_average_scene_duration_seconds - has_or_had_quantity - filters_or_filtered - scene_count @@ -154,21 +153,12 @@ classes: examples: - value: '[{start_seconds: 0.0, end_seconds: 15.5, segment_text: ''Opening titles''}]' - description: Scene segment with description scene_count: range: integer required: true minimum_value: 1 examples: - value: 47 - description: 47 scenes detected - has_average_scene_duration_seconds: - range: float - required: false - minimum_value: 0.0 - examples: - - value: 8.5 - description: Average scene is 8.5 seconds filters_or_filtered: description: "MIGRATED 2026-01-25: Replaces detection_level slot.\n\nLinks\ \ to DetectedEntity which contains:\n- has_or_had_type \u2192 DetectionLevelType\ @@ -182,58 +172,42 @@ classes: has_or_had_type: has_or_had_code: SCENE has_or_had_label: Scene Level Detection - description: Semantic scene detection - value: has_or_had_type: has_or_had_code: SHOT has_or_had_label: Shot Level Detection - description: Technical shot boundary detection scene_types_detected: range: SceneTypeEnum multivalued: true required: false examples: - value: '[INTERIOR, CLOSEUP, INTERVIEW]' - description: Scene types found in video has_or_had_type: range: uriorcurie multivalued: true required: false inlined_as_list: true - description: 'Video transition types detected (CUT, FADE_IN, FADE_OUT, DISSOLVE, - etc.). - MIGRATED from transition_types_detected per slot_fixes.yaml (Rule 53, Rule - 9 enum-to-class). - ' examples: - value: '[{has_or_had_label: "CUT"}, {has_or_had_label: "FADE_IN"}]' - description: Transition types found in video has_or_had_quantity: range: integer required: false multivalued: true inlined: true - description: 'Quantities of detected transitions (cuts, dissolves, fades). - MIGRATED from cut_count, dissolve_count per slot_fixes.yaml (Rule 53). - Uses Quantity class with Unit type "Cut", "Dissolve", "Fade". - ' examples: - value: has_or_had_numeric_value: 42 has_or_had_unit: has_or_had_type: Cut has_or_had_symbol: cuts - description: 42 cuts detected - value: has_or_had_numeric_value: 3 has_or_had_unit: has_or_had_label: dissolve transition - description: 3 dissolves detected - value: has_or_had_numeric_value: 5 has_or_had_unit: has_or_had_label: fade transition - description: 5 fades detected comments: - Scene and shot boundary detection - Supports both technical (shot) and semantic (scene) analysis @@ -285,10 +259,6 @@ classes: related_mappings: - schema:ImageObject slots: - - has_or_had_detected_face - - has_or_had_detected_landmark - - has_or_had_detected_logo - - has_or_had_detected_object - has_or_had_quantity - includes_object_tracking - linked_to_collection @@ -296,42 +266,23 @@ classes: - specificity_annotation - has_or_had_score slot_usage: - has_or_had_detected_object: - description: 'DEPRECATED. Use contains_or_contained instead. - Kept temporarily for backward compatibility. - ' range: DetectedObject multivalued: true required: false inlined_as_list: true - has_or_had_detected_face: - description: 'DEPRECATED. Use contains_or_contained instead. - Kept temporarily for backward compatibility. - ' range: DetectedFace multivalued: true required: false inlined_as_list: true - has_or_had_detected_logo: - description: 'DEPRECATED. Use contains_or_contained instead. - Kept temporarily for backward compatibility. - ' range: DetectedLogo multivalued: true required: false inlined_as_list: true - has_or_had_detected_landmark: - description: 'DEPRECATED. Use contains_or_contained instead. - Kept temporarily for backward compatibility. - ' range: DetectedLandmark multivalued: true required: false inlined_as_list: true contains_or_contained: - description: 'Detected entities in the video (objects, faces, logos, landmarks). - MIGRATED from has_or_had_detected_* slots per Rule 53. - ' range: DetectedEntity multivalued: true required: false @@ -346,47 +297,36 @@ classes: multivalued: true required: false inlined_as_list: true - description: 'Quantities for unique object/face counts with methodology tracking. - RULE 53: Replaces unique_object_count and unique_face_count slots. Use has_or_had_measurement_unit - to specify OBJECT or FACE unit type. Use has_or_had_methodology to document - entity resolution approach.' examples: - value: - quantity_value: 15 has_or_had_measurement_unit: has_or_had_type: OBJECT has_or_had_methodology: methodology_type: ENTITY_RESOLUTION has_or_had_label: DeepSORT tracking + embedding clustering - description: 15 unique objects identified via entity resolution - value: - quantity_value: 3 has_or_had_measurement_unit: has_or_had_type: FACE has_or_had_methodology: methodology_type: ENTITY_RESOLUTION has_or_had_label: ArcFace clustering confidence_threshold: 0.6 - description: 3 unique people identified via face clustering object_classes_detected: range: string multivalued: true required: false examples: - value: '[painting, person, sculpture, book]' - description: Object classes found in video includes_object_tracking: range: boolean required: false examples: - value: true - description: Objects tracked across frames linked_to_collection: range: boolean required: false examples: - value: true - description: Objects linked to collection records comments: - Object, face, and logo detection in video - Supports bounding boxes and tracking @@ -447,7 +387,6 @@ classes: close_mappings: - schema:TextDigitalDocument slots: - - full_extracted_text - has_or_had_confidence - has_or_had_quantity - includes_handwriting @@ -455,28 +394,9 @@ classes: - has_or_had_score - has_or_had_language - contains_or_contained - - has_or_had_text_segment - has_or_had_type slot_usage: - has_or_had_text_segment: - range: VideoTimeSegment - multivalued: true - required: true - inlined_as_list: true - examples: - - value: '[{start_seconds: 0.0, end_seconds: 5.0, segment_text: ''Rijksmuseum - Presents''}]' - description: Title card text extraction - full_extracted_text: - range: string - required: false - examples: - - value: Rijksmuseum Presents... The Night Watch... Rembrandt van Rijn, 1642... - description: All text from video has_or_had_language: - description: 'Languages detected in video OCR analysis. - MIGRATED from text_languages_detected per slot_fixes.yaml (Rule 53/56, 2026-01-16). - ' range: Language multivalued: true required: false @@ -484,50 +404,29 @@ classes: examples: - value: language_name: Dutch - iso_639_1: nl - iso_639_3: nld - description: Dutch text detected - value: language_name: English - iso_639_1: en - iso_639_3: eng - description: English text detected - value: language_name: Latin - iso_639_1: la - iso_639_3: lat - description: Latin text detected has_or_had_quantity: range: integer multivalued: true required: false inlined_as_list: true - description: 'Quantitative measurements for OCR annotation. - MIGRATED 2026-01-14: Replaces text_region_count and total_characters_extracted - slots. - Use quantity_type to distinguish: REGION_COUNT or CHARACTER_COUNT. - ' examples: - value: - quantity_value: 28 - quantity_type: REGION_COUNT has_or_had_measurement_unit: has_or_had_type: TEXT_REGION has_or_had_symbol: regions - description: 28 text regions detected - value: - quantity_value: 3456 - quantity_type: CHARACTER_COUNT has_or_had_measurement_unit: has_or_had_type: CHARACTER has_or_had_symbol: characters - description: 3,456 characters extracted includes_handwriting: range: boolean required: false examples: - value: true - description: Handwritten text detected has_or_had_confidence: range: Confidence required: false @@ -535,7 +434,6 @@ classes: examples: - value: has_or_had_value: 0.68 - description: Moderate handwriting recognition confidence contains_or_contained: range: string multivalued: true @@ -543,7 +441,6 @@ classes: inlined_as_list: true examples: - value: '[{text: ''Welcome'', bbox: [0.1, 0.9, 0.4, 0.1], type: ''OVERLAY''}]' - description: Text region with coordinates comments: - OCR extraction for text visible in video frames - Distinct from subtitles (audio-derived) diff --git a/schemas/20251121/linkml/modules/classes/VideoAudioAnnotation.yaml b/schemas/20251121/linkml/modules/classes/VideoAudioAnnotation.yaml index 3f51838300..a34820d5fd 100644 --- a/schemas/20251121/linkml/modules/classes/VideoAudioAnnotation.yaml +++ b/schemas/20251121/linkml/modules/classes/VideoAudioAnnotation.yaml @@ -97,12 +97,10 @@ classes: - has_audio_quality_score - is_or_was_diarized # - contains_or_contained - DUPLICATE REMOVED - - has_clipping - languages_detected - music_confidence - music_detected - music_genres_detected - - has_or_had_music_segment - noise_floor_db - has_or_had_type # - contains_or_contained - DUPLICATE REMOVED @@ -120,18 +118,13 @@ classes: - has_or_had_score slot_usage: has_or_had_segment: - description: 'MIGRATED from audio_event_segments (Rule 53). - Audio event segments detected in the video content. - ' range: AudioEventSegment multivalued: true required: false inlined_as_list: true examples: - value: '[{has_or_had_type: SPEECH, start_seconds: 0.0, end_seconds: 15.0, segment_text: "Speech detected - Speaker 1", confidence: 0.95}]' - description: Speech detection segment - value: '[{has_or_had_type: MUSIC, start_seconds: 30.0, end_seconds: 60.0, segment_text: "Background classical music", confidence: 0.88}]' - description: Music detection segment contains_or_contained: range: string multivalued: true @@ -145,42 +138,29 @@ classes: contains_or_contained: has_or_had_identifier: spk_001 has_or_had_label: Curator - description: Curator speaking for first 15 seconds speaker_count: range: integer required: false minimum_value: 0 examples: - value: 3 - description: Three distinct speakers detected speaker_label: range: string multivalued: true required: false examples: - value: '[Curator, Artist, Museum Director]' - description: Three identified speakers music_detected: range: boolean required: false examples: - value: true - description: Music present in video - has_or_had_music_segment: - range: MusicSegment - multivalued: true - required: false - inlined_as_list: true - examples: - - value: '[{start_seconds: 0.0, end_seconds: 30.0, music_type: ''BACKGROUND'', genre: ''classical''}]' - description: Classical background music music_genres_detected: range: string multivalued: true required: false examples: - value: '[classical, baroque]' - description: Classical and baroque music detected music_confidence: range: float required: false @@ -188,13 +168,11 @@ classes: maximum_value: 1.0 examples: - value: 0.88 - description: High confidence music detection sound_events_detected: range: boolean required: false examples: - value: true - description: Sound events detected # contains_or_contained: # range: SoundEventTypeEnum # multivalued: true @@ -216,13 +194,11 @@ classes: minimum_value: 0.0 examples: - value: 15.5 - description: 15.5 seconds of total silence noise_floor_db: range: float required: false examples: - value: -45.0 - description: Good quality, moderate noise floor has_audio_quality_score: range: float required: false @@ -230,19 +206,11 @@ classes: maximum_value: 1.0 examples: - value: 0.85 - description: High audio quality snr_db: range: float required: false examples: - value: 25.0 - description: Good signal-to-noise ratio - has_clipping: - range: boolean - required: false - examples: - - value: false - description: No clipping detected comments: - Audio event detection for video content - Supports speech, music, silence, and sound event detection @@ -311,17 +279,14 @@ classes: - has_or_had_score slot_usage: temporal_extent: - description: Time range of the diarization segment. range: TimeSpan inlined: true required: true contains_or_contained: - description: Speaker identified in this segment. range: Speaker inlined: true required: true has_or_had_provenance: - description: Provenance metadata including confidence score. range: Provenance inlined: true required: false diff --git a/schemas/20251121/linkml/modules/classes/VideoChapter.yaml b/schemas/20251121/linkml/modules/classes/VideoChapter.yaml index dfec991ffd..3956514e57 100644 --- a/schemas/20251121/linkml/modules/classes/VideoChapter.yaml +++ b/schemas/20251121/linkml/modules/classes/VideoChapter.yaml @@ -103,20 +103,10 @@ classes: has_or_had_identifier: range: string required: true - description: 'MIGRATED from chapter_id per Rule 53 (2026-01-28).' examples: - value: ABC123_chapter_0 - description: First chapter of video ABC123 - value: 550e8400-e29b-41d4-a716-446655440000 - description: UUID-based chapter ID has_or_had_label: - description: 'MIGRATED from chapter_title per slot_fixes.yaml (Rule 53/56, 2026-01-18). - - Title of the chapter as displayed to viewers. - - Uses Label class for structured chapter titles with optional language tagging. - - ' range: Label inlined: true required: true @@ -124,99 +114,57 @@ classes: - value: has_or_had_label: De Nachtwacht (The Night Watch) language: nl - description: Chapter about specific artwork - value: has_or_had_label: 'Curator Interview: Conservation Process' language: en - description: Interview segment chapter has_or_had_sequence_index: range: integer required: true minimum_value: 0 - description: 'MIGRATED from chapter_index per Rule 53 (2026-01-28).' examples: - value: 0 - description: First chapter - value: 5 - description: Sixth chapter (zero-indexed) has_or_had_description: range: string required: false - description: 'MIGRATED from chapter_description per Rule 53 (2026-01-28).' examples: - value: Dr. Dibbits discusses the restoration of Rembrandt's masterpiece, including the controversial 2019 operation. - description: Detailed chapter description is_or_was_created_through: - description: Whether this chapter was auto-generated by AI/platform algorithms range: boolean required: false examples: - value: false - description: Manual creator-defined chapter - value: true - description: YouTube AI auto-generated has_or_had_source: range: ChapterSourceEnum required: false - description: 'MIGRATED from chapter_source per Rule 53 (2026-01-28).' examples: - value: MANUAL - description: Creator manually added chapters has_or_had_thumbnail: - description: 'MIGRATED from chapter_thumbnail_url per slot_fixes.yaml (Rule 53, 2026-01-18). - - UPDATED 2026-01-19: chapter_thumbnail_timestamp now captured via Thumbnail.has_or_had_time_interval. - - - Thumbnail image for this chapter, used for preview in video players. - - Uses Thumbnail class for structured representation with: - - - URL of the thumbnail image - - - derives_or_derived_from: source Video reference - - - has_or_had_time_interval: frame timestamp as TimeInterval - - - **Platform Behavior**: - - - YouTube: Auto-selects keyframe from chapter start - - - Vimeo: Allows custom chapter thumbnails - - ' range: Thumbnail inlined: true required: false examples: - value: has_or_had_url: https://i.ytimg.com/vi/ABC123/hq1.jpg - description: Simple thumbnail with URL only - value: has_or_had_url: https://i.ytimg.com/vi/ABC123/hq1.jpg derives_or_derived_from: has_or_had_url: https://www.youtube.com/watch?v=ABC123 has_or_had_time_interval: - duration_value: PT2M2.5S duration_description: 'Frame at 2:02.5 (was chapter_thumbnail_timestamp: 122.5)' - description: Thumbnail with source video and timestamp (replaces chapter_thumbnail_timestamp) has_or_had_parent: range: string required: false - description: 'MIGRATED from parent_chapter_id per Rule 53 (2026-01-28).' examples: - value: ABC123_chapter_0 - description: This is a sub-chapter of chapter 0 nesting_level: range: integer required: false minimum_value: 0 examples: - value: 0 - description: Top-level chapter - value: 1 - description: Sub-chapter comments: - Models video chapters for navigation (YouTube chapters, etc.) - Supports both manual and auto-generated chapters diff --git a/schemas/20251121/linkml/modules/classes/VideoChapterList.yaml b/schemas/20251121/linkml/modules/classes/VideoChapterList.yaml index e65cd5c4de..5c15993e5d 100644 --- a/schemas/20251121/linkml/modules/classes/VideoChapterList.yaml +++ b/schemas/20251121/linkml/modules/classes/VideoChapterList.yaml @@ -59,13 +59,11 @@ classes: - has_or_had_identifier slot_usage: has_or_had_identifier: - description: Reference to the parent video range: VideoIdentifier required: true inlined: true examples: - value: '{"has_or_had_code": "dQw4w9WgXcQ", "platform": "YouTube"}' - description: YouTube video identifier has_or_had_chapter: range: VideoChapter multivalued: true @@ -75,21 +73,12 @@ classes: range: integer required: false inlined: true - description: 'Total number of chapters in this list. - - MIGRATED 2026-01-14: Replaces total_chapter slot. - - ' examples: - value: - quantity_value: 12 - quantity_type: CHAPTER_COUNT has_or_had_measurement_unit: has_or_had_type: CHAPTER has_or_had_symbol: chapters - description: 12 chapters in this video has_or_had_source: - description: Primary source for this chapter list. Uses Source class to capture how chapters were generated (manual, AI, imported, etc.). range: Source required: false inlined: true @@ -97,16 +86,13 @@ classes: - value: has_or_had_type: MANUAL has_or_had_label: Creator-defined chapters - description: Manually defined chapters - value: has_or_had_type: YOUTUBE_AI has_or_had_label: YouTube Auto-Chapters - description: YouTube AI-generated chapters - value: has_or_had_type: WHISPER_CHAPTERS has_or_had_label: Whisper Analysis has_or_had_description: Generated from transcript topic segmentation - description: Whisper-derived chapters is_or_was_generated_by: description: 'Generation event capturing when and how the chapter list was created. MIGRATED 2026-01-19: Replaces chapters_generated_at slot (Rule 53).' range: GenerationEvent @@ -122,12 +108,10 @@ classes: has_or_had_type: SOFTWARE has_or_had_name: YouTube Auto-Chapters has_or_had_description: AI-generated chapters from video analysis - description: AI chapter generation event with timestamp and provenance - value: temporal_extent: begin_of_the_begin: '2024-03-20T14:00:00Z' has_or_had_description: Manually created by content creator - description: Manual chapter creation event covers_full_video: range: boolean required: false diff --git a/schemas/20251121/linkml/modules/classes/VideoFrame.yaml b/schemas/20251121/linkml/modules/classes/VideoFrame.yaml index 251acbb9f9..1013d43bcc 100644 --- a/schemas/20251121/linkml/modules/classes/VideoFrame.yaml +++ b/schemas/20251121/linkml/modules/classes/VideoFrame.yaml @@ -16,114 +16,82 @@ default_prefix: hc classes: VideoFrame: class_uri: schema:VideoObject - description: | - A video frame or set of frames analyzed during video processing. + description: 'A video frame or set of frames analyzed during video processing. + **PURPOSE**: + Represents frames from a video that have been analyzed by computer vision + or multimodal AI models. Used to track frame-based analysis parameters + such as sample rate (frames per second analyzed) and total frames processed. + **USE CASES**: + - Video annotation (object detection, scene analysis) + - Frame sampling configuration + - Analysis throughput tracking + - Computer vision pipeline configuration + **FRAME SAMPLE RATE**: + The sample rate determines how many frames are analyzed per second of video: + | Sample Rate | Frames/sec | Use Case | + |-------------|------------|----------| + | 0.1 fps | 1 every 10s | Overview/thumbnails | + | 1.0 fps | 1 per second | Standard analysis | + | 5.0 fps | 5 per second | Detailed analysis | + | 30.0 fps | Every frame | Exhaustive analysis | + Higher sample rates capture more detail but increase compute cost. + **MIGRATION SUPPORT**: + This class supports migration from the frame_sample_rate slot per + slot_fixes.yaml. Use with has_or_had_quantity + Quantity + has_or_had_unit + Unit. + + ' exact_mappings: - - oa:Target + - oa:Target close_mappings: - - schema:VideoObject + - schema:VideoObject slots: - - has_or_had_quantity - - has_or_had_unit + - has_or_had_quantity + - has_or_had_unit slot_usage: has_or_had_quantity: - description: | - Frame sample rate expressed as quantity with unit. - MIGRATED from frame_sample_rate slot per slot_fixes.yaml (Rule 53, 2026-01-22). - Use Quantity class with: - - quantity_value: the numeric sample rate (e.g., 1.0, 5.0, 30.0) - - quantity_type: FRAME_SAMPLE_RATE - - has_or_had_unit: "samples per second" or "fps" range: integer inlined: true multivalued: false examples: - - value: | - quantity_value: 1.0 - quantity_type: FRAME_SAMPLE_RATE - has_or_had_unit: - unit_value: "samples per second" - description: 1 frame per second sample rate - - value: | - quantity_value: 5.0 - quantity_type: FRAME_SAMPLE_RATE - has_or_had_unit: - unit_value: "fps" - has_or_had_label: - - label_text: "frames per second" - description: 5 fps sample rate + - value: 'has_or_had_unit: + + ' + - value: "has_or_had_unit:\n has_or_had_label:\n - label_text: \"frames per second\"\n" has_or_had_unit: - description: | - Unit of measurement for frame sample rate. - Typically "samples per second" or "fps". range: string inlined: true - attributes: - frame_count: - range: integer - description: | - Total number of frames in this video or segment. - Used for calculating total frames analyzed from sample rate. - minimum_value: 0 - frame_width: - range: integer - description: Frame width in pixels. - minimum_value: 1 - frame_height: - range: integer - description: Frame height in pixels. - minimum_value: 1 annotations: custodian_types: '["D"]' - custodian_types_rationale: >- - Video frames are primarily relevant for digital platforms (D) that - host or process video content. + custodian_types_rationale: Video frames are primarily relevant for digital platforms (D) that host or process video + content. custodian_types_primary: D specificity_score: 0.7 - specificity_rationale: >- - Moderately specific - applies only to video analysis contexts. + specificity_rationale: Moderately specific - applies only to video analysis contexts. examples: - - value: | - VideoFrame: - has_or_had_quantity: - quantity_value: 1.0 - quantity_type: FRAME_SAMPLE_RATE - has_or_had_unit: - unit_value: "samples per second" - frame_count: 1800 - description: Video analyzed at 1 fps over 30 minutes (1800 frames). - - value: | - VideoFrame: - has_or_had_quantity: - quantity_value: 5.0 - quantity_type: FRAME_SAMPLE_RATE - has_or_had_unit: - unit_value: "fps" - frame_width: 1920 - frame_height: 1080 - description: 5 fps analysis of HD video. + - value: "VideoFrame:\n has_or_had_quantity:\n has_or_had_unit:\n" + - value: "VideoFrame:\n has_or_had_quantity:\n has_or_had_unit:\n" comments: - - Created from slot_fixes.yaml migration (2026-01-22) - - Use with analyzes_or_analyzed slot to track frame analysis - - Sample rate affects both coverage and compute cost + - Created from slot_fixes.yaml migration (2026-01-22) + - Use with analyzes_or_analyzed slot to track frame analysis + - Sample rate affects both coverage and compute cost diff --git a/schemas/20251121/linkml/modules/classes/VideoFrames.yaml b/schemas/20251121/linkml/modules/classes/VideoFrames.yaml index 30b6f03618..7bc914c6c2 100644 --- a/schemas/20251121/linkml/modules/classes/VideoFrames.yaml +++ b/schemas/20251121/linkml/modules/classes/VideoFrames.yaml @@ -24,9 +24,7 @@ classes: - has_or_had_measurement_unit slot_usage: has_or_had_quantity: - description: The number of frames. has_or_had_measurement_unit: - description: The unit of measurement (typically 'frame' or 'frames'). range: MeasureUnit annotations: specificity_score: '0.80' diff --git a/schemas/20251121/linkml/modules/classes/VideoPost.yaml b/schemas/20251121/linkml/modules/classes/VideoPost.yaml index d1c9cd7793..231099ccc6 100644 --- a/schemas/20251121/linkml/modules/classes/VideoPost.yaml +++ b/schemas/20251121/linkml/modules/classes/VideoPost.yaml @@ -62,7 +62,6 @@ classes: - as:Video slots: - has_or_had_caption - - is_or_was_retrieved_at - is_or_was_part_of_total - has_or_had_language - has_or_had_status @@ -85,57 +84,31 @@ classes: range: TimeInterval required: false inlined: true - description: | - Video duration. - MIGRATED from duration (ISO 8601 string) to TimeInterval class. examples: - value: - duration_value: PT10M59S - duration_description: 10 minutes and 59 seconds - description: Video duration - value: - duration_value: PT1H30M - duration_description: 1 hour 30 minutes - description: Long format duration # MIGRATED 2026-01-24: definition → has_or_had_resolution + Resolution (Rule 53) has_or_had_resolution: range: Resolution required: false inlined: true - description: | - Video resolution/quality information. - MIGRATED from 'definition' slot per slot_fixes.yaml (Rule 53). - Uses Resolution class with resolution_class, width, height. examples: - value: resolution_class: hd - width: 1920 - height: 1080 aspect_ratio: "16:9" - description: Full HD 1080p video - value: resolution_class: "4k" - width: 3840 - height: 2160 - description: 4K UHD video - value: resolution_class: sd - description: Standard definition (simple enum for backward compatibility) has_or_had_degree: - description: | - Aspect ratio of the video. - MIGRATED from has_aspect_ratio per Rule 53. - Uses AspectRatio class for structured value. range: AspectRatio inlined: true required: false examples: - value: has_or_had_degree: '16:9' - description: Standard widescreen - value: has_or_had_degree: '9:16' - description: Vertical format for Shorts/Reels # MIGRATED 2026-01-22: frame_rate → has_or_had_quantity + Quantity + has_or_had_unit + Unit (Rule 53) # frame_rate: # range: float @@ -149,36 +122,16 @@ classes: multivalued: true inlined: true required: false - description: | - Structured caption/subtitle information for this video. - MIGRATED from caption_available per slot_fixes.yaml (Rule 53, 2026-01-22). - Caption class provides language, format, and availability metadata. examples: - value: - is_available: true language: en - caption_format: closed_caption - description: English closed captions available - value: - is_available: true language: nl - caption_format: VTT caption_url: https://example.org/video/captions_nl.vtt - description: Dutch subtitles in VTT format - value: - is_available: false language: null - description: No captions available (migrated from caption_available false) # MIGRATED 2026-01-23: default_language, default_audio_language → has_or_had_language + Language + has_or_had_status + Status (Rule 53) has_or_had_language: - description: | - MIGRATED from default_language and default_audio_language per slot_fixes.yaml (Rule 53, 2026-01-23). - Language information for video content using structured Language class. - Use has_or_had_status to distinguish default/primary languages. - **MODELING PATTERN**: - - For content language: Language with is_primary: true or has_or_had_status: "content_language" - - For audio language: Language with has_or_had_status: "audio_language" - - Multiple languages supported via multivalued slot range: Language inlined: true multivalued: true @@ -187,35 +140,22 @@ classes: - value: language_code: "nl" language_name: "Dutch" - is_primary: true - description: Dutch as primary content language (migrated from default_language) - value: language_code: "nl" language_name: "Dutch" - description: Dutch audio track (migrated from default_audio_language) - value: language_code: "en" language_name: "English" - is_primary: false - description: English as secondary/subtitle language has_or_had_status: - description: | - MIGRATED 2026-01-23 to support default_language, default_audio_language distinction. - Status tracking for language designations (primary, default, audio, content). - Uses Status class for structured status representation. range: Status inlined: true multivalued: true required: false examples: - value: - status_type: "default_content_language" status_value: "nl" - description: Default content language is Dutch - value: - status_type: "default_audio_language" status_value: "nl" - description: Default audio language is Dutch # has_available_caption_language REMOVED - migrated to has_or_had_language (Rule 53) # has_available_caption_language: # range: string @@ -231,68 +171,40 @@ classes: range: integer inlined: true multivalued: true - description: | - Quantified metrics for video content. RULE 53: Replaces deprecated - view_count, comment_count, and frame_rate with structured Quantity class - supporting measurement unit and temporal extent for point-in-time observation. - MIGRATED SLOTS: - - view_count → Quantity with has_or_had_measurement_unit: VIEW (2026-01-15) - - comment_count → Quantity with has_or_had_measurement_unit: COMMENT (2026-01-18) - - frame_rate → Quantity with has_or_had_unit: "frames per second" (2026-01-22) examples: - value: - quantity_value: 132 - quantity_type: VIEW_COUNT has_or_had_measurement_unit: has_or_had_type: VIEW temporal_extent: begin_of_the_begin: "2025-12-01T23:16:22Z" - description: 132 views at observation time - value: - quantity_value: 42 - quantity_type: ENGAGEMENT_COUNT has_or_had_measurement_unit: has_or_had_type: COMMENT temporal_extent: begin_of_the_begin: "2025-12-01T23:16:22Z" - description: 42 comments at observation time (migrated from comment_count) - value: - quantity_value: 30.0 - quantity_type: FRAME_RATE has_or_had_unit: - unit_value: "frames per second" unit_uri: "qudt:FPS" - description: 30 frames per second (migrated from frame_rate, 2026-01-22) - value: - quantity_value: 24.0 - quantity_type: FRAME_RATE has_or_had_unit: - unit_value: "fps" has_or_had_label: - label_text: "frames per second" - description: Cinema standard 24fps like_count: range: integer required: false minimum_value: 0 examples: - value: 2 - description: 2 likes at observation time is_or_was_dismissed: range: DismissalEvent required: false multivalued: true inlined: true - description: >- - Dismissal or dislike metrics. - MIGRATED from dislike_count (2026-01-26). examples: - value: has_or_had_quantity: - quantity_value: 0 has_or_had_unit: has_or_had_label: "dislike" - description: No dislikes at observation time # REMOVED 2026-01-18: comment_count - migrated to has_or_had_quantity + Quantity (Rule 53) # comment_count: # range: integer @@ -311,7 +223,6 @@ classes: required: false examples: - value: '2025-12-01T23:16:22.294232+00:00' - description: Metrics observed December 1, 2025 # MIGRATED from video_category_id (2026-01-14, Rule 53) # video_category_id: # range: string @@ -322,7 +233,6 @@ classes: # - value: '27' # description: 'YouTube: Education' has_or_had_identifier: - description: Video category identifier (migrated from video_category_id) range: VideoCategoryIdentifier multivalued: true required: false @@ -335,9 +245,7 @@ classes: required: false examples: - value: none - description: Standard video (not live) - value: live - description: Currently broadcasting is_licensed_content: range: boolean required: false @@ -355,42 +263,22 @@ classes: # examples: # - value: 0 # description: No comments fetched - is_or_was_retrieved_at: - description: | - MIGRATED from comments_fetched per slot_fixes.yaml (Rule 53, 2026-01-22). - Timestamp when comments were fetched from the video platform API. - range: Timestamp inlined: true - required: false examples: - value: has_or_had_timestamp: "2025-12-01T23:16:22Z" - description: Comments fetched at observation time is_or_was_part_of_total: - description: | - MIGRATED from comments_fetched per slot_fixes.yaml (Rule 53, 2026-01-22). - Structured count metadata showing fetched vs total comments. range: SourceCommentCount inlined: true required: false examples: - value: - fetched_count: 100 - total_count: 500 - fetch_complete: false - source_api: "youtube_data_api_v3" - description: 100 of 500 comments fetched from YouTube API - value: - fetched_count: 0 - description: No comments fetched (minimal) has_or_had_comment: # was: video_comment - migrated per Rule 53 (2025-01-15) range: VideoComment multivalued: true required: false inlined: true - description: | - Comments on this video post. - MIGRATED from video_comment slot per slot_fixes.yaml (Rule 53, 2025-01-15). comments: - Extends SocialMediaPost with video-specific properties - Maps to as:Video and schema:VideoObject @@ -421,7 +309,6 @@ classes: - is_or_was_appreciated # REMOVED 2026-01-18: comment_published_at - migrated to temporal_extent + TimeSpan (Rule 53) - temporal_extent - - has_or_had_comment_reply # MIGRATED 2026-01-22: comment_reply_count → has_or_had_reply + CommentReply (Rule 53) - has_or_had_reply # REMOVED 2026-01-18: comment_text - migrated to has_or_had_content + Content (Rule 53) @@ -433,43 +320,26 @@ classes: slot_usage: # MIGRATED 2026-01-18: comment_id → has_or_had_identifier + Identifier (Rule 53/56) has_or_had_identifier: - description: | - MIGRATED from comment_id per slot_fixes.yaml (Rule 53/56, 2026-01-18). - Unique identifier for the comment (YouTube comment ID). - Uses Identifier class for structured identifier representation. range: uriorcurie inlined: true required: true examples: - value: - identifier_scheme: youtube_comment_id - identifier_value: "UgzK1234abcdefgh" - description: YouTube comment identifier # REMOVED 2026-01-18: comment_author - migrated to has_or_had_author + Author (Rule 53) # MIGRATED 2026-01-18: comment_author → has_or_had_author + Author (Rule 53) # MIGRATED 2026-01-22: comment_author_channel_id is now captured via Author.has_or_had_identifier (Rule 53) has_or_had_author: - description: | - MIGRATED from comment_author per slot_fixes.yaml (Rule 53, 2026-01-18). - UPDATED 2026-01-22: Now also captures comment_author_channel_id via nested identifier. - Display name of comment author plus optional platform user identifier. - Uses Author class for structured author representation. - Platform channel ID captured via has_or_had_identifier → DigitalPlatformUserIdentifier. range: Author inlined: true required: true examples: - value: has_or_had_name: "Visitor123" - description: Comment author display name only - value: has_or_had_name: "MuseumFan2024" has_or_had_identifier: - identifier_scheme: youtube_channel_id - identifier_value: "UCsT0YIqwnpJCM-mx7-gSA4Q" platform_type: "youtube" - platform_user_id: "UCsT0YIqwnpJCM-mx7-gSA4Q" - description: Comment author with YouTube channel ID (migrated from comment_author_channel_id) # MIGRATED 2026-01-22: comment_author_channel_id → has_or_had_identifier + DigitalPlatformUserIdentifier (Rule 53) # NOTE: has_or_had_identifier slot_usage updated above to handle BOTH comment_id AND comment_author_channel_id # The Author class already has has_or_had_identifier slot, so channel_id can be linked via: @@ -480,36 +350,22 @@ classes: # platform_type: "youtube" # MIGRATED 2026-01-18: comment_text → has_or_had_content + Content (Rule 53/56) has_or_had_content: - description: | - MIGRATED from comment_text per slot_fixes.yaml (Rule 53/56, 2026-01-18). - Full text content of the comment. - Uses Content class with has_or_had_description for the actual text. range: string inlined: true required: true examples: - value: has_or_had_description: "Great video about the collection!" - description: Comment content using Content class # MIGRATED 2026-01-18: comment_published_at → temporal_extent + TimeSpan (Rule 53/56) temporal_extent: - description: | - MIGRATED from comment_published_at per slot_fixes.yaml (Rule 53/56, 2026-01-18). - When comment was originally posted. - Uses TimeSpan class for structured temporal representation. range: TimeSpan inlined: true required: true examples: - value: begin_of_the_begin: "2025-01-14T10:30:00Z" - description: Comment published timestamp # MIGRATED 2026-01-18: comment_updated_at → was_last_updated_at + Timestamp (Rule 53/56) is_or_was_last_updated_at: - description: | - MIGRATED from comment_updated_at per slot_fixes.yaml (Rule 53/56, 2026-01-18). - When comment was last edited. - Uses Timestamp class for structured temporal representation. range: Timestamp inlined: true required: false @@ -517,56 +373,30 @@ classes: - value: has_or_had_timestamp: "2025-01-15T10:30:00Z" has_or_had_level: second - description: Comment last updated timestamp # MIGRATED 2026-01-22: comment_like_count → is_or_was_appreciated + AppreciationEvent (Rule 53) is_or_was_appreciated: - description: | - MIGRATED from comment_like_count per slot_fixes.yaml (Rule 53, 2026-01-22). - Appreciation metrics (likes) for this comment. - Uses AppreciationEvent class for structured representation. range: AppreciationEvent inlined: true inlined_as_list: true required: false examples: - value: - appreciation_type: "like" - appreciation_count: 42 - description: Comment with 42 likes - value: - appreciation_type: "like" has_or_had_quantity: numeric_value: 100 has_or_had_unit: unit_label: "likes" - description: Structured like count with Quantity # MIGRATED 2026-01-22: comment_reply_count → has_or_had_reply + CommentReply (Rule 53) has_or_had_reply: - description: | - MIGRATED from comment_reply_count per slot_fixes.yaml (Rule 53, 2026-01-22). - Reply metrics for this comment. - Uses CommentReply class for structured representation. range: CommentReply inlined: true inlined_as_list: true required: false examples: - value: - reply_count: 5 - reply_type: "comment_reply" - description: Comment with 5 replies - value: - reply_count: 0 - description: Comment with no replies - value: - reply_count: 12 has_or_had_quantity: numeric_value: 12 has_or_had_unit: - unit_label: "replies" - description: Structured reply count with Quantity - has_or_had_comment_reply: - range: VideoComment - multivalued: true - required: false - inlined: true + unit_label: "replies" \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/VideoSubtitle.yaml b/schemas/20251121/linkml/modules/classes/VideoSubtitle.yaml index c20c5e9128..5a9d5b00b1 100644 --- a/schemas/20251121/linkml/modules/classes/VideoSubtitle.yaml +++ b/schemas/20251121/linkml/modules/classes/VideoSubtitle.yaml @@ -89,18 +89,11 @@ classes: includes_timestamp: ifabsent: 'true' has_or_had_format: - description: 'The subtitle format for this video subtitle track. - - Values: SRT, VTT, TTML, SBV, ASS - - ' range: SubtitleFormatEnum required: true examples: - value: VTT - description: WebVTT format (W3C standard) - value: SRT - description: SubRip format (most common) raw_subtitle_content: range: string required: false @@ -113,131 +106,78 @@ classes: Welcome to the museum. ' - description: Complete VTT file content is_closed_caption: range: boolean required: false ifabsent: 'false' examples: - value: true - description: This is a closed caption track is_sdh: range: boolean required: false ifabsent: 'false' examples: - value: true - description: SDH subtitle track includes_sound_description: range: boolean required: false ifabsent: 'false' examples: - value: true - description: Contains sound effect descriptions includes_music_description: range: boolean required: false ifabsent: 'false' examples: - value: true - description: Contains music descriptions includes_speaker_identification: range: boolean required: false ifabsent: 'false' examples: - value: true - description: Subtitle text includes speaker labels is_or_was_created_through: - description: Whether this subtitle was auto-generated (e.g., YouTube ASR) range: boolean required: false ifabsent: 'false' examples: - value: true - description: YouTube auto-generated caption has_or_had_label: range: string required: false examples: - value: English (auto-generated) - description: YouTube auto-caption track name - track_id: - description: Platform-specific identifier for this subtitle track (DEPRECATED - use has_or_had_identifier) - range: string deprecated: Use has_or_had_identifier with TrackIdentifier range instead - required: false - examples: - value: en.3OWxR1w4QfE - description: YouTube caption track ID has_or_had_identifier: - description: Platform-specific identifier for this subtitle track range: TrackIdentifier required: false inlined: true examples: - value: '{"platform": "YouTube", "has_or_had_code": "en.3OWxR1w4QfE"}' - description: YouTube caption track identifier has_or_had_caption: - description: 'MIGRATED from default_position per slot_fixes.yaml (Rule 53, 2026-01-24). - - Caption configuration for this subtitle track. - - Uses Caption class with has_or_had_alignment for positioning. - - ' range: Caption inlined: true required: false examples: - value: - is_available: true - caption_format: VTT - description: VTT caption available has_or_had_alignment: - description: 'MIGRATED from default_position per slot_fixes.yaml (Rule 53, 2026-01-24). - - Default positioning for subtitle display on screen. - - Uses Alignment class for structured representation. - - ' range: Alignment inlined: true required: false examples: - value: - vertical_alignment: bottom - horizontal_alignment: center - description: Standard bottom-center caption position (default) - value: - vertical_alignment: top - horizontal_alignment: center - description: Top-center position for dual subtitle scenarios - value: - vertical_alignment: bottom - horizontal_alignment: left - description: Bottom-left positioning has_or_had_quantity: range: integer required: false inlined: true - description: Number of subtitle entries (caption cues). MIGRATED from entry_count per Rule 53 (2026-01-26). examples: - value: - quantity_value: 127 has_or_had_unit: has_or_had_label: entries - description: 127 caption cues in this track has_or_had_mean: - description: 'Average duration of subtitle entries. - - MIGRATED from has_average_entry_duration_seconds per Rule 53. - - Uses MeanValue class. - - ' range: MeanValue inlined: true examples: @@ -245,14 +185,8 @@ classes: has_or_had_value: 3.2 has_or_had_unit: has_or_had_label: seconds - description: Average 3.2 seconds per caption rules: - postconditions: - description: 'segments must be populated for VideoSubtitle. - - This is enforced by making segments required in slot_usage. - - ' comments: - Time-coded caption/subtitle content - Extends VideoTranscript - subtitles ARE transcripts plus time codes diff --git a/schemas/20251121/linkml/modules/classes/VideoTextContent.yaml b/schemas/20251121/linkml/modules/classes/VideoTextContent.yaml index bb3e45777d..a88757356e 100644 --- a/schemas/20251121/linkml/modules/classes/VideoTextContent.yaml +++ b/schemas/20251121/linkml/modules/classes/VideoTextContent.yaml @@ -57,7 +57,6 @@ classes: slots: - has_or_had_language - content_title - - generated_by - is_or_was_generated_by - temporal_extent - is_verified @@ -78,51 +77,29 @@ classes: required: true examples: - value: FbIoC-Owy-M - description: YouTube video ID as source reference source_video_url: range: uri required: false examples: - value: https://www.youtube.com/watch?v=FbIoC-Owy-M - description: Full YouTube video URL has_or_had_language: range: string required: true inlined: true multivalued: true - description: | - Language of the content. - MIGRATED from content_language (2026-01-28). examples: - value: - iso_639_1: "nl" language_name: "Dutch" - description: Dutch language content - value: - iso_639_1: "en" language_name: "English" - description: English translation content_title: range: string required: false examples: - value: De Vrijheidsroute Ep.3 - Dutch Transcript - description: Descriptive title for transcript - generated_by: - range: string - required: true - examples: - - value: openai/whisper-large-v3 - description: OpenAI Whisper ASR model - value: YouTube Auto-captions - description: Platform-provided captions - value: manual:curator@rijksmuseum.nl - description: Human transcriber is_or_was_generated_by: - description: 'Method used to generate this text content. - MIGRATED from generation_method per Rule 53. - Uses GenerationEvent linking to Methodology (was GenerationMethodEnum). - ' range: GenerationEvent required: true inlined: true @@ -131,40 +108,29 @@ classes: has_or_had_methodology: methodology_type: ASR_AUTOMATIC has_or_had_label: Automatic Speech Recognition - description: Automatic speech recognition - value: has_or_had_methodology: methodology_type: MANUAL_TRANSCRIPTION has_or_had_label: Manual Transcription - description: Human transcription temporal_extent: - description: 'Verification date using CIDOC-CRM TimeSpan. - MIGRATED from verification_date per slot_fixes.yaml (Rule 53). - Use begin_of_the_begin for the verification timestamp. - ' range: TimeSpan inlined: true required: false examples: - value: begin_of_the_begin: '2025-12-02T15:00:00Z' - description: Verified December 2, 2025 model_version: range: string required: false examples: - value: large-v3 - description: Whisper model version - value: v2.3.1 - description: Software version number model_provider: range: string required: false examples: - value: OpenAI - description: Model provider - value: Google Cloud - description: Cloud service provider overall_confidence: range: float required: false @@ -172,60 +138,42 @@ classes: maximum_value: 1.0 examples: - value: 0.92 - description: High confidence ASR output is_verified: range: boolean required: false ifabsent: 'false' examples: - value: true - description: Human-verified transcript is_or_was_verified_by: range: Verifier required: false inlined: true - description: 'Who verified the annotation. - MIGRATED from verified_by slot (2026-01-14) per Rule 53. - Uses Verifier class for structured verifier with name, type, and URI. - ' examples: - value: 'verifier_name: curator@rijksmuseum.nl - verifier_type: PERSON - ' - description: Staff member who verified processing_duration_seconds: range: float required: false minimum_value: 0.0 examples: - value: 45.3 - description: Processed in 45.3 seconds has_or_had_quantity: range: integer required: false multivalued: true inlined: true inlined_as_list: true - description: 'Quantitative measurements of the text content. - MIGRATED: word_count (2026-01-14) and character_count (2026-01-18) per Rule 53. - Uses Quantity class for structured quantity with value, type, and unit. - Can represent word count, character count, or other text metrics. - ' examples: - value: - quantity_value: 1523 - quantity_type: WORD_COUNT has_or_had_measurement_unit: has_or_had_type: WORD has_or_had_symbol: words has_or_had_description: Word count in transcript - quantity_value: 8742 - quantity_type: CHARACTER_COUNT has_or_had_measurement_unit: has_or_had_type: CHARACTER has_or_had_symbol: chars has_or_had_description: Character count including spaces - description: Text metrics (word and character count) comments: - Abstract base for all video-derived text content - Comprehensive PROV-O provenance tracking diff --git a/schemas/20251121/linkml/modules/classes/VideoTimeSegment.yaml b/schemas/20251121/linkml/modules/classes/VideoTimeSegment.yaml index a18381b92b..012a3faf68 100644 --- a/schemas/20251121/linkml/modules/classes/VideoTimeSegment.yaml +++ b/schemas/20251121/linkml/modules/classes/VideoTimeSegment.yaml @@ -189,28 +189,21 @@ classes: range: TimeInterval required: true inlined: true - description: Duration of the segment (replaces end_time/end_seconds). Use duration_value for ISO 8601 duration (e.g., PT5S). examples: - value: - duration_value: PT0M05S - description: 5 second duration segment_text: range: string required: false examples: - value: Welkom bij het Rijksmuseum - description: Dutch subtitle text - value: The curator explains the painting's history - description: Transcript segment segment_index: range: integer required: false minimum_value: 0 examples: - value: 0 - description: First segment - value: 42 - description: 43rd segment (zero-indexed) is_or_was_generated_by: range: GenerationEvent required: false @@ -221,31 +214,24 @@ classes: has_or_had_score: has_or_had_score: 0.95 has_or_had_method: asr_transcription - description: High confidence ASR segment - value: has_or_had_score: has_or_had_score: 0.72 has_or_had_method: cv_detection - description: Medium confidence, may contain errors speaker_id: range: string required: false examples: - value: SPEAKER_01 - description: First identified speaker - value: curator_taco_dibbits - description: Resolved speaker identity speaker_label: range: string required: false examples: - value: Narrator - description: Generic speaker label - value: Dr. Taco Dibbits, Museum Director - description: Specific identified speaker rules: - postconditions: - description: end_seconds must be >= start_seconds comments: - Reusable time segment for subtitles, annotations, chapters - 'Dual time format: ISO 8601 for serialization, seconds for computation' diff --git a/schemas/20251121/linkml/modules/classes/VideoTranscript.yaml b/schemas/20251121/linkml/modules/classes/VideoTranscript.yaml index 3fe5535013..3fe0e6a475 100644 --- a/schemas/20251121/linkml/modules/classes/VideoTranscript.yaml +++ b/schemas/20251121/linkml/modules/classes/VideoTranscript.yaml @@ -61,13 +61,6 @@ classes: - has_or_had_format slot_usage: contains_or_contained: - description: 'Full text content of the transcript. - - MIGRATED from full_text per Rule 53. - - Currently mapped to string range for backward compatibility, but slot supports Text class. - - ' range: string required: true examples: @@ -78,7 +71,6 @@ classes: by Rembrandt van Rijn, painted in 1642. ' - description: Plain text transcript excerpt - value: '[Narrator] Welcome to the Rijksmuseum. [Narrator] Today we''ll explore the masterpieces of Dutch Golden Age painting. @@ -86,28 +78,23 @@ classes: [Curator] Our first stop is the Night Watch by Rembrandt van Rijn. ' - description: Transcript with speaker labels has_or_had_format: range: TranscriptFormatEnum required: false - description: The format of the transcript (plain text, structured, timestamped, etc.) examples: - value: STRUCTURED - description: Text with speaker labels and paragraph breaks includes_timestamp: range: boolean required: false ifabsent: 'false' examples: - value: true - description: Transcript has time codes includes_speaker: range: boolean required: false ifabsent: 'false' examples: - value: true - description: Multi-speaker transcript with diarization has_or_had_segment: range: VideoTimeSegment required: false @@ -116,43 +103,36 @@ classes: inlined_as_list: true examples: - value: "- segment_index: 0\n start_seconds: 0.0\n end_seconds: 3.5\n segment_text: \"Welcome to the museum.\"\n confidence: 0.95\n" - description: Single structured segment speaker_count: range: integer required: false minimum_value: 0 examples: - value: 3 - description: Three speakers identified primary_speaker: range: string required: false examples: - value: Narrator - description: Generic primary speaker - value: Dr. Taco Dibbits, Museum Director - description: Named primary speaker source_language_auto_detected: range: boolean required: false ifabsent: 'false' examples: - value: true - description: Language was auto-detected paragraph_count: range: integer required: false minimum_value: 0 examples: - value: 15 - description: Transcript has 15 paragraphs sentence_count: range: integer required: false minimum_value: 0 examples: - value: 47 - description: Transcript has ~47 sentences comments: - Full text transcription of video audio content - Extends VideoTextContent with transcript-specific properties diff --git a/schemas/20251121/linkml/modules/classes/Warehouse.yaml b/schemas/20251121/linkml/modules/classes/Warehouse.yaml index e5a447e4eb..13f0679f03 100644 --- a/schemas/20251121/linkml/modules/classes/Warehouse.yaml +++ b/schemas/20251121/linkml/modules/classes/Warehouse.yaml @@ -59,12 +59,8 @@ classes: - hc:Storage - schema:LocalBusiness slots: - - has_or_had_access_restriction - has_or_had_policy - contents_description - - has_climate_control - - has_forklift_access - - has_loading_dock - specificity_annotation - has_or_had_score - has_or_had_description @@ -72,62 +68,39 @@ classes: - has_or_had_identifier - is_or_was_managed_by - has_or_had_label - - has_or_had_security_level - has_or_had_type - is_or_was_derived_from - is_or_was_generated_by slot_usage: has_or_had_identifier: - description: 'Unique identifier for this warehouse. - MIGRATED from warehouse_id per slot_fixes.yaml (Rule 53). - ' range: uriorcurie required: true identifier: true examples: - value: https://nde.nl/ontology/hc/aux/rm-logistics-warehouse - description: Rijksmuseum logistics warehouse has_or_had_label: - description: 'Human-readable name of this warehouse. - MIGRATED from warehouse_name per slot_fixes.yaml (Rule 53). - ' range: string required: true multivalued: false examples: - value: Rijksmuseum Logistics Warehouse - description: Museum logistics facility - value: KB Operations Warehouse Leiden - description: Library operations warehouse has_or_had_description: - description: 'Description of warehouse purpose and contents. - MIGRATED from warehouse_description per slot_fixes.yaml (Rule 53). - ' examples: - value: description_text: Logistics warehouse for exhibition equipment, packing materials, and furniture. Facilities team access only. description_type: warehouse - description: Exhibition logistics warehouse has_or_had_type: range: uriorcurie required: true - description: 'The type classification of this warehouse facility. - Uses WarehouseType class hierarchy (EXHIBITION_EQUIPMENT, GENERAL_SUPPLIES, etc.). - ' examples: - value: EXHIBITION_EQUIPMENT - description: Exhibition equipment storage - value: GENERAL_SUPPLIES - description: General supplies warehouse contents_description: range: string examples: - value: Exhibition cases, lighting rigs, pedestals, crates, packing foam - description: Exhibition equipment contents has_or_had_area: - description: 'Floor area of this warehouse. - MIGRATED from warehouse_floor_area_sqm per slot_fixes.yaml (Rule 53). - ' range: Area inlined: true examples: @@ -137,24 +110,7 @@ classes: has_or_had_type: SQUARE_METER has_or_had_symbol: "m\xB2" has_or_had_label: Warehouse floor area - description: "500 m\xB2 warehouse" - has_loading_dock: - range: boolean - examples: - - value: true - description: Has loading dock - has_forklift_access: - range: boolean - examples: - - value: true - description: Forklift accessible - has_climate_control: - range: boolean - examples: - - value: true - description: Basic climate control - value: false - description: Uncontrolled has_or_had_policy: range: string description: "Climate control policy governing this warehouse.\nMIGRATED from climate_control_type per slot_fixes.yaml (Rule 53).\n\n**MIGRATION NOTE**:\nOld simple string values (HEATED, HVAC, etc.) now modeled as:\nClimateControlPolicy \u2192 regulates_or_regulated \u2192 ClimateControl \u2192 has_or_had_type \u2192 ClimateControlType\n" @@ -165,44 +121,20 @@ classes: regulates_or_regulated: - has_or_had_label: Warehouse Heating has_or_had_type: HEATED - description: Heating only policy - value: has_or_had_label: Full HVAC Requirements regulates_or_regulated: - has_or_had_label: Central HVAC System has_or_had_type: HVAC - description: Full HVAC policy - has_or_had_security_level: - description: 'Security level of this warehouse. - MIGRATED from warehouse_security_level per slot_fixes.yaml (Rule 53). - ' - range: SecurityLevel - inlined: true - examples: - value: has_or_had_code: STANDARD - level_name: Standard Security - description: Standard security - has_or_had_access_restriction: - range: string - examples: - - value: Facilities staff only - description: Staff restriction - value: Operations team badge required - description: Badge access is_or_was_managed_by: - description: 'Group or team that manages this warehouse. - MIGRATED from warehouse_managed_by per slot_fixes.yaml (Rule 53). - ' range: Group inlined: true examples: - value: - group_name: Facilities Management - description: Facilities team - value: - group_name: Exhibition Services - description: Exhibition team is_or_was_derived_from: range: CustodianObservation multivalued: true @@ -234,21 +166,12 @@ classes: has_or_had_unit: has_or_had_type: SQUARE_METER has_or_had_symbol: "m\xB2" - has_loading_dock: true - has_forklift_access: true - has_climate_control: true has_or_had_policy: has_or_had_label: Warehouse Basic Climate Requirements regulates_or_regulated: - has_or_had_label: Logistics Warehouse Heating has_or_had_type: HEATED - has_or_had_security_level: - has_or_had_code: STANDARD - level_name: Standard Security - has_or_had_access_restriction: Exhibition Services and Facilities staff is_or_was_managed_by: - group_name: Exhibition Services - description: Museum logistics warehouse - value: has_or_had_identifier: https://nde.nl/ontology/hc/aux/na-supplies-warehouse has_or_had_label: Nationaal Archief Supplies Warehouse @@ -262,15 +185,7 @@ classes: has_or_had_unit: has_or_had_type: SQUARE_METER has_or_had_symbol: "m\xB2" - has_loading_dock: true - has_forklift_access: false - has_climate_control: false - has_or_had_security_level: - has_or_had_code: BASIC - level_name: Basic Security is_or_was_managed_by: - group_name: Facilities Management - description: Archive supplies warehouse annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/WarehouseType.yaml b/schemas/20251121/linkml/modules/classes/WarehouseType.yaml index 861577454c..3d4699dd1f 100644 --- a/schemas/20251121/linkml/modules/classes/WarehouseType.yaml +++ b/schemas/20251121/linkml/modules/classes/WarehouseType.yaml @@ -63,9 +63,7 @@ classes: pattern: ^https://nde\.nl/ontology/hc/warehouse-type/[a-z-]+$ examples: - value: https://nde.nl/ontology/hc/warehouse-type/central-depot - description: Central depot warehouse type - value: https://nde.nl/ontology/hc/warehouse-type/offsite-depot - description: Offsite depot warehouse type has_or_had_code: range: string required: true @@ -96,25 +94,16 @@ classes: multivalued: true inlined: true inlined_as_list: true - description: 'Wikidata equivalence for this warehouse type concept. - - MIGRATED 2026-01-15: Replaces wikidata_id slot per Rule 53. - - ' examples: - value: - qid: Q1191732 - label: Depot/storage facility - description: Wikidata equivalence for depot has_or_had_hypernym: range: WarehouseType required: false - description: Parent warehouse type in hierarchy has_or_had_hyponym: range: WarehouseType multivalued: true required: false - description: Child warehouse types in hierarchy annotations: specificity_score: '0.55' specificity_rationale: Moderately specific - warehouse types are infrastructure-related metadata. @@ -138,5 +127,4 @@ classes: has_or_had_label: - Central Depot@en - hoofddepot@nl - has_or_had_description: Primary storage facility at main institutional site - description: Central depot warehouse type definition + has_or_had_description: Primary storage facility at main institutional site \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/WebArchive.yaml b/schemas/20251121/linkml/modules/classes/WebArchive.yaml index 84f1023efd..66f221182d 100644 --- a/schemas/20251121/linkml/modules/classes/WebArchive.yaml +++ b/schemas/20251121/linkml/modules/classes/WebArchive.yaml @@ -59,21 +59,7 @@ classes: inlined: true attributes: has_or_had_scope: - description: 'Scope of web content collected (national domain, thematic, etc.) - MIGRATED from collection_scope attribute per Rule 53 (2026-01-18). - Note: This is an inline attribute; for full CollectionScope class usage, - use the has_or_had_scope slot with CollectionScope range. - ' range: string - crawl_frequency: - description: How often web content is harvested - range: string - has_or_had_access_restriction: - description: Any restrictions on accessing archived web content - range: string - warc_format: - description: Whether content is stored in WARC format - range: boolean see_also: - DigitalArchive - OnlineNewsArchive diff --git a/schemas/20251121/linkml/modules/classes/WebClaim.yaml b/schemas/20251121/linkml/modules/classes/WebClaim.yaml index 1c50023e3c..bf190f420e 100644 --- a/schemas/20251121/linkml/modules/classes/WebClaim.yaml +++ b/schemas/20251121/linkml/modules/classes/WebClaim.yaml @@ -76,87 +76,21 @@ classes: - has_or_had_provenance_path slot_usage: has_or_had_identifier: - description: 'MIGRATED from claim_id per slot_fixes.yaml (Rule 53/56, 2026-01-18). - - Unique identifier for the web claim. - - Uses Identifier class for structured identifier representation. - - ' range: uriorcurie inlined: true required: false examples: - value: - identifier_scheme: web_claim_id - identifier_value: claim-2025-11-29-001 - description: Web claim identifier has_or_had_type: - description: 'MIGRATED from claim_type per slot_fixes.yaml (Rule 53/56, 2026-01-19). - - The type of claim being made (e.g., full_name, email, facebook). - - - Uses ClaimType class hierarchy for structured type representation: - - - IdentityClaim: full_name, short_name, description, legal_name - - - ContactClaim: email, phone, address, website - - - SocialMediaClaim: facebook, twitter, instagram, linkedin, youtube - - - MediaClaim: logo_url, favicon_url, og_image_url - - - OperationalClaim: opening_hours, admission_info, accessibility_info - - - CollectionClaim: collection_count, beeldbank statistics - - - OrganizationalClaim: founding_date, kvk_number, legal_form - - - DocumentClaim: annual_report_url, policy_document_url - - - GeographicClaim: street_address, postal_code, city, province - - - ArchivalClaim: archief_description, beeldbank_description - - ' range: ClaimType inlined: true required: true examples: - value: has_or_had_label: full_name - description: Identity claim for organization name - value: has_or_had_label: facebook - description: Social media claim for Facebook URL has_or_had_note: - description: 'MIGRATED from claim_note per slot_fixes.yaml (Rule 53/56, 2026-01-18). - - Notes about this specific claim extraction. - - - Uses Note class with note_type, note_content, note_date fields. - - - **Note Type Mapping**: - - - `note_type`: "claim" (default for WebClaim notes) - - - `note_content`: The actual note text - - - `note_date`: When the note was created - - - **Use Cases**: - - - Document extraction issues - - - Note special circumstances - - - Record conflicts with other sources - - ' range: string inlined: true inlined_as_list: true @@ -167,39 +101,11 @@ classes: note_type: claim note_content: Additional verification required for this claim. note_date: '2026-01-18' - description: Verification note for claim - value: note_type: extraction note_content: Biography truncated from longer text on page. note_date: '2025-11-29' - description: Extraction processing note has_or_had_content: - description: 'MIGRATED from claim_value per slot_fixes.yaml (Rule 53/56, 2026-01-18). - - The extracted value from the web source - the actual content claimed to exist - - at the XPath location. - - - Uses Content class with has_or_had_label holding the raw extracted string. - - - **Content Mapping**: - - - `has_or_had_label`: The raw extracted value (required) - - - `has_or_had_description`: Optional elaboration on the claim content - - - **Examples of claim values**: - - - Organization names: "Historische Vereniging Nijeveen" - - - Statistics: "6253" (photo count) - - - URLs: "https://www.facebook.com/HistorischeVerenigingNijeveen/" - - ' range: string inlined: true required: true @@ -207,13 +113,10 @@ classes: examples: - value: has_or_had_label: Historische Vereniging Nijeveen - description: Organization name claim value - value: has_or_had_label: '6253' - description: Numeric statistic claim value - value: has_or_had_label: https://www.facebook.com/HistorischeVerenigingNijeveen/ - description: URL claim value source_url: required: true retrieved_on: @@ -222,66 +125,31 @@ classes: required: true range: XPath inlined: true - description: XPath provenance for this claim - pointing to exact element in archived HTML. Contains expression, matched_text, and match_score. has_or_had_file_path: required: true range: FilePath inlined: true - description: Path to the archived HTML file (Playwright-rendered) used for extraction. MIGRATED from html_file. examples: - value: has_or_had_label: web/0021/historischeverenigingnijeveen.nl/rendered.html - description: Archived HTML file path is_or_was_retrieved_through: - description: 'Retrieval event containing timestamp. - - MIGRATED from extraction_timestamp per Rule 53 (2026-01-26). - - ' range: RetrievalEvent inlined: true required: false is_or_was_extracted_using: - description: 'MIGRATED from claim_extraction_method per slot_fixes.yaml (Rule 53/56, 2026-01-19). - - Method used to extract this claim from the source document. - - - Uses ExtractionMethod class to represent structured extraction method information. - - - **Common Extraction Methods**: - - - `xpath_exact_match` - XPath pointed to exact element containing value - - - `xpath_fuzzy_match` - XPath with partial/substring match - - - `nlp_ner` - Named Entity Recognition extraction - - - `json_ld_parse` - Parsed from embedded JSON-LD structured data - - - `meta_tag` - Extracted from HTML meta tags - - - `manual` - Human-verified extraction - - ' range: ExtractionMethod inlined: true required: false examples: - value: has_or_had_label: xpath_exact_match - description: XPath extraction with exact match - value: has_or_had_label: nlp_ner - description: NLP Named Entity Recognition extraction rules: - preconditions: slot_conditions: has_or_had_provenance_path: value_presence: ABSENT - postconditions: - description: Claims without XPath provenance must be removed as unverifiable comments: - WebClaim requires XPath provenance via has_or_had_provenance_path - claims without it are fabricated - XPath class contains expression, matched_text, and match_score in one structure @@ -308,13 +176,9 @@ classes: source_url: https://historischeverenigingnijeveen.nl/ retrieved_on: '2025-11-29T12:28:00Z' has_or_had_provenance_path: - expression: /html[1]/body[1]/div[6]/div[1]/h1[1] - match_score: 1.0 - source_document: web/0021/historischeverenigingnijeveen.nl/rendered.html has_or_had_file_path: has_or_had_label: web/0021/historischeverenigingnijeveen.nl/rendered.html pipeline_stage: layout_analysis - description: Exact match claim for organization name (claim_type migrated to has_or_had_type) - value: has_or_had_type: has_or_had_label: beeldbank_total_photos @@ -323,13 +187,9 @@ classes: source_url: https://historischeverenigingnijeveen.nl/nl/hvn retrieved_on: '2025-11-29T12:28:00Z' has_or_had_provenance_path: - expression: /html[1]/body[1]/div[6]/div[1]/table[3]/tbody[1]/tr[1]/td[1]/p[1] - match_score: 1.0 - source_document: web/0021/historischeverenigingnijeveen.nl/rendered.html has_or_had_file_path: has_or_had_label: web/0021/historischeverenigingnijeveen.nl/rendered.html pipeline_stage: layout_analysis - description: Collection count claim from image bank statistics - value: has_or_had_type: has_or_had_label: facebook @@ -338,13 +198,9 @@ classes: source_url: https://historischeverenigingnijeveen.nl/ retrieved_on: '2025-11-29T12:28:00Z' has_or_had_provenance_path: - expression: /html[1]/body[1]/footer[1]/div[1]/a[3] - match_score: 1.0 - source_document: web/0021/historischeverenigingnijeveen.nl/rendered.html has_or_had_file_path: has_or_had_label: web/0021/historischeverenigingnijeveen.nl/rendered.html pipeline_stage: entity_linking - description: Social media link claim - entity linking stage - value: has_or_had_type: has_or_had_label: website @@ -353,14 +209,9 @@ classes: source_url: https://historischeverenigingnijeveen.nl/nl/hvn retrieved_on: '2025-11-28T12:00:00Z' has_or_had_provenance_path: - expression: /html[1]/body[1]/div[6]/div[1]/table[3]/tbody[1]/tr[1]/td[1]/p[6] - matched_text: De Historische Vereniging Nijeveen is ook te vinden op Facebook - match_score: 0.561 - source_document: web/0021/historischeverenigingnijeveen.nl/rendered.html has_or_had_file_path: has_or_had_label: web/0021/historischeverenigingnijeveen.nl/rendered.html pipeline_stage: layout_analysis - description: Substring match - URL found within longer text annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/WebClaimsBlock.yaml b/schemas/20251121/linkml/modules/classes/WebClaimsBlock.yaml index ba27af1074..6c3227a91a 100644 --- a/schemas/20251121/linkml/modules/classes/WebClaimsBlock.yaml +++ b/schemas/20251121/linkml/modules/classes/WebClaimsBlock.yaml @@ -32,50 +32,14 @@ classes: has_or_had_quantity: range: integer inlined: true - description: 'Number of claims in this block. - MIGRATED 2026-01-19: Replaces claims_count integer attribute with structured Quantity. - Use quantity_type: CLAIM_COUNT for claim counts. - ' examples: - value: - quantity_value: 47 - quantity_type: CLAIM_COUNT has_or_had_description: Web claims extracted from archived website - description: Claim count with structured quantity attributes: - extraction_timestamp: - range: datetime - source_archive: - range: string - description: Path to source archive directory warrants_or_warranted: range: WebClaim multivalued: true inlined_as_list: true - description: Claims that warrant assertions about this entity (migrated from claim slot) - removed_invalid_claims: - range: InvalidWebClaim - multivalued: true - inlined_as_list: true - description: Claims removed due to validation failures - validation_metadata: - range: ValidationMetadata - description: Metadata about the validation process - layout_integrated: - range: boolean - description: Whether layout integration has been performed - layout_integration_timestamp: - range: datetime - description: When layout integration was performed - layout_metadata: - range: LayoutMetadata - description: Metadata about layout extraction - claims_migrated: - range: boolean - description: Whether claims have been migrated to new format - migration_timestamp: - range: datetime - description: When migration was performed annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/WebLink.yaml b/schemas/20251121/linkml/modules/classes/WebLink.yaml index 8d2e740488..fd4510d21b 100644 --- a/schemas/20251121/linkml/modules/classes/WebLink.yaml +++ b/schemas/20251121/linkml/modules/classes/WebLink.yaml @@ -79,7 +79,6 @@ classes: - foaf:Document - dcterms:URI slots: - - id - has_or_had_url # was: url - migrated per Rule 53 (2025-01-15) - link_text - has_or_had_label # was: title @@ -91,43 +90,21 @@ classes: - specificity_annotation - has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) slot_usage: - id: - identifier: true - required: true - range: uriorcurie has_or_had_url: range: uri inlined: true required: true - description: >- - The URL of the web resource. - MIGRATED from url slot per slot_fixes.yaml (Rule 53, 2025-01-15). link_text: range: string - description: >- - The visible text of the hyperlink. has_or_had_label: # was: title range: string - description: >- - Title attribute of the link (if available). - description: - range: string - description: >- - Human-readable description of the link's purpose or destination. link_type: range: LinkTypeEnum - description: >- - Classification of the link type. link_context: range: string - description: >- - The surrounding text or context where the link appears. has_or_had_provenance_path: range: XPath inlined: true - description: >- - XPath provenance path documenting the exact location of the link in the source HTML. - MIGRATED from xpath slot per slot_fixes.yaml (Rule 53, 2026-01-15). annotations: custodian_types: '["*"]' custodian_types_rationale: >- @@ -153,11 +130,8 @@ classes: link_text: "Burgerlijke Stand" link_type: SUB_GUIDE link_context: "Related finding aids section" - description: Link to a sub-guide within the same repository - value: id: hc:link/external-genealogy-db url: https://www.wiewaswie.nl link_text: "WieWasWie" - link_type: EXTERNAL_RESOURCE - description: "Dutch genealogical database" - description: External resource link + link_type: EXTERNAL_RESOURCE \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/WebObservation.yaml b/schemas/20251121/linkml/modules/classes/WebObservation.yaml index 61bc6ba9f9..e9de10eea8 100644 --- a/schemas/20251121/linkml/modules/classes/WebObservation.yaml +++ b/schemas/20251121/linkml/modules/classes/WebObservation.yaml @@ -84,19 +84,12 @@ classes: slot_usage: has_or_had_method: range: string - description: Cache validation method (e.g. ETag). MIGRATED from etag per slot_fixes.yaml (Rule 53). has_or_had_status: # was: http_status_code - migrated per Rule 53/56 (2026-01-28) range: HTTPStatusCode - description: | - HTTP response status code (e.g. 200, 404). - MIGRATED from http_status_code. - Uses HTTPStatusCode class which inherits from Status. examples: - value: has_or_had_value: "200" has_or_had_label: "OK" - description: Standard success response - comments: - WebObservation is a prov:Activity documenting web content retrieval - Integrates PROV-O for provenance and PAV for retrieval-specific properties @@ -127,7 +120,6 @@ classes: observed_entity: - https://nde.nl/ontology/hc/call/ec/cl2-2025-heritage-01 is_or_was_archived_at: https://web.archive.org/web/20251129103000/https://ec.europa.eu/info/funding-tenders/opportunities/portal/screen/opportunities/topic-details/horizon-cl2-2025-heritage-01 - description: Web observation of Horizon Europe CL2 2025 heritage call - value: observation_id: https://nde.nl/ontology/hc/observation/web/2025-11-28/nlhf-medium-grants source_url: https://www.heritagefund.org.uk/funding/medium-grants @@ -149,7 +141,6 @@ classes: - https://nde.nl/ontology/hc/call/nlhf/medium-grants-2025-q4 previous_observation: https://nde.nl/ontology/hc/observation/web/2025-10-15/nlhf-medium-grants content_changed: true - description: Web observation of National Lottery Heritage Fund grants page - value: observation_id: https://nde.nl/ontology/hc/observation/web/2025-11-29/wikidata-echoes source_url: https://query.wikidata.org/sparql @@ -165,7 +156,6 @@ classes: extraction_notes: SPARQL query for ECHOES/ECCCH Q-number (Q131381572). Structured API response with high confidence. observed_entity: - http://www.wikidata.org/entity/Q131381572 - description: SPARQL query observation for Wikidata entity annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/WebPortal.yaml b/schemas/20251121/linkml/modules/classes/WebPortal.yaml index 4652dcd703..85df4c5d07 100644 --- a/schemas/20251121/linkml/modules/classes/WebPortal.yaml +++ b/schemas/20251121/linkml/modules/classes/WebPortal.yaml @@ -94,18 +94,14 @@ classes: - is_or_was_associated_with - created_by_project - has_or_had_policy - - has_or_had_data_service_endpoint - - has_or_had_exposed_collection - has_or_had_scope - has_or_had_identifier - - implements_auxiliary_platform - is_or_was_related_to - launch_date - metadata_standard - oai_pmh_endpoint - operated_by - participating_institution - - has_or_had_portal_data_source - portal_description - portal_id - portal_language @@ -131,9 +127,7 @@ classes: pattern: ^https://nde\.nl/ontology/hc/portal/[a-z-]+/[a-z0-9-]+$ examples: - value: https://nde.nl/ontology/hc/portal/nl/archieven-nl - description: Dutch Archieven.nl portal - value: https://nde.nl/ontology/hc/portal/eu/europeana - description: Europeana pan-European portal portal_name: required: true range: string @@ -159,76 +153,41 @@ classes: range: string examples: - value: Archieven.nl is the Dutch national portal for archival finding aids, providing unified search across 80+ Dutch archives. - geographic_scope: - range: string - multivalued: true - inlined_as_list: true - examples: - - value: NL - description: Netherlands national coverage - value: DE-BW - description: "Baden-W\xFCrttemberg regional coverage" - value: EU - description: European Union coverage has_or_had_scope: - description: 'Geographic scope of the portal''s coverage. - MIGRATED from geographic_scope per Rule 53. - Uses GeographicScope class. - ' range: GeographicScope inlined: true examples: - value: has_or_had_label: National (Netherlands) - description: Portal covering entire Netherlands - value: has_or_had_label: European - description: Portal covering Europe - has_or_had_portal_data_source: - range: uriorcurie - multivalued: true - inlined_as_list: true - examples: - - value: https://nde.nl/ontology/hc/cms/gelders-archief-mais - description: MAIS deployment feeding Archieven.nl - has_or_had_exposed_collection: - range: CustodianCollection - multivalued: true - inlined: false - description: 'Custodian collections exposed/discoverable through this portal. - Inverse: CustodianCollection.exposed_on_portals - ' has_or_had_identifier: range: uriorcurie multivalued: true inlined_as_list: true examples: - value: http://www.wikidata.org/entity/Q209441 - description: Europeana Wikidata ID - value: https://viaf.org/viaf/316748507 - description: Europeana VIAF ID operated_by: required: true range: uriorcurie examples: - value: https://nde.nl/ontology/hc/encompassing-body/network/nde - description: NDE operates the Dataset Register - value: https://nde.nl/ontology/hc/encompassing-body/network/europeana-foundation - description: Europeana Foundation operates Europeana aggregates_or_aggregated_from: range: uriorcurie multivalued: true inlined_as_list: true examples: - value: https://nde.nl/ontology/hc/portal/de/ddb - description: Europeana aggregates from DDB is_or_was_aggregated_by: range: uriorcurie multivalued: true inlined_as_list: true examples: - value: https://nde.nl/ontology/hc/portal/eu/europeana - description: This portal's data is aggregated by Europeana metadata_standard: range: string multivalued: true @@ -241,14 +200,10 @@ classes: has_or_had_endpoint: range: APIEndpoint inlined: true - description: 'API endpoint for accessing the portal''s data. - MIGRATED from has_or_had_api_endpoint per Rule 53. - ' examples: - value: has_or_had_url: https://api.europeana.eu/record/v2/ has_or_had_description: Europeana REST API - description: API endpoint sparql_endpoint: range: uri examples: @@ -269,7 +224,6 @@ classes: range: date examples: - value: '2008-11-20' - description: Europeana launch date portal_status: range: string examples: @@ -277,12 +231,8 @@ classes: - value: LEGACY supersedes_or_superseded: range: uriorcurie - description: 'Portal that replaced this one (if deprecated or merged), or that this portal replaced. - MIGRATED from successor_portal per Rule 53/56 (2026-01-17). - ' examples: - value: https://nde.nl/ontology/hc/portal/nl/new-archieven-portal - description: Hypothetical successor portal record_count: range: integer examples: @@ -306,34 +256,21 @@ classes: range: ReconstructionActivity has_or_had_policy: range: string - description: 'Data licensing policy for this portal. - MIGRATED from data_license_policy per slot_fixes.yaml (Rule 53). - ' examples: - value: https://nde.nl/ontology/hc/policy/europeana - description: Europeana's CC0 metadata policy (was data_license_policy) - value: https://nde.nl/ontology/hc/policy/archieven-nl - description: Archieven.nl data policy (was data_license_policy) created_by_project: range: Project examples: - value: https://nde.nl/ontology/hc/project/nde/nde-portal-development-2023 - description: NDE Portal Development project that created this portal is_or_was_associated_with: - description: MIGRATED from associated_encompassing_bodies and has_or_had_associated_encompassing_body (Rule 53). EncompassingBody organizations associated with this portal beyond the operator. Range narrowed to uriorcurie for EncompassingBody references. range: uriorcurie multivalued: true inlined_as_list: true examples: - value: https://nde.nl/ontology/hc/encompassing-body/consortium/dans - description: DANS consortium as advisory partner - value: https://nde.nl/ontology/hc/encompassing-body/network/europeana-aggregators - description: Europeana Aggregators Network is_or_was_related_to: - description: 'Related digital platform(s) implemented/aggregated by this portal. - MIGRATED from implements_digital_platform per Rule 53. - Uses DigitalPlatform class. - ' range: DigitalPlatform multivalued: true inlined: true @@ -341,16 +278,7 @@ classes: - value: has_or_had_identifier: https://nde.nl/ontology/hc/platform/rijksmuseum-website has_or_had_label: Rijksmuseum Website - description: Aggregated digital platform - implements_auxiliary_platform: - range: AuxiliaryDigitalPlatform - multivalued: true - inlined: true - examples: - - value: https://nde.nl/ontology/hc/aux-platform/nde-colonial-collections - description: Colonial Collections thematic sub-portal - value: https://nde.nl/ontology/hc/aux-platform/europeana-api-v3 - description: Europeana REST API v3 serves_finding_aid: range: uriorcurie multivalued: true @@ -358,23 +286,8 @@ classes: required: false examples: - value: https://nde.nl/ontology/hc/finding-aid/gelders-archief/ead-main - description: Gelders Archief EAD inventory - value: https://nde.nl/ontology/hc/finding-aid/na/collection-guide - description: National Archives collection guide - has_or_had_data_service_endpoint: - range: DataServiceEndpoint - multivalued: true - inlined_as_list: true - required: false - examples: - - value: - - endpoint_id: https://nde.nl/ontology/hc/endpoint/europeana-oai - endpoint_name: Europeana OAI-PMH has_or_had_url: https://oai.europeana.eu/oai - protocol: OAI_PMH - protocol_version: '2.0' - status: ACTIVE - description: Europeana portal data service endpoints comments: - WebPortal is DISTINCT from DigitalPlatform (single custodian website) - WebPortal AGGREGATES metadata from multiple institutions @@ -401,13 +314,8 @@ classes: providing unified search across 80+ Dutch archives. Users can search EAD-encoded finding aids and access scanned documents. ' - geographic_scope: - - NL has_or_had_scope: - scope_description: Archival finding aids - subject_coverage: - - Government records - - Genealogical sources operated_by: https://nde.nl/ontology/hc/encompassing-body/network/kvan is_or_was_aggregated_by: - https://nde.nl/ontology/hc/portal/eu/archives-portal-europe @@ -420,7 +328,6 @@ classes: - en portal_status: ACTIVE participating_institutions: 80 - description: Archieven.nl - Dutch national archival portal - value: portal_id: https://nde.nl/ontology/hc/portal/eu/europeana portal_name: Europeana @@ -430,15 +337,8 @@ classes: European museums, galleries, libraries, and archives. It is the European Union''s digital platform for cultural heritage. ' - geographic_scope: - - EU - - EEA has_or_had_scope: - scope_description: Art and cultural heritage - subject_coverage: - - Libraries - - Archives - - Museums operated_by: https://nde.nl/ontology/hc/encompassing-body/network/europeana-foundation aggregates_or_aggregated_from: - https://nde.nl/ontology/hc/portal/de/ddb @@ -496,7 +396,6 @@ classes: has_or_had_url: https://pro.europeana.eu temporal_extent: begin_of_the_begin: '2014-01-01' - implements_auxiliary_platform: - auxiliary_id: https://nde.nl/ontology/hc/auxiliary/europeana-iiif auxiliary_name: Europeana IIIF APIs auxiliary_url: https://iiif.europeana.eu @@ -509,7 +408,6 @@ classes: auxiliary_type: REST_API temporal_extent: begin_of_the_begin: '2017-01-01' - description: Europeana - pan-European cultural heritage portal (comprehensive example with all relationship slots) - value: portal_id: https://nde.nl/ontology/hc/portal/de/archivportal-d portal_name: Archivportal-D @@ -519,8 +417,6 @@ classes: aggregating EAD descriptions from German archives and providing unified search and access. ' - geographic_scope: - - DE has_or_had_scope: - scope_description: Archival finding aids operated_by: https://nde.nl/ontology/hc/encompassing-body/network/archivportal-d-koordination @@ -534,7 +430,6 @@ classes: - de - en portal_status: ACTIVE - description: Archivportal-D - German national archival portal annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/WebPortalType.yaml b/schemas/20251121/linkml/modules/classes/WebPortalType.yaml index fbde8d3b5e..ad789191fd 100644 --- a/schemas/20251121/linkml/modules/classes/WebPortalType.yaml +++ b/schemas/20251121/linkml/modules/classes/WebPortalType.yaml @@ -64,22 +64,14 @@ classes: range: Example multivalued: true inlined: true - description: Example portals of this type. examples: - value: has_or_had_label: Europeana - description: Cross-domain aggregator - value: has_or_had_label: Archieven.nl - description: Archival portal has_or_had_scope: range: string inlined: true - description: 'The typical scope of this portal type (geographic, temporal, thematic). - - MIGRATED from typical_scope per slot_fixes.yaml (Rule 53, 2026-01-15). - - ' portal_type_id: identifier: true required: true diff --git a/schemas/20251121/linkml/modules/classes/WebPortalTypes.yaml b/schemas/20251121/linkml/modules/classes/WebPortalTypes.yaml index 6748b11d16..831301c550 100644 --- a/schemas/20251121/linkml/modules/classes/WebPortalTypes.yaml +++ b/schemas/20251121/linkml/modules/classes/WebPortalTypes.yaml @@ -76,7 +76,6 @@ classes: portal_type_category: equals_string: GEOGRAPHIC_SCOPE has_or_had_scope: - description: National scope coverage range: string portal_typical_domain: equals_string_in: @@ -116,7 +115,6 @@ classes: portal_type_category: equals_string: GEOGRAPHIC_SCOPE has_or_had_scope: - description: Regional scope coverage range: string comments: - Subnational/provincial heritage aggregation portal @@ -158,7 +156,6 @@ classes: equals_string_in: - archives has_or_had_standard: - description: Typical archival metadata standards range: MetadataStandard comments: - Archives-focused aggregation portal @@ -202,7 +199,6 @@ classes: equals_string_in: - libraries has_or_had_standard: - description: Typical library metadata standards range: MetadataStandard comments: - Library-focused aggregation portal / union catalog @@ -245,7 +241,6 @@ classes: equals_string_in: - museums has_or_had_standard: - description: Typical museum metadata standards range: MetadataStandard comments: - Museum-focused aggregation portal @@ -327,7 +322,6 @@ classes: equals_string_in: - archaeology has_or_had_standard: - description: Typical archaeological metadata standards range: MetadataStandard comments: - Archaeology-focused aggregation portal @@ -374,7 +368,6 @@ classes: - museums - cross-domain has_or_had_standard: - description: Typical cross-domain metadata standards range: MetadataStandard comments: - Cross-domain heritage aggregation portal (LAM integration) @@ -481,7 +474,6 @@ classes: equals_string: THEMATIC portal_typical_domain: equals_string_in: - - newspapers - periodicals - libraries comments: @@ -525,7 +517,6 @@ classes: - vocabularies - knowledge_graphs has_or_had_feature: - description: Linked data technical features (SPARQL, JSON-LD, RDF, REST API) range: TechnicalFeature comments: - Linked data and SPARQL endpoint portal @@ -566,11 +557,8 @@ classes: portal_typical_domain: equals_string_in: - images - - manuscripts - visual_heritage has_or_had_feature: - description: IIIF technical features (Presentation API, Image API, Deep zoom, - Annotation) range: TechnicalFeature comments: - IIIF image aggregation portal @@ -613,7 +601,6 @@ classes: - open_access - scholarly_communication has_or_had_feature: - description: OAI-PMH technical features (OAI-PMH, Dublin Core, Metadata harvesting) range: TechnicalFeature comments: - OAI-PMH metadata harvesting portal @@ -733,7 +720,6 @@ classes: - digital_libraries - libraries has_or_had_standard: - description: Typical digital library metadata standards range: MetadataStandard comments: - National/major digital library portal @@ -769,7 +755,6 @@ classes: portal_type_category: equals_string: RESEARCH_INFRASTRUCTURE has_or_had_scope: - description: European scope coverage range: string portal_typical_domain: equals_string_in: @@ -820,11 +805,8 @@ classes: - open_data - heritage_data has_or_had_standard: - description: Typical dataset registry metadata standards range: MetadataStandard slots: - - has_or_had_linked_data_endpoint - - has_or_had_open_access_endpoint - registers_or_registered - specificity_annotation - has_or_had_score diff --git a/schemas/20251121/linkml/modules/classes/WikiDataEntry.yaml b/schemas/20251121/linkml/modules/classes/WikiDataEntry.yaml index f30472059b..82210a6677 100644 --- a/schemas/20251121/linkml/modules/classes/WikiDataEntry.yaml +++ b/schemas/20251121/linkml/modules/classes/WikiDataEntry.yaml @@ -75,26 +75,16 @@ classes: slot_usage: has_or_had_identifier: # was: wikidata_qid - migrated 2026-01-16 per Rule 53 - description: | - The Wikidata Q-number identifier (e.g., Q12345). - For WikiDataEntry, this is the primary Q-ID reference. range: string required: true pattern: "^Q[0-9]+$" has_or_had_label: # was: wikidata_label - migrated 2026-01-16 per Rule 53 - description: | - Human-readable label from Wikidata. range: string required: false has_or_had_description: # was: wikidata_description - migrated 2026-01-16 per Rule 53 - description: | - Description from Wikidata. range: string required: false language: - description: | - Language code for the label and description. - Default: "en" range: string required: false pattern: "^[a-z]{2}(-[A-Z]{2})?$" @@ -112,10 +102,8 @@ classes: has_or_had_label: "museum" has_or_had_description: "institution that holds and displays collections" language: en - description: "Wikidata reference for 'museum' concept" - value: | has_or_had_identifier: "Q190804" has_or_had_label: "Rijksmuseum" has_or_had_description: "Dutch national museum in Amsterdam" - language: en - description: "Wikidata reference for specific institution" + language: en \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/WikidataAlignment.yaml b/schemas/20251121/linkml/modules/classes/WikidataAlignment.yaml index ce469a1a6a..2b3955e83d 100644 --- a/schemas/20251121/linkml/modules/classes/WikidataAlignment.yaml +++ b/schemas/20251121/linkml/modules/classes/WikidataAlignment.yaml @@ -30,60 +30,25 @@ classes: slot_usage: has_or_had_identifier: range: WikiDataIdentifier - description: 'The Wikidata entity identifier (Q-number) for this alignment. - - MIGRATED from wikidata_entity_id slot (2026-01-14) per Rule 53. - - - Uses WikiDataIdentifier class for structured identifier with optional label and URL. - - ' examples: - value: 'qid: Q27032435 - label: "academic archive" - - ' - description: Wikidata Q-number with optional label has_or_had_label: range: string - description: 'Human-readable label for the Wikidata entity. - - MIGRATED from wikidata_entity_label slot (2026-01-14) per Rule 53. - - - Uses Label class for structured label with language code. - - ' examples: - value: 'label_value: "academic archive" language_code: "en" ' - description: English label for the Wikidata entity has_or_had_rationale: range: string - description: 'Rationale for the mapping between local class and Wikidata entity. - - MIGRATED from wikidata_mapping_rationale slot (2026-01-14) per Rule 53. - - - Uses Rationale class for structured rationale text. - - ' examples: - value: 'rationale_text: "AcademicArchive is semantically equivalent to Q27032435" ' - description: Mapping rationale has_or_had_type: range: uriorcurie - description: 'The type of semantic mapping (exact, close, broad, narrow, related). - - Uses MappingType class hierarchy. - - ' annotations: specificity_score: 0.3 specificity_rationale: Universal utility for Wikidata alignment metadata diff --git a/schemas/20251121/linkml/modules/classes/WikidataEnrichment.yaml b/schemas/20251121/linkml/modules/classes/WikidataEnrichment.yaml index 123ef1c317..5cfaf05a26 100644 --- a/schemas/20251121/linkml/modules/classes/WikidataEnrichment.yaml +++ b/schemas/20251121/linkml/modules/classes/WikidataEnrichment.yaml @@ -36,7 +36,13 @@ imports: default_range: string classes: WikidataEnrichment: - description: "Full Wikidata enrichment data extracted from Wikidata SPARQL/API for a heritage custodian. This class represents derived data (prov:Entity) where Wikidata serves as the primary source. The enrichment captures labels, descriptions, identifiers, coordinates, temporal data, classification, and other structured claims from the Wikidata knowledge graph.\nOntology mapping rationale: - class_uri is prov:Entity because this represents enrichment DATA with provenance,\n not the heritage institution itself (which is modeled by Custodian class)\n- close_mappings includes prov:PrimarySource because Wikidata functions as a \n primary/authoritative source for linked open data\n- related_mappings includes prov:Derivation because the enrichment is derived from\n Wikidata through API queries" + description: "Full Wikidata enrichment data extracted from Wikidata SPARQL/API for a heritage custodian. This class represents\ + \ derived data (prov:Entity) where Wikidata serves as the primary source. The enrichment captures labels, descriptions,\ + \ identifiers, coordinates, temporal data, classification, and other structured claims from the Wikidata knowledge graph.\n\ + Ontology mapping rationale: - class_uri is prov:Entity because this represents enrichment DATA with provenance,\n not\ + \ the heritage institution itself (which is modeled by Custodian class)\n- close_mappings includes prov:PrimarySource\ + \ because Wikidata functions as a \n primary/authoritative source for linked open data\n- related_mappings includes\ + \ prov:Derivation because the enrichment is derived from\n Wikidata through API queries" class_uri: prov:Entity close_mappings: - prov:PrimarySource @@ -171,7 +177,8 @@ classes: description: Dissolution date (P576) wikidata_collection: range: string - description: Collection items (P195) - can be array of WikidataEntity objects, single WikidataCollectionInfo object, or other structures + description: Collection items (P195) - can be array of WikidataEntity objects, single WikidataCollectionInfo object, + or other structures inlined: true collection_items_count: any_of: @@ -242,7 +249,8 @@ classes: inlined: true _provenance: range: string - description: Provenance metadata for the Wikidata enrichment section, including content hash, PROV-O triples (wasGeneratedBy, wasDerivedFrom), and verification status. Uses flexible Any type to accommodate varying provenance structures. + description: Provenance metadata for the Wikidata enrichment section, including content hash, PROV-O triples (wasGeneratedBy, + wasDerivedFrom), and verification status. Uses flexible Any type to accommodate varying provenance structures. inlined: true enrichment_date: range: string @@ -256,9 +264,6 @@ classes: label: range: string description: Primary label (simplified alias for wikidata_label) - description: - range: string - description: Primary description (simplified alias for wikidata_description) enrichment_method: range: string description: Method used for enrichment (e.g., 'sparql_query', 'api_fetch') @@ -322,9 +327,10 @@ classes: description: Image URL from Wikidata (P18 property) parent_organization: range: string - description: Parent organization from Wikidata (P749 property) - can be string, WikidataEntity, or complex structure with identifiers + description: Parent organization from Wikidata (P749 property) - can be string, WikidataEntity, or complex structure + with identifiers inlined: true annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/WikidataEntity.yaml b/schemas/20251121/linkml/modules/classes/WikidataEntity.yaml index 1c9f26aace..81e113a1cc 100644 --- a/schemas/20251121/linkml/modules/classes/WikidataEntity.yaml +++ b/schemas/20251121/linkml/modules/classes/WikidataEntity.yaml @@ -14,7 +14,11 @@ imports: default_range: string classes: WikidataEntity: - description: "Reference to a Wikidata entity (Q-item), including Q-number identifier, multilingual labels (en/nl), descriptions, and instance_of classifications.\nOntology mapping rationale: - class_uri is wikibase:Item because this represents a Wikidata item\n (Q-number entity) in the Wikibase data model.\n- close_mappings includes schema:Thing as Wikidata items are general\n things with identifiers and labels.\n- related_mappings includes prov:Entity as Wikidata entities are\n provenance-trackable." + description: "Reference to a Wikidata entity (Q-item), including Q-number identifier, multilingual labels (en/nl), descriptions,\ + \ and instance_of classifications.\nOntology mapping rationale: - class_uri is wikibase:Item because this represents\ + \ a Wikidata item\n (Q-number entity) in the Wikibase data model.\n- close_mappings includes schema:Thing as Wikidata\ + \ items are general\n things with identifiers and labels.\n- related_mappings includes prov:Entity as Wikidata entities\ + \ are\n provenance-trackable." class_uri: wikibase:Item close_mappings: - schema:Thing @@ -31,9 +35,6 @@ classes: label: range: string description: English label - description: - range: string - description: English description (primary field name used in data) entity_description: range: string description: English description (alternative field name) @@ -57,4 +58,4 @@ classes: annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/WikidataTemporal.yaml b/schemas/20251121/linkml/modules/classes/WikidataTemporal.yaml index 9ad1a2a429..0203130bed 100644 --- a/schemas/20251121/linkml/modules/classes/WikidataTemporal.yaml +++ b/schemas/20251121/linkml/modules/classes/WikidataTemporal.yaml @@ -41,7 +41,6 @@ classes: temporal_extent: range: TimeSpan inlined: true - description: Activity time span (P580/P582). Replaces start_time/end_time. Use begin_of_the_begin for P580, end_of_the_end for P582. annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration diff --git a/schemas/20251121/linkml/modules/classes/WomensArchives.yaml b/schemas/20251121/linkml/modules/classes/WomensArchives.yaml index 966bd987ee..8aedf928db 100644 --- a/schemas/20251121/linkml/modules/classes/WomensArchives.yaml +++ b/schemas/20251121/linkml/modules/classes/WomensArchives.yaml @@ -34,7 +34,9 @@ imports: - ./WomensArchivesRecordSetTypes classes: WomensArchives: - description: Archives of documents and records written by and about women. Women's archives (Frauenarchive) specialize in collecting, preserving, and providing access to materials documenting women's history, feminist movements, women's organizations, and the experiences and contributions of women across all fields of endeavor. + description: Archives of documents and records written by and about women. Women's archives (Frauenarchive) specialize + in collecting, preserving, and providing access to materials documenting women's history, feminist movements, women's + organizations, and the experiences and contributions of women across all fields of endeavor. is_a: ArchiveOrganizationType class_uri: schema:ArchiveOrganization slots: @@ -57,17 +59,6 @@ classes: is_or_was_related_to: range: WikidataAlignment inlined: true - attributes: - collection_focus: - description: Specific aspects of women's history or experience documented - range: string - multivalued: true - geographic_focus: - description: Geographic scope of the collection - range: string - coverage_period: - description: Historical periods covered - range: string see_also: - LGBTArchive - CommunityArchive @@ -79,4 +70,4 @@ classes: custodian_type: true specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/WordCount.yaml b/schemas/20251121/linkml/modules/classes/WordCount.yaml index 0917001eef..83b3fbe0c4 100644 --- a/schemas/20251121/linkml/modules/classes/WordCount.yaml +++ b/schemas/20251121/linkml/modules/classes/WordCount.yaml @@ -30,11 +30,7 @@ classes: - has_or_had_quantity slot_usage: has_or_had_quantity: - description: Number of words attributes: - count_method: - range: string - description: Method used for counting (e.g., whitespace-separated) close_mappings: - schema:QuantitativeValue annotations: @@ -44,5 +40,4 @@ classes: examples: - value: has_or_had_quantity: - value: 15000 - description: Document with 15,000 words + value: 15000 \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/WorkExperience.yaml b/schemas/20251121/linkml/modules/classes/WorkExperience.yaml index cfdd9a0798..15a2fc0e4f 100644 --- a/schemas/20251121/linkml/modules/classes/WorkExperience.yaml +++ b/schemas/20251121/linkml/modules/classes/WorkExperience.yaml @@ -91,25 +91,13 @@ classes: is_or_was_position: range: string required: true - description: 'The position or role title held by an agent. - - MIGRATED from job_title (Rule 53, 2026-01-28). - - ' examples: - value: Staff Adviseur - description: Dutch job title - value: Senior Curator, Asian Art - description: Curatorial role with specialization is_or_was_employed_by: range: Employer inlined: true required: true - description: 'The employer organization. - - MIGRATED from employer_name/employer_linkedin_url per Rule 53 (2026-01-26). - - ' examples: - value: has_or_had_label: Rijksmuseum @@ -118,60 +106,30 @@ classes: has_or_had_type: LinkedInProfileURL is_or_was_related_to: has_or_had_label: Heritage Sector - description: Heritage employer with LinkedIn URL temporal_extent: range: TimeSpan inlined: true - description: 'Duration of employment. - - MIGRATED from employment_dates_raw, employment_start_date, employment_end_date per Rule 53 (2026-01-26). - - Use begin_of_the_begin for start date, end_of_the_end for end date. - - Use has_or_had_verbatim_value for raw date string. - - ' examples: - value: begin_of_the_begin: 2017-08 end_of_the_end: 2025-04 has_or_had_verbatim_value: Aug 2017 - Apr 2025 - description: Completed position with dates - value: begin_of_the_begin: 2025-04 has_or_had_verbatim_value: Apr 2025 - Present - description: Current position is_or_was_current: range: boolean ifabsent: 'false' - description: 'Indicates if the position is currently active. - - MIGRATED from is_current_position (Rule 53, 2026-01-28). - - ' examples: - value: true - description: Currently employed at this position has_or_had_location: range: string inlined: true - description: 'Location of the work experience. - - MIGRATED 2026-01-14: Replaces work_location slot. - - ' examples: - value: "Location:\n city: \"Utrecht\"\n country: \"Netherlands\"\n" - description: City and country - value: "Location:\n city: \"Amsterdam\"\n region: \"Noord-Holland\"\n country: \"Netherlands\"\n" - description: City, region, country has_or_had_description: range: string - description: 'Description of the role and responsibilities. - - MIGRATED from job_description (Rule 53, 2026-01-28). - - ' comments: - Inlined in LinkedInProfile.experience[] as multivalued list - Preserves raw LinkedIn date formats for provenance diff --git a/schemas/20251121/linkml/modules/classes/WorldCatIdentifier.yaml b/schemas/20251121/linkml/modules/classes/WorldCatIdentifier.yaml index ff8208333a..dc9a305676 100644 --- a/schemas/20251121/linkml/modules/classes/WorldCatIdentifier.yaml +++ b/schemas/20251121/linkml/modules/classes/WorldCatIdentifier.yaml @@ -29,7 +29,6 @@ classes: slot_usage: has_or_had_code: pattern: ^[0-9]+$ - description: OCLC control number close_mappings: - schema:identifier annotations: @@ -38,5 +37,4 @@ classes: custodian_types: "['*']" examples: - value: - has_or_had_code: '123456789' - description: WorldCat OCLC number + has_or_had_code: '123456789' \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/WorldHeritageSite.yaml b/schemas/20251121/linkml/modules/classes/WorldHeritageSite.yaml index 2cb24bd2fb..6c544a9e99 100644 --- a/schemas/20251121/linkml/modules/classes/WorldHeritageSite.yaml +++ b/schemas/20251121/linkml/modules/classes/WorldHeritageSite.yaml @@ -23,7 +23,10 @@ imports: - ./WikidataAlignment classes: WorldHeritageSite: - description: A place of cultural or natural significance listed by UNESCO as a World Heritage Site (UNESCO-Welterbe). In the heritage custodian context, this designates institutions managing sites that have been inscribed on the UNESCO World Heritage List for their outstanding universal value. World Heritage Sites may include cultural monuments, historic cities, natural landscapes, and mixed heritage properties. + description: A place of cultural or natural significance listed by UNESCO as a World Heritage Site (UNESCO-Welterbe). + In the heritage custodian context, this designates institutions managing sites that have been inscribed on the UNESCO + World Heritage List for their outstanding universal value. World Heritage Sites may include cultural monuments, historic + cities, natural landscapes, and mixed heritage properties. is_a: ArchiveOrganizationType class_uri: skos:Concept slots: @@ -49,23 +52,6 @@ classes: equals_string: patrimoine mondial custodian_only: equals_expression: 'true' - attributes: - inscription_year: - description: Year the site was inscribed on the World Heritage List - range: integer - heritage_criteria: - description: UNESCO criteria under which the site was inscribed (i-x) - range: string - multivalued: true - heritage_type: - description: Type of heritage (cultural, natural, or mixed) - range: string - state_party: - description: The UNESCO State Party responsible for the site - range: string - endangered_status: - description: Whether the site is on the List of World Heritage in Danger - range: boolean see_also: - TentativeWorldHeritageSite - NationalTreasure @@ -74,4 +60,4 @@ classes: annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/WritingSystem.yaml b/schemas/20251121/linkml/modules/classes/WritingSystem.yaml index f0898a4a98..171dcb43f6 100644 --- a/schemas/20251121/linkml/modules/classes/WritingSystem.yaml +++ b/schemas/20251121/linkml/modules/classes/WritingSystem.yaml @@ -32,19 +32,10 @@ classes: slot_usage: has_or_had_code: pattern: ^[A-Z][a-z]{3}$ - description: ISO 15924 4-letter script code examples: - value: Latn - description: Latin script - value: Cyrl - description: Cyrillic script attributes: - script_name: - range: string - description: Human-readable name of the script - writing_direction: - range: string - description: Writing direction (LTR, RTL, TTB) exact_mappings: - skos:Concept annotations: @@ -53,7 +44,4 @@ classes: custodian_types: "['*']" examples: - value: - has_or_had_code: Latn - script_name: Latin - writing_direction: LTR - description: Latin writing system + has_or_had_code: Latn \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/XPathScore.yaml b/schemas/20251121/linkml/modules/classes/XPathScore.yaml index 89baded70c..694924f6ad 100644 --- a/schemas/20251121/linkml/modules/classes/XPathScore.yaml +++ b/schemas/20251121/linkml/modules/classes/XPathScore.yaml @@ -32,11 +32,7 @@ classes: has_or_had_score: minimum_value: 0.0 maximum_value: 1.0 - description: Confidence score between 0.0 and 1.0 attributes: - match_type: - range: string - description: Type of match (EXACT, FUZZY, PARTIAL) close_mappings: - schema:Rating annotations: @@ -45,6 +41,4 @@ classes: custodian_types: "['*']" examples: - value: - has_or_had_score: 0.95 - match_type: EXACT - description: High-confidence exact match + has_or_had_score: 0.95 \ No newline at end of file diff --git a/schemas/20251121/linkml/modules/classes/YoutubeChannel.yaml b/schemas/20251121/linkml/modules/classes/YoutubeChannel.yaml index cccc62ff4d..1acec7ccc6 100644 --- a/schemas/20251121/linkml/modules/classes/YoutubeChannel.yaml +++ b/schemas/20251121/linkml/modules/classes/YoutubeChannel.yaml @@ -15,7 +15,11 @@ imports: default_range: string classes: YoutubeChannel: - description: "YouTube channel metadata including channel ID, title, description, subscriber/video/view counts, country code, and branding URLs.\nOntology mapping rationale: - class_uri is schema:BroadcastChannel because a YouTube channel is\n a broadcast channel for video content distribution.\n- close_mappings includes foaf:OnlineAccount as a channel represents\n an online account on YouTube.\n- related_mappings includes schema:Organization as channels often\n represent institutional presence, and prov:Entity for tracking." + description: "YouTube channel metadata including channel ID, title, description, subscriber/video/view counts, country\ + \ code, and branding URLs.\nOntology mapping rationale: - class_uri is schema:BroadcastChannel because a YouTube channel\ + \ is\n a broadcast channel for video content distribution.\n- close_mappings includes foaf:OnlineAccount as a channel\ + \ represents\n an online account on YouTube.\n- related_mappings includes schema:Organization as channels often\n \ + \ represent institutional presence, and prov:Entity for tracking." class_uri: schema:BroadcastChannel close_mappings: - foaf:OnlineAccount @@ -63,9 +67,6 @@ classes: country: range: string description: Country code associated with the channel (may differ from has_iso_3166_1_alpha_2_code in some API responses) - description: - range: string - description: Full channel description text channel_name: range: string description: Human-readable channel name (alias for title) @@ -78,4 +79,4 @@ classes: annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/YoutubeEnrichment.yaml b/schemas/20251121/linkml/modules/classes/YoutubeEnrichment.yaml index 70dde4fca8..0a0ecedf7a 100644 --- a/schemas/20251121/linkml/modules/classes/YoutubeEnrichment.yaml +++ b/schemas/20251121/linkml/modules/classes/YoutubeEnrichment.yaml @@ -19,7 +19,11 @@ imports: default_range: string classes: YoutubeEnrichment: - description: "YouTube channel and video data for a heritage institution, supporting both flat and nested data formats. Includes channel metadata, videos, social links, and LLM verification results.\nOntology mapping rationale: - class_uri is prov:Entity because YouTube enrichment data is a\n provenance-tracked entity derived from YouTube API.\n- close_mappings includes dcat:Dataset as the enrichment represents\n a dataset of YouTube information.\n- related_mappings includes schema:BroadcastChannel for the channel\n aspect and prov:Collection for the video collection." + description: "YouTube channel and video data for a heritage institution, supporting both flat and nested data formats.\ + \ Includes channel metadata, videos, social links, and LLM verification results.\nOntology mapping rationale: - class_uri\ + \ is prov:Entity because YouTube enrichment data is a\n provenance-tracked entity derived from YouTube API.\n- close_mappings\ + \ includes dcat:Dataset as the enrichment represents\n a dataset of YouTube information.\n- related_mappings includes\ + \ schema:BroadcastChannel for the channel\n aspect and prov:Collection for the video collection." class_uri: prov:Entity close_mappings: - dcat:Dataset @@ -138,9 +142,6 @@ classes: country: range: string description: Country of the YouTube channel (ISO 3166-1 alpha-2 code) - description: - range: string - description: Channel description (simplified alias) _provenance: range: string description: Provenance metadata for the YouTube enrichment section @@ -157,4 +158,4 @@ classes: annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/classes/YoutubeVideo.yaml b/schemas/20251121/linkml/modules/classes/YoutubeVideo.yaml index 627ae904d3..1ad3254d6a 100644 --- a/schemas/20251121/linkml/modules/classes/YoutubeVideo.yaml +++ b/schemas/20251121/linkml/modules/classes/YoutubeVideo.yaml @@ -21,7 +21,11 @@ imports: default_range: string classes: YoutubeVideo: - description: "Individual YouTube video metadata including video ID, title, description, view/like/comment counts, duration, thumbnail, tags, and associated comments and transcripts.\nOntology mapping rationale: - class_uri is schema:VideoObject because this represents a video\n as a media object on YouTube.\n- close_mappings includes schema:MediaObject as the broader media\n object category.\n- related_mappings includes prov:Entity for provenance tracking and\n schema:CreativeWork as videos are creative works." + description: "Individual YouTube video metadata including video ID, title, description, view/like/comment counts, duration,\ + \ thumbnail, tags, and associated comments and transcripts.\nOntology mapping rationale: - class_uri is schema:VideoObject\ + \ because this represents a video\n as a media object on YouTube.\n- close_mappings includes schema:MediaObject as\ + \ the broader media\n object category.\n- related_mappings includes prov:Entity for provenance tracking and\n schema:CreativeWork\ + \ as videos are creative works." class_uri: schema:VideoObject close_mappings: - schema:MediaObject @@ -121,9 +125,6 @@ classes: transcript: range: YoutubeTranscript description: Video transcript data - description: - range: string - description: Video description (legacy field name, prefer video_description) tags: range: string multivalued: true @@ -159,4 +160,4 @@ classes: annotations: specificity_score: 0.1 specificity_rationale: Generic utility class/slot created during migration - custodian_types: "['*']" + custodian_types: '[''*'']' diff --git a/schemas/20251121/linkml/modules/slots/changes_or_changed_through.yaml b/schemas/20251121/linkml/modules/slots/changes_or_changed_through.yaml new file mode 100644 index 0000000000..030acc0201 --- /dev/null +++ b/schemas/20251121/linkml/modules/slots/changes_or_changed_through.yaml @@ -0,0 +1,18 @@ +id: https://nde.nl/ontology/hc/slot/changes_or_changed_through +name: changes_or_changed_through_slot + +prefixes: + linkml: https://w3id.org/linkml/ + hc: https://nde.nl/ontology/hc/ + prov: http://www.w3.org/ns/prov# + +default_range: string + +slots: + changes_or_changed_through: + slot_uri: prov:wasInfluencedBy + description: | + Events or activities that caused a change in this entity. + Generic slot for linking entities to ChangeEvent or other Event classes. + range: ChangeEvent + multivalued: true diff --git a/schemas/20251121/linkml/modules/slots/has_or_had_affiliation.yaml b/schemas/20251121/linkml/modules/slots/has_or_had_affiliation.yaml index ea0c8ad211..9f260e2051 100644 --- a/schemas/20251121/linkml/modules/slots/has_or_had_affiliation.yaml +++ b/schemas/20251121/linkml/modules/slots/has_or_had_affiliation.yaml @@ -14,16 +14,8 @@ slots: slot_uri: org:memberOf description: | An organization or institution with which this entity has or had - an affiliation (e.g., employment, membership, partnership). - - W3C ORG: memberOf - "Indicates that a person or organization is - a member of an Organization." - - Use for recording institutional affiliations of people, agents, - or other organizational relationships. + an affiliation. range: uriorcurie multivalued: true exact_mappings: - schema:affiliation - close_mappings: - - org:hasMember diff --git a/schemas/20251121/linkml/modules/slots/is_or_was_retrieved_at.yaml b/schemas/20251121/linkml/modules/slots/is_or_was_retrieved_at.yaml index 3bfd5dffde..85737d9282 100644 --- a/schemas/20251121/linkml/modules/slots/is_or_was_retrieved_at.yaml +++ b/schemas/20251121/linkml/modules/slots/is_or_was_retrieved_at.yaml @@ -16,11 +16,6 @@ slots: The datetime when this data was retrieved or fetched from its source. PROV-O: atTime - "The time at which an InstantaneousEvent occurred." - - Use for recording when web content, API responses, or external data - was captured for provenance tracking. range: datetime exact_mappings: - schema:dateRetrieved - close_mappings: - - prov:generatedAtTime