Skip to content

GeoLabs/bblocks-wf4ever

 
 

Repository files navigation

Wf4Ever Ontologies Building Blocks

This repository contains OGC Building Blocks for the Wf4Ever ontologies suite, enabling workflow description, provenance tracking, and research object aggregation with semantic annotations.

Build Status

Overview

The Wf4Ever ontologies provide a comprehensive framework for describing scientific workflows and their execution:

  • Prospective Provenance: Describes what a workflow is designed to do (wfdesc)
  • Retrospective Provenance: Tracks what actually happened during execution (wfprov)
  • Research Object Packaging: Aggregates and contextualizes research artifacts (ro)
  • Specialized Artifact Types: Provides concrete implementations for common workflow artifacts (wf4ever)

This repository provides Building Blocks that make these ontologies reusable, testable, and interoperable with modern workflows and APIs.

Building Blocks

Ontology Building Blocks

1. wfdesc - Workflow Description Ontology

ID: ogc.bbr.wf4ever.wfdesc
Namespace: http://purl.org/wf4ever/wfdesc#
Purpose: Describe workflow structure, processes, inputs, outputs

Key concepts:

  • Workflow: A directed graph of processes
  • Process: An atomic computational step
  • Input/Output: Data parameters with types
  • DataLink: Connections between process outputs and inputs

2. wfprov - Workflow Provenance Ontology

ID: ogc.bbr.wf4ever.wfprov
Namespace: http://purl.org/wf4ever/wfprov#
Purpose: Track workflow execution traces

Key concepts:

  • WorkflowRun: An execution instance of a workflow
  • ProcessRun: Execution of an individual process
  • Artifact: Data artifacts consumed/produced during execution
  • Temporal information (start/end times, durations)

3. ro - Research Object Ontology

ID: ogc.bbr.wf4ever.ro
Namespace: http://purl.org/wf4ever/ro#
Purpose: Package and aggregate research artifacts

Key concepts:

  • ResearchObject: Container for aggregating resources
  • Resource: Any aggregated artifact (data, workflows, papers)
  • Manifest: Metadata about the aggregation
  • Annotations and semantic relationships

4. wf4ever - Extension Ontology

ID: ogc.bbr.wf4ever.wf4ever
Namespace: http://purl.org/wf4ever/wf4ever#
Purpose: Specialized artifact and process types for workflow systems

Key concepts:

  • File: File-based artifacts (JSON, GeoTIFF, etc.)
  • Dataset: Scientific dataset collections
  • Document: Textual/formatted content (PDF, HTML)
  • Image: Graphical/raster data
  • WebServiceProcess: Web service-based processes
  • WorkflowResearchObject: Research objects containing workflows

Features

JSON-LD Contexts: Semantic uplift for JSON documents
JSON Schemas: Validation and documentation
Examples: Real CWL provenance data from scientific workflows
Validation: Automatic testing with pass/fail examples
Ontology Documentation: Auto-generated from OWL/RDF sources
Complete Coverage: 25 classes + 15 properties across 4 ontologies

Getting Started

View the Register

Browse the online register with full documentation and examples:

🔗 Live Register

Use in Your Project

Reference building blocks directly from the register:

# In your bblocks-config.yaml
imports:
  - https://ogcincubator.github.io/bblocks-wf4ever/
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$ref": "https://ogcincubator.github.io/bblocks-wf4ever/build/annotated/wfdesc/schema.yaml"
}
{
  "@context": "https://ogcincubator.github.io/bblocks-wf4ever/build/annotated/wfdesc/context.jsonld"
}

Building Locally

Build the register locally using Docker:

./build.sh

View the results locally:

./view.sh

Then open http://localhost:9090/register/

Examples

Workflow Description (wfdesc)

{
  "@context": "https://ogcincubator.github.io/bblocks-wf4ever/build/annotated/wfdesc/context.jsonld",
  "@id": "workflow:HelloWorld",
  "@type": "Workflow",
  "hasSubProcess": [
    {
      "@id": "workflow:echo",
      "@type": "Process",
      "hasInput": [{
        "@id": "workflow:message",
        "label": "Message to echo"
      }],
      "hasOutput": [{
        "@id": "workflow:echoed_message",
        "label": "Echoed message"
      }]
    }
  ]
}

Workflow Execution Provenance (wfprov)

{
  "@context": "https://ogcincubator.github.io/bblocks-wf4ever/build/annotated/wfprov/context.jsonld",
  "@id": "run:execution-123",
  "@type": "WorkflowRun",
  "describedByWorkflow": "workflow:HelloWorld",
  "startedAtTime": "2025-11-07T10:00:00Z",
  "endedAtTime": "2025-11-07T10:05:00Z",
  "wasEnactedBy": "engine:cwltool-3.1"
}

Research Object (ro)

{
  "@context": "https://ogcincubator.github.io/bblocks-wf4ever/build/annotated/ro/context.jsonld",
  "@id": "ro:my-research",
  "@type": "ResearchObject",
  "aggregates": [
    { "@id": "workflow:HelloWorld", "@type": "Workflow" },
    { "@id": "run:execution-123", "@type": "WorkflowRun" },
    { "@id": "data:results.json", "@type": "Resource" }
  ]
}

Specialized Artifact Types (wf4ever)

{
  "@context": "https://ogcincubator.github.io/bblocks-wf4ever/build/annotated/wf4ever/context.jsonld",
  "@id": "artifact:mangrove_mask.tif",
  "@type": ["wfprov:Artifact", "wf4ever:File"],
  "basename": "mangrove_mask.tif",
  "format": "image/tiff",
  "checksum": "sha1:0999fb93da...",
  "size": 2048576
}

Related Building Blocks

Future Extensions

This repository focuses on the core ontology building blocks. Future work may include:

  • Transformers: Bidirectional conversion between wfdesc and OGC API - Processes
  • Mappings: Integration with STAC and other geospatial standards
  • Validators: Advanced constraint checking for workflow definitions and provenance traces

Documentation

Contributing

Contributions are welcome! Please see the Building Blocks contribution guide.

To add examples or improve documentation:

  1. Fork this repository
  2. Edit source files in _sources/
  3. Run ./build.sh to test
  4. Submit a pull request

License

The Wf4Ever ontologies are available under open licenses. See individual building block metadata for details.

Acknowledgements

This work builds upon the Wf4Ever Project funded by the European Commission's Seventh Framework Programme (FP7).

Building Blocks framework developed by the OGC

About

wf4ever ontology building blocks

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 99.5%
  • Shell 0.5%