Skip to the content.

Purpose & Intended Use

The overall purpose of the ontology is to provide a high level model for documenting plans that can be described as a series of sequential inputs and outputs of steps in a form of acyclic graphs. The ontology also covers the modelling of the instantiation of plans (e.g. an execution trace of a workflow), which is achieved via tight alignment with the PROV-O ontology. Such descriptions are useful for documenting the expected and the actual behaviour of complex data processing systems (e.g. an IoT infrastructure), scientific experiments (e.g. an executable scientific workflows), as well as various protocols that are to date predominately stored in its paper form (e.g. a lab protocol of an experiment).

The EP-PLAN vocabulary is intended for documenting the expected and actual behaviour of arbitrary systems, however, the plan elements are not strictly designed to guide the execution of processes (e.g. within a scientific workflow platform). The ontology is expected to be useful for scientists and developers, who wish to enhance the transparency of protocols and computational systems through the means of providing meta descriptions, which can be queried by both human users and automated agents. We foresee the main application of the ontology in scenarios where information about systems is sought to facilitate data integration and reuse, pattern mining, and assessments (e.g. trust, privacy, security, quality, etc.).


Creative Commons 2.0

How to cite this resource

Markovic, M., Garijo, D., Vasconcelos, W., Edwards, P., EP-Plan: Linking Abstract Plans with Execution Traces, April 2019,


The EP-PLAN ontology builds on two pre-existing ontologies, namely P-PLAN and W3C recommendation PROV-O.

Competency Questions

A list of competency questions and example SPARQL queries is available here


Sample Datasets

See below for available sample datasets


Prefix URI
ep-plan <>
prov <>
odrl <>
eli <>
gdpr <>
gdprText <>

Basic plan structure

Example: Using steps and variables to describe plans

Mapping execution trace

Example: Mapping activities and entities to steps and variables

Execution Trace Bundles

Example: Keeping everything in one graph
Example: Using separate documents as bundles
Example: Recording the main execution activity


Example: Associating constraints with different plan elements
Example: Associating constraints with steps
Example: Associating constraints with communication specification

Policies, Rationales and Objectives

Example: Associating policies with plans and linking to other plan elements
Example: A policy description expanded using the W3C ODRL vocabulary
Example: A policy linked to a GDPR article

Plan decomposition

Example: Use of MultiVariable
Example: Extending descriptions using the W3C SSN vocabulary
Example: Linking executions of different abstractions of a plan>