Remove redundant sections from class descriptions

- Created cleanup_class_descriptions_v2.py script using text-based regex
- Removed 134 class files' redundant sections:
  - dual_class_pattern: 80 occurrences
  - ontological_alignment: 35 occurrences
  - ontology_alignment_upper: 33 occurrences
  - multilingual_labels: 26 occurrences
  - glamorcubes_category: 6 occurrences
  - example_structure: 6 occurrences
- Fixed ArchiveOrganizationType.yaml parse error after cleanup
- Added 49 new slot definition files
- All 395 class files validate as correct YAML
- Deployed to bronhouder.nl/linkml
This commit is contained in:
kempersc 2026-01-07 13:50:14 +01:00
parent dfa667c90f
commit d19822f958
170 changed files with 2258 additions and 1268 deletions

View file

@ -27,6 +27,9 @@ license: https://creativecommons.org/licenses/by-sa/4.0/
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
default_prefix: hc
imports:
- linkml:types
@ -567,6 +570,52 @@ imports:
# Rico:isOrWasHolderOf relationship slot (links custodians to record set types)
- modules/slots/holds_record_set_types
- modules/slots/rico_note
- modules/slots/rico_organizational_principle
- modules/slots/rico_organizational_principle_uri
- modules/slots/rico_has_or_had_holder
- modules/slots/rico_has_or_had_holder_note
- modules/slots/scope_includes
- modules/slots/scope_excludes
- modules/slots/archive_scope
- modules/slots/preservation_note
- modules/slots/privacy_note
- modules/slots/legal_note
- modules/slots/broader_type
- modules/slots/narrower_types
- modules/slots/custodian_type_broader
- modules/slots/organization_type
- modules/slots/organization_legal_form
- modules/slots/governance_authority
- modules/slots/area_served
- modules/slots/applicable_countries
- modules/slots/member_custodians
- modules/slots/membership_criteria
- modules/slots/community_engagement
- modules/slots/service_offerings
- modules/slots/record_types
- modules/slots/society_focus
- modules/slots/platform_type_id
- modules/slots/platform_type_category
- modules/slots/portal_type_category
- modules/slots/portal_typical_domains
- modules/slots/typical_scope
- modules/slots/social_media_platform_category
- modules/slots/social_media_url_patterns
- modules/slots/social_media_wikidata_id
- modules/slots/post_type_category
- modules/slots/post_type_ephemeral
- modules/slots/post_type_max_duration
- modules/slots/post_type_media_formats
- modules/slots/post_type_supported_platforms
- modules/slots/post_type_schema_org_type
- modules/slots/post_type_activity_streams_type
- modules/slots/role_category
- modules/slots/statement_type
- modules/slots/includes_timestamps
- modules/slots/segments
- modules/slots/wikidata_equivalent
- modules/slots/wikidata_mapping
comments:
- "HYPER-MODULAR STRUCTURE: Direct imports of all component files"

View file

