# Project Class # Models projects and initiatives run by EncompassingBody organizations # # Created November 2025 to link: # - EncompassingBody.projects → Project[] (network runs projects) # - Custodian.participated_in_projects → Project[] (custodians participate) # # Key relationships: # EncompassingBody (NetworkOrganisation) --runs--> Project # Custodian --participated_in--> Project # Project --has_participating_custodians--> Custodian[] # # Example: NDE (NetworkOrganisation) runs "Versnellen 2024" project # in which Amsterdam Museum (Custodian) participates id: https://nde.nl/ontology/hc/class/Project name: Project title: Project Class prefixes: linkml: https://w3id.org/linkml/ hc: https://nde.nl/ontology/hc/ schema: http://schema.org/ dcterms: http://purl.org/dc/terms/ foaf: http://xmlns.com/foaf/0.1/ doap: http://usefulinc.com/ns/doap# prov: http://www.w3.org/ns/prov# org: http://www.w3.org/ns/org# skos: http://www.w3.org/2004/02/skos/core# imports: - linkml:types - ../enums/ProjectStatusEnum - ../slots/funding_source - ../slots/contact_email - ../slots/keywords - ../slots/documentation_url default_prefix: hc slots: project_id: identifier: true range: uriorcurie description: Unique identifier for this project project_name: range: string description: Human-readable project name project_short_name: range: string description: Short name or acronym for the project project_description: range: string description: Detailed description of the project project_status: range: ProjectStatusEnum description: Current lifecycle status of the project project_url: range: uri description: Official project website or landing page start_date: range: date description: Date project started or is scheduled to start end_date: range: date description: Date project ended or is scheduled to end # NOTE: funding_source imported from global slot ../slots/funding_source.yaml funding_amount: range: string description: Total funding amount (with currency) objectives: range: string multivalued: true description: List of project objectives deliverables: range: string multivalued: true description: Expected or achieved deliverables organizing_body: range: uriorcurie description: EncompassingBody running this project participating_custodians: range: uriorcurie multivalued: true description: Custodians participating in this project related_projects: range: uriorcurie multivalued: true description: Related or predecessor/successor projects # NOTE: documentation_url imported from global slot ../slots/documentation_url.yaml # NOTE: contact_email imported from global slot ../slots/contact_email.yaml # NOTE: keywords imported from global slot ../slots/keywords.yaml project_identifiers: range: uriorcurie multivalued: true description: External identifiers (Wikidata, DOI, etc.) funding_call: range: uriorcurie description: | CallForApplication that funded this project. Inverse of CallForApplication.funded_projects. classes: Project: class_uri: org:OrganizationalCollaboration description: | A time-limited initiative or program run by an EncompassingBody organization (typically a NetworkOrganisation) in which heritage Custodians participate. **PURPOSE**: Projects bridge the gap between: - **EncompassingBody** (organizations that coordinate heritage custodians) - **Custodian** (individual heritage institutions) A NetworkOrganisation like NDE (Netwerk Digitaal Erfgoed) runs multiple projects over time. Each project involves participation from member Custodians who contribute resources, expertise, or collections. **KEY RELATIONSHIPS**: ``` EncompassingBody (e.g., NDE) │ ├── projects ──→ Project (e.g., "Versnellen 2024") │ │ │ ├── participating_custodians ──→ Custodian[] │ │ │ └── funding_call ──→ CallForApplication │ │ │ └── funded_projects (inverse) │ └── member_custodians ──→ Custodian[] │ └── participated_in_projects ──→ Project[] ``` **BIDIRECTIONAL NAVIGATION**: - From EncompassingBody: `encompassing_body.projects` → all projects run by network - From Project: `project.participating_custodians` → all custodians in project - From Custodian: `custodian.participated_in_projects` → all projects custodian joined **PROJECT vs ORGANIZATIONAL CHANGE EVENT**: - **Project**: Time-limited initiative with defined goals, deliverables, funding - **OrganizationalChangeEvent**: Structural change in organization (merger, split, etc.) Projects may TRIGGER organizational change events but are distinct concepts: - "Digitization Partnership 2023" (Project) → restructuring of digitization teams (OrganizationalChangeEvent) **EXAMPLES**: 1. **NDE Versnellen 2024** - organizing_body: NDE (NetworkOrganisation) - participating_custodians: Amsterdam Museum, KB, Nationaal Archief, etc. - objectives: Accelerate digital heritage infrastructure adoption - project_url: https://netwerkdigitaalerfgoed.nl/versnellen-2024/ 2. **Europeana Aggregation Project** - organizing_body: Europeana Foundation (NetworkOrganisation) - participating_custodians: National museums across EU - objectives: Aggregate and standardize metadata for discovery 3. **OCLC Linked Data Initiative** - organizing_body: OCLC (Cooperative) - participating_custodians: Member libraries contributing authority data - objectives: Expand linked data resources for libraries **ONTOLOGY ALIGNMENT**: - **Schema.org**: `schema:Project` - "An enterprise (potentially combinding people, organizations, software, and physical resources) to accomplish a particular goal" - **DOAP**: `doap:Project` - Description of a Project (software-focused but extensible) - **PROV-O**: `prov:Activity` - Can model project as activity with agents - **Dublin Core**: `dcterms:relation` for project relationships **TEMPORAL DYNAMICS**: Projects have defined lifecycles tracked via `project_status`: - PROPOSED → APPROVED → IN_PROGRESS → COMPLETED - May be ON_HOLD (temporarily paused) or DISCONTINUED (terminated) - May be EXTENDED (continued beyond original end date) **PARTICIPATION PATTERNS**: Custodians participate in projects through various roles: - **Lead partner**: Primary responsibility, often receives main funding - **Consortium member**: Equal partnership with shared responsibilities - **Subcontractor**: Specific deliverables under contract - **Advisory role**: Guidance without direct deliverables - **Pilot site**: Testing/validation of project outputs These roles can be modeled via a ProjectParticipation class if needed (future extension). exact_mappings: - org:OrganizationalCollaboration - schema:Project - doap:Project close_mappings: - prov:Activity - schema:ResearchProject - schema:FundingScheme related_mappings: - org:Organization # Projects often have organizational structure - schema:Grant # Projects often funded by grants slots: - project_id - project_name - project_short_name - project_description - project_status - project_url - start_date - end_date - funding_source - funding_amount - objectives - deliverables - organizing_body - participating_custodians - related_projects - documentation_url - contact_email - keywords - project_identifiers - funding_call slot_usage: project_id: identifier: true required: true range: uriorcurie description: | Unique identifier for this project. Format: https://nde.nl/ontology/hc/project/{organizing-body-slug}/{project-slug} pattern: "^https://nde\\.nl/ontology/hc/project/[a-z0-9-]+/[a-z0-9-]+$" examples: - value: "https://nde.nl/ontology/hc/project/nde/versnellen-2024" description: "NDE Versnellen 2024 project" - value: "https://nde.nl/ontology/hc/project/europeana/aggregation-2023" description: "Europeana aggregation project" project_name: slot_uri: skos:prefLabel required: true range: string description: | Official name of the project. Should be human-readable and descriptive. examples: - value: "Versnellen 2024" description: "NDE acceleration program 2024" - value: "Digital Collections Integration Project" description: "Descriptive project name" project_short_name: slot_uri: skos:altLabel range: string description: | Short name or acronym for the project. Used in internal communications or brief references. examples: - value: "V2024" description: "Versnellen 2024 abbreviation" - value: "DCIP" description: "Digital Collections Integration Project acronym" project_description: slot_uri: dcterms:description required: true range: string description: | Detailed description of the project including: - Background and motivation - Approach and methodology - Expected impact and outcomes - Target audience or beneficiaries examples: - value: >- Versnellen 2024 is NDE's annual acceleration program supporting heritage institutions in adopting digital infrastructure. The program provides funding, technical support, and training to help museums, archives, and libraries implement sustainable digital preservation and access solutions. Participants receive customized guidance based on their digital maturity assessment. project_status: required: true range: ProjectStatusEnum description: | Current lifecycle status of the project. See ProjectStatusEnum for status values and transitions: - PROPOSED: Concept submitted, awaiting approval - APPROVED: Approved and funded, not yet started - IN_PROGRESS: Active work underway - ON_HOLD: Temporarily suspended - COMPLETED: Successfully finished - DISCONTINUED: Terminated before completion - EXTENDED: Continued beyond original timeline examples: - value: "IN_PROGRESS" description: "Project actively underway" - value: "COMPLETED" description: "Project finished successfully" project_url: slot_uri: foaf:homepage range: uri description: | Official project website or landing page. Should link to public project information. examples: - value: "https://netwerkdigitaalerfgoed.nl/versnellen-2024/" description: "NDE Versnellen project page" start_date: slot_uri: schema:startDate range: date description: | Date when the project started or is scheduled to start. For PROPOSED/APPROVED projects, this is the planned start date. examples: - value: "2024-01-01" description: "Project started January 2024" end_date: slot_uri: schema:endDate range: date description: | Date when the project ended or is scheduled to end. For EXTENDED projects, this is the revised end date. May be NULL for ongoing/multi-year programs. examples: - value: "2024-12-31" description: "Project ends December 2024" funding_source: range: string multivalued: true inlined_as_list: true description: | Sources of funding for the project. May include multiple funders for co-funded projects. examples: - value: "Ministry of OCW (Netherlands)" description: "Dutch ministry funding" - value: "Horizon Europe" description: "EU framework program funding" - value: "Member contributions" description: "Self-funded by participating institutions" funding_amount: range: string description: | Total funding amount including currency. Format: "{amount} {currency}" e.g., "500000 EUR" examples: - value: "2.5M EUR" description: "2.5 million euros" - value: "500000 USD" description: "Half million US dollars" objectives: slot_uri: dcterms:abstract range: string multivalued: true inlined_as_list: true description: | Specific, measurable objectives of the project. Should be concrete goals that can be evaluated at project end. **Ontology Note**: Uses `dcterms:abstract` as Schema.org does not have a `schema:goal` property. Alternative: could use custom `hc:objective` or PROV-O plan concepts. examples: - value: "Onboard 50 heritage institutions to NDE infrastructure" - value: "Create standardized metadata mappings for 10M records" - value: "Develop open source tools for digital preservation" deliverables: range: string multivalued: true inlined_as_list: true description: | Expected or achieved deliverables of the project. Tangible outputs that demonstrate project completion. examples: - value: "Technical implementation guide (published)" - value: "Training curriculum for digital preservation" - value: "Aggregated dataset of 5M heritage objects" - value: "Open source metadata normalization tool" organizing_body: slot_uri: schema:sponsor required: true range: uriorcurie description: | The EncompassingBody organization that runs this project. URI reference to EncompassingBody entity (avoids circular dependency). Format: https://nde.nl/ontology/hc/encompassing-body/{type}/{slug} **Inverse of EncompassingBody.projects**: - EncompassingBody → projects → Project[] - Project → organizing_body → EncompassingBody Typically a NetworkOrganisation or Consortium, but can be any EncompassingBody subclass. **Ontology Note**: Uses `schema:sponsor` - "A person or organization that supports a thing through a pledge, promise, or financial contribution." Domain includes Organization. `schema:organizer` was considered but its domain is restricted to Event, not Project. examples: - value: "https://nde.nl/ontology/hc/encompassing-body/network/nde" description: "NDE (Netwerk Digitaal Erfgoed)" - value: "https://nde.nl/ontology/hc/encompassing-body/cooperative/oclc" description: "OCLC cooperative" participating_custodians: slot_uri: org:hasMember range: uriorcurie multivalued: true inlined_as_list: true description: | Heritage custodians participating in this project. URI references to Custodian entities (avoids circular dependency). Format: https://nde.nl/ontology/hc/{abstracted-ghcid} **Inverse of Custodian.participated_in_projects**: - Project → participating_custodians → Custodian[] - Custodian → participated_in_projects → Project[] **Navigation Pattern**: From project, find all participating institutions. From custodian, find all projects they participated in. **Ontology Note**: Uses W3C ORG `org:hasMember` - "Indicates a person who is a member of the subject Organization." Since Project is modeled as an org:OrganizationalCollaboration (which is an Organization), this property is valid. Alternative was `schema:participant` but its domain is schema:Action, not Organization/Project. examples: - value: "https://nde.nl/ontology/hc/nl-nh-ams-m-am" description: "Amsterdam Museum" - value: "https://nde.nl/ontology/hc/nl-zh-haa-l-kb" description: "Koninklijke Bibliotheek" related_projects: slot_uri: dcterms:relation range: uriorcurie multivalued: true inlined_as_list: true description: | Related projects (predecessors, successors, or parallel initiatives). Use for: - Predecessor: Previous year's version (Versnellen 2023 → Versnellen 2024) - Successor: Next phase of multi-year program - Parallel: Related but independent initiatives URI references to other Project entities. examples: - value: "https://nde.nl/ontology/hc/project/nde/versnellen-2023" description: "Previous year's acceleration program" documentation_url: slot_uri: foaf:page range: uri description: | URL to project documentation (final reports, deliverables, lessons learned). May differ from project_url (public site vs documentation repository). examples: - value: "https://zenodo.org/record/12345678" description: "Final report on Zenodo" - value: "https://github.com/nde-project/versnellen-2024" description: "GitHub repository with deliverables" contact_email: slot_uri: schema:email range: string description: | Contact email for project inquiries. Should be functional mailbox, not personal email. examples: - value: "versnellen@netwerkdigitaalerfgoed.nl" keywords: slot_uri: schema:keywords range: string multivalued: true inlined_as_list: true description: | Keywords describing the project scope and topics. Used for discovery and classification. examples: - value: "digital preservation" - value: "metadata standardization" - value: "linked open data" - value: "IIIF" - value: "sustainable infrastructure" project_identifiers: slot_uri: dcterms:identifier range: uriorcurie multivalued: true inlined_as_list: true description: | External identifiers for this project. URI format: - Wikidata: http://www.wikidata.org/entity/Q12345 - DOI: https://doi.org/10.5281/zenodo.12345 - Grant number: urn:grant:horizon:123456 examples: - value: "http://www.wikidata.org/entity/Q123456789" description: "Wikidata entity for project" - value: "https://doi.org/10.5281/zenodo.12345678" description: "DOI for project deliverables" funding_call: slot_uri: schema:funding range: uriorcurie description: | The CallForApplication that funded this project. URI reference to CallForApplication entity. Format: https://nde.nl/ontology/hc/call/{issuing-org-slug}/{call-code} **Inverse of CallForApplication.funded_projects**: - Project → funding_call → CallForApplication - CallForApplication → funded_projects → Project[] **Schema.org Alignment**: Uses `schema:funding` - "A Grant that directly or indirectly provide funding or sponsorship for this item." This is the inverse of `schema:fundedItem` used by CallForApplication.funded_projects. **RELATIONSHIP MODEL**: ``` Project (e.g., "Heritage Digitization 2025") │ └── funding_call ──→ CallForApplication │ └── funded_projects ──→ Project[] (inverse) ``` **DISTINCTION FROM funding_source**: - `funding_source`: String description of funding sources (may include multiple funders, non-call sources like "member contributions") - `funding_call`: URI reference to specific CallForApplication Use both for comprehensive funding documentation: - `funding_call` for semantic, machine-navigable link - `funding_source` for human-readable description including all funders examples: - value: "https://nde.nl/ontology/hc/call/ec/horizon-cl2-2025-heritage-01" description: "Horizon Europe CL2 heritage call" - value: "https://nde.nl/ontology/hc/call/nlhf/medium-grants-2025" description: "National Lottery Heritage Fund call" comments: - "Project links EncompassingBody (organizer) to Custodian (participants)" - "Bidirectional navigation: organizing_body ↔ projects, participating_custodians ↔ participated_in_projects" - "Bidirectional link to CallForApplication via funding_call ↔ funded_projects" - "Distinct from OrganizationalChangeEvent (initiatives vs structural changes)" - "Lifecycle tracked via ProjectStatusEnum (PROPOSED through COMPLETED)" - "Example: NDE Versnellen program links NDE network to participating heritage institutions" see_also: - "https://schema.org/Project" - "http://usefulinc.com/ns/doap#Project" - "https://netwerkdigitaalerfgoed.nl/versnellen-2024/" examples: - value: project_id: "https://nde.nl/ontology/hc/project/nde/versnellen-2024" project_name: "Versnellen 2024" project_short_name: "V2024" project_description: | Versnellen 2024 is NDE's annual acceleration program supporting heritage institutions in adopting sustainable digital infrastructure. The program provides funding, technical expertise, and training to help museums, archives, and libraries implement digital preservation and access solutions aligned with NDE's infrastructure requirements. In 2024, the program focuses on: - Linked Data publication and consumption - IIIF implementation for image interoperability - Sustainable API development - Metadata quality improvement project_status: "IN_PROGRESS" project_url: "https://netwerkdigitaalerfgoed.nl/versnellen-2024/" start_date: "2024-01-15" end_date: "2024-12-31" funding_source: - "Ministry of OCW (Netherlands)" - "NDE member contributions" funding_amount: "1.2M EUR" objectives: - "Support 40 heritage institutions in digital infrastructure adoption" - "Achieve IIIF compliance for 15 participating organizations" - "Publish 2M heritage objects as Linked Open Data" - "Train 200 heritage professionals in digital preservation" deliverables: - "Individual implementation roadmaps for each participant" - "Technical documentation and best practices guide" - "Training curriculum and workshop materials" - "Case study reports from participating institutions" organizing_body: "https://nde.nl/ontology/hc/encompassing-body/network/nde" participating_custodians: - "https://nde.nl/ontology/hc/nl-nh-ams-m-am" # Amsterdam Museum - "https://nde.nl/ontology/hc/nl-zh-haa-l-kb" # KB - "https://nde.nl/ontology/hc/nl-zh-haa-a-na" # Nationaal Archief - "https://nde.nl/ontology/hc/nl-nh-ams-m-rm" # Rijksmuseum related_projects: - "https://nde.nl/ontology/hc/project/nde/versnellen-2023" contact_email: "versnellen@netwerkdigitaalerfgoed.nl" keywords: - "digital heritage" - "infrastructure" - "linked data" - "IIIF" - "metadata" - "digital preservation" description: "NDE Versnellen 2024 - Dutch digital heritage acceleration program" - value: project_id: "https://nde.nl/ontology/hc/project/europeana/common-culture-2024" project_name: "Europeana Common Culture" project_short_name: "ECC" project_description: | Europeana Common Culture aggregates and standardizes heritage metadata from national aggregators across Europe, making cultural heritage collections discoverable through the Europeana platform. The project works with national aggregators to improve metadata quality and implement the Europeana Data Model (EDM). project_status: "IN_PROGRESS" project_url: "https://pro.europeana.eu/project/europeana-common-culture" start_date: "2023-06-01" end_date: "2025-05-31" funding_source: - "Horizon Europe (European Commission)" funding_amount: "4.2M EUR" funding_call: "https://nde.nl/ontology/hc/call/ec/horizon-cl2-2023-heritage-01" objectives: - "Aggregate 15M new heritage objects to Europeana" - "Improve metadata quality scores for existing records" - "Implement EDM 5.2.x across all contributing aggregators" organizing_body: "https://nde.nl/ontology/hc/encompassing-body/network/europeana" participating_custodians: - "https://nde.nl/ontology/hc/at-vienna-a-ona" # Austrian National Archives - "https://nde.nl/ontology/hc/be-brussels-l-kbr" # KBR Belgium keywords: - "aggregation" - "metadata" - "Europeana Data Model" - "cultural heritage discovery" description: "Europeana cross-border heritage aggregation project"