@base <http://w3id.org/prohow#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix : <> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

<>
    a owl:Ontology ;
    <http://www.w3.org/1999/xhtml/vocab#license> <http://creativecommons.org/licenses/by/4.0/> ;
    owl:versionIRI :v1 .

:binds_to
    a owl:ObjectProperty ;
    rdfs:comment "The relation between two tasks that can be interchanged."@en ;
    rdfs:domain :task ;
    rdfs:label "Binds To"@en ;
    rdfs:range :task .

:complete
    rdfs:comment "The concept of a succesfully accomplished task."@en ;
    rdfs:label "Complete"@en .

:environment
    a owl:Class ;
    rdfs:comment "The scope of one particular intention at achieving a goal."@en ;
    rdfs:label "Environment"@en .

:execution
    a owl:Class ;
    rdfs:comment "A particular attempt at achieving a task."@en ;
    rdfs:label "Execution"@en .

:has_constant
    a owl:ObjectProperty ;
    rdfs:comment "The relation between a task and a task with a pre-defined value."@en ;
    rdfs:domain :task ;
    rdfs:label "Has Constant"@en ;
    rdfs:range :task .

:has_environment
    a owl:ObjectProperty ;
    rdfs:comment "The relation between an execution of a task, and its environment that defines its scope."@en ;
    rdfs:domain :execution ;
    rdfs:label "Has Environment"@en ;
    rdfs:range :environment .

:has_goal
    a owl:ObjectProperty ;
    rdfs:comment "The relation between an environment and its goal."@en ;
    rdfs:domain :task ;
    rdfs:label "Has Goal"@en ;
    rdfs:range :environment .

:has_method
    a owl:ObjectProperty ;
    rdfs:comment "The relation between a task and one of its methods. If at least one method of a task is achieved, then the task can be considered achieved as well."@en ;
    rdfs:domain :task ;
    rdfs:label "Has Method"@en ;
    rdfs:range :task .

:has_result
    a owl:AnnotationProperty ;
    rdfs:comment "The relation between an execution and its result (e.g. success or failure)."@en ;
    rdfs:domain :execution ;
    rdfs:label "Has Result"@en .

:has_step
    a owl:ObjectProperty ;
    rdfs:comment "The relation between a task and one of its steps. If all the steps of a task are achieved, then the task can be considered achieved as well."@en ;
    rdfs:domain :task ;
    rdfs:label "Has Step"@en ;
    rdfs:range :task .

:has_task
    a owl:ObjectProperty ;
    rdfs:comment "The relation between an execution, and the task that it was intended to accomplish."@en ;
    rdfs:domain :execution ;
    rdfs:label "Has Task"@en ;
    rdfs:range :task .

:has_value
    a owl:AnnotationProperty ;
    rdfs:comment "The relation between an execution and its associated value."@en ;
    rdfs:domain :execution ;
    rdfs:label "Has Value"@en .

:requires
    a owl:ObjectProperty ;
    rdfs:comment "The relation between a task and one of its requirements. If all the requirements of a task are satisfied, then the task is ready to be executed."@en ;
    rdfs:domain :task ;
    rdfs:label "Requires"@en ;
    rdfs:range :task .

:requires_one
    a owl:ObjectProperty ;
    rdfs:comment "The relation between a task and a sufficient requirement. If at least one sufficient requirement of a task is satisfied, then the task is ready to be executed."@en ;
    rdfs:domain :task ;
    rdfs:label "Requires One"@en ;
    rdfs:range :task .

:sub_environment_of
    a owl:ObjectProperty ;
    rdfs:comment "The relation between an environment and the environment that generated it."@en ;
    rdfs:domain :environment ;
    rdfs:label "Sub Environment Of"@en ;
    rdfs:range :environment .

:task
    a owl:Class ;
    rdfs:comment "Something that can be accomplished by doing some action."@en ;
    rdfs:label "Task"@en .

