semRTI
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.Workflowwas chosen here because semRTI is a multi-stage pipeline (plugin → JSON → KG Builder →.ttl) rather than a single script or library; reconsider ifCLIToolorSoftwarefits better once the ecosystem site’s rendering of this component is reviewed.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). This repository’sLICENSEis CC BY 4.0;CC-BY-4.0is used above on the unverified assumption it also matches SPDX in REECO’s vocabulary the way MIT/Apache-2.0 do – confirm with the validator command below and correct if not.related-componentsmust be present (an empty list is valid) – REECO treats a missing key as an error, not a missing-but-optional field.- 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