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

<http://purl.org/net/p-plan#> a owl:Ontology ;
	terms:created "2012-11-10"^^xsd:date ;
	terms:modified "2014-03-12"^^xsd:date ;
	terms:creator "http://delicias.dia.fi.upm.es/members/DGarijo#me"^^xsd:anyURI , "http://www.isi.edu/~gil/"^^xsd:anyURI ;
	vann:preferredNamespacePrefix "p-plan" ;
	owl:versionInfo "1.3" ;
	terms:title "The P-Plan ontology"@en ;
	terms:license "http://creativecommons.org/licenses/by-nc-sa/2.0/" ;
	terms:description "PROV extension for linking Plans and parts of plans to their respective executions."@en ;
	vann:preferredNamespaceUri "http://purl.org/net/p-plan#" ;
	rdfs:comment "PROV extension for linking Plans and parts of plans to their respective executions. Created by Daniel Garijo and Yolanda Gil" .

terms:created a owl:AnnotationProperty .

terms:description a owl:AnnotationProperty .

terms:title a owl:AnnotationProperty .

vann:preferredNamespacePrefix a owl:AnnotationProperty .

prov:definition a owl:AnnotationProperty .

vann:preferredNamespaceUri a owl:AnnotationProperty .

terms:modified a owl:AnnotationProperty .

:correspondsToStep a owl:ObjectProperty , owl:FunctionalProperty ;
	rdfs:label "correspondsToStep"@en ;
	prov:definition "p-plan:correspondsToStep links a p-plan:Activity to its planned p-plan:Step"@en ;
	rdfs:isDefinedBy <http://purl.org/net/p-plan#> ;
	rdfs:domain :Activity ;
	rdfs:range :Step .

:correspondsToVariable a owl:ObjectProperty , owl:FunctionalProperty ;
	rdfs:label "correspondsToVariable"@en ;
	prov:definition "p-plan:correspondsToVariable binds a p-plan:Entity (used by a p-plan:Activity in the execution of a plan) to the p-plan:Variable it represented it in the p-plan:Plan."@en ;
	rdfs:isDefinedBy <http://purl.org/net/p-plan#> ;
	rdfs:domain :Entity ;
	rdfs:range :Variable .

:hasInputVar a owl:ObjectProperty ;
	rdfs:label "hasInputVar"@en ;
	prov:definition "p-plan:hasInputVar binds a p-plan:Step to the p-plan:Variable that takes as input for the planned execution"@en ;
	rdfs:isDefinedBy <http://purl.org/net/p-plan#> ;
	rdfs:domain :Step ;
	rdfs:range :Variable .

:hasOutputVar a owl:ObjectProperty ;
	rdfs:label "hasOutputVar"@en ;
	prov:definition "p-plan:hasOutputVar binds a p-plan:Step to the p-plan:Variable that will be produced as output in the planned execution"@en ;
	rdfs:isDefinedBy <http://purl.org/net/p-plan#> ;
	rdfs:domain :Step ;
	rdfs:range :Variable ;
	owl:inverseOf :isOutputVarOf .

:isDecomposedAsPlan a owl:ObjectProperty ;
	rdfs:label "isDecomposedAsPlan"@en ;
	prov:definition "The p-plan:isDecomposedAsPlan relationship binds a p-plan:MultiStep to the p-plan:Plan holding the definition of that step. That is, p-plan:isDecomposedAsPlan links the MultiStep to the Plan sptecification where it is decomposed."@en ;
	rdfs:isDefinedBy <http://purl.org/net/p-plan#> ;
	rdfs:domain :MultiStep ;
	rdfs:range :Plan .

:isInputVarOf a owl:ObjectProperty ;
	rdfs:label "isInputVarOf"@en ;
	prov:definition "p-plan:isInputVarOf links an input variable of a step to the step."@en ;
	rdfs:isDefinedBy <http://purl.org/net/p-plan#> ;
	rdfs:range :Step ;
	rdfs:domain :Variable ;
	owl:inverseOf :hasInputVar .

:isOutputVarOf a owl:ObjectProperty , owl:FunctionalProperty ;
	rdfs:label "isOutputVarOf"@en ;
	prov:definition "p-plan:isOutputVarOf is intended to link an output variable of a step to the step."@en ;
	rdfs:isDefinedBy <http://purl.org/net/p-plan#> ;
	rdfs:range :Step ;
	rdfs:domain :Variable .

:isPreceededBy a owl:ObjectProperty , owl:TransitiveProperty ;
	rdfs:label "isPreceededBy"@en ;
	rdfs:isDefinedBy "Property that asserts which Step preceeds the current one."@en ;
	rdfs:comment <http://purl.org/net/p-plan#> ;
	rdfs:range :Step ;
	rdfs:domain :Step .

