Fork me on GitHub

Procedure Execution ontology.

The Procedure Execution ontology (PEP) defines pep:ProcedureExecutors that implement pep:Procedure methods, and generate pep:ProcedureExecution activities. Procedures may be linked to some description of the input and/or the output using object properties pep:hasInput and pep:hasOutput. Their executions may be linked to some description of the command and/or the result using object properties pep:hasResult and pep:hasCommand. If the command or the result are simple RDF literals (a typed UNICODE string), then one may use datatype properties pep:hasSimpleResult and pep:hasSimpleCommand instead. Procedure executions made by a specific procedure executor using a specific procedure can be grouped in containers. Figure below overviews the PEP ontology, and illustrates it with an example.

Overview of the PEP Ontology.

PEP generalizes the core concepts of SOSA/SSN

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 and make sosa:Observations, which are activities. In parallel to this, it describes sosa:Actuators that implement sosa:Procedures and make sosa:Actuations. The Procedure Execution ontology defines an ontology pattern as a generalization of these two parallel conceptual models, which accounts for at least one third use case: Web services exposed on the web may be called to trigger the execution of some procedures. SOSA/SSN defines input, output, results, and PEP introduces the command.

We provide an external document to align with the the Semantic Sensor Network ontology.

PEP to describe Web services that call lengthy algorithms

PEP can be used to describe Web containers of Web service executions one can call in a RESTful way, and that consume and produce documents with a RDF data model. A set of such containers are referred to as a Process Execution Platform.

We provide an external document to align PEP with the the RDF Presentation ontology. This alignment encourages to describe the input and output of Web services using rdfp:GraphDescription, and the command and result of their execution using URIs to rdfp:RDFSources.

Classes

Procedure

Label: 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.

ProcedureExecution

Label: 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).

ProcedureExecutionContainer

Label: 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.

ProcedureExecutor

Label: 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

forExecutor

Label: for executor

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

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

forProcedure

Label: for procedure

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

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

hasCommand

Label: has command

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

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

hasInput

Label: has input

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

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

hasOutput

Label: has output

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

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

hasResult

Label: has result

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

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

implements

Label: implements

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

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

made

Label: made

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

Relation between a procedure executor and an execution it made.

madeBy

Label: made by

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

Relation between a Procedure Execution and what made it.

usedProcedure

Label: used procedure

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

Relation between a Procedure Execution and the Procedure it used.

Data Properties

hasSimpleCommand

Label: has simple command

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

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

hasSimpleResult

Label: has simple result

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

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