@ -1,5 +1,5 @@
{
"generated": "2026-01-07T11:34:11.316Z",
"generated": "2026-01-07T12:48:56.045Z",
"version": "1.0.0",
"categories": [
{
@ -2449,6 +2449,11 @@
"path": "modules/slots/appellations.yaml",
"category": "slots"
},
{
"name": "applicable_countries",
"path": "modules/slots/applicable_countries.yaml",
"category": "slots"
},
{
"name": "approval_date",
"path": "modules/slots/approval_date.yaml",
@ -2464,11 +2469,21 @@
"path": "modules/slots/archive_department_of.yaml",
"category": "slots"
},
{
"name": "archive_scope",
"path": "modules/slots/archive_scope.yaml",
"category": "slots"
},
{
"name": "archived_at",
"path": "modules/slots/archived_at.yaml",
"category": "slots"
},
{
"name": "area_served",
"path": "modules/slots/area_served.yaml",
"category": "slots"
},
{
"name": "arrangement",
"path": "modules/slots/arrangement.yaml",
@ -2519,6 +2534,11 @@
"path": "modules/slots/birth_place.yaml",
"category": "slots"
},
{
"name": "broader_type",
"path": "modules/slots/broader_type.yaml",
"category": "slots"
},
{
"name": "canonical_value",
"path": "modules/slots/canonical_value.yaml",
@ -2619,6 +2639,11 @@
"path": "modules/slots/collections_under_responsibility.yaml",
"category": "slots"
},
{
"name": "community_engagement",
"path": "modules/slots/community_engagement.yaml",
"category": "slots"
},
{
"name": "confidence",
"path": "modules/slots/confidence.yaml",
@ -2719,6 +2744,11 @@
"path": "modules/slots/custodian_type.yaml",
"category": "slots"
},
{
"name": "custodian_type_broader",
"path": "modules/slots/custodian_type_broader.yaml",
"category": "slots"
},
{
"name": "custodians",
"path": "modules/slots/custodians.yaml",
@ -2774,6 +2804,11 @@
"path": "modules/slots/description.yaml",
"category": "slots"
},
{
"name": "description_sections",
"path": "modules/slots/description_sections.yaml",
"category": "slots"
},
{
"name": "digital_platform",
"path": "modules/slots/digital_platform.yaml",
@ -2984,6 +3019,11 @@
"path": "modules/slots/given_name.yaml",
"category": "slots"
},
{
"name": "governance_authority",
"path": "modules/slots/governance_authority.yaml",
"category": "slots"
},
{
"name": "governance_structure",
"path": "modules/slots/governance_structure.yaml",
@ -3099,6 +3139,11 @@
"path": "modules/slots/identifies_custodian.yaml",
"category": "slots"
},
{
"name": "includes_timestamps",
"path": "modules/slots/includes_timestamps.yaml",
"category": "slots"
},
{
"name": "initials",
"path": "modules/slots/initials.yaml",
@ -3174,6 +3219,11 @@
"path": "modules/slots/legal_name.yaml",
"category": "slots"
},
{
"name": "legal_note",
"path": "modules/slots/legal_note.yaml",
"category": "slots"
},
{
"name": "legal_responsibility_basis",
"path": "modules/slots/legal_responsibility_basis.yaml",
@ -3239,6 +3289,16 @@
"path": "modules/slots/martyred.yaml",
"category": "slots"
},
{
"name": "member_custodians",
"path": "modules/slots/member_custodians.yaml",
"category": "slots"
},
{
"name": "membership_criteria",
"path": "modules/slots/membership_criteria.yaml",
"category": "slots"
},
{
"name": "metadata_standards",
"path": "modules/slots/metadata_standards.yaml",
@ -3279,6 +3339,11 @@
"path": "modules/slots/name_validity_period.yaml",
"category": "slots"
},
{
"name": "narrower_types",
"path": "modules/slots/narrower_types.yaml",
"category": "slots"
},
{
"name": "notes",
"path": "modules/slots/notes.yaml",
@ -3339,6 +3404,16 @@
"path": "modules/slots/operates.yaml",
"category": "slots"
},
{
"name": "organization_legal_form",
"path": "modules/slots/organization_legal_form.yaml",
"category": "slots"
},
{
"name": "organization_type",
"path": "modules/slots/organization_type.yaml",
"category": "slots"
},
{
"name": "organizational_change_events",
"path": "modules/slots/organizational_change_events.yaml",
@ -3444,6 +3519,16 @@
"path": "modules/slots/platform_type.yaml",
"category": "slots"
},
{
"name": "platform_type_category",
"path": "modules/slots/platform_type_category.yaml",
"category": "slots"
},
{
"name": "platform_type_id",
"path": "modules/slots/platform_type_id.yaml",
"category": "slots"
},
{
"name": "policy_id",
"path": "modules/slots/policy_id.yaml",
@ -3459,6 +3544,51 @@
"path": "modules/slots/portal_data_sources.yaml",
"category": "slots"
},
{
"name": "portal_type_category",
"path": "modules/slots/portal_type_category.yaml",
"category": "slots"
},
{
"name": "portal_typical_domains",
"path": "modules/slots/portal_typical_domains.yaml",
"category": "slots"
},
{
"name": "post_type_activity_streams_type",
"path": "modules/slots/post_type_activity_streams_type.yaml",
"category": "slots"
},
{
"name": "post_type_category",
"path": "modules/slots/post_type_category.yaml",
"category": "slots"
},
{
"name": "post_type_ephemeral",
"path": "modules/slots/post_type_ephemeral.yaml",
"category": "slots"
},
{
"name": "post_type_max_duration",
"path": "modules/slots/post_type_max_duration.yaml",
"category": "slots"
},
{
"name": "post_type_media_formats",
"path": "modules/slots/post_type_media_formats.yaml",
"category": "slots"
},
{
"name": "post_type_schema_org_type",
"path": "modules/slots/post_type_schema_org_type.yaml",
"category": "slots"
},
{
"name": "post_type_supported_platforms",
"path": "modules/slots/post_type_supported_platforms.yaml",
"category": "slots"
},
{
"name": "postal_code",
"path": "modules/slots/postal_code.yaml",
@ -3479,6 +3609,11 @@
"path": "modules/slots/preservation_level.yaml",
"category": "slots"
},
{
"name": "preservation_note",
"path": "modules/slots/preservation_note.yaml",
"category": "slots"
},
{
"name": "price",
"path": "modules/slots/price.yaml",
@ -3494,6 +3629,11 @@
"path": "modules/slots/primary_register.yaml",
"category": "slots"
},
{
"name": "privacy_note",
"path": "modules/slots/privacy_note.yaml",
"category": "slots"
},
{
"name": "pronouns",
"path": "modules/slots/pronouns.yaml",
@ -3539,6 +3679,11 @@
"path": "modules/slots/record_type.yaml",
"category": "slots"
},
{
"name": "record_types",
"path": "modules/slots/record_types.yaml",
"category": "slots"
},
{
"name": "refers_to_custodian",
"path": "modules/slots/refers_to_custodian.yaml",
@ -3609,11 +3754,41 @@
"path": "modules/slots/rico_equivalent.yaml",
"category": "slots"
},
{
"name": "rico_has_or_had_holder",
"path": "modules/slots/rico_has_or_had_holder.yaml",
"category": "slots"
},
{
"name": "rico_has_or_had_holder_note",
"path": "modules/slots/rico_has_or_had_holder_note.yaml",
"category": "slots"
},
{
"name": "rico_note",
"path": "modules/slots/rico_note.yaml",
"category": "slots"
},
{
"name": "rico_organizational_principle",
"path": "modules/slots/rico_organizational_principle.yaml",
"category": "slots"
},
{
"name": "rico_organizational_principle_uri",
"path": "modules/slots/rico_organizational_principle_uri.yaml",
"category": "slots"
},
{
"name": "rico_record_set_type",
"path": "modules/slots/rico_record_set_type.yaml",
"category": "slots"
},
{
"name": "role_category",
"path": "modules/slots/role_category.yaml",
"category": "slots"
},
{
"name": "role_end_date",
"path": "modules/slots/role_end_date.yaml",
@ -3639,11 +3814,26 @@
"path": "modules/slots/safeguards.yaml",
"category": "slots"
},
{
"name": "scope_excludes",
"path": "modules/slots/scope_excludes.yaml",
"category": "slots"
},
{
"name": "scope_includes",
"path": "modules/slots/scope_includes.yaml",
"category": "slots"
},
{
"name": "security_level",
"path": "modules/slots/security_level.yaml",
"category": "slots"
},
{
"name": "segments",
"path": "modules/slots/segments.yaml",
"category": "slots"
},
{
"name": "served_by",
"path": "modules/slots/served_by.yaml",
@ -3659,11 +3849,36 @@
"path": "modules/slots/service_area.yaml",
"category": "slots"
},
{
"name": "service_offerings",
"path": "modules/slots/service_offerings.yaml",
"category": "slots"
},
{
"name": "settlement",
"path": "modules/slots/settlement.yaml",
"category": "slots"
},
{
"name": "social_media_platform_category",
"path": "modules/slots/social_media_platform_category.yaml",
"category": "slots"
},
{
"name": "social_media_url_patterns",
"path": "modules/slots/social_media_url_patterns.yaml",
"category": "slots"
},
{
"name": "social_media_wikidata_id",
"path": "modules/slots/social_media_wikidata_id.yaml",
"category": "slots"
},
{
"name": "society_focus",
"path": "modules/slots/society_focus.yaml",
"category": "slots"
},
{
"name": "source",
"path": "modules/slots/source.yaml",
@ -3734,6 +3949,11 @@
"path": "modules/slots/started_at_time.yaml",
"category": "slots"
},
{
"name": "statement_type",
"path": "modules/slots/statement_type.yaml",
"category": "slots"
},
{
"name": "status",
"path": "modules/slots/status.yaml",
@ -3824,6 +4044,11 @@
"path": "modules/slots/typical_metadata_standards.yaml",
"category": "slots"
},
{
"name": "typical_scope",
"path": "modules/slots/typical_scope.yaml",
"category": "slots"
},
{
"name": "typical_technical_features",
"path": "modules/slots/typical_technical_features.yaml",
@ -3904,11 +4129,21 @@
"path": "modules/slots/wikidata_entity.yaml",
"category": "slots"
},
{
"name": "wikidata_equivalent",
"path": "modules/slots/wikidata_equivalent.yaml",
"category": "slots"
},
{
"name": "wikidata_id",
"path": "modules/slots/wikidata_id.yaml",
"category": "slots"
},
{
"name": "wikidata_mapping",
"path": "modules/slots/wikidata_mapping.yaml",
"category": "slots"
},
{
"name": "xpath",
"path": "modules/slots/xpath.yaml",

View file

@ -34,8 +34,6 @@ classes:
- WHEN access is available (opening hours, embargo periods)
- WHAT restrictions apply (fragile materials, privacy, cultural sensitivity)
**ONTOLOGY ALIGNMENT**:
1. **PREMIS**:
- `premis:RightsDeclaration` - "An assertion of one or more rights or
permissions pertaining to an object and/or its content."

View file

@ -12,65 +12,13 @@ classes:
ArchiveOrganizationType:
is_a: CustodianType
class_uri: skos:Concept
description: "Specialized custodian type for archive organizations - institutions\
\ that \npreserve and provide access to historical documents, records, and other\
\ \narchival materials.\n\n**Wikidata Base Concept**: Q166118 (archive)\n\n\
**Primary GLAMORCUBESFIXPHDNT Category**: ARCHIVE (A)\n\n**Scope**:\nArchives\
\ are distinguished from libraries and museums by their focus on:\n- Original\
\ records created/received during organizational or personal activities\n- Provenance-based\
\ organization (fonds, series, items)\n- Unique materials (not published or\
\ mass-produced items)\n- Evidential value (legal, administrative, historical\
\ documentation)\n\n**Key Archive Subtypes** (144+ extracted from Wikidata):\n\
\n**By Scope**:\n- National archives (Q1188452) - Central government records\n\
- State/provincial archives (Q65048781) - Regional government records\n- Municipal\
\ archives (Q8362876) - City/town records\n- District archives (Q10296259) -\
\ Local administrative records\n\n**By Content Type**:\n- Business archives\
\ (Q10605195) - Corporate records\n- Media archives (Q116809817) - Broadcasting,\
\ journalism materials\n- Television archives (Q109326243) - TV programs and\
\ recordings\n- Radio archives (Q109326271) - Radio broadcasts and recordings\n\
- Iconographic archives (Q117810712) - Predominantly pictorial materials\n-\
\ Film archives (Q212805) - Motion picture preservation\n- Sound archives (Q7564274)\
\ - Audio recordings\n\n**By Organization Type**:\n- University archives (Q1046088)\
\ - Academic institution records\n- Church archives (Q4160684) - Religious organization\
\ records\n- Hospital archives - Medical institution records\n- Military archives\
\ (Q847400) - Armed forces records\n- Company archives (Q10605195) - Business\
\ fonds\n\n**By Collection Method**:\n- Collecting archives (Q117246276) - Materials\
\ from multiple sources\n- Institutional archives - Records from single organization\n\
- Joint archives (Q117442301) - Records of two or more entities\n\n**By Access\
\ Level**:\n- Open archives - Publicly accessible\n- Dark archives (Q112796578)\
\ - Preserved but no current access\n- Dim archives (Q112796779) - Limited access\
\ only\n- Light archives (Q112815447) - Broadly accessible\n\n**Specialized\
\ Types**:\n- Institutional repositories (Q1065413) - Digital academic publications\n\
- Mailing list archives (Q104018626) - Email discussion archives\n- Security\
\ archives (Q101475797) - Sensitive government records (Czechia)\n- Specialized\
\ archives (Q101470010) - Thematic archives (Czechia)\n\n**Ontological Alignment**:\n\
- **SKOS**: skos:Concept + skos:broader Q166118 (archive)\n- **CIDOC-CRM**:\
\ crm:E55_Type (type classification)\n- **RiC-O**: rico:RecordResource (archival\
\ description standard)\n- **Schema.org**: schema:ArchiveOrganization\n\n**Geographic\
\ Variations**:\nSome archive types are country-specific:\n- Security archives\
\ (Q101475797) - Czechia only\n- Specialized archives (Q101470010) - Czechia\
\ only\n- District archives (Q10296259) - Portugal primarily\n\n**RDF Serialization\
\ Example**:\n```turtle\n:Custodian_NationaalArchief\n org:classification\
\ :ArchiveType_NationalArchive_Q1188452 .\n\n:ArchiveType_NationalArchive_Q1188452\n\
\ a glamtype:ArchiveOrganizationType, crm:E55_Type, skos:Concept ;\n skos:prefLabel\
\ \"National Archive\"@en, \"nationaal archief\"@nl ;\n skos:broader :ArchiveType_Archive_Q166118\
\ ;\n skos:narrower :ArchiveType_StateArchive_Q65048781 ;\n schema:additionalType\
\ <http://www.wikidata.org/entity/Q1188452> ;\n glamtype:glamorcubesfixphdnt_code\
\ \"ARCHIVE\" ;\n glamtype:archive_scope \"national\" ;\n glamtype:record_types\
\ [\"government records\", \"legal documents\"] ;\n glamtype:preservation_standards\
\ [\"OAIS\", \"PREMIS\", \"EAD3\"] .\n```\n\n**Domain-Specific Properties**:\n\
This class adds archive-specific metadata beyond base CustodianType:\n- `archive_scope`\
\ - Geographic/administrative scope (national, regional, local, etc.)\n- `record_types`\
\ - Types of records preserved (government, corporate, personal, etc.)\n- `preservation_standards`\
\ - Standards used (OAIS, PREMIS, EAD, METS, etc.)\n- `finding_aids_format`\
\ - Finding aid formats (EAD3, ISAD(G), DACS, etc.)\n- `access_policy` - Access\
\ restrictions (open, restricted, mixed)\n- `appraisal_policy` - Selection/retention\
\ policy URL\n\n**Integration with RiC-O**:\nArchive organizations should also\
\ reference RiC-O (Records in Contexts Ontology)\nfor detailed archival description:\n\
- rico:RecordResource - Base class for archival materials\n- rico:RecordSet\
\ - Aggregations of records (fonds, series, files)\n- rico:CorporateBody - Archive\
\ as organizational entity\n\n**Data Population**:\nArchive subtypes extracted\
\ from 144 Wikidata entities with type='A' \nin `data/wikidata/GLAMORCUBEPSXHFN/hyponyms_curated_full.yaml`.\n"
description: >-
Specialized custodian type for archive organizations - institutions that
preserve and provide access to historical documents, records, and other
archival materials.
**Wikidata Base Concept**: Q166118 (archive)
slots:
- access_policy
- appraisal_policy

View file

@ -143,8 +143,6 @@ classes:
└─────────────────────────────────────────────────────────────────────┘
```
**ONTOLOGY ALIGNMENT**:
- **RiC-O**: rico:Record for archival record concept
- **PROV-O**: prov:Entity with generation provenance
- **LKIF-Core**: lkif-legal:Legal_Document for legal document classification

View file

@ -58,6 +58,7 @@ classes:
- TradeUnionArchive (Q66604802) - Labor organization archives
- Vereinsarchiv (Q130758889) - German club/society archives
- HeritageSocietyType - Parent organization type (whose records are archived)
slots:
- parent_society

View file

@ -75,8 +75,6 @@ classes:
Budget transparency is often legally required for nonprofits (Form 990, ANBI status).
**ONTOLOGY ALIGNMENT**:
- **FRAPO** (Funding, Research Administration and Projects Ontology):
- frapo:FundingProgramme for budget allocation
- frapo:hasFunding for monetary amounts

View file

@ -67,8 +67,6 @@ classes:
| Top-level container | Nested within CustodianCollection |
| crm:E78_Curated_Holding | rico:RecordSet |
**ONTOLOGY ALIGNMENT**:
1. **RiC-O (Records in Contexts)**:
- `rico:RecordSet` - "A record set is a group of record(s), made and/or assembled
by one or more agent(s), characterized by a common provenance and/or by being

View file

@ -25,8 +25,6 @@ classes:
- Library collection types (special collection, personal papers)
- Museum collection types (named collection, bequest)
**ONTOLOGY ALIGNMENT**:
1. **RiC-O (Records in Contexts)**:
- `rico:RecordSetType` - "A record set type categorizes record sets according
to the way they were created, assembled, or used."

View file

@ -49,8 +49,6 @@ classes:
- ✅ Coca-Cola World of Coke (brand heritage center)
- ✅ Royal Delft factory museum (commercial pottery heritage)
**Ontology Alignment**:
1. **Structural Layer** (W3C Standards):
- skos:Concept - Thesaurus classification
- Classification within CustodianType hierarchy

View file

@ -96,6 +96,7 @@ classes:
- International Council on Archives Section for Business Archives
- Vereinigung deutscher Wirtschaftsarchivare (VdW)
- Business Archives Council (UK)
slots:
- parent_corporation
- archive_department_of

View file

@ -40,28 +40,6 @@ classes:
`{linkedin-slug}_connections_{ISO-timestamp}.json`
Example: `giovannafossati_connections_20251209T220000Z.json`
**Example JSON Structure**:
```json
{
"source_metadata": {
"source_url": "https://www.linkedin.com/search/results/people/...",
"scraped_timestamp": "2025-12-09T22:00:00Z",
"scrape_method": "manual_linkedin_browse",
"target_profile": "giovannafossati",
"target_name": "Giovanna Fossati",
"connections_extracted": 776
},
"connections": [
{ "connection_id": "...", "name": "...", ... }
],
"network_analysis": {
"total_connections_extracted": 776,
"heritage_relevant_count": 456,
"heritage_relevant_percentage": 58.8
}
}
```
exact_mappings:
- schema:ItemList
close_mappings:

View file

@ -43,8 +43,6 @@ classes:
| **Physical state/treatment** | **ConservationRecord** | **Condition and conservation** |
| Loan documentation | Loan | Custody for loans |
**Ontology Alignment**:
- **CIDOC-CRM**: crm:E14_Condition_Assessment (for assessments)
"The activity of assessing the condition of an object."
- **CIDOC-CRM**: crm:E11_Modification (for treatments)

View file

@ -55,4 +55,6 @@ classes:
- NotarialArchive (Q8203685) - Notarial records
- MunicipalArchive (Q604177) - Local government records
- Personenstandsarchiv (Q2072394) - German civil registration
- pt-BR: Cartório de Registro
slot_usage:

View file

@ -63,6 +63,8 @@ classes:
- Lancashire Archives
- West Yorkshire Archive Service
- Surrey History Centre
- en-GB: County Record Office
- it: archivio pubblico territoriale
slots:
- custodian_types
- custodian_types_rationale

View file

@ -53,12 +53,6 @@ classes:
- GLAM (Q1030034) - acronym for galleries, libraries, archives, museums
- MemoryInstitution (Q1497649) - institutions preserving cultural memory
- HeritageOrganization - schema.org type for heritage orgs
**ONTOLOGICAL ALIGNMENT**:
- **SKOS**: skos:Concept (type classification)
- **CIDOC-CRM**: crm:E74_Group (group of people)
- **Schema.org**: schema:Organization subtype
- **Wikidata**: Q3152824
slots:
- cultural_focus_areas
- custodian_types

View file

@ -142,6 +142,13 @@ classes:
- **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

View file

@ -82,10 +82,6 @@ classes:
- CustodianPlace: "the mansion in the Schilderswijk, Den Haag"
- GeoSpatialPlace: lat 52.0705, lon 4.2894, WKT: POINT(4.2894 52.0705)
**Ontology alignment**:
- crm:E53_Place (CIDOC-CRM place entity)
- schema:Place (Schema.org place)
**Generated by ReconstructionActivity**:
CustodianPlace is ONE OF THREE possible outputs from ReconstructionActivity:
1. CustodianLegalStatus - Formal legal entity

View file

@ -84,11 +84,6 @@ classes:
- ArchivesRegionales (Q2860567) - regional archives (France)
- PublicArchivesInFrance (Q2421452) - public archives in France
- MunicipalArchive (Q604177) - communal archives
**ONTOLOGICAL ALIGNMENT**:
- **SKOS**: skos:Concept (type classification)
- **RiC-O**: rico:CorporateBody for organizational entity
- **Wikidata**: Q2860456
slot_usage:
wikidata_entity:
equals_string: Q2860456

View file

@ -97,13 +97,6 @@ classes:
- WebArchive (Q30047053) - specifically for web content
- InstitutionalRepository (Q1065413) - academic digital publications
- DigitalPlatformType - platform classification for infrastructure
**ONTOLOGICAL ALIGNMENT**:
- **SKOS**: skos:Concept (type classification)
- **RiC-O**: rico:RecordSet for digital collections
- **PREMIS**: Integration for preservation metadata
- **Wikidata**: Q1224984
- **Schema.org**: schema:ArchiveOrganization + schema:DigitalDocument
slot_usage:
wikidata_entity:
equals_string: Q1224984

View file

@ -86,8 +86,6 @@ classes:
- Platform features and technical capabilities
- Access points for digital heritage
**Ontology Alignment**:
- Schema.org: schema:WebSite (primary), schema:WebApplication
- DCAT: dcat:Catalog (for aggregation platforms), dcat:DataService (for APIs)
- FOAF: foaf:homepage, foaf:Document

View file

@ -104,12 +104,6 @@ classes:
- LightArchive (Q112815447) - broadly accessible
- DarkArchive (Q112796578) - no current access
- AccessPolicy - policy class for restriction documentation
**ONTOLOGICAL ALIGNMENT**:
- **SKOS**: skos:Concept (type classification)
- **PREMIS**: premis:RightsDeclaration for access rights
- **RiC-O**: rico:RecordSet with access restrictions
- **Wikidata**: Q112796779
slot_usage:
wikidata_entity:
equals_string: Q112796779

View file

@ -87,11 +87,6 @@ classes:
- Matrimonial records may require dispensation
- Some materials subject to canon law access rules
- Research may require bishop's permission
**ONTOLOGICAL ALIGNMENT**:
- **SKOS**: skos:Concept (type classification)
- **RiC-O**: rico:CorporateBody for ecclesiastical organization
- **Wikidata**: Q11906839
slot_usage:
wikidata_entity:
equals_string: Q11906839

View file

@ -32,15 +32,6 @@ classes:
- CV/resume academic history
- Heritage education background tracking (museology, archival science, etc.)
**Example JSON Structure**:
```json
{
"school": "Stenden",
"degree": "Bachelor of Education - BEd, Elementary Education and Teaching",
"years": "2013 - 2017"
}
```
**Heritage Relevance**:
- Track heritage-related degrees (museology, archival science, art history)
- Identify heritage education pathways

View file

@ -704,8 +704,10 @@ classes:
- **Regional archive networks**:
- Shared conservation labs, digitization services
- Temporary service agreements between institutions
- Schema.org: `schema:Organization` (general organization type)
- W3C ORG: `org:Organization` (parent class)
- TOOI: `tooi:Samenwerkingsorganisatie` (Dutch collaborative organizations)
**Temporal Dynamics**:
Network memberships fluctuate - custodians join/leave based on service needs.
Networks themselves may dissolve if service model becomes obsolete or funding ends.

View file

@ -58,8 +58,6 @@ classes:
- Natural history specimens, scientific instruments
- Digital artworks, installations
**Ontology Alignment**:
- **CIDOC-CRM**: crm:E22_Human-Made_Object (primary - cultural heritage standard)
"Physical objects purposefully created by human activity."
- **Schema.org**: schema:VisualArtwork (web discoverability for visual art)

View file

@ -54,8 +54,6 @@ classes:
- Gallery shows (solo, group, retrospectives)
- Virtual/online exhibitions
**Ontology Alignment**:
- **Schema.org**: schema:ExhibitionEvent (primary - web discoverability)
"Event type: Exhibition event, e.g. at a museum, library, archive, tradeshow, ..."
- **CIDOC-CRM**: crm:E7_Activity (deliberate actions by actors)

View file

@ -49,8 +49,6 @@ classes:
Specialized custodian type for organizations managing physical heritage features
(monuments, landmarks, memorials, historic sites, landscape features).
**Ontology Alignment**:
1. **Structural Layer** (W3C Standards):
- skos:Concept - Thesaurus classification
- Classification within CustodianType hierarchy

View file

@ -76,10 +76,6 @@ classes:
- Categorize landscape features (park, cemetery, garden)
- Specify infrastructure types (bridge, canal, fortification)
**Ontology alignment**:
- crm:E27_Site (CIDOC-CRM physical site/feature)
- schema:LandmarksOrHistoricalBuildings (Schema.org heritage buildings)
**Institution Type**: Corresponds to 'F' (FEATURES) in GLAMORCUBESFIXPHDNT taxonomy
**Generated by ReconstructionActivity**:

View file

@ -117,8 +117,6 @@ classes:
- **Budget.documented_by**: Inverse relationship (Budget → FinancialStatement)
**ONTOLOGY ALIGNMENT**:
- **Schema.org**: schema:Report for report documents
- **RiC-O**: rico:RecordResource for archival records
- **PROV-O**: prov:Entity with generation provenance

View file

@ -149,8 +149,6 @@ classes:
- Provenance tracking for web-harvested data
- Page structure with web claims and XPath provenance
**ONTOLOGY ALIGNMENT**:
- RiC-O: rico:FindingAid
- Dublin Core: dcterms:BibliographicResource
- Schema.org: schema:CreativeWork

View file

@ -30,8 +30,6 @@ classes:
control over records by describing them and facilitating access. Finding aids
range from simple lists to elaborate guides with narrative descriptions.
**ONTOLOGY ALIGNMENT**:
1. **RiC-O (Records in Contexts)**:
- `rico:FindingAid` - "A finding aid is a set of descriptions that
identifies, locates, summarizes, and indexes materials in a

View file

@ -614,8 +614,6 @@ classes:
- Creative Europe: "Strands" (3)
- National strategies: "Priority areas", "Themes", "Pillars"
**ONTOLOGY ALIGNMENT**:
- **SKOS**: `skos:Concept` - Thematic routes are concepts in a scheme
- Can be organised hierarchically (broader/narrower themes)
- Can be linked across agendas (similar themes in different frameworks)

View file

@ -53,4 +53,5 @@ classes:
- Landsarkiv - Regional state archives (under Arkivverket)
- RegionalArchive (Q27032392) - Generic regional archives
- CountyArchive - Generic county-level archives
slot_usage:

View file

@ -17,8 +17,6 @@ classes:
**Wikidata Base Concept**: Q1007870 (art gallery)
**Primary GLAMORCUBESFIXPHDNT Category**: GALLERY (G)
**Scope**:
Galleries are distinguished by their focus on:
- Exhibition-oriented (not collection-based like museums)
@ -97,7 +95,6 @@ classes:
- Art institutions (Q20897549) - Organizations dedicated to art
- Cultural institutions (Q3152824) - Preservation/promotion of culture
**Commercial vs. Non-Commercial Distinction**:
**Commercial Galleries**:

View file

@ -280,13 +280,6 @@ classes:
- RELOCATION: New GeoSpatialPlace, old one gets valid_to_geo
- MERGER: Multiple locations → single primary + auxiliary locations
- SPLIT: One location → multiple successor locations
**Ontology Alignment**:
- GeoSPARQL: geosparql:Feature (primary)
- W3C Basic Geo: geo:SpatialThing
- TOOI: tooi:BestuurlijkeRuimte pattern
- Schema.org: schema:Place, schema:GeoCoordinates
- PROV-O: prov:Entity (for temporal tracking)
exact_mappings:
- geosparql:Feature
close_mappings:

View file

@ -27,17 +27,6 @@ classes:
- Staff affiliation analysis
- Heritage professional network mapping
**Example JSON Structure**:
```json
{
"heritage_relevance": {
"is_heritage_relevant": true,
"heritage_types": ["E"],
"rationale": "Education sector professional at government education inspectorate"
}
}
```
**Scoring Guidelines** (per AGENTS.md Rule 30):
- 0.90-0.95: Senior heritage role, clear title, named institution
- 0.75-0.85: Mid-level role, good institutional context

View file

@ -48,8 +48,6 @@ classes:
- YES → HolySacredSiteType
- NO → MuseumType (with religious theme)
**Ontology Alignment**:
1. **Structural Layer** (W3C Standards):
- skos:Concept - Thesaurus classification
- Classification within CustodianType hierarchy

View file

@ -45,8 +45,6 @@ classes:
- Seasonal celebrations (Sint Maarten, Vreugdevuur Scheveningen)
- Community rituals (Aflegrituals, Cramignon dances)
**Ontology Alignment**:
- **Schema.org**: schema:Event (primary - web discoverability)
- **CIDOC-CRM**: crm:E7_Activity (temporal period of activity)
- **CIDOC-CRM**: crm:E5_Event (historical event conceptualization)

View file

@ -56,8 +56,6 @@ classes:
| Specific performance | IntangibleHeritagePerformance | "Gamelan performance at X" |
| Organization that preserves | Custodian (type I) | "Stichting Amsterdam Gay Pride" |
**Ontology Alignment**:
- **CIDOC-CRM**: crm:E28_Conceptual_Object (intangible concept)
- **CIDOC-CRM**: crm:E55_Type (as categorization of heritage)
- **Schema.org**: schema:Intangible (web semantics)

View file

@ -28,8 +28,6 @@ classes:
Specialized custodian type for organizations preserving intangible cultural heritage
(oral traditions, performing arts, social practices, rituals, traditional craftsmanship).
**Ontology Alignment**:
1. **Structural Layer** (W3C Standards):
- skos:Concept - Thesaurus classification
- Classification within CustodianType hierarchy

View file

@ -43,8 +43,6 @@ classes:
- Oral tradition performances (storytelling, epic recitation)
- Craft demonstrations (live weaving, pottery making)
**Ontology Alignment**:
- **Schema.org**: schema:PerformanceRole (primary)
- **CIDOC-CRM**: crm:E7_Activity (performance as activity)
- **CIDOC-CRM**: crm:E66_Formation (for ensemble performance)

View file

@ -63,4 +63,5 @@ classes:
- AcademicArchive - Academic institution archives
- MuseumArchive - Museums with archival functions
- GalleryType - Exhibition-focused institutions
slot_usage:

View file

@ -58,4 +58,10 @@ classes:
- RegionalArchive (Q27032392) - Generic regional archives
- NationalArchives - National level archives
- RegionalStateArchives - State archives with regional scope
**Multilingual Labels**:
- da/sv: Landsarkiv
- de: Landesarchiv (Skandinavien)
- en: Regional Archive (Scandinavia)
slot_usage:

View file

@ -18,8 +18,6 @@ classes:
**Wikidata Base Concept**: Q7075 (library)
**Primary GLAMORCUBESFIXPHDNT Category**: LIBRARY (L)
**Scope**:
Libraries are distinguished by their focus on:
- Published materials (books, journals, digital resources)
@ -77,7 +75,6 @@ classes:
cultural center, and community functions
- Memory institutions (Q1497649) - Libraries as heritage custodians
**RDF Serialization Example**:
```turtle
:Custodian_KoninklijkeBibliotheek

View file

@ -47,40 +47,6 @@ classes:
PersonObservation.linkedin_profile_path references this file
```
**Example JSON Structure**:
```json
{
"extraction_metadata": {
"source_file": "...",
"staff_id": "org_staff_0001_name",
"extraction_date": "2025-12-12T22:00:00Z",
"extraction_method": "exa_crawling_exa",
"extraction_agent": "claude-opus-4.5",
"linkedin_url": "https://www.linkedin.com/in/...",
"cost_usd": 0.001
},
"profile_data": {
"name": "Sander Hulleman",
"headline": "Stafadviseur PO",
"location": "Arnhem, Gelderland, Netherlands",
"connections": "246 connections • 248 followers",
"about": "Third year student...",
"experience": [...],
"education": [...],
"skills": ["education"],
"languages": ["English - Native or bilingual"],
"profile_image_url": "https://media.licdn.com/..."
},
"heritage_relevance": {
"is_heritage_relevant": true,
"heritage_types": ["E"],
"rationale": "Education sector professional..."
},
"source_organization": "the-dutch-inspectorate-of-education",
"whatsapp_enrichment": {...}
}
```
exact_mappings:
- schema:ProfilePage
close_mappings:

View file

@ -41,8 +41,6 @@ classes:
- **Long-term Loan**: Extended loan (typically 1+ years) for permanent display
- **Institutional Transfer**: Inter-departmental or inter-branch transfer
**Ontology Alignment**:
- **CIDOC-CRM**: crm:E10_Transfer_of_Custody (primary)
"The handing over of physical custody of an object from one party to another."
- **Schema.org**: schema:BorrowAction / schema:LendAction (borrower/lender actions)

View file

@ -57,4 +57,5 @@ classes:
- AudiovisualArchive (Q27030766) - Broader AV preservation
- MediaArchive - Generic media archives
- EducationProvider - Educational institutions
slot_usage:

View file

@ -65,8 +65,6 @@ classes:
- ❌ University with museum + library in separate buildings → Two separate institutions
- ❌ Institution changing type over time → Use single type per time period
**Ontology Alignment**:
1. **Structural Layer** (W3C Standards):
- skos:Concept - Thesaurus classification
- Multivalued classification within CustodianType hierarchy

View file

@ -23,7 +23,6 @@ classes:
government and administration, documenting local governance, public
services, civic life, and community history.
**Holdings** (linked via rico:isOrWasHolderOf):
Municipal archives typically hold records classified under these RecordSetTypes:
- CouncilGovernanceFonds - Council minutes, ordinances, resolutions

View file

@ -20,8 +20,6 @@ classes:
**Wikidata Base Concept**: Q33506 (museum)
**Primary GLAMORCUBESFIXPHDNT Category**: MUSEUM (M)
**Scope**:
Museums are distinguished by their focus on:
- Object-based collections (artifacts, specimens, artworks)
@ -80,7 +78,6 @@ classes:
- National centers for contemporary art (Q109017987) - National art centers
- Buried cultural property centers (Q11425913) - Archaeology museums (Japan)
**RDF Serialization Example**:
```turtle
:Custodian_Rijksmuseum

View file

@ -74,7 +74,6 @@ classes:
description: |
A rico:RecordSetType for classifying collections of national archival records.
**Scope**:
Used to classify record sets containing national government materials:
- Government administrative fonds

View file

@ -44,8 +44,6 @@ classes:
- ❌ Folklore group → Use IntangibleHeritageGroupType
- ❌ Museum/archive/library → Use MuseumType/ArchiveOrganizationType/LibraryType
**Ontology Alignment**:
1. **Structural Layer** (W3C Standards):
- skos:Concept - Thesaurus classification
- Classification within CustodianType hierarchy

View file

@ -17,8 +17,6 @@ classes:
**Wikidata Base Concept**: Q2659904 (government organization)
**Primary GLAMORCUBESFIXPHDNT Category**: OFFICIAL_INSTITUTION (O)
**Scope**:
Official institutions are distinguished by their:
- Formal government authority and legal mandates
@ -84,7 +82,6 @@ classes:
- vs. NGO (N): Public sector (government-operated) vs. private/civil society
- vs. RESEARCH_CENTER (R): Primary mandate is heritage administration, not research
**RDF Serialization Example**:
```turtle
@prefix hc: <https://nde.nl/ontology/hc/> .

View file

@ -72,14 +72,6 @@ classes:
- OrganizationalStructure.valid_to date = OrganizationalChangeEvent.event_date (for dissolved units)
- OrganizationalStructure.valid_from date = OrganizationalChangeEvent.event_date (for created units)
- Change event provides the "why" (rationale), temporal validity provides the "when" (dates)
**Ontology Alignment**:
- CIDOC-CRM: crm:E5_Event (broad class for temporal phenomena)
- CIDOC-CRM: crm:E9_Move (for RELOCATION events)
- PROV-O: prov:Activity (change as activity)
- RiC-O: rico:Event (organizational events in archival context)
- W3C ORG: org:changeEvent (organizational change notification)
- GeoSPARQL: geosparql:Feature (for affected territories)
exact_mappings:
- crm:E5_Event
close_mappings:

View file

@ -38,21 +38,6 @@ classes:
- full: Complete first and last name visible
- abbreviated: Contains single initial (e.g., "Amy B.", "S. Buse")
- anonymous: Privacy-hidden profile ("LinkedIn Member")
**Example JSON Structure**:
```json
{
"connection_id": "giovannafossati_conn_0000_maddalena_ghiotto",
"name": "Maddalena Ghiotto",
"name_type": "full",
"degree": "2nd",
"headline": "Archiving nerd in the digital era.",
"location": "Utrecht, Netherlands",
"organization": "National Archive",
"heritage_relevant": true,
"heritage_type": "D"
}
```
exact_mappings:
- schema:Person
close_mappings:

View file

@ -71,8 +71,13 @@ classes:
- Emphasis: Role, title, unit affiliation, employment dates
- NOT: Full biographical reconstruction (birth, death, family, etc.)
- Sources: Institutional records (not vital records, census, etc.)
- PiCo: `pico:PersonObservation` (primary - person data from sources)
- Schema.org: `schema:Person` (for person identity)
- Schema.org: `schema:Role` (for organizational role)
- CIDOC-CRM: `crm:E21_Person` (person as cultural heritage actor)
- PROV-O: `prov:Agent` (person as responsible agent)
- FOAF: `foaf:Person` (person in social network)
**Hub Architecture Integration**:
- PersonObservation refers to Person hub via `refers_to_person` (PICO pattern)
- PersonObservation refers to OrganizationalStructure via `unit_affiliation`
@ -682,7 +687,7 @@ classes:
data'
- LinkedIn data stored separately in person/entity/ files (Rule 12, Rule 20)
examples:
- value:
- value: |
id: https://nde.nl/ontology/hc/person-obs/nl-nh-ams-m-rm/jane-smith/conservator-2013
person_name: Dr. Jane Smith
refers_to_person: https://nde.nl/ontology/hc/person/jane-smith
@ -692,9 +697,8 @@ classes:
role_start_date: '2013-03-01'
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:
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
person_name: Taco Dibbits
refers_to_person: https://nde.nl/ontology/hc/person/taco-dibbits
@ -719,5 +723,4 @@ classes:
retrieved_on: '2025-01-15T10:30:00Z'
retrieval_agent: firecrawl
person_xpath_match_score: 1.0
description: Museum director with Person hub link and full web claim provenance
(Rule 26 compliant)
description: Museum director with Person hub link and full web claim provenance (Rule 26 compliant)

View file

@ -58,4 +58,5 @@ classes:
- ChurchArchiveSweden (Q64166606) - Swedish church records
- MunicipalArchive (Q604177) - May hold local civil registers
- ParishArchive (Q34544468) - Pre-civil registration records
slot_usage:

View file

@ -17,8 +17,6 @@ classes:
**Wikidata Base Concept**: Q31855 (research institute)
**Primary GLAMORCUBESFIXPHDNT Category**: RESEARCH_CENTER (R)
**Scope**:
Research organizations are distinguished by their focus on:
- Original research and knowledge production
@ -74,7 +72,6 @@ classes:
- Scientific, technical, and industrial culture centers (Q2945276) - French popular science venues
- Chinese map libraries (Q124416055) - Map collections with research function
**RDF Serialization Example**:
```turtle
:Custodian_RCE_ResearchDepartment

View file

@ -260,8 +260,6 @@ classes:
- Regional museums collect from specific area
- National museums have country-wide scope
**Ontology Alignment**:
| Ontology | Class/Property | Usage |
|----------|----------------|-------|
| **Schema.org** | `schema:areaServed` | Primary property linking Organization → ServiceArea |

View file

@ -75,8 +75,6 @@ classes:
range: SocialMediaPlatformType # Polymorphic - any subclass
```
**ONTOLOGY ALIGNMENT**:
- FOAF OnlineAccount: Base class for online identities
- Schema.org: Web semantics for platform properties
- SKOS Concept: Platform types as controlled vocabulary

View file

@ -127,8 +127,6 @@ classes:
- Subsequent types = secondary characteristics
- Order matters for display and categorization
**ONTOLOGY ALIGNMENT**:
- Activity Streams 2.0: W3C standard for social content
- Schema.org: MediaObject, VideoObject, ImageObject
- SKOS Concept: Post types as controlled vocabulary

View file

@ -63,8 +63,6 @@ classes:
Each role is captured as a separate PersonObservation record with its own temporal bounds.
**Ontology Alignment**:
- org:Role - W3C Organization Ontology role concept
- schema:Role - Schema.org role (for structured values)
- schema:roleName - The name of the role

View file

@ -51,8 +51,6 @@ classes:
- ✅ Heritage kitchens demonstrating historical cooking methods
- ✅ Monastic breweries/wineries continuing centuries-old practices
**Ontology Alignment**:
1. **Structural Layer** (W3C Standards):
- skos:Concept - Thesaurus classification
- Classification within CustodianType hierarchy

View file

@ -69,8 +69,6 @@ classes:
- Experimental heritage models
- Indigenous heritage governance not matching Western categories
**Ontology Alignment**:
1. **Structural Layer** (W3C Standards):
- skos:Concept - Thesaurus classification
- prov:Entity - Provenance tracking for data quality

View file

@ -35,16 +35,6 @@ classes:
- CV/resume work history
- Staff affiliation tracking
**Example JSON Structure**:
```json
{
"title": "Staff Adviseur",
"company": "The Dutch Inspectorate of Education",
"dates": "Apr 2025 - Present",
"location": "Utrecht, Netherlands"
}
```
**Heritage Relevance**:
- Each work experience can be tagged for heritage sector relevance
- Links to CustodianName if employer is a known heritage custodian

View file

@ -7,30 +7,36 @@ prefixes:
prov: http://www.w3.org/ns/prov#
owl: http://www.w3.org/2002/07/owl#
imports:
- linkml:types
- linkml:types
slots:
affects_organization:
slot_uri: prov:influenced
description: "Custodians affected by this organizational change event.\n\n**PROV-O Alignment**:\n\nProperty: `prov:influenced`\n\
- Domain: prov:Activity/Entity (OrganizationalChangeEvent)\n- Range: prov:Entity (Custodian)\n- Definition: \"An entity\
\ or activity influenced by another entity.\"\n\n**INVERSE PROPERTY**:\n- **Inverse**: `organizational_change_events`\
\ (prov:wasInfluencedBy)\n- Pattern: If Custodian organizational_change_events Event, then Event affects_organization\
\ Custodian\n\n**Event Types** (from OrganizationalChangeEventTypeEnum):\n- MERGER: Multiple custodians merge into one\n\
- SPLIT: One custodian splits into multiple\n- RELOCATION: Custodian moves to new location\n- NAME_CHANGE: Custodian\
\ changes name\n- DISSOLUTION: Custodian ceases to exist\n\n**Example**:\n```yaml\nOrganizationalChangeEvent:\n event_type:\
\ MERGER\n event_date: \"2001-01-01\"\n event_description: \"Formation of Noord-Hollands Archief\"\n affects_organization:\n\
\ - \"https://nde.nl/ontology/hc/nl-gemeentearchief-haarlem\"\n - \"https://nde.nl/ontology/hc/nl-rijksarchief-noord-holland\"\
\n```\n\n**Navigation**:\n- From event: Find affected custodians (affects_organization)\n- From custodian: Find change\
\ events (organizational_change_events)\n"
description: "Custodians affected by this organizational change event.\n\n**Event Types** (from OrganizationalChangeEventTypeEnum):\n\
- MERGER: Multiple custodians merge into one\n- SPLIT: One custodian splits into multiple\n- RELOCATION: Custodian moves\
\ to new location\n- NAME_CHANGE: Custodian changes name\n- DISSOLUTION: Custodian ceases to exist"
range: Custodian
multivalued: true
exact_mappings:
- prov:influenced
- prov:influenced
related_mappings:
- rico:affectsOrAffected
- rico:affectsOrAffected
comments:
- Inverse of organizational_change_events (prov:wasInfluencedBy)
- Links event to all custodians impacted by it
- Creates owl:inverseOf axiom in RDF output
- Inverse of organizational_change_events (prov:wasInfluencedBy)
- Links event to all custodians impacted by it
- Creates owl:inverseOf axiom in RDF output
- 'Inverse: `organizational_change_events` (prov:wasInfluencedBy) | Pattern: If Custodian organizational_change_events
Event, then Event affects_organization Custodian'
- 'Navigation: From event: Find affected custodians (affects_organization) | From custodian: Find change events (organizational_change_events)'
broad_mappings:
- schema:organization
- schema:organization
annotations:
inverse_slot: organizational_change_events
examples:
- value: |
OrganizationalChangeEvent:
event_type: MERGER
event_date: "2001-01-01"
event_description: "Formation\ \ of Noord-Hollands Archief"
affects_organization:
- "https://nde.nl/ontology/hc/nl-gemee...
description: Usage example

View file

@ -7,23 +7,31 @@ prefixes:
prov: http://www.w3.org/ns/prov#
owl: http://www.w3.org/2002/07/owl#
imports:
- linkml:types
- linkml:types
slots:
allocates:
slot_uri: prov:contributed
description: "Identifiers that this allocation agency has assigned.\n\n**PROV-O Alignment**:\n\nUses a custom extension\
\ of PROV-O to track allocation relationships.\n\n**INVERSE PROPERTY**:\n- **Inverse**: `allocated_by` (prov:wasAttributedTo)\n\
- Pattern: If Identifier allocated_by Agency, then Agency allocates Identifier\n\n**Example**:\n```yaml\nAllocationAgency:\n\
\ name: \"Koninklijke Bibliotheek\"\n abbreviation: \"KB\"\n allocates:\n - \"https://nde.nl/ontology/hc/identifier/isil/nl-amoba\"\
\n - \"https://nde.nl/ontology/hc/identifier/isil/nl-hagk\"\n```\n\n**Usage**:\nAllows tracking:\n- All identifiers\
\ assigned by a specific agency\n- Volume of allocations per agency\n- Allocation patterns by geography or domain\n\n\
**Navigation**:\n- From agency: Find all allocated identifiers (allocates)\n- From identifier: Find allocating agency\
\ (allocated_by)\n"
description: "Identifiers that this allocation agency has assigned.\n\n**Usage**:\nAllows tracking:\n- All identifiers\
\ assigned by a specific agency\n- Volume of allocations per agency\n- Allocation patterns by geography or domain"
range: CustodianIdentifier
multivalued: true
comments:
- Inverse of allocated_by (prov:wasAttributedTo)
- Links agency to all identifiers it has assigned
- Creates owl:inverseOf axiom in RDF output
- Inverse of allocated_by (prov:wasAttributedTo)
- Links agency to all identifiers it has assigned
- Creates owl:inverseOf axiom in RDF output
- 'Inverse: `allocated_by` (prov:wasAttributedTo) | Pattern: If Identifier allocated_by Agency, then Agency allocates
Identifier'
- 'Navigation: From agency: Find all allocated identifiers (allocates) | From identifier: Find allocating agency (allocated_by)'
close_mappings:
- prov:generated
- prov:generated
annotations:
inverse_slot: allocated_by
examples:
- value: |
AllocationAgency:
name: "Koninklijke Bibliotheek"
abbreviation: "KB"
allocates:
- "https://nde.nl/ontology/hc/identifier/isil/nl-amoba"\
- "https://nde.nl/ontology/hc/identifier/isil/nl-h...
description: Usage example

View file

@ -0,0 +1,16 @@
id: https://nde.nl/ontology/hc/slot/applicable_countries
name: applicable_countries
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: https://schema.org/
skos: http://www.w3.org/2004/02/skos/core#
rico: https://www.ica.org/standards/RiC/ontology#
rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
slots:
applicable_countries:
slot_uri: schema:countryOfOrigin
description: Countries where this type or classification applies.
range: string
required: false
multivalued: true

View file

@ -0,0 +1,15 @@
id: https://nde.nl/ontology/hc/slot/archive_scope
name: archive_scope
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: https://schema.org/
skos: http://www.w3.org/2004/02/skos/core#
rico: https://www.ica.org/standards/RiC/ontology#
rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
slots:
archive_scope:
slot_uri: schema:about
description: Subject scope of the archive.
range: string
required: false

View file

@ -0,0 +1,15 @@
id: https://nde.nl/ontology/hc/slot/area_served
name: area_served
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: https://schema.org/
skos: http://www.w3.org/2004/02/skos/core#
rico: https://www.ica.org/standards/RiC/ontology#
rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
slots:
area_served:
slot_uri: schema:areaServed
description: Geographic area served by the organization.
range: string
required: false

View file

@ -6,16 +6,14 @@ prefixes:
org: http://www.w3.org/ns/org#
schema: http://schema.org/
imports:
- linkml:types
- linkml:types
slots:
auxiliary_places:
slot_uri: org:hasSite
range: AuxiliaryPlace
multivalued: true
inlined_as_list: true
description: "Subordinate or secondary physical locations associated with this CustodianPlace.\n\n**W3C ORG Alignment**:\n\
\n`org:hasSite` - \"Indicates a site at which the Organization has some presence \neven if only indirect (e.g. virtual\
\ office or a professional service \nwhich is acting as the registered address for a company).\"\n\n**Hierarchical Pattern**:\n\
description: "Subordinate or secondary physical locations associated with this CustodianPlace.\n\n**Hierarchical Pattern**:\n\
\nCustodianPlace (main headquarters)\n └── auxiliary_places → AuxiliaryPlace[] (subordinate sites)\n └── hosts_branch\
\ → OrganizationBranch (formal branch at site)\n\nThis mirrors the CustodianName → CustodianAppellation pattern:\n-\
\ CustodianName is preferred name (skos:prefLabel)\n- CustodianAppellation is alternative name (skos:altLabel)\n- CustodianPlace\
@ -29,18 +27,18 @@ slots:
\ BRANCH_OFFICE\n hosts_branch:\n branch_name: \"Schiphol Exhibition Team\"\n```\n\n**Temporal Considerations**:\n\
\nAuxiliary places have independent lifecycles:\n- Storage facility opened 1995, closed 2010\n- Branch office valid_from\
\ 2000, still active\n\nEach AuxiliaryPlace tracks its own valid_from/valid_to dates.\n\n**Query Pattern**:\n\n\"Find\
\ all locations of Rijksmuseum\":\n- Main: CustodianPlace.place_name\n- Secondary: CustodianPlace.auxiliary_places[*].place_name\n"
\ all locations of Rijksmuseum\":\n- Main: CustodianPlace.place_name\n- Secondary: CustodianPlace.auxiliary_places[*].place_name"
examples:
- value:
- place_name: Depot Amersfoort
auxiliary_place_type: STORAGE_FACILITY
street_address: Euterpelaan 25
city: Amersfoort
- place_name: Rijksmuseum Schiphol
auxiliary_place_type: BRANCH_OFFICE
street_address: Schiphol Airport, Lounge 2
description: Rijksmuseum subordinate locations
- value: |
- place_name: Depot Amersfoort
auxiliary_place_type: STORAGE_FACILITY
street_address: Euterpelaan 25
city: Amersfoort
- place_name: Rijksmuseum Schiphol
auxiliary_place_type: BRANCH_OFFICE
street_address: Schiphol Airport, Lounge 2
description: Rijksmuseum subordinate locations
close_mappings:
- org:hasSite
- org:hasSite
related_mappings:
- schema:location
- schema:location

View file

@ -36,15 +36,15 @@ slots:
\n**Query Pattern**:\n\n\"Find all digital properties of Rijksmuseum\":\n- Main: DigitalPlatform.homepage_web_address\n\
- Secondary: DigitalPlatform.auxiliary_platforms[*].platform_url\n"
examples:
- value:
- platform_name: Rijksstudio
auxiliary_platform_type: PROJECT_WEBSITE
platform_url: https://www.rijksmuseum.nl/nl/rijksstudio
archival_status: ACTIVE
- platform_name: Rijksmuseum Data API
auxiliary_platform_type: API_ENDPOINT
platform_url: https://data.rijksmuseum.nl/
description: Rijksmuseum subordinate digital platforms
- value: |
- platform_name: Rijksstudio
auxiliary_platform_type: PROJECT_WEBSITE
platform_url: https://www.rijksmuseum.nl/nl/rijksstudio
archival_status: ACTIVE
- platform_name: Rijksmuseum Data API
auxiliary_platform_type: API_ENDPOINT
platform_url: https://data.rijksmuseum.nl/
description: Rijksmuseum subordinate digital platforms
close_mappings:
- dcterms:hasPart
broad_mappings:

View file

@ -0,0 +1,15 @@
id: https://nde.nl/ontology/hc/slot/broader_type
name: broader_type
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: https://schema.org/
skos: http://www.w3.org/2004/02/skos/core#
rico: https://www.ica.org/standards/RiC/ontology#
rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
slots:
broader_type:
slot_uri: skos:broader
description: Reference to a broader/parent type in the hierarchy.
range: uriorcurie
required: false

View file

@ -18,51 +18,38 @@ imports:
slots:
collection_of:
slot_uri: crm:P46i_forms_part_of
description: |
description: |-
The custodian that holds this collection.
**CIDOC-CRM Alignment**:
Property: `crm:P46i_forms_part_of`
- Domain: E18_Physical_Thing (CustodianCollection)
- Range: E18_Physical_Thing (conceptually Custodian via metonymy)
- Definition: "This property associates an instance of E18 Physical Thing
with another instance of E18 Physical Thing that the first object is
part of."
**INVERSE PROPERTY**:
- **Inverse**: `has_collection` (crm:P46_is_composed_of)
- Pattern: If Custodian hasCollection Collection, then Collection collectionOf Custodian
**Metonymic Reference**:
This property captures the common metonymic usage where people refer to
a custodian by its collection:
- "The Rijksmuseum has a Rembrandt" (hasCollection)
- "This painting belongs to the Rijksmuseum" (collectionOf)
**Example**:
```yaml
CustodianCollection:
collection_name: "Night Watch and Related Works"
collection_of: "https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804" # Rijksmuseum
```
**Navigation**:
- From custodian: Find all collections (has_collection)
- From collection: Find owning custodian (collection_of)
range: Custodian
required: false
exact_mappings:
- crm:P46i_forms_part_of
related_mappings:
- rico:isOrWasIncludedIn
- schema:isPartOf
- dcterms:isPartOf
comments:
- "Inverse of has_collection (crm:P46_is_composed_of)"
- "Links collection back to its holding custodian"
- "Creates owl:inverseOf axiom in RDF output"
- 'Inverse: `has_collection` (crm:P46_is_composed_of) | Pattern: If Custodian hasCollection Collection, then Collection
collectionOf Custodian'
- 'Navigation: From custodian: Find all collections (has_collection) | From collection: Find owning custodian (collection_of)'
annotations:
inverse_slot: has_collection
examples:
- value: |
CustodianCollection:
collection_name: "Night Watch and Related Works"
collection_of: "https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804"\ \ # Rijksmuseum
description: Usage example

View file

@ -64,13 +64,13 @@ slots:
\ may be managed by organizational units (managing_unit) while legal responsibility stays at top level\n- During organizational\
\ restructuring, collections_under_responsibility may change but collection physical materials remain intact\n"
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
- 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
close_mappings:
- rico:hasOrIsHeldBy
related_mappings:

View file

@ -0,0 +1,15 @@
id: https://nde.nl/ontology/hc/slot/community_engagement
name: community_engagement
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: https://schema.org/
skos: http://www.w3.org/2004/02/skos/core#
rico: https://www.ica.org/standards/RiC/ontology#
rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
slots:
community_engagement:
slot_uri: schema:audience
description: Community engagement activities or programs.
range: string
required: false

View file

@ -2,8 +2,8 @@ id: https://nde.nl/ontology/hc/slot/conflict_status
name: conflict_status_slot
title: Conflict Status Slot
imports:
- linkml:types
- ../classes/ConflictStatus
- linkml:types
- ../classes/ConflictStatus
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
@ -19,11 +19,7 @@ slots:
- Destruction was due to external forces (not planned dissolution)\n- There is documentary evidence (reports, news,\
\ official statements)\n\n**WHEN NOT TO USE**:\n- Normal organizational dissolution → use `temporal_extent.end_of_the_end`\n\
- Planned closure or merger → use `OrganizationalChangeEvent`\n- Temporary closure (renovation, COVID) → use operational_status\n\
\n**RELATIONSHIP TO time_of_destruction**:\nBoth slots should be populated for destroyed/damaged institutions:\n\n```yaml\n\
# conflict_status: Summary with sources\nconflict_status:\n status: destroyed\n date: \"2023-12-08\"\n description:\
\ \"Destroyed by airstrike\"\n sources:\n - \"LAP Gaza Report 2024\"\n\n# time_of_destruction: Detailed TimeSpan\
\ with fuzzy bounds\ntime_of_destruction:\n begin_of_the_begin: \"2023-12-08\"\n end_of_the_end: \"2023-12-08\"\n\
```\n\n**DATA PIPELINE**:\n1. `scripts/convert_palestinian_to_custodian.py` - Extracts conflict_status\n2. `scripts/load_custodians_to_ducklake.py`\
\n**DATA PIPELINE**:\n1. `scripts/convert_palestinian_to_custodian.py` - Extracts conflict_status\n2. `scripts/load_custodians_to_ducklake.py`\
\ - Loads as JSON column\n3. `frontend/src/hooks/useDuckLakeInstitutions.ts` - Parses for display\n4. `frontend/src/components/map/CustodianTimeline.tsx`\
\ - Renders destruction event\n\n**FRONTEND DISPLAY**:\n- Timeline shows \"\U0001F4A5 Vernietigd: {year}\" for destroyed\
\ institutions\n- Timeline shows \"\U0001F4A5 Vernietigd (herbouwend): {year}\" when is_rebuilding=true\n- Color: Dark\
@ -33,27 +29,40 @@ slots:
\ emic_name: Great Omari Mosque Library\nconflict_status:\n status: destroyed\n date: \"2023-12-08\"\n reported_date:\
\ \"2024-01-15\"\n description: >-\n Historic mosque library destroyed by Israeli airstrike.\n Contained rare\
\ Islamic manuscripts and Quran collections.\n is_rebuilding: false\n sources:\n - \"Librarians and Archivists\
\ with Palestine - Gaza Report 2024\"\n - \"Palestinian Ministry of Culture damage assessment\"\n```\n"
\ with Palestine - Gaza Report 2024\"\n - \"Palestinian Ministry of Culture damage assessment\"\n```"
exact_mappings:
- crm:P4_has_time-span
- crm:P4_has_time-span
related_mappings:
- crm:E6_Destruction
- crm:E11_Modification
- schema:status
- crm:E6_Destruction
- crm:E11_Modification
- schema:status
examples:
- value: "conflict_status:\n status: destroyed\n date: \"2023-12-08\"\n description: \"Destroyed by Israeli airstrike\
\ during Gaza conflict\"\n sources:\n - \"LAP Gaza Report 2024\"\n"
description: Gaza library destroyed in December 2023
- value: "conflict_status:\n status: damaged\n date: \"2022-03-01\"\n is_rebuilding: true\n description: \"Damaged\
\ by shelling, currently under restoration\"\n sources:\n - \"UNESCO Ukraine heritage monitoring\"\n"
description: Ukrainian museum damaged but rebuilding
- value: |
conflict_status:
status: destroyed
date: "2023-12-08"
description: "Destroyed by Israeli airstrike\ \ during Gaza conflict"
sources:
- "LAP Gaza Report 2024"
description: Gaza library destroyed in December 2023
- value: |
conflict_status:
status: damaged
date: "2022-03-01"
is_rebuilding: true
description: "Damaged\ \ by shelling, currently under restoration"
sources:
- "UNESCO Ukraine heritage monitoring"
description: Ukrainian museum damaged but rebuilding
comments:
- Used for Gaza 2023-2024 documentation (30 institutions)
- Complements time_of_destruction slot for temporal details
- Displayed in CustodianTimeline component
- Used for Gaza 2023-2024 documentation (30 institutions)
- Complements time_of_destruction slot for temporal details
- Displayed in CustodianTimeline component
see_also:
- hc:time_of_destruction
- hc:ConflictStatus
- hc:ConflictStatusEnum
- hc:time_of_destruction
- hc:ConflictStatus
- hc:ConflictStatusEnum
broad_mappings:
- adms:status
- adms:status

View file

@ -2,52 +2,10 @@ id: https://nde.nl/ontology/hc/slot/custodian_type
name: custodian_type
title: Custodian Type Classification
imports:
- linkml:types
- ../classes/CustodianType
- linkml:types
- ../classes/CustodianType
description: "The organizational type classification of a heritage custodian within the \nGLAMORCUBESFIXPHDNT taxonomy (19\
\ categories).\n\n**Three-Layer Ontology Alignment**:\n\n1. **W3C Organization Ontology** (PRIMARY):\n - `org:classification`\
\ - Standard property for organizational taxonomies\n - Domain: org:Organization\n - Range: skos:Concept\n - Definition:\
\ \"Indicates a classification for this Organization within some \n classification scheme. Extension vocabularies may\
\ wish to specialize this \n property to have a range corresponding to a specific skos:ConceptScheme.\"\n - Source:\
\ `/data/ontology/org.rdf`\n\n2. **CIDOC-CRM** (DOMAIN-SPECIFIC):\n - `crm:P2_has_type` - Cultural heritage domain type\
\ assignment\n - Domain: crm:E1_CRM_Entity\n - Range: crm:E55_Type\n - Definition: \"This property allows sub typing\
\ of CRM entities through the \n use of a terminological hierarchy or thesaurus.\"\n - Source: `/data/ontology/CIDOC_CRM_v7.1.3.rdf`\n\
\n3. **Schema.org** (WEB DISCOVERABILITY):\n - `schema:additionalType` - Wikidata entity linking\n - Range: schema:URL\n\
\ - Definition: \"An additional type for the item, typically used for adding \n more specific types from external\
\ vocabularies.\"\n - Source: `/data/ontology/schemaorg.owl`\n\n**Why org:classification is Primary**:\n- ✅ Standard W3C\
\ vocabulary widely adopted in public sector\n- ✅ SKOS-based with taxonomic hierarchies (skos:broader, skos:narrower)\n\
- ✅ Extension-friendly for domain-specific classification schemes\n- ✅ Already used in heritage sector (ROV uses rov:orgType\
\ as subproperty)\n- ✅ More semantically precise than crm:P2_has_type (which applies to ALL CRM entities)\n\n**Why crm:P2_has_type\
\ is Secondary**:\n- Used for cultural heritage domain modeling alignment\n- Supports E17_Type_Assignment for provenance\
\ of classification\n- Broader scope (applies to E1_CRM_Entity, not just organizations)\n\n**Why schema:additionalType is\
\ Tertiary**:\n- Enables web discoverability and SEO optimization\n- Links to Wikidata Q-numbers for Linked Open Data integration\n\
- Supports multiple simultaneous type assertions\n\n**GLAMORCUBESFIXPHDNT Taxonomy (19 Types)**:\n- **G** - GALLERY: Art\
\ gallery or exhibition space\n- **L** - LIBRARY: Library (public, academic, specialized)\n- **A** - ARCHIVE: Archive (government,\
\ corporate, personal)\n- **M** - MUSEUM: Museum (art, history, science, etc.)\n- **O** - OFFICIAL_INSTITUTION: Government\
\ heritage agencies\n- **R** - RESEARCH_CENTER: Research institutes and documentation centers\n- **C** - COMMERCIAL: Corporate\
\ heritage collections\n- **U** - UNSPECIFIED: Institution type unknown (data quality flag)\n- **B** - BIO_CUSTODIAN: Botanical\
\ gardens, zoos, aquariums\n- **E** - EDUCATION_PROVIDER: Universities, schools with collections\n- **S** - HERITAGE_SOCIETY:\
\ Historical societies, collecting societies\n- **F** - FEATURE_CUSTODIAN: Geographic features AS custodians (special case)\n\
- **I** - INTANGIBLE_HERITAGE_GROUP: Folklore, oral history organizations\n- **X** - MIXED: Multiple simultaneous types\n\
- **P** - PERSONAL_COLLECTION: Private collectors\n- **H** - HOLY_SACRED_SITE: Religious sites with heritage collections\n\
- **D** - DIGITAL_PLATFORM: Online archives, digital libraries\n- **N** - NON_PROFIT: NGOs, heritage advocacy organizations\n\
- **T** - TASTE_SCENT_HERITAGE: Culinary, olfactory heritage preservation\n\n**RDF Serialization Example**:\n```turtle\n\
:Custodian_Rijksmuseum\n org:classification :MuseumType_ArtMuseum_Q207694 .\n\n:MuseumType_ArtMuseum_Q207694\n a glamtype:MuseumType,\
\ crm:E55_Type, skos:Concept ;\n skos:prefLabel \"Art Museum\"@en, \"kunstmuseum\"@nl ;\n skos:broader :MuseumType_Q33506\
\ ; # Museum (general)\n schema:additionalType <http://www.wikidata.org/entity/Q207694> ;\n glamtype:wikidata_entity\
\ \"Q207694\" .\n```\n\n**Relationship to CustodianLegalStatus**:\n- custodian_type (on Custodian): OPERATIONAL type classification\n\
\ (how the organization functions in the heritage ecosystem)\n- legal_form (on CustodianLegalStatus): LEGAL registration\
\ type\n (ISO 20275 codes: foundation, association, corporation, government agency)\n\n**Example - Dutch Foundation Operating\
\ Art Museum**:\n```yaml\nCustodian:\n hc_id: \"https://nde.nl/ontology/hc/nl-nh-ams-m-sm-q621531\"\n custodian_type:\
\ # OPERATIONAL classification\n type_id: \"https://nde.nl/ontology/hc/type/museum/Q207694\"\n primary_type: MUSEUM\n\
\ wikidata_entity: Q207694 # Art museum\n legal_status: # LEGAL registration\n legal_form:\n form_id: ISO_20275_8102\
\ # Stichting (foundation)\n```\n\n**Special Case - FEATURE_CUSTODIAN**:\nThis is the ONLY CustodianType that ALSO links\
\ to FeaturePlace. Used when the\nheritage custodian IS a geographic feature (e.g., historic mansion as museum).\n```yaml\n\
Custodian:\n custodian_type:\n primary_type: FEATURE_CUSTODIAN\n wikidata_entity: Q1802963 # Mansion\n place_designation:\n\
\ custodian_place:\n id: \".../place/mansion-site\"\n a: FeaturePlace\n place_type: MANSION # From FeaturePlaceTypeEnum\n\
```\n\n**Data Population Strategy**:\nEnum values extracted from:\n- `data/wikidata/GLAMORCUBEPSXHFN/hyponyms_curated_full.yaml`\n\
- 2,455+ Wikidata entities with multilingual labels\n- Hierarchical relationships (broader/narrower concepts)\n- Geographic\
\ restrictions (country-specific types)\n"
\ categories)."
slots:
custodian_type:
slot_uri: org:classification
@ -55,35 +13,28 @@ slots:
W3C ORG: org:classification links org:Organization → skos:Concept.\n\nReferences a CustodianType instance (or subclass:\
\ ArchiveOrganizationType, \nMuseumType, LibraryType, GalleryType, etc.) which provides:\n- Wikidata Q-number linking\
\ (schema:additionalType)\n- Multilingual labels (skos:prefLabel, skos:altLabel)\n- Hierarchical relationships (skos:broader,\
\ skos:narrower)\n- Geographic restrictions (applicable_countries)\n\n**GHCID Code Derivation**:\nThe single-letter\
\ GLAMORCUBESFIXPHDNT code for GHCID generation is derived\nfrom the CustodianType subclass name:\n- ArchiveOrganizationType\
\ → A\n- BioCustodianType → B\n- CommercialOrganizationType → C\n- DigitalPlatformType → D\n- EducationProviderType\
\ → E\n- FeatureCustodianType → F\n- GalleryType → G\n- HolySacredSiteType → H\n- IntangibleHeritageGroupType → I\n\
- LibraryType → L\n- MuseumType → M\n- NonProfitType → N\n- OfficialInstitutionType → O\n- PersonalCollectionType →\
\ P\n- ResearchOrganizationType → R\n- HeritageSocietyType → S\n- TasteScentHeritageType → T\n- UnspecifiedType → U\n\
- MixedCustodianType → X\n\n**Migration Note** (2026-01-05):\nPreviously used CustodianPrimaryTypeEnum (19 string values).\n\
Enum archived per Rule 9 (Enum-to-Class Promotion).\nSee: schemas/20251121/linkml/archive/enums/CustodianPrimaryTypeEnum.yaml.archived_20260105\n"
\ skos:narrower)\n- Geographic restrictions (applicable_countries)"
range: CustodianType
required: false
multivalued: false
exact_mappings:
- org:classification
- org:classification
close_mappings:
- crm:P2_has_type
- schema:additionalType
- crm:P2_has_type
- schema:additionalType
comments:
- 'Primary ontology alignment: org:classification (W3C Organization Ontology)'
- 'Secondary alignment: crm:P2_has_type (CIDOC-CRM cultural heritage)'
- 'Tertiary alignment: schema:additionalType (web discoverability)'
- Range changed from CustodianPrimaryTypeEnum to CustodianType class (2026-01-05)
- GHCID single-letter codes derived from CustodianType subclass names
- 'Distinct from legal_form (ISO 20275): operational vs. legal classification'
- 'Primary ontology alignment: org:classification (W3C Organization Ontology)'
- 'Secondary alignment: crm:P2_has_type (CIDOC-CRM cultural heritage)'
- 'Tertiary alignment: schema:additionalType (web discoverability)'
- Range changed from CustodianPrimaryTypeEnum to CustodianType class (2026-01-05)
- GHCID single-letter codes derived from CustodianType subclass names
- 'Distinct from legal_form (ISO 20275): operational vs. legal classification'
examples:
- value: https://nde.nl/ontology/hc/type/museum/Q207694
description: Art Museum type classification (MuseumType subclass)
- value: https://nde.nl/ontology/hc/type/archive/Q166118
description: Archive type classification (ArchiveOrganizationType)
- value: https://nde.nl/ontology/hc/type/library/Q7075
description: Library type classification (LibraryType)
- value: https://nde.nl/ontology/hc/type/museum/Q207694
description: Art Museum type classification (MuseumType subclass)
- value: https://nde.nl/ontology/hc/type/archive/Q166118
description: Archive type classification (ArchiveOrganizationType)
- value: https://nde.nl/ontology/hc/type/library/Q7075
description: Library type classification (LibraryType)
broad_mappings:
- dcterms:type
- dcterms:type

View file

@ -0,0 +1,15 @@
id: https://nde.nl/ontology/hc/slot/custodian_type_broader
name: custodian_type_broader
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: https://schema.org/
skos: http://www.w3.org/2004/02/skos/core#
rico: https://www.ica.org/standards/RiC/ontology#
rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
slots:
custodian_type_broader:
slot_uri: skos:broader
description: Broader custodian type in the type hierarchy.
range: uriorcurie
required: false

View file

@ -21,31 +21,22 @@ imports:
slots:
deceased:
slot_uri: schema:deathDate
description: |
description: |-
Boolean flag indicating whether this staff member is deceased.
**Vital Status Tracking**:
Heritage institutions often need to track the vital status of staff members for:
- Biographical documentation
- Commemorative purposes
- Historical research
- Provenance research (who handled collections when)
**RELATIONSHIP TO martyred**:
- `deceased: true` - Person has died (any cause)
- `martyred: true` - Person died due to conflict/persecution (implies deceased)
- `deceased: false` - Person is living (cannot have martyred: true)
**Temporal Documentation**:
When `deceased: true`, use the associated `date_of_death` slot (TimeSpan)
to document when the death occurred. The TimeSpan allows for uncertainty:
- Known date: begin_of_the_begin == end_of_the_end
- Uncertain: Provide bounds for the date range
**Schema.org Alignment**:
Maps to schema:deathDate concept. The boolean flag indicates status,
while TimeSpan provides the actual date(s).
**Privacy Considerations**:
- For recently deceased individuals, verify with institution before publishing
- Public figures and historical staff can generally be documented

View file

@ -6,22 +6,30 @@ prefixes:
prov: http://www.w3.org/ns/prov#
owl: http://www.w3.org/2002/07/owl#
imports:
- linkml:types
- linkml:types
slots:
derived_from_entity:
slot_uri: prov:wasDerivedFrom
range: CustodianLegalStatus
description: "The formal entity (reconstruction) this observation refers to.\n\n**INVERSE PROPERTY**:\n- **Inverse**:\
\ `has_derived_observation`\n- Pattern: If Observation derived_from_entity LegalStatus, then LegalStatus has_derived_observation\
\ Observation\n\n**Provenance semantics** (PROV-O):\n- `prov:wasDerivedFrom`: Links observation to the formal entity\
\ it references\n- Enables provenance chain traversal from source observation to formal entity\n\n**Example**:\n```yaml\n\
CustodianObservation:\n observed_name: \"Rijksmuseum Amsterdam\"\n derived_from_entity: \"https://nde.nl/ontology/hc/legal/stichting-rijksmuseum\"\
\n```\n\n**Navigation**:\n- From observation: Find formal entity it references (derived_from_entity)\n- From legal status:\
\ Find all observations that reference it (has_derived_observation)\n"
description: "The formal entity (reconstruction) this observation refers to.\n\n**Provenance semantics** (PROV-O):\n-\
\ `prov:wasDerivedFrom`: Links observation to the formal entity it references\n- Enables provenance chain traversal\
\ from source observation to formal entity"
comments:
- Links observation to formal legal entity
- Part of PROV-O derivation pattern
- Inverse of has_derived_observation
- Creates owl:inverseOf axiom in RDF output
- Links observation to formal legal entity
- Part of PROV-O derivation pattern
- Inverse of has_derived_observation
- Creates owl:inverseOf axiom in RDF output
- 'Inverse: `has_derived_observation` | Pattern: If Observation derived_from_entity LegalStatus, then LegalStatus has_derived_observation
Observation'
- 'Navigation: From observation: Find formal entity it references (derived_from_entity) | From legal status: Find all
observations that reference it (has_derived_observation)'
broad_mappings:
- prov:Entity
- prov:Entity
annotations:
inverse_slot: has_derived_observation
examples:
- value: |
CustodianObservation:
observed_name: "Rijksmuseum Amsterdam"
derived_from_entity: "https://nde.nl/ontology/hc/legal/stichting-rijksmuseum"
description: Usage example

View file

@ -0,0 +1,335 @@
# Description Section Slots
# Slots for structured content that was previously embedded in description text
#
# These slots capture domain-specific metadata from markdown sections like:
# - **Scope**:
# - **Notable Examples**:
# - **Historical Significance**:
# - **Typical Contents**:
# - **Related Types**:
# - **Research Value**:
# - **Dutch Context**:
# - **Key Distinction**:
# - **Administrative Context**:
# - **Temporal Dynamics**:
# - **Definition**: (for RecordSetType classes)
#
# Generation date: 2026-01-07
id: https://nde.nl/ontology/hc/slots/description_sections
name: description_section_slots
title: Description Section Slots
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
skos: http://www.w3.org/2004/02/skos/core#
dcterms: http://purl.org/dc/terms/
rico: https://www.ica.org/standards/RiC/ontology#
schema: http://schema.org/
default_prefix: hc
imports:
- linkml:types
# =============================================================================
# CLASSES FOR STRUCTURED EXAMPLES
# =============================================================================
classes:
NotableExample:
class_uri: hc:NotableExample
description: |
A real-world example of a heritage institution of this type.
Provides concrete instances for understanding the class scope.
slots:
- example_name
- example_location
- example_wikidata_id
- example_note
annotations:
specificity_score: 0.3
specificity_rationale: "Universal utility for concrete examples"
RelatedType:
class_uri: hc:RelatedType
description: |
A reference to a related class in the heritage ontology.
Used for documenting relationships between types.
slots:
- related_type_name
- related_type_wikidata
- related_type_relationship
- related_type_note
annotations:
specificity_score: 0.3
specificity_rationale: "Universal utility for type relationships"
# =============================================================================
# SLOTS - SCOPE AND DEFINITION
# =============================================================================
slots:
# ---------------------------------------------------------------------------
# Core Descriptive Content
# ---------------------------------------------------------------------------
scope_description:
slot_uri: rico:scopeAndContent
description: |
Detailed description of what this class encompasses.
Explains the boundaries and coverage of this heritage type.
**Migrated from**: `**Scope**:` sections in description text.
**Example content**:
- What types of materials/collections are included
- Geographic or temporal scope
- Organizational or institutional scope
range: string
annotations:
source_section: "**Scope**:"
class_definition:
slot_uri: skos:definition
description: |
Formal definition of this class.
Used primarily for RecordSetType classes.
**Migrated from**: `**Definition**:` and `**DEFINITION**:` sections.
range: string
annotations:
source_section: "**Definition**:"
key_distinction:
slot_uri: skos:note
description: |
The primary distinguishing characteristic of this class.
What sets it apart from similar or related types.
**Migrated from**: `**Key Distinction**:` and `**Key Distinctions from Other Types**:` sections.
range: string
annotations:
source_section: "**Key Distinction**:"
# ---------------------------------------------------------------------------
# Notable Examples
# ---------------------------------------------------------------------------
notable_examples:
slot_uri: skos:example
description: |
Real-world examples of institutions of this type.
Provides concrete instances for understanding the class.
**Migrated from**: `**Notable Examples**:` sections.
**Format**: List of NotableExample objects with name, location, and optional Wikidata ID.
range: NotableExample
multivalued: true
inlined_as_list: true
annotations:
source_section: "**Notable Examples**:"
example_name:
slot_uri: schema:name
description: Name of the example institution
range: string
required: true
example_location:
slot_uri: schema:location
description: Location of the example institution (city, country)
range: string
example_wikidata_id:
slot_uri: hc:wikidataId
description: Wikidata Q-number for the example institution
range: string
pattern: "^Q[0-9]+$"
example_note:
slot_uri: skos:note
description: Additional note about the example
range: string
# ---------------------------------------------------------------------------
# Related Types
# ---------------------------------------------------------------------------
related_types:
slot_uri: skos:related
description: |
Related heritage institution types with context.
Documents associations with other classes in the ontology.
**Migrated from**: `**Related Types**:` sections.
range: RelatedType
multivalued: true
inlined_as_list: true
annotations:
source_section: "**Related Types**:"
related_type_name:
slot_uri: schema:name
description: Name of the related class
range: string
required: true
related_type_wikidata:
slot_uri: hc:wikidataId
description: Wikidata Q-number for the related type
range: string
pattern: "^Q[0-9]+$"
related_type_relationship:
slot_uri: skos:note
description: |
Nature of the relationship (e.g., "broader", "narrower", "related", "contrast")
range: string
related_type_note:
slot_uri: dcterms:description
description: Explanation of how this type relates
range: string
# ---------------------------------------------------------------------------
# Historical and Research Value
# ---------------------------------------------------------------------------
historical_significance:
slot_uri: hc:historicalSignificance
description: |
Historical importance and context of this type of institution.
Documents the heritage value and historical role.
**Migrated from**: `**Historical Significance**:` sections.
range: string
annotations:
source_section: "**Historical Significance**:"
research_value:
slot_uri: hc:researchValue
description: |
Research and scholarly value of this type of institution or collection.
Documents what types of research this class supports.
**Migrated from**: `**Research Value**:` sections.
range: string
annotations:
source_section: "**Research Value**:"
# ---------------------------------------------------------------------------
# Content and Holdings
# ---------------------------------------------------------------------------
typical_contents:
slot_uri: rico:hasContentOfType
description: |
Typical contents or holdings for this type of institution.
Lists common record types, materials, or collection types.
**Migrated from**: `**Typical Contents**:` sections.
range: string
multivalued: true
inlined_as_list: true
annotations:
source_section: "**Typical Contents**:"
# ---------------------------------------------------------------------------
# Regional and Administrative Context
# ---------------------------------------------------------------------------
dutch_context:
slot_uri: hc:dutchContext
description: |
Netherlands-specific context and terminology.
Documents Dutch heritage sector conventions, terminology, and institutional context.
**Migrated from**: `**Dutch Context**:` sections.
range: string
annotations:
source_section: "**Dutch Context**:"
administrative_context:
slot_uri: hc:administrativeContext
description: |
Administrative and governmental context.
Documents how this type relates to government structures and public administration.
**Migrated from**: `**Administrative Context**:` sections.
range: string
annotations:
source_section: "**Administrative Context**:"
# ---------------------------------------------------------------------------
# Temporal Dynamics
# ---------------------------------------------------------------------------
temporal_dynamics:
slot_uri: hc:temporalDynamics
description: |
Time-based change patterns and evolution of this type.
Documents how institutions of this type change over time.
**Migrated from**: `**Temporal Dynamics**:` sections.
range: string
annotations:
source_section: "**Temporal Dynamics**:"
# ---------------------------------------------------------------------------
# Use Cases and Heritage Sector Usage
# ---------------------------------------------------------------------------
use_cases:
slot_uri: schema:usageInfo
description: |
Application scenarios and use cases for this class.
Documents how this type is used in practice.
**Migrated from**: `**Use Cases**:` and `**USE CASES**:` sections.
range: string
multivalued: true
inlined_as_list: true
annotations:
source_section: "**Use Cases**:"
heritage_sector_usage:
slot_uri: hc:heritageSectorUsage
description: |
How this class/technology is used in the heritage sector.
Documents adoption patterns, best practices, and sector conventions.
**Migrated from**: `**Heritage Sector Usage**:` and `**Heritage use cases**:` sections.
range: string
annotations:
source_section: "**Heritage Sector Usage**:"
# ---------------------------------------------------------------------------
# Technical Characteristics (for platform/protocol classes)
# ---------------------------------------------------------------------------
characteristics:
slot_uri: dcterms:description
description: |
Key characteristics and features of this class.
Documents defining traits and capabilities.
**Migrated from**: `**Characteristics**:` and `**CHARACTERISTICS**:` sections.
range: string
multivalued: true
inlined_as_list: true
annotations:
source_section: "**Characteristics**:"
purpose:
slot_uri: schema:description
description: |
Primary purpose and function of this class.
Documents the main reason this type exists.
**Migrated from**: `**Purpose**:` and `**PURPOSE**:` sections.
range: string
annotations:
source_section: "**Purpose**:"

View file

@ -7,33 +7,39 @@ prefixes:
org: http://www.w3.org/ns/org#
owl: http://www.w3.org/2002/07/owl#
imports:
- linkml:types
- linkml:types
slots:
encompasses:
slot_uri: org:hasSubOrganization
description: "Custodians that are encompassed, governed, or coordinated by this body.\n\n**W3C ORG Alignment**:\n\nProperty:\
\ `org:hasSubOrganization`\n- Domain: org:Organization (EncompassingBody)\n- Range: org:Organization (Custodian)\n-\
\ Definition: \"Represents hierarchical containment of Organizations\"\n\n**INVERSE PROPERTY**:\n- **Inverse**: `encompassing_body`\
\ (org:subOrganizationOf)\n- Pattern: If Custodian encompassing_body Body, then Body encompasses Custodian\n\n**Three\
\ Relationship Types**:\n1. **Umbrella** - Legal parent hierarchy (permanent)\n - Ministry encompasses National Archives,\
\ Royal Library\n2. **Network** - Service provision (temporary, centralized)\n - De Ree Archive Hosting encompasses\
\ member archives\n3. **Consortium** - Mutual assistance (temporary, peer-to-peer)\n - Heritage Network encompasses\
\ participating museums\n\n**Example**:\n```yaml\nEncompassingBody:\n organization_name: \"Ministerie van OCW\"\n \
\ organization_type: UMBRELLA\n encompasses:\n - \"https://nde.nl/ontology/hc/nl-na\" # National Archives\n \
\ - \"https://nde.nl/ontology/hc/nl-kb\" # Royal Library\n - \"https://nde.nl/ontology/hc/nl-rmn\" # Cultural\
\ Heritage Agency\n```\n\n**Navigation**:\n- From body: Find all encompassed custodians (encompasses)\n- From custodian:\
\ Find encompassing bodies (encompassing_body)\n"
description: "Custodians that are encompassed, governed, or coordinated by this body.\n\n**Three Relationship Types**:\n\
1. **Umbrella** - Legal parent hierarchy (permanent)\n - Ministry encompasses National Archives, Royal Library\n2.\
\ **Network** - Service provision (temporary, centralized)\n - De Ree Archive Hosting encompasses member archives\n\
3. **Consortium** - Mutual assistance (temporary, peer-to-peer)\n - Heritage Network encompasses participating museums"
range: Custodian
multivalued: true
exact_mappings:
- org:hasSubOrganization
- org:hasSubOrganization
related_mappings:
- schema:subOrganization
- rico:includesOrIncluded
- schema:containsPlace
- schema:subOrganization
- rico:includesOrIncluded
- schema:containsPlace
comments:
- Inverse of encompassing_body (org:subOrganizationOf)
- Links governance body to custodians it oversees
- Creates owl:inverseOf axiom in RDF output
- Inverse of encompassing_body (org:subOrganizationOf)
- Links governance body to custodians it oversees
- Creates owl:inverseOf axiom in RDF output
- 'Inverse: `encompassing_body` (org:subOrganizationOf) | Pattern: If Custodian encompassing_body Body, then Body encompasses
Custodian'
- 'Navigation: From body: Find all encompassed custodians (encompasses) | From custodian: Find encompassing bodies (encompassing_body)'
close_mappings:
- dcterms:hasPart
- dcterms:hasPart
annotations:
inverse_slot: encompassing_body
examples:
- value: |
EncompassingBody:
organization_name: "Ministerie van OCW"
organization_type: UMBRELLA
encompasses:
\ \ - "https://nde.nl/ontology/hc/nl-na" # National Archives
- "https://nde.nl/ontology/h...
description: Usage example

View file

@ -50,10 +50,10 @@ slots:
- schema:parentOrganization
- schema:memberOf
examples:
- value:
- id: https://nde.nl/ontology/hc/encompassing-body/umbrella/nl-ministry-ocw
organization_name: Ministerie van OCW
organization_type: UMBRELLA
description: Ministry as umbrella organization
- value: |
- id: https://nde.nl/ontology/hc/encompassing-body/umbrella/nl-ministry-ocw
organization_name: Ministerie van OCW
organization_type: UMBRELLA
description: Ministry as umbrella organization
broad_mappings:
- org:Organization

View file

@ -7,7 +7,7 @@ prefixes:
dcterms: http://purl.org/dc/terms/
edm: http://www.europeana.eu/schemas/edm/
imports:
- linkml:types
- linkml:types
slots:
exposed_via_portal:
slot_uri: schema:isPartOf
@ -44,23 +44,14 @@ slots:
Track only DIRECT portal exposure; portal-to-portal relationships
are captured on WebPortal.aggregated_by and WebPortal.aggregates_from.
**Ontology Alignment**:
- Schema.org: `schema:isPartOf` - collection is part of portal aggregation
- EDM: Related to `edm:aggregatedCHO` concept
'
are captured on WebPortal.aggregated_by and WebPortal.aggregates_from.'
range: WebPortal
multivalued: true
inlined_as_list: true
examples:
- value: https://nde.nl/ontology/hc/portal/nl/archieven-nl
description: Collection exposed through Archieven.nl
- value: https://nde.nl/ontology/hc/portal/eu/europeana
description: Collection exposed through Europeana
- value: https://nde.nl/ontology/hc/portal/nl/archieven-nl
description: Collection exposed through Archieven.nl
- value: https://nde.nl/ontology/hc/portal/eu/europeana
description: Collection exposed through Europeana
broad_mappings:
- schema:url
- schema:url

View file

@ -8,28 +8,36 @@ prefixes:
edm: http://www.europeana.eu/schemas/edm/
owl: http://www.w3.org/2002/07/owl#
imports:
- linkml:types
- linkml:types
slots:
exposes_collections:
slot_uri: schema:hasPart
description: "Collections whose metadata is exposed through this web portal.\n\n**RELATIONSHIP**: WebPortal → CustodianCollection\n\
\nThis is the inverse of `exposed_via_portal`, allowing navigation\nfrom a portal to all collections it aggregates.\n\
\n**INVERSE PROPERTY**:\n- **Inverse**: `exposed_via_portal` (schema:isPartOf)\n- Pattern: If Portal exposesCollections\
\ Collection, then Collection exposed_via_portal Portal\n\n**Example**:\n```yaml\nWebPortal:\n portal_name: \"Europeana\"\
\n exposes_collections:\n - \"https://nde.nl/ontology/hc/collection/nl/rm-paintings\"\n - \"https://nde.nl/ontology/hc/collection/fr/louvre-sculptures\"\
\n```\n\n**Navigation**:\n- From portal: Find all exposed collections (exposes_collections)\n- From collection: Find\
\ exposing portals (exposed_via_portal)\n\n**Ontology Alignment**:\n- Schema.org: `schema:hasPart` - inverse of isPartOf\n\
- EDM: Related to `edm:aggregatedCHO` concept\n"
\nThis is the inverse of `exposed_via_portal`, allowing navigation\nfrom a portal to all collections it aggregates."
range: CustodianCollection
multivalued: true
exact_mappings:
- schema:hasPart
- schema:hasPart
related_mappings:
- edm:aggregatedCHO
- dcterms:hasPart
- edm:aggregatedCHO
- dcterms:hasPart
comments:
- Inverse of exposed_via_portal (schema:isPartOf)
- Allows finding all collections aggregated by a portal
- Creates owl:inverseOf axiom in RDF output
- Inverse of exposed_via_portal (schema:isPartOf)
- Allows finding all collections aggregated by a portal
- Creates owl:inverseOf axiom in RDF output
- 'Inverse: `exposed_via_portal` (schema:isPartOf) | Pattern: If Portal exposesCollections Collection, then Collection
exposed_via_portal Portal'
- 'Navigation: From portal: Find all exposed collections (exposes_collections) | From collection: Find exposing portals
(exposed_via_portal)'
close_mappings:
- schema:collection
- schema:collection
annotations:
inverse_slot: exposed_via_portal
examples:
- value: |
WebPortal:
portal_name: "Europeana"
exposes_collections:
- "https://nde.nl/ontology/hc/collection/nl/rm-paintings"\
- "https://nde.nl/ontology/hc/collection/fr/louvre-sculptures"
description: Usage example

View file

@ -7,24 +7,29 @@ prefixes:
hc: https://nde.nl/ontology/hc/
prov: http://www.w3.org/ns/prov#
imports:
- linkml:types
- ../classes/ExtractionMetadata
- linkml:types
- ../classes/ExtractionMetadata
slots:
extraction_metadata:
slot_uri: prov:wasGeneratedBy
description: "Provenance metadata for how this observation/record was extracted.\n\nRecords the extraction activity including:\n\
- source_file: Path to input data source\n- extraction_date: When extraction occurred\n- extraction_method: Tool/API\
\ used (exa, firecrawl, manual, etc.)\n- extraction_agent: AI agent that performed extraction\n- cost_usd: API cost\
\ for the extraction\n\n**PROV-O Alignment**:\n- This slot represents prov:wasGeneratedBy relationship\n- Links the\
\ observation (prov:Entity) to the extraction (prov:Activity)\n\n**Use Cases**:\n- PersonObservation: Track how staff\
\ data was extracted\n- WebObservation: Track web scraping provenance\n- CustodianObservation: Track custodian data\
\ extraction\n- LinkedInProfile: Track LinkedIn profile extraction\n- ConnectionNetwork: Track connection list extraction\n\
\n**Example**:\n```yaml\nextraction_metadata:\n source_file: data/custodian/person/affiliated/parsed/rijksmuseum_staff.json\n\
\ extraction_date: \"2025-12-12T22:00:00Z\"\n extraction_method: exa_crawling_exa\n extraction_agent: claude-opus-4.5\n\
\ cost_usd: 0.001\n```\n\n**See Also**: \n- ExtractionMetadata class for full field definitions\n- AGENTS.md Rule 20\
\ for required provenance fields\n"
\ for the extraction\n\n**Use Cases**:\n- PersonObservation: Track how staff data was extracted\n- WebObservation: Track\
\ web scraping provenance\n- CustodianObservation: Track custodian data extraction\n- LinkedInProfile: Track LinkedIn\
\ profile extraction\n- ConnectionNetwork: Track connection list extraction"
range: ExtractionMetadata
inlined: true
required: false
close_mappings:
- prov:Entity
- prov:Entity
comments:
- 'See: ExtractionMetadata class for full field definitions | AGENTS.md Rule 20 for required provenance fields'
examples:
- value: |
extraction_metadata:
source_file: data/custodian/person/affiliated/parsed/rijksmuseum_staff.json
extraction_date:\ \ "2025-12-12T22:00:00Z"
extraction_method: exa_crawling_exa
extraction_agent: c...
description: Usage example

View file

@ -8,26 +8,34 @@ prefixes:
schema: http://schema.org/
owl: http://www.w3.org/2002/07/owl#
imports:
- linkml:types
- linkml:types
slots:
feeds_portal:
slot_uri: hc:feeds_portal
description: "Web portals that receive data from this collection management system.\n\n**RELATIONSHIP**: CMS → WebPortal\
\ (aggregation)\n\nThis is the inverse of `portal_data_sources`, allowing navigation\nfrom a CMS to all portals it feeds\
\ data to.\n\n**INVERSE PROPERTY**:\n- **Inverse**: `portal_data_sources` (edm:dataProvider)\n- Pattern: If CMS feedsPortal\
\ Portal, then Portal portal_data_sources CMS\n\n**Example**:\n```yaml\nCollectionManagementSystem:\n cms_name: \"\
MAIS-Flexis at Gelders Archief\"\n feeds_portal:\n - \"https://nde.nl/ontology/hc/portal/nl/archieven-nl\"\n \
\ - \"https://nde.nl/ontology/hc/portal/eu/archives-portal-europe\"\n```\n\n**Data Flow**:\n- CMS exports metadata →\
\ Portal aggregates → Users discover\n- Multiple CMSs feed a single portal\n- Single CMS may feed multiple portals\n\
\n**Navigation**:\n- From CMS: Find all portals receiving data (feeds_portal)\n- From portal: Find all CMS data sources\
\ (portal_data_sources)\n"
\ data to.\n\n**Data Flow**:\n- CMS exports metadata → Portal aggregates → Users discover\n- Multiple CMSs feed a single\
\ portal\n- Single CMS may feed multiple portals"
range: WebPortal
multivalued: true
exact_mappings:
- edm:provider
- edm:provider
comments:
- Inverse of portal_data_sources (edm:dataProvider)
- Tracks which portals a CMS deployment sends data to
- Creates owl:inverseOf axiom in RDF output
- Inverse of portal_data_sources (edm:dataProvider)
- Tracks which portals a CMS deployment sends data to
- Creates owl:inverseOf axiom in RDF output
- 'Inverse: `portal_data_sources` (edm:dataProvider) | Pattern: If CMS feedsPortal Portal, then Portal portal_data_sources
CMS'
- 'Navigation: From CMS: Find all portals receiving data (feeds_portal) | From portal: Find all CMS data sources (portal_data_sources)'
broad_mappings:
- schema:url
- schema:url
annotations:
inverse_slot: portal_data_sources
examples:
- value: |
CollectionManagementSystem:
cms_name: "MAIS-Flexis at Gelders Archief"
feeds_portal:
- "https://nde.nl/ontology/hc/portal/nl/archieven-nl"\
- "https://nde.nl/ontology/hc/portal/eu/archives-...
description: Usage example

View file

@ -18,26 +18,14 @@ imports:
slots:
generates:
slot_uri: prov:generated
description: |
description: |-
Entities generated by this reconstruction activity.
**PROV-O Alignment**:
Property: `prov:generated`
- Domain: prov:Activity (ReconstructionActivity)
- Range: prov:Entity (ReconstructedEntity and subclasses)
- Definition: "Generation is the completion of production of a new entity
by an activity."
**RDFS Compliance**:
- Domain: ReconstructionActivity
- Range: ReconstructedEntity (abstract base class for all generated entities)
- Inverse: was_generated_by
**INVERSE PROPERTY**:
- **Inverse**: `was_generated_by` (prov:wasGeneratedBy)
- Pattern: If Entity wasGeneratedBy Activity, then Activity generates Entity
**Reconstruction Outputs**:
A single ReconstructionActivity may generate multiple aspect entities
(all subclasses of ReconstructedEntity):
@ -47,28 +35,28 @@ slots:
- CustodianCollection (collection metadata)
- DigitalPlatform (digital infrastructure)
- And other reconstructed aspects...
**Example**:
```yaml
ReconstructionActivity:
activity_type: ISIL_REGISTRATION
started_at_time: "2024-01-15T00:00:00Z"
generates:
- "https://nde.nl/ontology/hc/legal-status/nl-am-rm"
- "https://nde.nl/ontology/hc/name/rijksmuseum"
```
**Navigation**:
- From activity: Find all generated entities (generates)
- From entity: Find generating activity (was_generated_by)
range: ReconstructedEntity
multivalued: true
exact_mappings:
- prov:generated
comments:
- "Inverse of was_generated_by (prov:wasGeneratedBy)"
- "Links activity to all entities it produced"
- "Creates owl:inverseOf axiom in RDF output"
- "Range is ReconstructedEntity abstract class for RDFS compliance"
- 'Inverse: `was_generated_by` (prov:wasGeneratedBy) | Pattern: If Entity wasGeneratedBy Activity, then Activity generates
Entity'
- 'Navigation: From activity: Find all generated entities (generates) | From entity: Find generating activity (was_generated_by)'
annotations:
inverse_slot: was_generated_by
examples:
- value: |
ReconstructionActivity:
activity_type: ISIL_REGISTRATION
started_at_time: "2024-01-15T00:00:00Z"
\ \ generates:
- "https://nde.nl/ontology/hc/legal-status/nl-am-rm"
- "https://nde.nl/ontolog...
description: Usage example

View file

@ -0,0 +1,15 @@
id: https://nde.nl/ontology/hc/slot/governance_authority
name: governance_authority
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: https://schema.org/
skos: http://www.w3.org/2004/02/skos/core#
rico: https://www.ica.org/standards/RiC/ontology#
rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
slots:
governance_authority:
slot_uri: schema:parentOrganization
description: Authority or body responsible for governance.
range: string
required: false

View file

@ -6,27 +6,27 @@ prefixes:
crm: http://www.cidoc-crm.org/cidoc-crm/
owl: http://www.w3.org/2002/07/owl#
imports:
- linkml:types
- linkml:types
slots:
has_collection:
slot_uri: crm:P46_is_composed_of
description: "Heritage collection(s) associated with this custodian.\n\n**CIDOC-CRM Alignment**:\n\nProperty: `crm:P46_is_composed_of`\n\
- Domain: E18_Physical_Thing (Custodian conceptually)\n- Range: E18_Physical_Thing (CustodianCollection)\n- Definition:\
\ \"This property associates an instance of E18 Physical Thing \n with another instance of E18 Physical Thing that\
\ forms a component of it.\"\n\n**INVERSE PROPERTY**:\n- **Inverse**: `collection_of` (crm:P46i_forms_part_of)\n- Pattern:\
\ If Custodian hasCollection Collection, then Collection collectionOf Custodian\n\nThis property enables metonymic references:\
\ when people refer to a custodian,\nthey often mean its collection. CustodianCollection makes this explicit.\n\n**Examples**:\n\
description: "Heritage collection(s) associated with this custodian.\n\nThis property enables metonymic references: when\
\ people refer to a custodian,\nthey often mean its collection. CustodianCollection makes this explicit.\n\n**Examples**:\n\
- \"The Rijksmuseum has a Rembrandt\" = Collection aspect contains artwork\n- \"The Archives holds parish records\"\
\ = Collection aspect includes documents\n"
\ = Collection aspect includes documents"
range: CustodianCollection
multivalued: true
inlined_as_list: true
exact_mappings:
- crm:P46_is_composed_of
- crm:P46_is_composed_of
related_mappings:
- rico:includesOrIncluded
- schema:hasPart
- rdf:type
- rico:includesOrIncluded
- schema:hasPart
- rdf:type
comments:
- Inverse of collection_of (crm:P46i_forms_part_of)
- Creates owl:inverseOf axiom in RDF output
- Inverse of collection_of (crm:P46i_forms_part_of)
- Creates owl:inverseOf axiom in RDF output
- 'Inverse: `collection_of` (crm:P46i_forms_part_of) | Pattern: If Custodian hasCollection Collection, then Collection
collectionOf Custodian'
annotations:
inverse_slot: collection_of

View file

@ -7,27 +7,39 @@ prefixes:
prov: http://www.w3.org/ns/prov#
owl: http://www.w3.org/2002/07/owl#
imports:
- linkml:types
- linkml:types
slots:
has_derived_observation:
slot_uri: prov:hadDerivation
description: "Observations that were derived from (reference) this legal status entity.\n\n**INVERSE PROPERTY**:\n- **Inverse**:\
\ `derived_from_entity`\n- Pattern: If Observation derived_from_entity LegalStatus, then LegalStatus has_derived_observation\
\ Observation\n\n**Provenance semantics** (PROV-O):\n- `prov:wasDerivedFrom` (derived_from_entity): Observation → LegalStatus\n\
- `prov:hadDerivation` (this slot): LegalStatus → Observation\n\n**Example**:\n```yaml\nCustodianLegalStatus:\n legal_name:\
\ \"Stichting Rijksmuseum\"\n has_derived_observation:\n - \"https://nde.nl/ontology/hc/observation/rm-obs-2024-001\"\
\n - \"https://nde.nl/ontology/hc/observation/rm-obs-2024-002\"\n```\n\n**Navigation**:\n- From legal status: Find\
\ all observations that reference it (has_derived_observation)\n- From observation: Find formal entity it references\
\ (derived_from_entity)\n\n**Use case**: Track which source observations led to a legal status entity being\nidentified\
\ or updated. Enables provenance chain traversal in both directions.\n"
description: |
Observations that were derived from (reference) this legal status entity.
**Provenance semantics** (PROV-O):
- `prov:wasDerivedFrom` (derived_from_entity): Observation → LegalStatus
- `prov:hadDerivation` (this slot): LegalStatus → Observation
**Use case**: Track which source observations led to a legal status entity being
identified or updated. Enables provenance chain traversal in both directions.
range: CustodianObservation
multivalued: true
comments:
- Inverse of derived_from_entity
- Links legal status back to observations that reference it
- Creates owl:inverseOf axiom in RDF output
- 'PROV-O pattern: prov:hadDerivation is inverse of prov:wasDerivedFrom'
- Inverse of derived_from_entity
- Links legal status back to observations that reference it
- Creates owl:inverseOf axiom in RDF output
- "PROV-O pattern: prov:hadDerivation is inverse of prov:wasDerivedFrom"
- "Inverse: derived_from_entity"
- "Navigation: From legal status find all observations that reference it"
related_mappings:
- rdf:type
- rdf:type
broad_mappings:
- prov:Entity
- prov:Entity
annotations:
inverse_slot: derived_from_entity
examples:
- value: |
CustodianLegalStatus:
legal_name: Stichting Rijksmuseum
has_derived_observation:
- https://nde.nl/ontology/hc/observation/rm-obs-2024-001
- https://nde.nl/ontology/hc/observation/rm-obs-2024-002
description: Usage example

View file

@ -8,31 +8,36 @@ prefixes:
foaf: http://xmlns.com/foaf/0.1/
owl: http://www.w3.org/2002/07/owl#
imports:
- linkml:types
- linkml:types
slots:
has_member:
slot_uri: org:hasMember
description: "Custodians that are members of this encompassing body (network, consortium,\numbrella organization).\n\n\
**W3C ORG Alignment**:\n\nProperty: `org:hasMember`\n- Domain: org:Organization (EncompassingBody)\n- Range: foaf:Agent\
\ (Custodian)\n- Definition: \"Indicates an Agent who is a member of the Organization \n with no indication of the\
\ nature of that membership.\"\n- Equivalent to: foaf:member\n\n**INVERSE PROPERTY**:\n- **Inverse**: `is_member_of`\
\ (org:memberOf)\n- Pattern: If Network hasMember Custodian, then Custodian memberOf Network\n\n**Example**:\n```yaml\n\
EncompassingBody:\n organization_name: \"Netwerk Digitaal Erfgoed\"\n organization_type: \"NETWORK\"\n has_member:\n\
\ - \"https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804\" # Rijksmuseum\n - \"https://nde.nl/ontology/hc/nl-na\"\
\ # National Archives\n - \"https://nde.nl/ontology/hc/nl-kb\" # Royal Library\n```\n\n**Navigation**:\n- From\
\ network: Find all member custodians (has_member)\n- From custodian: Find network memberships (is_member_of)\n\n**Membership\
\ Types**:\n\nMembers can have different participation levels:\n- Full members: Voting rights, full service access\n\
- Associate members: Limited participation\n- Observer status: Information sharing only\n\nFor detailed membership modeling,\
\ use Membership class (future extension).\n"
**Membership Types**:\n\nMembers can have different participation levels:\n- Full members: Voting rights, full service\
\ access\n- Associate members: Limited participation\n- Observer status: Information sharing only\n\nFor detailed membership\
\ modeling, use Membership class (future extension)."
range: Custodian
multivalued: true
exact_mappings:
- org:hasMember
- foaf:member
- org:hasMember
- foaf:member
related_mappings:
- schema:member
- rdf:type
- schema:member
- rdf:type
comments:
- Inverse of is_member_of (org:memberOf)
- Equivalent to foaf:member
- Creates owl:inverseOf axiom in RDF output
- Inverse of is_member_of (org:memberOf)
- Equivalent to foaf:member
- Creates owl:inverseOf axiom in RDF output
- 'Inverse: `is_member_of` (org:memberOf) | Pattern: If Network hasMember Custodian, then Custodian memberOf Network'
- 'Navigation: From network: Find all member custodians (has_member) | From custodian: Find network memberships (is_member_of)'
annotations:
inverse_slot: is_member_of
examples:
- value: |
EncompassingBody:
organization_name: "Netwerk Digitaal Erfgoed"
organization_type: "NETWORK"
\ \ has_member:
- "https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804" # Rijksmuseum
- "https://n...
description: Usage example

View file

@ -7,27 +7,35 @@ prefixes:
dcterms: http://purl.org/dc/terms/
owl: http://www.w3.org/2002/07/owl#
imports:
- linkml:types
- linkml:types
slots:
has_observation:
slot_uri: dcterms:isReferencedBy
description: "Observations that refer to this Custodian hub.\n\n**Hub Architecture Pattern**:\n\nThe Custodian is a minimal\
\ hub entity. Multiple observations from\ndifferent sources can be linked to it, each capturing evidence from\na particular\
\ context.\n\n**INVERSE PROPERTY**:\n- **Inverse**: `refers_to_custodian` (dcterms:references)\n- Pattern: If Observation\
\ refers_to_custodian Custodian, then Custodian has_observation Observation\n\n**Example**:\n```yaml\nCustodian:\n \
\ hc_id: \"https://nde.nl/ontology/hc/nl-nh-ams-m-rm\"\n has_observation:\n - \"https://nde.nl/ontology/hc/observation/isil-registry-2024\"\
\n - \"https://nde.nl/ontology/hc/observation/wikidata-q190804\"\n - \"https://nde.nl/ontology/hc/observation/website-scrape-2025\"\
\n```\n\n**Navigation**:\n- From custodian: Find all observations (has_observation)\n- From observation: Find custodian\
\ hub (refers_to_custodian)\n"
\ context."
range: CustodianObservation
multivalued: true
exact_mappings:
- dcterms:isReferencedBy
- dcterms:isReferencedBy
comments:
- Inverse of refers_to_custodian (dcterms:references)
- Links custodian hub to all its evidence/observations
- Creates owl:inverseOf axiom in RDF output
- Inverse of refers_to_custodian (dcterms:references)
- Links custodian hub to all its evidence/observations
- Creates owl:inverseOf axiom in RDF output
- 'Inverse: `refers_to_custodian` (dcterms:references) | Pattern: If Observation refers_to_custodian Custodian, then
Custodian has_observation Observation'
- 'Navigation: From custodian: Find all observations (has_observation) | From observation: Find custodian hub (refers_to_custodian)'
related_mappings:
- rdf:type
- rdf:type
broad_mappings:
- prov:Entity
- prov:Entity
annotations:
inverse_slot: refers_to_custodian
examples:
- value: |
Custodian:
hc_id: "https://nde.nl/ontology/hc/nl-nh-ams-m-rm"
has_observation:
- "https://nde.nl/ontology/hc/observation/isil-registry-2024"\
- "https://nde.nl/ontology/hc/observation/wikid...
description: Usage example

View file

@ -9,35 +9,40 @@ prefixes:
owl: http://www.w3.org/2002/07/owl#
default_prefix: hc
imports:
- linkml:types
- ../metadata
- ../classes/PersonObservation
- linkml:types
- ../metadata
- ../classes/PersonObservation
slots:
has_person_observation:
slot_uri: pico:hasObservation
description: "PersonObservations that refer to this Person hub.\n\n**Hub Architecture Pattern**:\n\nThe Person is a minimal\
\ hub entity containing just:\n- person_id: Persistent identifier\n- preferred_name: Canonical display name\n\nMultiple\
\ observations from different sources attach to this hub,\neach capturing evidence from a particular context (LinkedIn,\
\ annual report,\nstaff directory, etc.).\n\n**INVERSE PROPERTY**:\n- **Inverse**: `refers_to_person` (pico:observationOf)\n\
- Pattern: If PersonObservation refers_to_person Person, then Person has_person_observation PersonObservation\n\n**Example**:\n\
```yaml\nPerson:\n person_id: \"https://nde.nl/ontology/hc/person/taco-dibbits\"\n preferred_name: \"Taco Dibbits\"\
\n has_person_observation:\n - \"https://nde.nl/ontology/hc/observation/linkedin-taco-dibbits-2025\"\n - \"https://nde.nl/ontology/hc/observation/annual-report-2023-td\"\
\n - \"https://nde.nl/ontology/hc/observation/staff-directory-2024-td\"\n```\n\n**Navigation**:\n- From person: Find\
\ all observations (has_person_observation)\n- From observation: Find person hub (refers_to_person)\n\n**RELATIONSHIP\
\ TO has_observation (for Custodian)**:\n\n| Slot | On Class | Range | Purpose |\n|------|----------|-------|---------|\n\
| has_observation | Custodian | CustodianObservation | Link org hub to org observations |\n| has_person_observation\
\ | Person | PersonObservation | Link person hub to person observations |\n"
\ annual report,\nstaff directory, etc.)."
range: PersonObservation
multivalued: true
exact_mappings:
- pico:hasObservation
- pico:hasObservation
close_mappings:
- dcterms:isReferencedBy
- dcterms:isReferencedBy
comments:
- Conceptual inverse of refers_to_person (pico:observationOf)
- Links person hub to all its evidence/observations
- Parallel to has_observation slot on Custodian
- Conceptual inverse of refers_to_person (pico:observationOf)
- Links person hub to all its evidence/observations
- Parallel to has_observation slot on Custodian
- 'Inverse: `refers_to_person` (pico:observationOf) | Pattern: If PersonObservation refers_to_person Person, then Person
has_person_observation PersonObservation'
- 'Navigation: From person: Find all observations (has_person_observation) | From observation: Find person hub (refers_to_person)'
related_mappings:
- rdf:type
- rdf:type
broad_mappings:
- prov:Entity
- prov:Entity
annotations:
inverse_slot: refers_to_person
examples:
- value: |
Person:
person_id: "https://nde.nl/ontology/hc/person/taco-dibbits"
preferred_name: "Taco Dibbits"\
has_person_observation:
- "https://nde.nl/ontology/hc/observation/linkedin-taco-dibbits-202...
description: Usage example

