Issued: 2016-07-01
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.
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 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.
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.
range of: forProcedure, implements , usedProcedure
Label: Procedure Execution
IRI: https://w3id.org/pep/ProcedureExecution
Act of carrying out a Procedure. Links to:
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.
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.
range of: forExecutor, madeBy
Label: for executor
IRI: https://w3id.org/pep/forExecutor
Links a Procedure Execution Container to the Procedure Executor that makes the executions it contains.
range: ProcedureExecutor
Label: for procedure
IRI: https://w3id.org/pep/forProcedure
Links a Procedure Execution Container to the Procedure that the executions it contains used.
Label: has command
IRI: https://w3id.org/pep/hasCommand
Links a Procedure Execution to its unique command (a OWL individual).
Label: has input
IRI: https://w3id.org/pep/hasInput
Links a Procedure to the (unique) description of its input.
Label: has output
IRI: https://w3id.org/pep/hasOutput
Links a Procedure to the (unique) description of its output.
Label: has result
IRI: https://w3id.org/pep/hasResult
Links a Procedure Execution to its unique result (a OWL individual).
Label: implements
IRI: https://w3id.org/pep/implements
A relation between a Procedure Executor and a Procedure it implements.
Label: made
IRI: https://w3id.org/pep/made
Relation between a procedure executor and an execution it made.
Label: made by
IRI: https://w3id.org/pep/madeBy
Relation between a Procedure Execution and what made it.
Label: used procedure
IRI: https://w3id.org/pep/usedProcedure
Relation between a Procedure Execution and the Procedure it used.
range: Procedure
Label: has simple command
IRI: https://w3id.org/pep/hasSimpleCommand
Links a Procedure Execution to its unique simple command (a RDFS literal).
Label: has simple result
IRI: https://w3id.org/pep/hasSimpleResult
Links a Procedure Execution to its unique simple result (a RDFS literal).