External resources

The resources property in bblock.json attaches external artifacts to a building block — files or URLs that don’t fit into a dedicated property such as schema, ontology, or ldContext. Each entry declares its role, location, and media type.

Structure

Each entry in the resources array has the following fields:

Field Required Description
role yes The relationship of this resource to the building block. See Well-known roles.
ref yes File path (relative to the building block directory) or URL.
format yes MIME type, e.g. text/turtle, application/json.
title no Human-readable label for this resource.
conformsTo no URI of a profile or specification that this resource conforms to.

Well-known roles

The role field accepts any URI, but the following short names are also recognised:

Role Description
constraints Normative constraints on the building block
data RDF or other data associated with the building block
example Example data or usage
guidance Non-normative guidance
mapping A mapping or crosswalk to another model
schema A schema artifact
specification A normative specification document
validation Validation rules or shapes
vocabulary A vocabulary, ontology, or codelist

Auto-discovery of data.ttl

If a data.ttl file is present in the building block directory and no resources entry with role: data pointing to it already exists, it is automatically added as a data resource with format: text/turtle.

Example

{
  "resources": [
    {
      "role": "data",
      "ref": "data.ttl",
      "format": "text/turtle",
      "title": "Background ontology data"
    },
    {
      "role": "specification",
      "ref": "https://example.org/my-spec.html",
      "format": "text/html",
      "title": "Governing specification"
    },
    {
      "role": "vocabulary",
      "ref": "vocab.ttl",
      "format": "text/turtle",
      "conformsTo": "https://www.w3.org/TR/skos-reference/",
      "title": "Domain vocabulary"
    }
  ]
}