View file

@ -7,27 +7,33 @@ prefixes:
org: http://www.w3.org/ns/org#
owl: http://www.w3.org/2002/07/owl#
imports:
- linkml:types
- linkml:types
slots:
has_suborganization:
slot_uri: org:hasSubOrganization
description: "Child organizations contained within this custodian's organizational hierarchy.\n\n**W3C ORG Alignment**:\n\
\nProperty: `org:hasSubOrganization`\n- Domain: org:Organization\n- Range: org:Organization\n- Definition: \"Represents\
\ hierarchical containment of Organizations or \n Organizational Units; indicates an Organization which is a sub-part\
\ \n or child of this Organization.\"\n\n**INVERSE PROPERTY**:\n- **Inverse**: `parent_custodian` (org:subOrganizationOf)\n\
- Pattern: If A hasSubOrganization B, then B subOrganizationOf A\n\n**Example**:\n```yaml\nCustodianLegalStatus:\n \
\ legal_name: \"Ministry of Education, Culture and Science\"\n has_suborganization:\n - \"https://nde.nl/ontology/hc/nl-na\"\
\ # National Archives\n - \"https://nde.nl/ontology/hc/nl-kb\" # Royal Library\n```\n\n**Navigation**:\n- From\
\ parent: Find all subordinate organizations\n- From child: Use parent_custodian to find parent organization\n"
description: "Child organizations contained within this custodian's organizational hierarchy."
range: CustodianLegalStatus
multivalued: true
exact_mappings:
- org:hasSubOrganization
- org:hasSubOrganization
related_mappings:
- crm:P148_has_component
- rico:includesOrIncluded
- rdf:type
- crm:P148_has_component
- rico:includesOrIncluded
- rdf:type
comments:
- Inverse of parent_custodian (org:subOrganizationOf)
- Both directions should be maintained for query efficiency
- Creates owl:inverseOf axiom in RDF output
- Inverse of parent_custodian (org:subOrganizationOf)
- Both directions should be maintained for query efficiency
- Creates owl:inverseOf axiom in RDF output
- 'Inverse: `parent_custodian` (org:subOrganizationOf) | Pattern: If A hasSubOrganization B, then B subOrganizationOf
A'
- 'Navigation: From parent: Find all subordinate organizations | From child: Use parent_custodian to find parent organization'
annotations:
inverse_slot: parent_custodian
examples:
- value: |
CustodianLegalStatus:
legal_name: "Ministry of Education, Culture and Science"
has_suborganization:
\ \ - "https://nde.nl/ontology/hc/nl-na" # National Archives
- "https://nde.nl/ontology/hc/...
description: Usage example