:isStepOfPlan a owl:ObjectProperty ;
	rdfs:label "isStepOfPlan"@en ;
	prov:definition "p-plan:isStepOfPlan links a p-plan:Step to the p-plan:Plan which it corresponds to."@en ;
	rdfs:isDefinedBy <http://purl.org/net/p-plan#> ;
	rdfs:range :Plan ;
	rdfs:domain :Step .

:isSubPlanOfPlan a owl:ObjectProperty ;
	rdfs:label "isSubPlanOfPlan"@en ;
	prov:definition "A p-plan:Plan may be a subplan of another bigger p-plan:Plan. p-plan:isSubPlanOfPlan is used to state the link among the two different plans. Note that if p1 is a p-plan:subPlan of p2, p1will not necessarily be a step of p2. A multistep will represent p1 in p2, and link to p1 with the p-plan.hasStepDecomposition relationship."@en ;
	rdfs:isDefinedBy <http://purl.org/net/p-plan#> ;
	rdfs:domain :Plan ;
	rdfs:range :Plan ;
	rdfs:subPropertyOf owl:topObjectProperty .

:isVariableOfPlan a owl:ObjectProperty ;
	rdfs:label "isVariableofPlan"@en ;
	prov:definition "p-plan:IsVariableOfPlan binds a p-plan:Variable to the p-plan:Plan it corresponds to."@en ;
	rdfs:isDefinedBy <http://purl.org/net/p-plan#> ;
	rdfs:range :Plan ;
	rdfs:domain :Variable .

prov:used a owl:ObjectProperty ;
	rdfs:isDefinedBy <http://www.w3.org/ns/prov#> ;
	rdfs:domain prov:Activity ;
	rdfs:range prov:Entity .

prov:wasDerivedFrom a owl:ObjectProperty ;
	rdfs:isDefinedBy <http://www.w3.org/ns/prov#> ;
	rdfs:domain prov:Entity ;
	rdfs:range prov:Entity .

prov:wasGeneratedBy a owl:ObjectProperty ;
	rdfs:isDefinedBy <http://www.w3.org/ns/prov#> ;
	rdfs:range prov:Activity ;
	rdfs:domain prov:Entity .

:Activity a owl:Class ;
	rdfs:label "Activity"@en ;
	rdfs:subClassOf prov:Activity ;
	rdfs:comment "A p-plan:Activity represents the execution process planned in a p-plan:Step"@en ;
	rdfs:isDefinedBy <http://purl.org/net/p-plan#> .

:Bundle a owl:Class ;
	rdfs:label "Bundle"@en ;
	rdfs:subClassOf :Entity , prov:Bundle ;
	prov:definition "A p-plan:Bundle is a specific type of prov:Bundle that contains the provenance assertions of the execution of a p-plan:Plan"@en ;
	rdfs:isDefinedBy <http://purl.org/net/p-plan#> .

:Entity a owl:Class ;
	rdfs:label "Entity"@en ;
	rdfs:subClassOf prov:Entity ;
	prov:definition "A p-plan:Entity represents the input of the execution of a p-plan:Activity. It corresponds to a p-plan:Variable."@en ;
	rdfs:isDefinedBy <http://purl.org/net/p-plan#> .

:MultiStep a owl:Class ;
	rdfs:label "MultiStep"@en ;
	rdfs:subClassOf :Plan , :Step ;
	prov:definition "A multi step is the representation of a plan that appears as a step of another plan."@en ;
	rdfs:isDefinedBy <http://purl.org/net/p-plan#> .

:Plan a owl:Class ;
	rdfs:label "Plan"@en ;
	rdfs:subClassOf :Entity , prov:Plan ;
	prov:definition "A p-plan:Plan is a specific type of prov:Plan. It is composed of smaller steps that use and produce Variables."@en ;
	rdfs:isDefinedBy <http://purl.org/net/p-plan#> .

:Step a owl:Class ;
	rdfs:label "Step"@en ;
	prov:definition "A p-plan:Step represents the planned execution activity"@en ;
	rdfs:isDefinedBy <http://purl.org/net/p-plan#> .

:Variable a owl:Class ;
	rdfs:label "Variable"@en ;
	prov:definition "A p-plan:Variable represents a description of the input of the planned Activity (p-plan:Step)"@en ;
	rdfs:isDefinedBy <http://purl.org/net/p-plan#> .

prov:Activity a owl:Class ;
	rdfs:isDefinedBy <http://www.w3.org/ns/prov#> .

prov:Bundle a owl:Class ;
	rdfs:subClassOf prov:Entity ;
	rdfs:isDefinedBy <http://www.w3.org/ns/prov#> .

prov:Entity a owl:Class ;
	rdfs:isDefinedBy <http://www.w3.org/ns/prov#> .

prov:Plan a owl:Class ;
	rdfs:subClassOf prov:Entity ;
	rdfs:isDefinedBy <http://www.w3.org/ns/prov#> .

<http://purl.org/net/p-plan#> a owl:Thing , owl:NamedIndividual .

<http://www.w3.org/ns/prov#> a owl:Thing , owl:NamedIndividual .
