View this file on Github Download as Schema.org

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

  • type must be one of REECO’s component subtypes, computed from the type hierarchy in reeco-python/src/reeco/schema/schema.yml (walked recursively from Component) – 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. Avoid EcosystemWebsite and Deliverable: both are documented but currently unreachable due to a supertype-id mismatch bug in upstream schema.yml (case/whitespace), so they fail validation despite looking valid. Workflow was chosen here because semRTI is a multi-stage pipeline (plugin → JSON → KG Builder → .ttl) rather than a single script or library; reconsider if CLITool or Software fits better once the ecosystem site’s rendering of this component is reviewed.
  • licence must 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. MIT and Apache-2.0 happen to match SPDX; most others don’t (e.g. GPLv3 is GNU_GPL_v3, not GPL-3.0). This repository’s LICENSE is CC BY 4.0; CC-BY-4.0 is 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-components must 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