View file

@ -7,28 +7,33 @@ prefixes:
org: http://www.w3.org/ns/org#
owl: http://www.w3.org/2002/07/owl#
imports:
- linkml:types
- linkml:types
slots:
has_unit:
slot_uri: org:hasUnit
description: "Organizational units (departments, divisions, teams) that are part of \nthis organizational structure.\n\
\n**W3C ORG Alignment**:\n\nProperty: `org:hasUnit`\n- Domain: org:FormalOrganization\n- Range: org:OrganizationalUnit\n\
- Definition: \"Indicates a unit which is part of this Organization, \n e.g. a Department within a larger FormalOrganization.\"\
\n\n**INVERSE PROPERTY**:\n- **Inverse**: `parent_unit` (org:unitOf)\n- Pattern: If A hasUnit B, then B unitOf A\n\n\
**Example**:\n```yaml\nOrganizationalStructure:\n unit_name: \"Collections Division\"\n has_unit:\n - unit_name:\
\ \"Paintings Department\"\n - unit_name: \"Prints and Drawings Department\"\n - unit_name: \"Applied Arts Department\"\
\n```\n\n**Hierarchical Navigation**:\n- Down: has_unit → child units\n- Up: parent_unit → parent unit\n\n**Relationship\
\ to managed_collections**:\n- `has_unit`: Structural containment (departments within divisions)\n- `managed_collections`:\
\ Functional responsibility (which collections a unit manages)\n"
\n**Hierarchical Navigation**:\n- Down: has_unit → child units\n- Up: parent_unit → parent unit"
range: OrganizationalStructure
multivalued: true
exact_mappings:
- org:hasUnit
- org:hasUnit
related_mappings:
- crm:P148_has_component
- rico:includesOrIncluded
- rdf:type
- crm:P148_has_component
- rico:includesOrIncluded
- rdf:type
comments:
- Inverse of parent_unit (org:unitOf)
- Enables top-down navigation of organizational hierarchy
- Creates owl:inverseOf axiom in RDF output
- Inverse of parent_unit (org:unitOf)
- Enables top-down navigation of organizational hierarchy
- Creates owl:inverseOf axiom in RDF output
- 'Inverse: `parent_unit` (org:unitOf) | Pattern: If A hasUnit B, then B unitOf A'
annotations:
inverse_slot: parent_unit
examples:
- value: |
OrganizationalStructure:
unit_name: "Collections Division"
has_unit:
- unit_name: "Paintings\ \ Department"
- unit_name: "Prints and Drawings Department"
- unit_name: "Applied Arts Depart...
description: Usage example

