525 lines
22 KiB
YAML
525 lines
22 KiB
YAML
# FundingRequirement Class
|
|
# Models individual requirements/criteria for funding calls with provenance tracking
|
|
#
|
|
# Created November 2025 to support:
|
|
# - Structured representation of eligibility criteria from CallForApplication
|
|
# - Provenance chain: FundingRequirement → WebObservation → SourceDocument
|
|
# - Machine-readable requirements for filtering and matching heritage custodians
|
|
#
|
|
# Key relationships:
|
|
# CallForApplication --requirements--> FundingRequirement[]
|
|
# FundingRequirement --observed_in--> WebObservation (provenance)
|
|
# FundingRequirement --requirement_type--> FundingRequirementTypeEnum
|
|
#
|
|
# Design pattern:
|
|
# Each requirement is a separate entity with its own provenance, allowing:
|
|
# - Different requirements from different sources (call page vs. guidelines PDF)
|
|
# - Temporal tracking when requirements change
|
|
# - Fine-grained confidence scores per requirement
|
|
#
|
|
# Examples:
|
|
# - "Minimum 3 partners from 3 EU Member States" (PARTNERSHIP_MINIMUM_PARTNERS)
|
|
# - "Co-funding of 25% required" (FINANCIAL_COFUNDING)
|
|
# - "Open access publication mandatory" (TECHNICAL_OPEN_ACCESS)
|
|
|
|
id: https://nde.nl/ontology/hc/class/FundingRequirement
|
|
name: FundingRequirement
|
|
title: FundingRequirement Class
|
|
|
|
prefixes:
|
|
linkml: https://w3id.org/linkml/
|
|
hc: https://nde.nl/ontology/hc/
|
|
schema: http://schema.org/
|
|
dcterms: http://purl.org/dc/terms/
|
|
prov: http://www.w3.org/ns/prov#
|
|
pav: http://purl.org/pav/
|
|
skos: http://www.w3.org/2004/02/skos/core#
|
|
|
|
imports:
|
|
- linkml:types
|
|
- ../enums/FundingRequirementTypeEnum
|
|
# Import global slots
|
|
- ../slots/valid_from
|
|
- ../slots/valid_to
|
|
- ../slots/supersedes
|
|
- ../slots/extraction_confidence
|
|
- ../slots/extraction_notes
|
|
|
|
default_prefix: hc
|
|
|
|
slots:
|
|
requirement_id:
|
|
identifier: true
|
|
range: uriorcurie
|
|
description: Unique identifier for this funding requirement
|
|
|
|
requirement_type:
|
|
range: FundingRequirementTypeEnum
|
|
description: Category of requirement (eligibility, financial, partnership, etc.)
|
|
|
|
requirement_text:
|
|
range: string
|
|
description: Human-readable text of the requirement as stated in source
|
|
|
|
requirement_value:
|
|
range: string
|
|
description: Machine-readable value extracted from requirement (e.g., "3" for minimum partners)
|
|
|
|
requirement_unit:
|
|
range: string
|
|
description: Unit of measurement for requirement_value (e.g., "partners", "EUR", "months")
|
|
|
|
is_mandatory:
|
|
range: boolean
|
|
description: Whether this requirement is mandatory (true) or preferred/optional (false)
|
|
|
|
applies_to_call:
|
|
range: uriorcurie
|
|
description: CallForApplication this requirement belongs to
|
|
|
|
observed_in:
|
|
range: uriorcurie
|
|
description: WebObservation documenting where this requirement was found
|
|
|
|
source_section:
|
|
range: string
|
|
description: Section of the source document where requirement was found
|
|
|
|
# NOTE: valid_from imported from global slot ../slots/valid_from.yaml
|
|
# NOTE: valid_to imported from global slot ../slots/valid_to.yaml
|
|
# NOTE: supersedes imported from global slot ../slots/supersedes.yaml
|
|
# NOTE: extraction_confidence imported from global slot ../slots/extraction_confidence.yaml
|
|
# NOTE: extraction_notes imported from global slot ../slots/extraction_notes.yaml
|
|
|
|
classes:
|
|
FundingRequirement:
|
|
class_uri: dcterms:Standard
|
|
description: |
|
|
A requirement or criterion that applicants must meet to be eligible for
|
|
a funding call. Each requirement is tracked with provenance linking to
|
|
the source document where it was stated.
|
|
|
|
**PURPOSE**:
|
|
|
|
FundingRequirement provides structured, machine-readable representation
|
|
of funding call eligibility criteria. Instead of storing requirements as
|
|
free-text lists in CallForApplication, each requirement becomes a
|
|
trackable entity with:
|
|
|
|
- **Classification**: Categorized by FundingRequirementTypeEnum
|
|
- **Provenance**: Linked to WebObservation documenting source
|
|
- **Values**: Machine-readable value + human-readable text
|
|
- **Temporality**: Valid date range for time-scoped requirements
|
|
|
|
**PROVENANCE CHAIN**:
|
|
|
|
```
|
|
CallForApplication
|
|
│
|
|
├── requirements ──→ FundingRequirement[]
|
|
│ │
|
|
│ ├── requirement_type: PARTNERSHIP_MINIMUM_PARTNERS
|
|
│ ├── requirement_text: "At least 3 partners from 3 EU countries"
|
|
│ ├── requirement_value: "3"
|
|
│ ├── requirement_unit: "partners"
|
|
│ │
|
|
│ └── observed_in ──→ WebObservation
|
|
│ │
|
|
│ ├── source_url: https://ec.europa.eu/...
|
|
│ ├── retrieved_on: 2025-11-29T10:30:00Z
|
|
│ └── extraction_confidence: 0.95
|
|
│
|
|
└── web_observations ──→ WebObservation[] (general call provenance)
|
|
```
|
|
|
|
**ONTOLOGY ALIGNMENT**:
|
|
|
|
- **Dublin Core**: `dcterms:Standard` - "A reference point against which
|
|
other things can be evaluated" (requirements are standards for eligibility)
|
|
- **Dublin Core**: `dcterms:requires` - Relates call to requirement
|
|
- **Dublin Core**: `dcterms:conformsTo` - Applicants must conform to requirements
|
|
- **Schema.org**: `schema:eligibleRegion` - For geographic requirements
|
|
- **Schema.org**: `schema:eligibleQuantity` - For numeric constraints
|
|
- **PROV-O**: `prov:wasDerivedFrom` - Links requirement to observation
|
|
|
|
**REQUIREMENT CATEGORIES**:
|
|
|
|
Requirements are classified into six main categories via FundingRequirementTypeEnum:
|
|
|
|
1. **Eligibility** (ELIGIBILITY_*): Who can apply
|
|
- Geographic: EU Member States, Associated Countries
|
|
- Organizational: Non-profit, public body, SME
|
|
- Heritage type: Museums, archives, libraries
|
|
- Experience: Track record, previous projects
|
|
|
|
2. **Financial** (FINANCIAL_*): Budget and funding
|
|
- Co-funding: Match funding percentages
|
|
- Budget limits: Minimum/maximum grant size
|
|
- Funding rate: Percentage of eligible costs
|
|
- Eligible costs: What can be funded
|
|
|
|
3. **Partnership** (PARTNERSHIP_*): Consortium requirements
|
|
- Minimum partners: Number required
|
|
- Country diversity: Geographic spread
|
|
- Sector mix: Organisation types needed
|
|
- Coordinator: Lead partner constraints
|
|
|
|
4. **Thematic** (THEMATIC_*): Topic and scope
|
|
- Focus area: Required research/action themes
|
|
- Heritage scope: Types of heritage addressed
|
|
- Geographic scope: Where activities occur
|
|
|
|
5. **Technical** (TECHNICAL_*): Outputs and approach
|
|
- Deliverables: Required outputs
|
|
- Open access: Publication requirements
|
|
- Duration: Project length constraints
|
|
- Methodology: Required approaches
|
|
|
|
6. **Administrative** (ADMINISTRATIVE_*): Process requirements
|
|
- Registration: Portal accounts needed
|
|
- Documentation: Supporting documents
|
|
- Language: Submission language
|
|
- Format: Templates and page limits
|
|
|
|
**TEMPORAL TRACKING**:
|
|
|
|
Requirements can change between call publications. The `supersedes` field
|
|
links to previous versions, and `valid_from`/`valid_to` scope applicability:
|
|
|
|
```
|
|
FundingRequirement (current)
|
|
│
|
|
├── valid_from: 2025-01-15
|
|
├── requirement_value: "3" (minimum partners)
|
|
│
|
|
└── supersedes ──→ FundingRequirement (previous)
|
|
│
|
|
├── valid_from: 2024-01-15
|
|
├── valid_to: 2025-01-14
|
|
└── requirement_value: "4" (was 4 partners)
|
|
```
|
|
|
|
**EXTRACTION PATTERN**:
|
|
|
|
When extracting requirements from web sources:
|
|
|
|
1. Create WebObservation for the source page
|
|
2. For each requirement found:
|
|
- Create FundingRequirement with observed_in → WebObservation
|
|
- Classify using FundingRequirementTypeEnum
|
|
- Extract machine-readable value and unit
|
|
- Record source_section for traceability
|
|
- Assign extraction_confidence based on clarity
|
|
|
|
**EXAMPLES**:
|
|
|
|
1. **Partnership Requirement**
|
|
- requirement_type: PARTNERSHIP_MINIMUM_PARTNERS
|
|
- requirement_text: "Minimum 3 independent legal entities from 3 different EU Member States"
|
|
- requirement_value: "3"
|
|
- requirement_unit: "partners"
|
|
- is_mandatory: true
|
|
|
|
2. **Financial Requirement**
|
|
- requirement_type: FINANCIAL_COFUNDING
|
|
- requirement_text: "Co-funding of minimum 25% from non-EU sources required"
|
|
- requirement_value: "25"
|
|
- requirement_unit: "percent"
|
|
- is_mandatory: true
|
|
|
|
3. **Open Access Requirement**
|
|
- requirement_type: TECHNICAL_OPEN_ACCESS
|
|
- requirement_text: "All peer-reviewed publications must be open access (Plan S compliant)"
|
|
- requirement_value: "immediate"
|
|
- is_mandatory: true
|
|
|
|
exact_mappings:
|
|
- dcterms:Standard
|
|
|
|
close_mappings:
|
|
- schema:QuantitativeValue
|
|
- skos:Concept
|
|
|
|
related_mappings:
|
|
- dcterms:requires
|
|
- dcterms:conformsTo
|
|
- schema:eligibleRegion
|
|
- schema:eligibleQuantity
|
|
- prov:wasDerivedFrom
|
|
|
|
slots:
|
|
- requirement_id
|
|
- requirement_type
|
|
- requirement_text
|
|
- requirement_value
|
|
- requirement_unit
|
|
- is_mandatory
|
|
- applies_to_call
|
|
- observed_in
|
|
- source_section
|
|
- valid_from
|
|
- valid_to
|
|
- supersedes
|
|
- extraction_confidence
|
|
- extraction_notes
|
|
|
|
slot_usage:
|
|
requirement_id:
|
|
identifier: true
|
|
required: true
|
|
range: uriorcurie
|
|
description: |
|
|
Unique identifier for this funding requirement.
|
|
Format: https://nde.nl/ontology/hc/requirement/{call-slug}/{requirement-slug}
|
|
pattern: "^https://nde\\.nl/ontology/hc/requirement/[a-z0-9-]+/[a-z0-9-]+$"
|
|
examples:
|
|
- value: "https://nde.nl/ontology/hc/requirement/ec-cl2-2025-heritage-01/min-partners-3"
|
|
description: "Minimum partners requirement for Horizon Europe call"
|
|
- value: "https://nde.nl/ontology/hc/requirement/nlhf-medium-2025/cofunding-25pct"
|
|
description: "Co-funding requirement for NLHF grants"
|
|
|
|
requirement_type:
|
|
slot_uri: dcterms:type
|
|
required: true
|
|
range: FundingRequirementTypeEnum
|
|
description: |
|
|
Category of requirement from FundingRequirementTypeEnum.
|
|
|
|
Enables filtering and matching of requirements across calls.
|
|
See enum documentation for full category list.
|
|
examples:
|
|
- value: "PARTNERSHIP_MINIMUM_PARTNERS"
|
|
description: "Consortium size requirement"
|
|
- value: "FINANCIAL_COFUNDING"
|
|
description: "Match funding requirement"
|
|
- value: "ELIGIBILITY_GEOGRAPHIC"
|
|
description: "Country eligibility requirement"
|
|
|
|
requirement_text:
|
|
slot_uri: skos:definition
|
|
required: true
|
|
range: string
|
|
description: |
|
|
Human-readable text of the requirement as stated in the source.
|
|
Should preserve original wording for accuracy and citation.
|
|
examples:
|
|
- value: "Minimum 3 independent legal entities from 3 different EU Member States or Horizon Europe Associated Countries"
|
|
description: "Partnership requirement from Horizon Europe"
|
|
- value: "Applications must demonstrate at least 25% co-funding from non-EU sources"
|
|
description: "Co-funding requirement from call guidelines"
|
|
|
|
requirement_value:
|
|
slot_uri: schema:value
|
|
range: string
|
|
description: |
|
|
Machine-readable value extracted from requirement.
|
|
|
|
Used with requirement_unit for structured queries.
|
|
Format depends on requirement type:
|
|
- Numeric: "3", "25", "500000"
|
|
- Boolean: "true", "false"
|
|
- Coded: "eu-member-states", "open-access"
|
|
examples:
|
|
- value: "3"
|
|
description: "Minimum 3 partners"
|
|
- value: "25"
|
|
description: "25% co-funding"
|
|
- value: "eu-member-states"
|
|
description: "Geographic eligibility"
|
|
- value: "immediate"
|
|
description: "Immediate open access"
|
|
|
|
requirement_unit:
|
|
slot_uri: schema:unitText
|
|
range: string
|
|
description: |
|
|
Unit of measurement for requirement_value.
|
|
Enables interpretation of numeric values.
|
|
examples:
|
|
- value: "partners"
|
|
description: "Number of consortium partners"
|
|
- value: "percent"
|
|
description: "Percentage (co-funding, funding rate)"
|
|
- value: "EUR"
|
|
description: "Currency for budget amounts"
|
|
- value: "months"
|
|
description: "Project duration"
|
|
- value: "countries"
|
|
description: "Geographic diversity"
|
|
|
|
is_mandatory:
|
|
range: boolean
|
|
ifabsent: "true"
|
|
description: |
|
|
Whether this requirement is mandatory for eligibility (true)
|
|
or preferred/optional (false).
|
|
|
|
Defaults to true - most requirements are mandatory.
|
|
examples:
|
|
- value: true
|
|
description: "Mandatory: must meet to be eligible"
|
|
- value: false
|
|
description: "Optional: preferred but not required"
|
|
|
|
observed_in:
|
|
slot_uri: prov:wasDerivedFrom
|
|
required: true
|
|
range: uriorcurie
|
|
description: |
|
|
WebObservation documenting where this requirement was found.
|
|
|
|
Links requirement to its provenance:
|
|
- Source URL
|
|
- Retrieval timestamp
|
|
- Extraction method
|
|
- Original content
|
|
|
|
PROV-O: prov:wasDerivedFrom links Entity to Activity
|
|
examples:
|
|
- value: "https://nde.nl/ontology/hc/observation/web/2025-11-29/eu-horizon-cl2-heritage"
|
|
description: "Observation of Horizon Europe call page"
|
|
|
|
source_section:
|
|
range: string
|
|
description: |
|
|
Section heading or location in source document where requirement was found.
|
|
Aids verification and citation.
|
|
examples:
|
|
- value: "Section 2.1 - Eligibility Criteria"
|
|
description: "Location in call document"
|
|
- value: "FAQ #7 - Consortium composition"
|
|
description: "Location in FAQ document"
|
|
- value: "Work Programme page 45"
|
|
description: "Location in programme document"
|
|
|
|
supersedes:
|
|
slot_uri: dcterms:replaces
|
|
range: uriorcurie
|
|
description: |
|
|
Previous version of this requirement (for change tracking).
|
|
|
|
Creates version chain when requirements are updated between
|
|
call publications or corrigenda.
|
|
examples:
|
|
- value: "https://nde.nl/ontology/hc/requirement/ec-cl2-2024-heritage-01/min-partners-4"
|
|
description: "Previous version required 4 partners"
|
|
|
|
extraction_confidence:
|
|
range: float
|
|
minimum_value: 0.0
|
|
maximum_value: 1.0
|
|
description: |
|
|
Confidence score for this specific requirement extraction (0.0-1.0).
|
|
|
|
May differ from WebObservation.extraction_confidence if some
|
|
requirements on a page are clearer than others.
|
|
|
|
Interpretation:
|
|
- 0.9-1.0: Clear, explicit statement
|
|
- 0.7-0.9: Reasonably clear, minor ambiguity
|
|
- 0.5-0.7: Inferred or implicit
|
|
- <0.5: Uncertain, needs verification
|
|
examples:
|
|
- value: 0.95
|
|
description: "Explicit statement in eligibility section"
|
|
- value: 0.75
|
|
description: "Inferred from multiple sentences"
|
|
- value: 0.60
|
|
description: "Implicit, verification recommended"
|
|
|
|
comments:
|
|
- "Each requirement links to WebObservation for full provenance chain"
|
|
- "requirement_value + requirement_unit enable structured queries"
|
|
- "is_mandatory defaults to true; explicitly set false for optional requirements"
|
|
- "supersedes creates version chain for requirement changes"
|
|
- "extraction_confidence can differ from observation confidence"
|
|
|
|
see_also:
|
|
- "https://dublincore.org/specifications/dublin-core/dcmi-terms/#Standard"
|
|
- "https://schema.org/QuantitativeValue"
|
|
- "https://www.w3.org/TR/prov-o/#Entity"
|
|
- "http://purl.org/pav/"
|
|
|
|
examples:
|
|
- value:
|
|
requirement_id: "https://nde.nl/ontology/hc/requirement/ec-cl2-2025-heritage-01/min-partners-3-countries"
|
|
requirement_type: "PARTNERSHIP_MINIMUM_PARTNERS"
|
|
requirement_text: >-
|
|
Proposals must be submitted by a consortium of at least 3 independent
|
|
legal entities established in 3 different EU Member States or Horizon
|
|
Europe Associated Countries.
|
|
requirement_value: "3"
|
|
requirement_unit: "partners"
|
|
is_mandatory: true
|
|
applies_to_call: "https://nde.nl/ontology/hc/call/ec/cl2-2025-heritage-01"
|
|
observed_in: "https://nde.nl/ontology/hc/observation/web/2025-11-29/eu-horizon-cl2-heritage"
|
|
source_section: "Section 2 - Eligibility Conditions"
|
|
extraction_confidence: 0.98
|
|
extraction_notes: "Clear statement in eligibility section. Standard Horizon Europe RIA requirement."
|
|
description: "Minimum partners requirement for Horizon Europe heritage call"
|
|
|
|
- value:
|
|
requirement_id: "https://nde.nl/ontology/hc/requirement/ec-cl2-2025-heritage-01/cofunding-for-profit"
|
|
requirement_type: "FINANCIAL_COFUNDING"
|
|
requirement_text: >-
|
|
For-profit entities receive 70% funding rate. The remaining 30% must
|
|
be covered by co-funding or own resources.
|
|
requirement_value: "30"
|
|
requirement_unit: "percent"
|
|
is_mandatory: true
|
|
applies_to_call: "https://nde.nl/ontology/hc/call/ec/cl2-2025-heritage-01"
|
|
observed_in: "https://nde.nl/ontology/hc/observation/web/2025-11-29/eu-horizon-cl2-heritage"
|
|
source_section: "Section 3 - Financial Conditions"
|
|
extraction_confidence: 0.95
|
|
extraction_notes: "Applies only to for-profit partners. Non-profits receive 100% funding."
|
|
description: "Co-funding requirement for for-profit entities"
|
|
|
|
- value:
|
|
requirement_id: "https://nde.nl/ontology/hc/requirement/ec-cl2-2025-heritage-01/open-access"
|
|
requirement_type: "TECHNICAL_OPEN_ACCESS"
|
|
requirement_text: >-
|
|
Beneficiaries must ensure open access to peer-reviewed scientific
|
|
publications under the conditions required by the Grant Agreement.
|
|
Immediate open access is mandatory (no embargo period).
|
|
requirement_value: "immediate"
|
|
requirement_unit: null
|
|
is_mandatory: true
|
|
applies_to_call: "https://nde.nl/ontology/hc/call/ec/cl2-2025-heritage-01"
|
|
observed_in: "https://nde.nl/ontology/hc/observation/web/2025-11-29/eu-horizon-cl2-heritage"
|
|
source_section: "Section 4.2 - Open Science"
|
|
extraction_confidence: 0.99
|
|
extraction_notes: "Standard Horizon Europe open access requirement. Plan S compliant."
|
|
description: "Open access publication requirement"
|
|
|
|
- value:
|
|
requirement_id: "https://nde.nl/ontology/hc/requirement/nlhf-medium-2025/uk-based"
|
|
requirement_type: "ELIGIBILITY_GEOGRAPHIC"
|
|
requirement_text: >-
|
|
Your organisation must be based in the UK (England, Northern Ireland,
|
|
Scotland or Wales). Projects must take place in the UK.
|
|
requirement_value: "UK"
|
|
requirement_unit: "country"
|
|
is_mandatory: true
|
|
applies_to_call: "https://nde.nl/ontology/hc/call/nlhf/medium-grants-2025-q4"
|
|
observed_in: "https://nde.nl/ontology/hc/observation/web/2025-11-28/nlhf-medium-grants"
|
|
source_section: "Eligibility"
|
|
extraction_confidence: 0.99
|
|
extraction_notes: "Clear UK-only restriction. Devolved nations explicitly included."
|
|
description: "UK geographic eligibility for National Lottery Heritage Fund"
|
|
|
|
- value:
|
|
requirement_id: "https://nde.nl/ontology/hc/requirement/nlhf-medium-2025/non-profit"
|
|
requirement_type: "ELIGIBILITY_ORGANIZATIONAL"
|
|
requirement_text: >-
|
|
We can fund not-for-profit organisations, including charities,
|
|
community groups, local authorities, and social enterprises.
|
|
Private individuals and for-profit companies are not eligible.
|
|
requirement_value: "non-profit"
|
|
requirement_unit: "organization-type"
|
|
is_mandatory: true
|
|
applies_to_call: "https://nde.nl/ontology/hc/call/nlhf/medium-grants-2025-q4"
|
|
observed_in: "https://nde.nl/ontology/hc/observation/web/2025-11-28/nlhf-medium-grants"
|
|
source_section: "Who can apply"
|
|
extraction_confidence: 0.95
|
|
extraction_notes: "Explicitly excludes for-profit. Social enterprises may need verification."
|
|
description: "Non-profit eligibility for National Lottery Heritage Fund"
|