@base <http://purl.org/net/wf-invocation> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix : <#> .
@prefix terms: <../dc/terms/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix vann: <../vocab/vann/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix p-plan: <p-plan#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .

terms:creator
    a owl:AnnotationProperty .

p-plan:Step
    a owl:Class .

p-plan:Variable
    a owl:Class .

<>
    terms:created "2013-05-17"^^xsd:date ;
    terms:creator "http://delicias.dia.fi.upm.es/members/DGarijo/#me"^^xsd:anyURI, "http://www.isi.edu/~gil/"^^xsd:anyURI, "http://www.isi.edu/~varunr/resume.html"^^xsd:anyURI ;
    terms:description "Wf-invoc is a simple profile of the P-plan ontology to describe how workflow steps are invoked within a workflow execution."@en ;
    terms:license "http://creativecommons.org/licenses/by-nc-sa/2.0/" ;
    terms:title "The Workflow Invocation Ontology"@en ;
    vann:preferredNamespacePrefix "wf-invoc" ;
    vann:preferredNamespaceUri "http://purl.org/net/wf-invocation#" ;
    a owl:Ontology ;
    rdfs:comment "Workflow Invocation Ontology, an extension of P-Plan for representing the invocation of the workflow steps when submitting a template to an execution engine."@en ;
    rdfs:label "Workflow Invocation Ontology"@en ;
    owl:imports <p-plan#> ;
    owl:versionInfo "1.1"@en .

<#>
    a owl:NamedIndividual, owl:Thing .

:Step
    a owl:Class ;
    rdfs:comment "Specialization of p-plan:Step in order to be able to assert domain specific properties. A wf-invoc:Step refers to those p-plan:Steps related to the scientific workflow invocation."@en ;
    rdfs:isDefinedBy <#> ;
    rdfs:label "Step"@en ;
    rdfs:subClassOf p-plan:Step .

:Variable
    a owl:Class ;
    rdfs:comment "Specialization of p-plan:Variable in order to be able to assert specific properties. A wf-invoc:Variable refers to those p-plan:Variables related to the scientific workflow invocation."@en ;
    rdfs:isDefinedBy <#> ;
    rdfs:label "Variable"@en ;
    rdfs:subClassOf p-plan:Variable .

:hasCodeBinding
    a owl:DatatypeProperty ;
    rdfs:comment "Data property used to bind a wf-invoc:Step to the code/library/software used to execute the workflow step."@en ;
    rdfs:domain :Step ;
    rdfs:isDefinedBy <#> ;
    rdfs:label "has Code Binding"@en ;
    rdfs:range xsd:string .

:hasCustomData
    a owl:DatatypeProperty ;
    rdfs:comment "Data property used to link a wf-invoc:Step with any particular metadata that will be used in the execution of the Step (e.g., environment requirements, memory, etc.)"@en ;
    rdfs:domain :Step ;
    rdfs:isDefinedBy <#> ;
    rdfs:label "has Custom Data"@en ;
    rdfs:range rdfs:Literal .

:hasDataBinding
    a owl:DatatypeProperty ;
    rdfs:comment "Data property used to bind a wf-invoc:Variable with the path or URL where the data is available for the execution."@en ;
    rdfs:domain :Variable ;
    rdfs:isDefinedBy <#> ;
    rdfs:label "has Data Binding"@en ;
    rdfs:range rdfs:Literal .

:hasInvocationLine
    a owl:DatatypeProperty ;
    rdfs:comment "Data property used to link a wf-invoc:Step with the Literal representing the invocation line of the current Step."@en ;
    rdfs:domain :Step ;
    rdfs:isDefinedBy <#> ;
    rdfs:label "has Invocation Line"@en ;
    rdfs:range rdfs:Literal .