View file

@ -9,16 +9,13 @@ prefixes:
skos: http://www.w3.org/2004/02/skos/core#
default_prefix: hc
imports:
- linkml:types
- linkml:types
slots:
holds_record_set_types:
slot_uri: rico:isOrWasHolderOf
range: uriorcurie
multivalued: true
description: "Links a heritage custodian type to the record set types it typically holds.\n\n**RiC-O Alignment**:\nThis\
\ slot maps to `rico:isOrWasHolderOf` which \"Connects an Agent to a \nRecord Resource or Instantiation that the Agent\
\ holds or held.\"\n\n- Domain: Agent (including CorporateBody, which heritage custodians are)\n- Range: RecordResource\
\ or Instantiation (including RecordSet types)\n- Inverse: `rico:hasOrHadHolder`\n\n**Purpose**:\nReplaces free-text\
description: "Links a heritage custodian type to the record set types it typically holds.\n\n**Purpose**:\nReplaces free-text\
\ \"Scope\" descriptions in custodian type classes with \nstructured semantic links to defined RecordSetType classes.\n\
\n**Example** (AcademicArchive):\n```yaml\nholds_record_set_types:\n - hc:UniversityAdministrativeFonds\n - hc:StudentRecordSeries\n\
\ - hc:FacultyPaperCollection\n - hc:CampusDocumentationCollection\n```\n\nThis formally documents that academic archives\
@ -27,7 +24,7 @@ slots:
\ ephemera)\n\n**Dual-Class Pattern Integration**:\nThis slot bridges the custodian type (ArchiveOrganizationType subclass)\
\ \nwith its corresponding RecordSetType subclasses, completing the dual-class \npattern for heritage institutions.\n\
\n**Ontological Semantics**:\n- The custodian is the Agent (rico:CorporateBody)\n- The record set types are the RecordResource\
\ classifications\n- The relationship expresses custodial responsibility for these record types\n"
\ classifications\n- The relationship expresses custodial responsibility for these record types"
annotations:
custodian_types: '["*"]'
custodian_types_rationale: holds_record_set_types applies to all custodian types - used for linking any heritage institution
@ -39,18 +36,18 @@ slots:
rico_range: rico:RecordResource | rico:Instantiation
rico_cm_correspondence: RiC-R039 ('is or was holder of' relation)
examples:
- value:
- hc:UniversityAdministrativeFonds
- hc:StudentRecordSeries
- hc:FacultyPaperCollection
- hc:CampusDocumentationCollection
description: Academic archive holds these record set types
- value:
- hc:CouncilGovernanceFonds
- hc:CivilRegistrySeries
- hc:MunicipalAdministrationFonds
- hc:UrbanPlanningCollection
- hc:LocalHistoryCollection
description: Municipal archive holds these record set types
- value: |
- hc:UniversityAdministrativeFonds
- hc:StudentRecordSeries
- hc:FacultyPaperCollection
- hc:CampusDocumentationCollection
description: Academic archive holds these record set types
- value: |
- hc:CouncilGovernanceFonds
- hc:CivilRegistrySeries
- hc:MunicipalAdministrationFonds
- hc:UrbanPlanningCollection
- hc:LocalHistoryCollection
description: Municipal archive holds these record set types
close_mappings:
- rico:hasRecordSetType
- rico:hasRecordSetType

