Fork me on GitHub

Procedure Execution ontology.

The procedure execution ontology is a simple extension of the Semantic Sensor Network (SSN) Ontology and its core, called Sensor, Observation, Sample, and Actuator (SOSA).

SOSA describe sosa:Sensors that implement sosa:Procedures methods and make sosa:Observations, which are activities.

In parallel to this, it describes sosa:Actuators that implement sosa:Procedures methods and make sosa:Actuations, which are activities.

In this ontology, we want to generalize these two parallel conceptual models, and account for at least one third use case: Web services exposed on the web may be called to trigger the execution of some procedures.

We hence propose the following core concepts for the Procedure Execution ontology:

pep:ProcedureExecutors implement pep:Procedure methods, and generate pep:ProcedureExecutions activities.

Note: we call for comments and suggestions about the naming of these concepts in this project open issue

Procedures in SSN may be linked to some description of the inputs and outputs. This is represented using properties pep:hasInput and pep:hasOutput. Then, their executions may be linked to some description of the result. We add the possiblity to link them to some description of the command. This is represented using properties pep:hasResult, pep:hasSimpleResult, pep:hasCommand, and pep:hasSimpleCommand.

Figure below overviews the PEP ontology, and illustrates it with an example.

Overview of the PEP Ontology.

Additional documents describe alignments with other existing ontologies:

Procedure Execution Platform

Procedure execution platforms expose procedure executors on the Web in a RESTful way.

Classes

Procedure

IRI: https://w3id.org/pep/Procedure

A workflow, protocol, plan, algorithm, or computational method. It explains the steps to be carried out to arrive at reproducible results. A Procedure is re-usable, and might be implemented by several Procedure Executors and used for several Procedure Executions.

Examples of sub-classes of Procedure include Sensing, Actuating, Planning, Forecasting.

Procedure Execution

IRI: https://w3id.org/pep/ProcedureExecution

Act of carrying out a Procedure. Links to:

  • a Procedure Executor to describe what made it and how;
  • the used procedure;
  • the command and the result of the procedure execution (simple or complex).

Procedure Execution Container

IRI: https://w3id.org/pep/ProcedureExecutionContainer

The class of containers of Procedure Executions made by a specific Procedure Executor using a specific Procedure.

A Procedure Executor Container can be for example a Web container of Procedure Execution resources, where one may operate HTTP POST requests to execute a given procedure.

Procedure Executor

IRI: https://w3id.org/pep/ProcedureExecutor

Device, agent (including humans), or software (simulation, web service) involved in, or implementing, a Procedure. Examples of sub-classes of Procedure Executor are Sensor, Actuator, Estimator.

A Procedure Executor can be linked to the executions that it made using property made. Also, it can be linked to one or more Procedures it implements using property implements. A Procedure Executor implements each of the methods used by the Executions it made.

Other metadata may detail geolocation, vendor, operator, consumed power, etc.

Object Properties

for executor

IRI: https://w3id.org/pep/forExecutor

Links a Procedure Execution Container to the Procedure Executor that makes the executions it contains.

for procedure

IRI: https://w3id.org/pep/forProcedure

Links a Procedure Execution Container to the Procedure that the executions it contains used.

has command

IRI: https://w3id.org/pep/hasCommand

Links a Procedure Execution to its unique command (a OWL individual).

has input

IRI: https://w3id.org/pep/hasInput

Links a Procedure to the (unique) description of its input.

has output

IRI: https://w3id.org/pep/hasOutput

Links a Procedure to the (unique) description of its output.

has result

IRI: https://w3id.org/pep/hasResult

Links a Procedure Execution to its unique result (a OWL individual).

implements

IRI: https://w3id.org/pep/implements

A relation between a Procedure Executor and a Procedure it implements.

made

IRI: https://w3id.org/pep/made

Relation between a procedure executor and an execution it made.

made by

IRI: https://w3id.org/pep/madeBy

Relation between a Procedure Execution and what made it.

used procedure

IRI: https://w3id.org/pep/usedProcedure

Relation between a Procedure Execution and the Procedure it used.

Data Properties

has simple command

IRI: https://w3id.org/pep/hasSimpleCommand

Links a Procedure Execution to its unique simple command (a RDFS literal).

has simple result

IRI: https://w3id.org/pep/hasSimpleResult

Links a Procedure Execution to its unique simple result (a RDFS literal).