{{PROJECT_NAME}}
This file exposes the INFINITY Ecosystem annotations for this component. It is consumed as-is by the INFINITY Ecosystem website (built on REECO/Jekyll), so keep the YAML header both REECO-valid and up to date at every release.
Notes for editing this file
typemust be one of REECO’s component subtypes, computed from the type hierarchy inreeco-python/src/reeco/schema/schema.yml(walked recursively fromComponent) – not just the rulebook’s illustrative “main categories” list. The main categories (Data,Application,Software,Report,Dataset,Ontology,KnowledgeGraph) are valid, but so are their more specific subtypes:Repository,Registry,Corpus,Lexicon,KnowledgeGraph,WebSite,WebApplication,WebService,SPARQLEndpoint,MobileApp,CLITool,Workflow,API,UserInterface,DockerImageContainer,SoftwareLibrary,Notebook,Script,RequirementsCollection,Story,Persona,Mockup,Survey,InPresenceSurvey,FocusGroup,Documentation,Tutorial,EvaluationReport. AvoidEcosystemWebsiteandDeliverable: both are documented but currently unreachable due to asupertype-idmismatch bug in upstreamschema.yml(case/whitespace), so they fail validation despite looking valid.licencemust be a list of codes from REECO’s own vocabulary (reeco-python/src/reeco/schema/licences.yml, ~340 entries derived from DALICC), not SPDX identifiers.MITandApache-2.0happen to match SPDX; most others don’t (e.g. GPLv3 isGNU_GPL_v3, notGPL-3.0). As of this writing REECO has no EUPL code at all – even though EUPL-1.2 is the EC-recommended licence for EU-funded software and is this template’s actualLICENSE. The default above (GNU_GPL_v3) is used as the closest stand-in because GPLv3 is one of the few REECO codes that is also EUPL-compatible per the rulebook’s licence-compatibility Appendix – it is a metadata substitution for the ecosystem site only, not a change to this repository’s actual licence. Replace it if/when EUPL-1.2 is added upstream, or with the real code for whatever OSI-approved licence this repository actually uses.related-componentsmust be present (an empty list is valid) – REECO treats a missing key as an error, not a missing-but-optional field.- Every
{{PLACEHOLDER}}value in this file is double-quoted on purpose: an unquoted scalar starting with{{is invalid YAML ({opens flow-mapping syntax), sokey: {{TOKEN}}fails to parse whilekey: "{{TOKEN}}"doesn’t.scripts/bootstrap.shsubstitutes inside the quotes and leaves them in place – keep that pattern for any new placeholder field you add. - Validate locally before pushing:
pip install reeco && python -c "import frontmatter, reeco, sys; a,_ = frontmatter.parse(open('component.md').read()); v = reeco.Validator(); r = (v.asComponent(a) if 'component-id' in a else v.asContainer(a)); print(r)" - A repository may contain multiple annotated component files (any filename); duplicate this structure per component if so.
- Component types: https://github.com/reeco-framework/reeco-annotation-schema/blob/main/schema/README.md