View file

@ -7,28 +7,36 @@ prefixes:
crm: http://www.cidoc-crm.org/cidoc-crm/
owl: http://www.w3.org/2002/07/owl#
imports:
- linkml:types
- linkml:types
slots:
identified_by:
slot_uri: crm:P1_is_identified_by
description: "Identifiers and appellations that identify this Custodian hub.\n\n**CIDOC-CRM Alignment**:\n\nProperty:\
\ `crm:P1_is_identified_by`\n- Domain: E1_CRM_Entity (Custodian)\n- Range: E41_Appellation (CustodianIdentifier, CustodianAppellation)\n\
- Definition: \"This property describes the naming or identification of \n any real-world item by a name or any other\
\ identifier.\"\n\n**INVERSE PROPERTY**:\n- **Inverse**: `identifies_custodian` (crm:P1i_identifies)\n- Pattern: If\
\ Identifier identifies_custodian Custodian, then Custodian identified_by Identifier\n\n**Example**:\n```yaml\nCustodian:\n\
\ hc_id: \"https://nde.nl/ontology/hc/nl-nh-ams-m-rm\"\n identified_by:\n - identifier_scheme: ISIL\n identifier_value:\
\ \"NL-AmRM\"\n - identifier_scheme: Wikidata\n identifier_value: \"Q190804\"\n```\n\n**Navigation**:\n- From\
\ custodian: Find all identifiers (identified_by)\n- From identifier: Find custodian (identifies_custodian)\n"
description: "Identifiers and appellations that identify this Custodian hub."
range: CustodianIdentifier
multivalued: true
exact_mappings:
- crm:P1_is_identified_by
- crm:P1_is_identified_by
related_mappings:
- schema:identifier
- dcterms:identifier
- schema:identifier
- dcterms:identifier
comments:
- Inverse of identifies_custodian (crm:P1i_identifies)
- Links custodian to all its identifying codes and names
- Creates owl:inverseOf axiom in RDF output
- Inverse of identifies_custodian (crm:P1i_identifies)
- Links custodian to all its identifying codes and names
- Creates owl:inverseOf axiom in RDF output
- 'Inverse: `identifies_custodian` (crm:P1i_identifies) | Pattern: If Identifier identifies_custodian Custodian, then
Custodian identified_by Identifier'
- 'Navigation: From custodian: Find all identifiers (identified_by) | From identifier: Find custodian (identifies_custodian)'
broad_mappings:
- prov:wasAttributedTo
- prov:wasAttributedTo
annotations:
inverse_slot: identifies_custodian
examples:
- value: |
Custodian:
hc_id: "https://nde.nl/ontology/hc/nl-nh-ams-m-rm"
identified_by:
- identifier_scheme:\ \ ISIL
identifier_value: "NL-AmRM"
- identifier_scheme: Wikidata
identifier_valu...
description: Usage example

Some files were not shown because too many files have changed in this diff Show more