@base              <https://w3id.org/valueflows/ont/vf> .
@prefix vf:        <#> .
@prefix as:        <https://www.w3.org/ns/activitystreams#> .
@prefix cc:        <http://creativecommons.org/ns#> .
@prefix dcterms:   <http://purl.org/dc/terms/> .
@prefix dtype:     <http://www.linkedmodel.org/schema/dtype#> .
@prefix foaf:      <http://xmlns.com/foaf/0.1/> .
@prefix geo:       <http://www.w3.org/2003/01/geo/wgs84_pos#> .
@prefix geosparql: <http://www.opengis.net/ont/geosparql#> .
@prefix om:        <http://www.ontology-of-units-of-measure.org/resource/om-2/> .
@prefix org:       <http://www.w3.org/ns/org#> .
@prefix owl:       <http://www.w3.org/2002/07/owl#> .
@prefix rdf:       <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:      <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos:      <http://www.w3.org/2004/02/skos/core#> .
@prefix spdxt:     <http://spdx.org/rdf/terms#> .
@prefix spdxl:     <https://spdx.org/licenses/> .
@prefix time:      <http://www.w3.org/2006/time#> .
@prefix vann:      <http://purl.org/vocab/vann/> .
@prefix vs:        <http://www.w3.org/2003/06/sw-vocab-status/ns#> .
@prefix xsd:       <http://www.w3.org/2001/XMLSchema#> .

<> a owl:Ontology ;
    dcterms:title "Valueflows Ontology" ;
    dcterms:description "A vocabulary for the distributed economic networks of the next economy, to coordinate the creation, distribution, and exchange of economic resources" ;
    dcterms:type <http://purl.org/adms/assettype/Ontology> ;
    vann:preferredNamespacePrefix "vf" ;
    vann:preferredNamespaceUri "https://w3id.org/valueflows/ont/vf#" ;
    owl:versionInfo "1.0.0" ;
    owl:versionIRI <https://w3id.org/valueflows/ont/1.0.0/vf> ;
    dcterms:status <http://purl.org/adms/status/UnderDevelopment> ;
    dcterms:license "https://creativecommons.org/licenses/by-sa/4.0/" ;
    cc:license "https://creativecommons.org/licenses/by-sa/4.0/" ;
    spdxt:licenseDeclared spdxl:CC-BY-SA-4.0 ;
    dcterms:source "https://codeberg.org/valueflows/pages/src/branch/main/assets/all_vf.TTL" ;
    .

# Classes: Knowledge layer

vf:Action  a                owl:Class ;
        rdfs:label          "Action"@en ;
        vs:term_status      "stable" ;
        rdfs:comment        "An action verb defining the kind of flow and its behavior."@en ;
        .

vf:ProcessSpecification a   owl:Class ;
        rdfs:label          "Process Specification"@en ;
        vs:term_status      "stable" ;
        rdfs:comment        "Specifies the kind of process."@en ;
        .

vf:Recipe a                 owl:Class ;
        rdfs:label          "Recipe"@en ;
        vs:term_status      "testing" ;
        rdfs:comment        "Optional instance of a recipe which directly specifies the recipe processes included."@en ;
        .

vf:RecipeExchange a         owl:Class ;
        rdfs:label          "Recipe Exchange"@en ;
        vs:term_status      "stable" ;
        rdfs:comment        "Specifies an exchange type agreement as part of a recipe."@en ;
        .

vf:RecipeFlow a             owl:Class ;
        rdfs:label          "Recipe Flow"@en ;
        vs:term_status      "stable" ;
        rdfs:comment        "The specification of a resource inflow to, or outflow from, a recipe process; and/or a clause, or reciprocal clause, of a recipe exchange."@en ;
        .

vf:RecipeProcess a          owl:Class ;
        rdfs:label          "Recipe Process"@en ;
        vs:term_status      "stable" ;
        rdfs:comment        "Specifies a process in a recipe for use in planning from recipe."@en ;
        .

vf:ResourceSpecification a  owl:Class ;
        rdfs:label          "Resource Specification"@en ;
        vs:term_status      "stable" ;
        rdfs:comment        "Specifies the kind of economic or environmental resource, even if the resource is not instantiated as an EconomicResource. Could define a material or digital thing, service, medium of exchange or currency, skill or type of work."@en ;
        .

# Classes: Planning layer

vf:Agreement  a             owl:Class ;
        rdfs:label          "Agreement"@en ;
        vs:term_status      "stable" ;
        rdfs:comment        "A set of reciprocal commitments among economic agents, and/or a set of reciprocal economic events."@en ;
        .

vf:AgreementBundle  a       owl:Class ;
        rdfs:label          "Agreement Bundle"@en ;
        vs:term_status      "testing" ;
        rdfs:comment        "A grouping of agreements to bundle detailed line item reciprocity."@en ;
        .

vf:Claim  a                 owl:Class ;
        rdfs:label          "Claim"@en ;
        vs:term_status      "testing" ;
        rdfs:comment        "A claim for a future economic event(s) in reciprocity for an economic event that already occurred."@en ;
        .

vf:Commitment  a            owl:Class ;
        rdfs:label          "Commitment"@en ;
        vs:term_status      "stable" ;
        rdfs:comment        "A planned economic flow that has been scheduled or promised by one agent to another agent."@en ;
        .

vf:Intent  a                owl:Class ;
        rdfs:label          "Intent"@en ;
        vs:term_status      "stable" ;
        rdfs:comment        "A desired or proposed or planned or estimated economic flow, usually with only one agent associated, which could become a commitment and/or economic event."@en ;
        .

vf:Plan  a                  owl:Class ;
        rdfs:label          "Plan"@en ;
        vs:term_status      "stable" ;
        rdfs:comment        "A logical collection of processes, with optional connected agreements, that constitute a body of scheduled work with defined deliverable(s)."@en ;
        .

vf:Process  a               owl:Class ;
        rdfs:label          "Process"@en ;
        vs:term_status      "stable" ;
        rdfs:comment        "An activity that changes inputs into outputs, by transforming or transporting economic resource(s)."@en ;
        .

vf:Proposal  a              owl:Class ;
        rdfs:label          "Proposal"@en ;
        vs:term_status      "stable" ;
        rdfs:comment        "Published requests or offers, sometimes with what is expected in return."@en ;
        .

vf:ProposalList  a          owl:Class ;
        rdfs:label          "Proposal List"@en ;
        vs:term_status      "testing" ;
        rdfs:comment        "A grouping of proposals, for publishing as a list."@en ;
        .

# Classes: Observation layer

vf:Agent  a                 owl:Class ;
        rdfs:seeAlso        foaf:Agent ;
        rdfs:label          "Agent"@en ;
        vs:term_status      "stable" ;
        rdfs:comment        "An identifiable entity that can commit to and/or perform economic and/or ecological activity under its own power or authority."@en ;
        .

vf:BatchLotRecord  a        owl:Class ;
        rdfs:label          "Batch Lot Record"@en ;
        vs:term_status      "testing" ;
        rdfs:comment        "A document which contains all the needed detail related to the production process of a particular batch or lot, a resource processed in the same process(es) so that it is expected to be homogeneous."@en ;
        .

vf:EcologicalAgent  a       owl:Class ;
        rdfs:label          "Ecological Agent"@en ;
        rdfs:subClassOf     vf:Agent ;
        vs:term_status      "testing" ;
        rdfs:comment        "A non-human being; or a functional group of non-human beings; or an ecosystem of living beings that includes non-humans; but it has agency and receives and/or provides economic/ecological resources."@en ;
        .

vf:EconomicEvent  a         owl:Class ;
        rdfs:label          "Economic Event"@en ;
        vs:term_status      "stable" ;
        rdfs:comment        "An observed economic flow, which could reflect creation or a change in the quantity, location, accountability and/or responsibility, of an economic resource, whether material or not."@en ;
        .

vf:EconomicResource  a      owl:Class ;
        rdfs:label          "Economic Resource"@en ;
        vs:term_status      "stable" ;
        rdfs:comment        "Economic or environmental things (material or digital), media of exchange, which agents agree should be accounted for and which can be inventoried."@en ;
        .

vf:Organization  a          owl:Class ;
        rdfs:seeAlso        org:Organization ;
        rdfs:label          "Organization"@en ;
        rdfs:subClassOf     vf:Agent ;
        vs:term_status      "stable" ;
        rdfs:comment        "A functional structure, formal or informal, which can include people and/or other organizations, and has its own agency.  Something called a group is an Organization in Valueflows if it has agency as the group."@en ;
        .

vf:Person  a                owl:Class ;
        rdfs:seeAlso        foaf:Person ;
        rdfs:label          "Person"@en ;
        rdfs:subClassOf     vf:Agent ;
        vs:term_status      "stable" ;
        rdfs:comment        "A human being. All persons are considered agents."@en ;
        .

# Classes: Utility

vf:Measure a                owl:Class ;
        rdfs:subClassOf     om:Measure ;
        rdfs:label          "Measure"@en ;
        vs:term_status      "stable" ;
        rdfs:comment        "A quantity expressed as a numeric value with a unit of measure."@en ;
        .

vf:SpatialThing a           owl:Class ;
        rdfs:subClassOf     geo:SpatialThing ;
        rdfs:label          "Spatial Thing"@en ;
        vs:term_status      "stable" ;
        rdfs:comment        "Data that locates something relative to the Earth, usually a somewhat fixed location."@en ;
        .

vf:Unit a                   owl:Class ;
        rdfs:subClassOf     om:Unit ;
        rdfs:label          "Unit"@en ;
        vs:term_status      "stable" ;
        rdfs:comment        "A standard unit of measure, defined and adopted by convention or by law."@en ;
        .

# Named classes for anonymous union domain/range

vf:ActionDomain
        a                   owl:Class ;
        rdfs:label          "Domain for vf:action"@en ;
        owl:unionOf         (vf:EconomicEvent vf:Commitment vf:Intent vf:RecipeFlow vf:Claim) .

vf:ClassifiedAsDomain
        a                   owl:Class ;
        rdfs:label          "Domain for vf:classifiedAs"@en ;
        owl:unionOf         (vf:Process vf:EconomicResource vf:Organization vf:EcologicalAgent vf:Unit) .

vf:CreatedDomain
        a                   owl:Class ;
        rdfs:label          "Domain for vf:created"@en ;
        owl:unionOf         (vf:Agreement vf:AgreementBundle vf:Claim vf:Commitment vf:EconomicEvent vf:Plan vf:Proposal vf:ProposalList) .

vf:DueDomain
        a                   owl:Class ;
        rdfs:label          "Domain for vf:due"@en ;
        owl:unionOf         (vf:Plan vf:Commitment vf:Claim vf:Intent) .

vf:EffortQuantityDomain
        a                   owl:Class ;
        rdfs:label          "Domain for vf:effortQuantity"@en ;
        owl:unionOf         (vf:EconomicEvent vf:Commitment vf:Intent vf:RecipeFlow vf:Claim) .

vf:FinishedDomain
        a                   owl:Class ;
        rdfs:label          "Domain for vf:finished"@en ;
        owl:unionOf         (vf:Commitment vf:Process vf:Intent vf:Claim) .

vf:HasBeginningDomain
        a                   owl:Class ;
        rdfs:label          "Domain for vf:hasBeginning"@en ;
        owl:unionOf         (vf:Commitment vf:EconomicEvent vf:Intent vf:Proposal vf:Process) .

vf:HasEndDomain
        a                   owl:Class ;
        rdfs:label          "Domain for vf:hasEnd"@en ;
        owl:unionOf         (vf:Commitment vf:EconomicEvent vf:Intent vf:Proposal vf:Process) .

vf:HasInputRange
        a                   owl:Class ;
        rdfs:label          "Range for vf:hasInput"@en ;
        owl:unionOf         (vf:EconomicEvent vf:Commitment vf:Intent) .

vf:HasOutputRange
        a                   owl:Class ;
        rdfs:label          "Range for vf:hasOutput"@en ;
        owl:unionOf         (vf:EconomicEvent vf:Commitment vf:Intent) .

vf:HasPointInTimeDomain
        a                   owl:Class ;
        rdfs:label          "Domain for vf:hasPointInTime"@en ;
        owl:unionOf         (vf:Commitment vf:EconomicEvent vf:Intent) .

vf:ImageDomain
        a                   owl:Class ;
        rdfs:label          "Domain for vf:image"@en ;
        owl:unionOf         (vf:Agent vf:EconomicEvent vf:EconomicResource vf:Intent vf:ResourceSpecification vf:ProcessSpecification vf:RecipeProcess) .

vf:ImageListDomain
        a                   owl:Class ;
        rdfs:label          "Domain for vf:imageList"@en ;
        owl:unionOf         (vf:EconomicResource vf:Intent vf:ResourceSpecification) .

vf:InputOfDomain
        a                   owl:Class ;
        rdfs:label          "Domain for vf:inputOf"@en ;
        owl:unionOf         (vf:EconomicEvent vf:Commitment vf:Intent) .

vf:LabelDomain
        a                   owl:Class ;
        rdfs:label          "Domain for vf:label"@en ;
        owl:unionOf         (vf:Unit vf:Action) .

vf:NameDomain
        a                   owl:Class ;
        rdfs:label          "Domain for vf:name"@en ;
        owl:unionOf         (vf:Agent vf:Agreement vf:AgreementBundle vf:EconomicResource vf:Intent vf:Plan vf:Process vf:ProcessSpecification vf:Proposal vf:ProposalList vf:Recipe vf:RecipeExchange vf:RecipeProcess vf:ResourceSpecification vf:SpatialThing) .

vf:NoteDomain
        a                   owl:Class ;
        rdfs:label          "Domain for vf:note"@en ;
        owl:unionOf         (vf:Agent vf:Agreement vf:AgreementBundle vf:Claim vf:Commitment vf:EconomicEvent vf:EconomicResource vf:Intent vf:Plan vf:Process vf:ProcessSpecification vf:Proposal vf:ProposalList vf:Recipe vf:RecipeExchange vf:RecipeFlow vf:RecipeProcess vf:ResourceSpecification vf:SpatialThing) .

vf:OutputOfDomain
        a                   owl:Class ;
        rdfs:label          "Domain for vf:outputOf"@en ;
        owl:unionOf         (vf:EconomicEvent vf:Commitment vf:Intent) .

vf:PlanIncludesRange
        a                   owl:Class ;
        rdfs:label          "Range for vf:planIncludes"@en ;
        owl:unionOf         (vf:Process vf:Commitment vf:Intent) .

vf:PlannedWithinDomain
        a                   owl:Class ;
        rdfs:label          "Domain for vf:plannedWithin"@en ;
        owl:unionOf         (vf:Process vf:Commitment vf:Intent) .

vf:ProposedToDomain
        a                   owl:Class ;
        rdfs:label          "Domain for vf:proposedTo"@en ;
        owl:unionOf         (vf:Proposal vf:ProposalList) .

vf:ProviderDomain
        a                   owl:Class ;
        rdfs:label          "Domain for vf:provider"@en ;
        owl:unionOf         (vf:EconomicEvent vf:Commitment vf:Intent vf:Claim) .

vf:ReceiverDomain
        a                   owl:Class ;
        rdfs:label          "Domain for vf:receiver"@en ;
        owl:unionOf         (vf:EconomicEvent vf:Commitment vf:Intent vf:Claim) .

vf:ResourceClassifiedAsDomain
        a                   owl:Class ;
        rdfs:label          "Domain for vf:resourceClassifiedAs"@en ;
        owl:unionOf         (vf:ResourceSpecification vf:RecipeFlow vf:Intent vf:Commitment vf:EconomicEvent vf:Claim) .

vf:ResourceConformsToDomain
        a                   owl:Class ;
        rdfs:label          "Domain for vf:resourceConformsTo"@en ;
        owl:unionOf         (vf:Commitment vf:Intent vf:EconomicEvent vf:Claim vf:RecipeFlow) .

vf:ResourceInventoriedAsDomain
        a                   owl:Class ;
        rdfs:label          "Domain for vf:resourceInventoriedAs"@en ;
        owl:unionOf         (vf:Commitment vf:Intent vf:EconomicEvent) .

vf:ResourceQuantityDomain
        a                   owl:Class ;
        rdfs:label          "Domain for vf:resourceQuantity"@en ;
        owl:unionOf         (vf:EconomicEvent vf:Commitment vf:Intent vf:RecipeFlow vf:Claim) .

vf:SatisfiesDomain
        a                   owl:Class ;
        rdfs:label          "Domain for vf:satisfies"@en ;
        owl:unionOf         (vf:Commitment vf:EconomicEvent) .

vf:StageDomain
        a                   owl:Class ;
        rdfs:label          "Domain for vf:stage"@en ;
        owl:unionOf         (vf:EconomicResource vf:Commitment vf:Intent vf:RecipeFlow) .

vf:StateDomain
        a                   owl:Class ;
        rdfs:label          "Domain for vf:state"@en ;
        owl:unionOf         (vf:EconomicResource vf:EconomicEvent vf:RecipeFlow vf:Commitment vf:Intent) .

# Properties

vf:action
        a                   owl:ObjectProperty ;
        rdfs:label          "action"@en ;
        rdfs:domain         vf:ActionDomain ;
        rdfs:range          vf:Action ;
        owl:cardinality     1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "Defines the kind of flow, such as consume, produce, work, transfer, etc."@en ;
        .

vf:inputOf
        a                   owl:ObjectProperty ;
        rdfs:label          "input of"@en ;
        rdfs:domain         vf:InputOfDomain ;
        rdfs:range          vf:Process ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "Relates an input flow to its process."@en ;
        .

vf:hasInput
        a                   owl:ObjectProperty ;
        owl:inverseOf       vf:inputOf ;
        rdfs:label          "has input"@en ;
        rdfs:domain         vf:Process ;
        rdfs:range          vf:HasInputRange ;
        vs:term_status      "stable" ;
        rdfs:comment        "All the input flows of a process."@en ;
        .

vf:outputOf
        a                   owl:ObjectProperty ;
        rdfs:label          "output of"@en ;
        rdfs:domain         vf:OutputOfDomain ;
        rdfs:range          vf:Process ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "Relates an output flow to its process."@en ;
        .

vf:hasOutput
        a                   owl:ObjectProperty ;
        owl:inverseOf       vf:outputOf ;
        rdfs:label          "has output"@en ;
        rdfs:domain         vf:Process ;
        rdfs:range          vf:HasOutputRange ;
        vs:term_status      "stable" ;
        rdfs:comment        "All the output flows of a process."@en ;
        .

vf:recipeInputOf
        a                   owl:ObjectProperty ;
        rdfs:label          "recipe input of"@en ;
        rdfs:domain         vf:RecipeFlow ;
        rdfs:range          vf:RecipeProcess ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "Relates an input flow to its process in a recipe."@en ;
        .

vf:hasRecipeInput
        a                   owl:ObjectProperty ;
        owl:inverseOf       vf:recipeInputOf ;
        rdfs:label          "has recipe input"@en ;
        rdfs:domain         vf:RecipeProcess ;
        rdfs:range          vf:RecipeFlow ;
        vs:term_status      "stable" ;
        rdfs:comment        "All the inputs of a recipe process."@en ;
        .

vf:recipeOutputOf
        a                   owl:ObjectProperty ;
        rdfs:label          "recipe output of"@en ;
        rdfs:domain         vf:RecipeFlow ;
        rdfs:range          vf:RecipeProcess ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "Relates an output flow to its process in a recipe."@en ;
        .

vf:hasRecipeOutput
        a                   owl:ObjectProperty ;
        owl:inverseOf       vf:recipeOutputOf ;
        rdfs:label          "has recipe output"@en ;
        rdfs:domain         vf:RecipeProcess ;
        rdfs:range          vf:RecipeFlow ;
        vs:term_status      "stable" ;
        rdfs:comment        "All the outputs of a recipe process."@en ;
        .

vf:recipeClauseOf
        a                   owl:ObjectProperty ;
        rdfs:label          "recipe clause of"@en ;
        rdfs:domain         vf:RecipeFlow ;
        rdfs:range          vf:RecipeExchange ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "Relates a flow to its exchange agreement in a recipe."@en ;
        .

vf:recipeStipulates
        a                   owl:ObjectProperty ;
        owl:inverseOf       vf:recipeClauseOf ;
        rdfs:label          "recipe stipulates"@en ;
        rdfs:domain         vf:RecipeExchange ;
        rdfs:range          vf:RecipeFlow ;
        vs:term_status      "stable" ;
        rdfs:comment        "All the primary clauses of a recipe exchange."@en ;
        .

vf:recipeReciprocalClauseOf
        a                   owl:ObjectProperty ;
        rdfs:label          "recipe reciprocal clause of"@en ;
        rdfs:domain         vf:RecipeFlow ;
        rdfs:range          vf:RecipeExchange ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "Relates a reciprocal flow to its exchange agreement in a recipe."@en ;
        .

vf:recipeStipulatesReciprocal
        a                   owl:ObjectProperty ;
        owl:inverseOf       vf:recipeReciprocalClauseOf ;
        rdfs:label          "recipe stipulates reciprocal"@en ;
        rdfs:domain         vf:RecipeExchange ;
        rdfs:range          vf:RecipeFlow ;
        vs:term_status      "stable" ;
        rdfs:comment        "All the reciprocal clauses of a recipe exchange."@en ;
        .

vf:primaryOutput
        a                   owl:ObjectProperty ;
        rdfs:label          "primary output"@en ;
        rdfs:domain         vf:Recipe ;
        rdfs:range          vf:ResourceSpecification ;
        owl:maxCardinality  1 ;
        vs:term_status      "testing" ;
        rdfs:comment        "The main type of resource the recipe is intended to produce or deliver."@en ;
        .

vf:recipeIncludes
        a                   owl:ObjectProperty ;
        rdfs:label          "recipe includes"@en ;
        rdfs:domain         vf:Recipe ;
        rdfs:range          vf:RecipeProcess ;
        vs:term_status      "testing" ;
        rdfs:comment        "The collection of processes needed for this recipe."@en ;
        .

vf:plannedWithin
        a                   owl:ObjectProperty ;
        rdfs:label          "planned within"@en ;
        rdfs:domain         vf:PlannedWithinDomain ;
        rdfs:range          vf:Plan ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The process with its inputs and outputs, or the non-process commitment or intent, is part of the plan."@en ;
        .

vf:planIncludes
        a                   owl:ObjectProperty ;
        owl:inverseOf       vf:plannedWithin ;
        rdfs:label          "plan includes"@en ;
        rdfs:domain         vf:Plan ;
        rdfs:range          vf:PlanIncludesRange ;
        vs:term_status      "stable" ;
        rdfs:comment        "The processes and non-process commitments/intents that constitute the plan."@en ;
        .

vf:independentDemandOf
        a                   owl:ObjectProperty ;
        rdfs:label          "independent demand of"@en ;
        rdfs:range          vf:Plan ;
        rdfs:domain         vf:Commitment ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "This plan is the way this commitment or intent will be realized."@en ;
        .

vf:hasIndependentDemand
        a                   owl:ObjectProperty ;
        owl:inverseOf       vf:independentDemandOf ;
        rdfs:label          "has independent demand"@en ;
        rdfs:range          vf:Commitment  ;
        rdfs:domain         vf:Plan ;
        vs:term_status      "stable" ;
        rdfs:comment        "The commitments and/or intents which this plan was created to deliver on."@en ;
        .

vf:resourceInventoriedAs
        a                   owl:ObjectProperty ;
        rdfs:label          "resource inventoried as"@en ;
        rdfs:domain         vf:ResourceInventoriedAsDomain ;
        rdfs:range          vf:EconomicResource ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "Economic resource involved in the flow."@en ;
        .

vf:toResourceInventoriedAs
        a                   owl:ObjectProperty ;
        rdfs:label          "to resource inventoried as"@en ;
        rdfs:domain         vf:EconomicEvent ;
        rdfs:range          vf:EconomicResource ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "Additional economic resource on the economic event when needed by the receiver. Used when a transfer or move, or sometimes other actions, requires explicitly identifying an economic resource by the receiver, which is identified differently by the sender."@en ;
        .

vf:provider  a              owl:ObjectProperty ;
        rdfs:domain         vf:ProviderDomain ;
        rdfs:label          "provider"@en ;
        rdfs:range          vf:Agent ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The economic agent by whom the intended, committed, or actual economic event is initiated."@en ;
        .

vf:receiver  a              owl:ObjectProperty ;
        rdfs:domain         vf:ReceiverDomain ;
        rdfs:label          "receiver"@en ;
        rdfs:range          vf:Agent ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The economic agent whom the intended, committed, or actual economic event is for."@en ;
        .

vf:inScopeOf  a             owl:ObjectProperty ;
        rdfs:domain         vf:Process ;
        rdfs:label          "in scope of"@en ;
        rdfs:range          vf:Agent ;
        owl:maxCardinality  1 ;
        vs:term_status      "testing" ;
        rdfs:comment        "Scope here means executed in the context of an agent."@en ;
        .

vf:triggeredBy  a           owl:ObjectProperty ;
        rdfs:label          "triggered by"@en ;
        rdfs:domain         vf:Claim ;
        rdfs:range          vf:EconomicEvent ;
        owl:maxCardinality  1 ;
        vs:term_status      "testing" ;
        rdfs:comment        "References an economic event that implied the claim, often based on a prior agreement."@en ;
        .

vf:corrects  a              owl:ObjectProperty ;
        rdfs:label          "corrects"@en ;
        rdfs:domain         vf:EconomicEvent ;
        rdfs:range          vf:EconomicEvent ;
        owl:maxCardinality  1 ;
        vs:term_status      "testing" ;
        rdfs:comment        "Used when an event was entered incorrectly and needs to be backed out or corrected. (The initial event cannot be changed.)"@en ;
        .

vf:settles  a               owl:ObjectProperty ;
        rdfs:label          "settles"@en ;
        rdfs:domain         vf:EconomicEvent ;
        rdfs:range          vf:Claim ;
        vs:term_status      "testing" ;
        rdfs:comment        "The claim(s) settled fully or partially by the economic event."@en ;
        .

vf:containedIn a            owl:ObjectProperty ;
        rdfs:label          "contained in"@en ;
        rdfs:domain         vf:EconomicResource ;
        rdfs:range          vf:EconomicResource ;
        vs:term_status      "testing" ;
        rdfs:comment        "Used when an economic resource contains units also defined as separate economic resources, for example a tool kit or a package of resources for shipping."@en ;
        .

vf:contains a               owl:ObjectProperty ;
        owl:inverseOf       vf:containedIn ;
        rdfs:label          "contains"@en ;
        rdfs:domain         vf:EconomicResource ;
        rdfs:range          vf:EconomicResource ;
        vs:term_status      "testing" ;
        rdfs:comment        "An economic resource contains at least one other economic resource, for example a tool kit or package of resources for shipping."@en ;
        .

vf:primaryAccountable a     owl:ObjectProperty ;
        rdfs:label          "primary accountable"@en ;
        rdfs:domain         vf:EconomicResource ;
        rdfs:range          vf:Agent ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The agent currently with primary rights and responsibilites for the economic resource. It is the agent that is associated with the accountingQuantity of the economic resource."@en ;
        .

vf:hasBeginning a           owl:DatatypeProperty ;
        rdfs:subPropertyOf  time:hasBeginning ;
        rdfs:label          "has beginning"@en ;
        rdfs:domain         vf:HasBeginningDomain ;
        rdfs:range          xsd:dateTimeStamp ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The planned or actual beginning date, and time if desired, of a flow or process."@en ;
        .

vf:hasEnd a                 owl:DatatypeProperty ;
        rdfs:subPropertyOf  time:hasEnd ;
        rdfs:label          "has end"@en ;
        rdfs:domain         vf:HasEndDomain ;
        rdfs:range          xsd:dateTimeStamp ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The planned or actual ending date, and time if desired, of a flow or process."@en ;
        .

vf:hasPointInTime a         owl:DatatypeProperty ;
        rdfs:subPropertyOf  time:inXSDDateTimeStamp ;
        rdfs:label          "has point in time"@en ;
        rdfs:domain         vf:HasPointInTimeDomain ;
        rdfs:range          xsd:dateTimeStamp ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The planned or actual date, and time if desired, of a flow; can be used instead of hasBeginning and hasEnd, if so, hasBeginning and hasEnd should be able to return this value."@en ;
        .

vf:hasDuration a            owl:ObjectProperty ;
        rdfs:seeAlso        time:hasDuration ;
        rdfs:label          "has duration"@en ;
        rdfs:domain         vf:RecipeProcess ;
        rdfs:range          vf:Measure ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The temporal extent of the process."@en ;
        .

vf:due a                    owl:DatatypeProperty ;
        rdfs:label          "due"@en ;
        rdfs:domain         vf:DueDomain ;
        rdfs:range          xsd:dateTimeStamp ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The date, and time if desired, something is expected to be complete."@en ;
        .

vf:hasNumericalValue a      owl:DatatypeProperty ;
        rdfs:subPropertyOf  om:hasNumericalValue ;
        rdfs:label          "has numerical value"@en ;
        rdfs:domain         vf:Measure ;
        rdfs:range          dtype:numericUnion ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "A numeric amount."@en ;
        .

vf:hasUnit a                owl:ObjectProperty ;
        rdfs:subPropertyOf  om:hasUnit ;
        rdfs:label          "has unit"@en ;
        rdfs:domain         vf:Measure ;
        rdfs:range          vf:Unit ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "A standard unit of measure."@en ;
        .

vf:omUnitIdentifier a       owl:DatatypeProperty ;
        rdfs:label          "om unit identifier"@en ;
        rdfs:domain         vf:Unit ;
        rdfs:range          xsd:anyURI ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The unique identifier of the om unit of measure, for standardization across networks."@en ;
        .

vf:label a                  owl:DatatypeProperty ;
        rdfs:subPropertyOf  rdfs:label ;
        rdfs:label          "label"@en ;
        rdfs:domain         vf:LabelDomain ;
        rdfs:range          xsd:string ;
        owl:cardinality     1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The label defined for human readable display."@en ;
        .

vf:symbol a                 owl:DatatypeProperty ;
        rdfs:subPropertyOf  om:symbol ;
        rdfs:label          "symbol"@en ;
        rdfs:domain         vf:Unit ;
        rdfs:range          xsd:string ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The symbol defined for human readable display."@en ;
        .

vf:accountingQuantity a     owl:ObjectProperty ;
        rdfs:label          "accounting quantity"@en ;
        rdfs:domain         vf:EconomicResource ;
        rdfs:range          vf:Measure ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The current amount and unit of the economic resource for which the agent has primary rights and responsibilities, sometimes thought of as ownership. This can be either stored or derived from economic events affecting the resource."@en ;
        .

vf:onhandQuantity a         owl:ObjectProperty ;
        rdfs:label          "onhand quantity"@en ;
        rdfs:domain         vf:EconomicResource ;
        rdfs:range          vf:Measure ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The current amount and unit of the economic resource which is under direct control of the agent.  It may be more or less than the accounting quantity. This can be either stored or derived from economic events affecting the resource."@en ;
        .

vf:resourceQuantity a       owl:ObjectProperty ;
        rdfs:label          "resource quantity"@en ;
        rdfs:domain         vf:ResourceQuantityDomain ;
        rdfs:range          vf:Measure ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The amount and unit of the economic resource counted or inventoried."@en ;
        .

vf:effortQuantity a         owl:ObjectProperty ;
        rdfs:label          "effort quantity"@en ;
        rdfs:domain         vf:EffortQuantityDomain ;
        rdfs:range          vf:Measure ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The amount and unit of the work or use or citation effort-based action. This is often expressed with a time unit, but also could be cycle counts or other measures of effort or usefulness."@en ;
        .

vf:availableQuantity a      owl:ObjectProperty ;
        rdfs:label          "available quantity"@en ;
        rdfs:domain         vf:Intent ;
        rdfs:range          vf:Measure ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The amount and unit of the offered resource currently available."@en ;
        .

vf:minimumQuantity a        owl:ObjectProperty ;
        rdfs:label          "minimum quantity"@en ;
        rdfs:domain         vf:Intent ;
        rdfs:range          vf:Measure ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The minimum required order amount and unit of the offered resource."@en ;
        .

vf:unitBased  a             owl:DatatypeProperty ;
        rdfs:label          "unit based"@en ;
        rdfs:domain         vf:Proposal ;
        rdfs:range          xsd:boolean ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "This group of intents contains unit based quantities, which can be multipied to create commitments; commonly seen in a price list or e-commerce. Default false."@en ;
        .

vf:purpose  a               owl:ObjectProperty ;
        rdfs:label          "purpose"@en ;
        rdfs:domain         vf:Proposal ;
        rdfs:range          vf:ProposalPurpose ;
        owl:maxCardinality  1 ;
        vs:term_status      "testing" ;
        rdfs:comment        "The type of proposal, whether offer or request (others may be added as need arises)."@en ;
        .

vf:created a                owl:DatatypeProperty ;
        rdfs:seeAlso        dcterms:created ;
        rdfs:label          "created"@en ;
        rdfs:domain         vf:CreatedDomain ;
        rdfs:range          xsd:dateTimeStamp ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The date, and time if desired, the information was agreed to or recorded."@en ;
        .

vf:long a                   owl:DatatypeProperty ;
        rdfs:subPropertyOf  geo:long ;
        rdfs:label          "longitude"@en ;
        rdfs:range          dtype:numericUnion ;
        rdfs:domain         vf:SpatialThing ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The WGS84 longitude of a spatial thing (decimal degrees)." ;
        .

vf:lat a                    owl:DatatypeProperty ;
        rdfs:subPropertyOf  geo:lat ;
        rdfs:label          "latitude"@en ;
        rdfs:range          dtype:numericUnion ;
        rdfs:domain         vf:SpatialThing ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The WGS84 latitude of a spatial thing (decimal degrees)." ;
        .

vf:alt a                    owl:DatatypeProperty ;
        rdfs:subPropertyOf  geo:alt ;
        rdfs:label          "altitude"@en ;
        rdfs:range          dtype:numericUnion ;
        rdfs:domain         vf:SpatialThing ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The WGS84 altitude of a spatial thing (decimal meters above the local reference ellipsoid)" ;
        .

vf:mappableAddress a        owl:DatatypeProperty ;
        rdfs:label          "mappable address"@en ;
        rdfs:domain         vf:SpatialThing ;
        rdfs:range          xsd:string ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "A textual address that can be mapped using mapping software."@en ;
        .

vf:hasDetailedGeometry a    owl:ObjectProperty ;
        rdfs:label          "has detailed geometry"@en ;
        rdfs:domain         vf:SpatialThing ;
        rdfs:range          geosparql:Geometry ;
        vs:term_status      "testing" ;
        rdfs:comment        "A spatial geometry of any complexity and tooling supported by geosparql."@en ;
        .

vf:currentLocation a        owl:ObjectProperty ;
        rdfs:label          "current location"@en ;
        rdfs:domain         vf:EconomicResource ;
        rdfs:range          vf:SpatialThing ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The current physical location of an economic resource.  Could be at any level of granularity, from a town to an address to a warehouse location.  Usually mappable."@en ;
        .

vf:currentVirtualLocation
        a                   owl:DatatypeProperty ;
        rdfs:label          "current virtual location"@en ;
        rdfs:domain         vf:EconomicResource ;
        rdfs:range          xsd:anyURI ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The current virtual place a digital economic resource is located. Usually used for documents, code, or other electronic resource."@en ;
        .

vf:currentCurrencyLocation
        a                   owl:DatatypeProperty ;
        rdfs:label          "current currency location"@en ;
        rdfs:domain         vf:EconomicResource ;
        rdfs:range          xsd:string ;
        owl:maxCardinality  1 ;
        vs:term_status      "testing" ;
        rdfs:comment        "The current virtual place a currency economic resource is located, for example the address for a bank account, crypto wallet, etc., in a domain standard format."@en ;
        .

vf:primaryLocation a        owl:ObjectProperty ;
        rdfs:label          "primary location"@en ;
        rdfs:domain         vf:Agent ;
        rdfs:range          vf:SpatialThing ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The main place an agent is located, often an address where activities occur and mail can be sent. This is usually a mappable geographic location."@en ;
        .

vf:eligibleLocation a       owl:ObjectProperty ;
        rdfs:label          "eligible location"@en ;
        rdfs:domain         vf:Proposal ;
        rdfs:range          vf:SpatialThing ;
        owl:maxCardinality  1 ;
        vs:term_status      "testing" ;
        rdfs:comment        "Location or area where the proposal is valid."@en ;
        .

vf:toLocation a             owl:ObjectProperty ;
        rdfs:label          "to location"@en ;
        rdfs:domain         vf:EconomicEvent ;
        rdfs:range          vf:SpatialThing ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The new location of the receiver resource."@en ;
        .

vf:image a                  owl:DatatypeProperty ;
        rdfs:label          "image"@en ;
        rdfs:domain         vf:ImageDomain ;
        rdfs:range          xsd:anyURI ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The uri to an image relevant to the entity, such as a logo, avatar, photo, diagram, etc."@en ;
        .

vf:imageList a              owl:DatatypeProperty ;
        rdfs:label          "image list"@en ;
        rdfs:domain         vf:ImageListDomain ;
        rdfs:range          xsd:anyURI ;
        vs:term_status      "stable" ;
        rdfs:comment        "A comma separated list of uri addresses to images relevant to the resource."@en ;
        .

vf:name a                   owl:DatatypeProperty ;
        rdfs:label          "name"@en ;
        rdfs:range          xsd:string ;
        rdfs:domain         vf:NameDomain ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "An informal or formal textual identifier for an object. Does not imply uniqueness."@en ;
        .

vf:note a                   owl:DatatypeProperty ;
        rdfs:subPropertyOf  skos:note ;
        rdfs:label          "note"@en ;
        rdfs:domain         vf:NoteDomain ;
        rdfs:range          xsd:string ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "Any useful textual information related to the item."@en ;
        .

vf:trackingIdentifier a     owl:DatatypeProperty ;
        rdfs:label          "tracking identifier"@en ;
        rdfs:domain         vf:EconomicResource ;
        rdfs:range          xsd:string ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "Any identifier used to track a singular resource, such as a serial number or VIN."@en ;
        .

vf:ofBatchLot a             owl:ObjectProperty ;
        rdfs:label          "of batch or lot"@en ;
        rdfs:domain         vf:EconomicResource ;
        rdfs:range          vf:BatchLotRecord ;
        owl:maxCardinality  1 ;
        vs:term_status      "testing" ;
        rdfs:comment        "The batch lot record of this resource, if it is a batch or lot resource."@en ;
        .

vf:mediumOfExchange a       owl:DatatypeProperty ;
        rdfs:label          "medium of exchange"@en ;
        rdfs:domain         vf:ResourceSpecification ;
        rdfs:range          xsd:boolean ;
        owl:maxCardinality  1 ;
        vs:term_status      "testing" ;
        rdfs:comment        "True if the resource is a currency, money, token, credit, etc. used as a medium of exchange.  Default false."@en ;
        .

vf:batchLotCode a           owl:DatatypeProperty ;
        rdfs:label          "batch or lot code"@en ;
        rdfs:domain         vf:BatchLotRecord ;
        rdfs:range          xsd:string ;
        owl:maxCardinality  1 ;
        vs:term_status      "testing" ;
        rdfs:comment        "The code or identifier for this batch or lot, used to physically label individuals in the batch or lot."@en ;
        .

vf:expirationDate a         owl:DatatypeProperty ;
        rdfs:label          "expiration date"@en ;
        rdfs:domain         vf:BatchLotRecord ;
        rdfs:range          xsd:dateTimeStamp ;
        owl:maxCardinality  1 ;
        vs:term_status      "testing" ;
        rdfs:comment        "The date after which a resource of this batch or lot should no longer be used or consumed."@en ;
        .

vf:fulfills  a              owl:ObjectProperty ;
        rdfs:label          "fulfills"@en ;
        rdfs:domain         vf:EconomicEvent ;
        rdfs:range          vf:Commitment ;
        vs:term_status      "stable" ;
        rdfs:comment        "The commitment(s) fulfilled completely or partially by an economic event."@en ;
        .

vf:satisfies
        a                   owl:ObjectProperty ;
        rdfs:label          "satisfies"@en ;
        rdfs:domain         vf:SatisfiesDomain ;
        rdfs:range          vf:Intent ;
        vs:term_status      "stable" ;
        rdfs:comment        "The intent(s) satisfied fully or partially by an economic event or commitment."@en ;
        .

vf:publishes
        a                   owl:ObjectProperty ;
        rdfs:label          "publishes"@en ;
        rdfs:domain         vf:Proposal ;
        rdfs:range          vf:Intent ;
        vs:term_status      "stable" ;
        rdfs:comment        "The primary intent(s) of this published proposal. Would be used in intent matching."@en ;
        .

vf:reciprocal
        a                   owl:ObjectProperty ;
        rdfs:label          "reciprocal"@en ;
        rdfs:domain         vf:Proposal ;
        rdfs:range          vf:Intent ;
        vs:term_status      "stable" ;
        rdfs:comment        "The reciprocal intent(s) of this published proposal. Not meant to be used for intent matching."@en ;
        .

vf:proposedTo
        a                   owl:ObjectProperty ;
        rdfs:label          "proposed to"@en ;
        rdfs:domain         vf:ProposedToDomain ;
        rdfs:range          vf:Agent ;
        vs:term_status      "testing" ;
        rdfs:comment        "The agent(s) to which the proposal or proposal list is published."@en ;
        .

vf:listedIn a               owl:ObjectProperty ;
        rdfs:label          "listed in"@en ;
        rdfs:domain         vf:Proposal ;
        rdfs:range          vf:ProposalList ;
        vs:term_status      "testing" ;
        rdfs:comment        "This proposal is part of these lists of proposals."@en ;
        .

vf:lists a                  owl:ObjectProperty ;
        owl:inverseOf       vf:listedIn ;
        rdfs:label          "lists"@en ;
        rdfs:domain         vf:ProposalList ;
        rdfs:range          vf:Proposal ;
        vs:term_status      "testing" ;
        rdfs:comment        "All the proposals included in this proposal list."@en ;
        .

vf:finished  a              owl:DatatypeProperty ;
        rdfs:domain         vf:FinishedDomain ;
        rdfs:label          "finished"@en ;
        rdfs:range          xsd:boolean ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The flow or process is complete or not.  This is irrespective of if the original goal has been met, and indicates simply that no more will be done.  Default false."@en ;
        .

vf:substitutable a          owl:DatatypeProperty ;
        rdfs:label          "substitutable"@en ;
        rdfs:domain         vf:ResourceSpecification ;
        rdfs:range          xsd:boolean ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "Defines if any resource of that type can be freely substituted for any other resource of that type when used, consumed, traded, etc."@en ;
        .

vf:unitOfEffort a           owl:ObjectProperty ;
        rdfs:label          "unit of effort"@en ;
        rdfs:domain         vf:EconomicResource ;
        rdfs:range          vf:Unit ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The unit used for use or work or sometimes cite actions."@en ;
        .

vf:defaultUnitOfEffort a    owl:ObjectProperty ;
        rdfs:label          "default unit of effort"@en ;
        rdfs:domain         vf:ResourceSpecification ;
        rdfs:range          vf:Unit ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The default unit used for use or work or sometimes cite actions."@en ;
        .

vf:defaultUnitOfResource a  owl:ObjectProperty ;
        rdfs:label          "default unit of resource"@en ;
        rdfs:domain         vf:ResourceSpecification ;
        rdfs:range          vf:Unit ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The default unit used for the resource itself."@en ;
        .

vf:basedOn
        a                   owl:ObjectProperty ;
        rdfs:label          "based on"@en ;
        rdfs:domain         vf:Process ;
        rdfs:range          vf:ProcessSpecification ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The definition or standard specification for a process."@en ;
        .

vf:classifiedAs
        a                   owl:ObjectProperty ;
        rdfs:label          "classified as"@en ;
        rdfs:domain         vf:ClassifiedAsDomain ;
        rdfs:range          xsd:string ;
        vs:term_status      "testing" ;
        rdfs:comment        "References one or more uri's for a concept in a common taxonomy or other classification scheme for purposes of categorization or grouping; or it can be one or more string classifications such as tags."@en ;
        .

vf:resourceClassifiedAs
        a                   owl:ObjectProperty ;
        rdfs:label          "resource classified as"@en ;
        rdfs:domain         vf:ResourceClassifiedAsDomain ;
        rdfs:range          xsd:string ;
        vs:term_status      "testing" ;
        rdfs:comment        "References one or more uri's for a concept in a common taxonomy or other classification scheme for purposes of categorization or grouping; or can be one or more string classifications such as tags."@en ;
        .

vf:processClassifiedAs
        a                   owl:ObjectProperty ;
        rdfs:label          "process classified as"@en ;
        rdfs:domain         vf:RecipeProcess ;
        rdfs:range          xsd:string ;
        vs:term_status      "testing" ;
        rdfs:comment        "References one or more uri's for a concept in a common taxonomy or other classification scheme for purposes of categorization or grouping; or can be one or more string classifications such as tags."@en ;
        .

vf:processConformsTo
        a                   owl:ObjectProperty ;
        rdfs:label          "process conforms to"@en ;
        rdfs:domain         vf:RecipeProcess ;
        rdfs:range          vf:ProcessSpecification ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The standard specification or definition of a type of process."@en ;
        .

vf:resourceConformsTo
        a                   owl:ObjectProperty ;
        rdfs:label          "resource conforms to"@en ;
        rdfs:domain         vf:ResourceConformsToDomain ;
        rdfs:range          vf:ResourceSpecification ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The lowest level resource specification or definition of an existing or potential economic resource, whether one will ever be instantiated or not."@en ;
        .

vf:conformsTo
        a                   owl:ObjectProperty ;
        rdfs:label          "conforms to"@en ;
        rdfs:domain         vf:EconomicResource ;
        rdfs:range          vf:ResourceSpecification ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The primary resource specification or definition of an economic resource."@en ;
        .

vf:stage
        a                   owl:ObjectProperty ;
        rdfs:label          "stage"@en ;
        rdfs:domain         vf:StageDomain ;
        rdfs:range          vf:ProcessSpecification ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "The required stage of the desired input economic resource. References the ProcessSpecification of the last process the economic resource went through."@en ;
        .

vf:state
        a                   owl:ObjectProperty ;
        rdfs:label          "state"@en ;
        rdfs:domain         vf:StateDomain ;
        rdfs:range          xsd:string ;
        owl:maxCardinality  1 ;
        vs:term_status      "testing" ;
        rdfs:comment        "The required state of the desired input economic resource, after coming out of a test or review process."@en ;
        .

vf:clauseOf a               owl:ObjectProperty ;
        rdfs:label          "clause of"@en ;
        rdfs:domain         vf:Commitment ;
        rdfs:range          vf:Agreement ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "This commitment is a primary part of the agreement."@en ;
        .

vf:reciprocalClauseOf a     owl:ObjectProperty ;
        rdfs:label          "reciprocal clause of"@en ;
        rdfs:domain         vf:Commitment ;
        rdfs:range          vf:Agreement ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "This commitment is a reciprocal part of the agreement."@en ;
        .

vf:stipulates a             owl:ObjectProperty ;
        owl:inverseOf       vf:clauseOf ;
        rdfs:label          "stipulates"@en ;
        rdfs:domain         vf:Agreement ;
        rdfs:range          vf:Commitment ;
        vs:term_status      "stable" ;
        rdfs:comment        "All the primary commitments that constitute the agreement."@en ;
        .

vf:stipulatesReciprocal a   owl:ObjectProperty ;
        owl:inverseOf       vf:reciprocalClauseOf ;
        rdfs:label          "stipulates reciprocal"@en ;
        rdfs:domain         vf:Agreement ;
        rdfs:range          vf:Commitment ;
        vs:term_status      "stable" ;
        rdfs:comment        "All the reciprocal commitments that constitute the agreement."@en ;
        .

vf:realizationOf a          owl:ObjectProperty ;
        rdfs:label          "realization of"@en ;
        rdfs:domain         vf:EconomicEvent ;
        rdfs:range          vf:Agreement ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "This non-reciprocal economic event occurs as part of this agreement."@en ;
        .

vf:realizes a               owl:ObjectProperty ;
        owl:inverseOf       vf:realizationOf ;
        rdfs:label          "realizes"@en ;
        rdfs:domain         vf:Agreement ;
        rdfs:range          vf:EconomicEvent ;
        vs:term_status      "stable" ;
        rdfs:comment        "All the non-reciprocal economic events (with or without commitments) that realize the agreement."@en ;
        .

vf:reciprocalRealizationOf
        a                   owl:ObjectProperty ;
        rdfs:label          "reciprocal realization of"@en ;
        rdfs:domain         vf:EconomicEvent ;
        rdfs:range          vf:Agreement ;
        owl:maxCardinality  1 ;
        vs:term_status      "stable" ;
        rdfs:comment        "This reciprocal economic event occurs as part of this agreement."@en ;
        .

vf:realizesReciprocal a     owl:ObjectProperty ;
        owl:inverseOf       vf:reciprocalRealizationOf ;
        rdfs:label          "realizes reciprocal"@en ;
        rdfs:domain         vf:Agreement ;
        rdfs:range          vf:EconomicEvent ;
        vs:term_status      "stable" ;
        rdfs:comment        "All the reciprocal economic events (with or without commitments) that realize the agreement."@en ;
        .

vf:bundledIn a              owl:ObjectProperty ;
        rdfs:label          "bundled in"@en ;
        rdfs:domain         vf:Agreement ;
        rdfs:range          vf:AgreementBundle ;
        owl:maxCardinality  1 ;
        vs:term_status      "testing" ;
        rdfs:comment        "This agreement is bundled with other agreements, for example in an order."@en ;
        .

vf:bundles a                owl:ObjectProperty ;
        owl:inverseOf       vf:bundledIn ;
        rdfs:label          "bundles"@en ;
        rdfs:domain         vf:AgreementBundle ;
        rdfs:range          vf:Agreement ;
        vs:term_status      "testing" ;
        rdfs:comment        "All the agreements included in this agreement bundle."@en ;
        .

# Everything related to Named Individuals and internals of Actions

vf:InputOutput a            owl:Class ;
        rdfs:label          "Input/Output"@en ;
        vf:layer            vf:knowledge ;
        vs:term_status      "testing" ;
        rdfs:comment        "The action is an input or output of a process, or not applicable to a process."@en ;
        .

vf:CreateResource a         owl:Class ;
        rdfs:label          "Create Resource"@en ;
        vf:layer            vf:knowledge ;
        vs:term_status      "testing" ;
        rdfs:comment        "The action can create an economic resource."@en ;
        .

vf:EventQuantity a          owl:Class ;
        rdfs:label          "Event Quantity"@en ;
        vf:layer            vf:knowledge ;
        vs:term_status      "testing" ;
        rdfs:comment        "The action involves the event resource quantity, event quantity, or both."@en ;
        .

vf:AccountingEffect a        owl:Class ;
        rdfs:label          "Accounting Effect"@en ;
        vf:layer            vf:knowledge ;
        vs:term_status      "testing" ;
        rdfs:comment        "The action has this effect on an inventoried resource accounting quantity."@en ;
        .

vf:OnhandEffect a           owl:Class ;
        rdfs:label          "Onhand Effect"@en ;
        vf:layer            vf:knowledge ;
        vs:term_status      "testing" ;
        rdfs:comment        "The action has this effect on an inventoried resource onhand quantity."@en ;
        .

vf:LocationEffect a         owl:Class ;
        rdfs:label          "Location Effect"@en ;
        vf:layer            vf:knowledge ;
        vs:term_status      "testing" ;
        rdfs:comment        "The action has this effect on an inventoried resource current location."@en ;
        .

vf:ContainedEffect a        owl:Class ;
        rdfs:label          "Contained Effect"@en ;
        vf:layer            vf:knowledge ;
        vs:term_status      "testing" ;
        rdfs:comment        "The action has this effect on an inventoried resource contained in resource."@en ;
        .

vf:AccountableEffect a      owl:Class ;
        rdfs:label          "Accountable Effect"@en ;
        vf:layer            vf:knowledge ;
        vs:term_status      "testing" ;
        rdfs:comment        "The action has this effect on an inventoried resource primary accountable agent."@en ;
        .

vf:StageEffect a            owl:Class ;
        rdfs:label          "Stage Effect"@en ;
        vf:layer            vf:knowledge ;
        vs:term_status      "testing" ;
        rdfs:comment        "The action has this effect on an inventoried resource stage."@en ;
        .

vf:StateEffect a            owl:Class ;
        rdfs:label          "State Effect"@en ;
        vf:layer            vf:knowledge ;
        vs:term_status      "unstable" ;
        rdfs:comment        "The action has this effect on an inventoried resource state."@en ;
        .

vf:inputOutput a            owl:ObjectProperty ;
        rdfs:domain         vf:Action ;
        rdfs:range          vf:InputOutput ;
        rdfs:comment        "Denotes if a process input or output, or not applicable to a process."@en ;
        rdfs:label          "input/output"@en ;
        owl:maxCardinality  1 ;
        vs:term_status      "testing" ;
        .

vf:pairsWith a              owl:ObjectProperty ;
        rdfs:domain         vf:Action ;
        rdfs:range          vf:Action ;
        rdfs:comment        "The action that usually affects the same resource as a complement in the same flow."@en ;
        rdfs:label          "pairs with"@en ;
        owl:maxCardinality  1 ;
        vs:term_status      "testing" ;
        .

vf:createResource a         owl:ObjectProperty ;
        rdfs:domain         vf:Action ;
        rdfs:range          vf:CreateResource ;
        rdfs:comment        "The action can create an economic resource."@en ;
        rdfs:label          "can create resource"@en ;
        owl:maxCardinality  1 ;
        vs:term_status      "testing" ;
        .

vf:eventQuantity a          owl:ObjectProperty ;
        rdfs:domain         vf:Action ;
        rdfs:range          vf:EventQuantity ;
        rdfs:comment        "The event quantity applicable is resource quantity, effort quantity, or both."@en ;
        rdfs:label          "event quantity"@en ;
        owl:maxCardinality  1 ;
        vs:term_status      "testing" ;
        .

vf:accountingEffect a       owl:ObjectProperty ;
        rdfs:domain         vf:Action ;
        rdfs:range          vf:AccountingEffect ;
        rdfs:comment        "The increment and/or decrement effect the action will have on the accounting quantity of an inventoried resource."@en ;
        rdfs:label          "accounting effect"@en ;
        owl:maxCardinality  1 ;
        vs:term_status      "testing" ;
        .

vf:onhandEffect a           owl:ObjectProperty ;
        rdfs:domain         vf:Action ;
        rdfs:range          vf:OnhandEffect ;
        rdfs:comment        "The increment and/or decrement effect the action will have on the onhand quantity of an inventoried resource."@en ;
        rdfs:label          "onhand effect"@en ;
        owl:maxCardinality  1 ;
        vs:term_status      "testing" ;
        .

vf:locationEffect a         owl:ObjectProperty ;
        rdfs:domain         vf:Action ;
        rdfs:range          vf:LocationEffect ;
        rdfs:comment        "This action can update the current location of an inventoried resource."@en ;
        rdfs:label          "location effect"@en ;
        owl:maxCardinality  1 ;
        vs:term_status      "testing" ;
        .

vf:containedEffect a        owl:ObjectProperty ;
        rdfs:domain         vf:Action ;
        rdfs:range          vf:ContainedEffect ;
        rdfs:comment        "The contained in resource should be updated or removed."@en ;
        rdfs:label          "contained effect"@en ;
        owl:maxCardinality  1 ;
        vs:term_status      "testing" ;
        .

vf:accountableEffect a      owl:ObjectProperty ;
        rdfs:domain         vf:Action ;
        rdfs:range          vf:AccountableEffect ;
        rdfs:comment        "The primaryAccountable should be updated to the event receiver, or not."@en ;
        rdfs:label          "accountable effect"@en ;
        owl:maxCardinality  1 ;
        vs:term_status      "testing" ;
        .

vf:stageEffect a            owl:ObjectProperty ;
        rdfs:domain         vf:Action ;
        rdfs:range          vf:StageEffect ;
        rdfs:comment        "The stage of the inventoried resource should be updated, or not."@en ;
        rdfs:label          "stage effect"@en ;
        owl:maxCardinality  1 ;
        vs:term_status      "testing" ;
        .

vf:stateEffect a            owl:ObjectProperty ;
        rdfs:domain         vf:Action ;
        rdfs:range          vf:StateEffect ;
        rdfs:comment        "The state of the from or to inventoried resource should be updated, or not."@en ;
        rdfs:label          "state effect"@en ;
        owl:maxCardinality  1 ;
        vs:term_status      "testing" ;
        .

vf:accept a                 owl:NamedIndividual ,
                            vf:Action ;
        vf:inputOutput      vf:input ;
        vf:pairsWith        vf:modify ;
        vf:createResource   vf:notApplicable ;
        vf:eventQuantity    vf:resource ;
        vf:accountingEffect vf:notApplicable ;
        vf:onhandEffect     vf:decrement ;
        vf:locationEffect   vf:update ;
        vf:containedEffect  vf:notApplicable ;
        vf:accountableEffect vf:notApplicable ;
        vf:stageEffect      vf:notApplicable ;
        vf:stateEffect      vf:update ;
        rdfs:comment        "In processes like repair or a new stage or testing, the same identified resource will appear in the output."@en ;
        rdfs:label          "accept"@en ;
        vs:term_status      "stable" ;
        .

vf:combine a                owl:NamedIndividual ,
                            vf:Action ;
        vf:inputOutput      vf:input ;
        vf:pairsWith        vf:notApplicable ;
        vf:createResource   vf:notApplicable ;
        vf:eventQuantity    vf:resource ;
        vf:accountingEffect vf:notApplicable ;
        vf:onhandEffect     vf:decrement ;
        vf:locationEffect   vf:notApplicable ;
        vf:containedEffect  vf:update ;
        vf:accountableEffect vf:notApplicable ;
        vf:stageEffect      vf:notApplicable ;
        vf:stateEffect      vf:update ;
        rdfs:comment        "A resource is combined with other resources into a container resource."@en ;
        rdfs:label          "combine"@en ;
        vs:term_status      "unstable" ;
        .

vf:consume a                owl:NamedIndividual ,
                            vf:Action ;
        vf:inputOutput      vf:input ;
        vf:pairsWith        vf:notApplicable ;
        vf:createResource   vf:notApplicable ;
        vf:eventQuantity    vf:resource ;
        vf:accountingEffect vf:decrement ;
        vf:onhandEffect     vf:decrement ;
        vf:locationEffect   vf:notApplicable ;
        vf:containedEffect  vf:notApplicable ;
        vf:accountableEffect vf:notApplicable ;
        vf:stageEffect      vf:notApplicable ;
        vf:stateEffect      vf:update ;
        rdfs:comment        "The consumed ingredient goes into the process, after the process the ingredient is gone."@en ;
        rdfs:label          "consume"@en ;
        vs:term_status      "stable" ;
        .

vf:cite a                   owl:NamedIndividual ,
                            vf:Action ;
        vf:inputOutput      vf:input ;
        vf:pairsWith        vf:notApplicable ;
        vf:createResource   vf:notApplicable ;
        vf:eventQuantity    vf:resource ;
        vf:accountingEffect vf:notApplicable ;
        vf:onhandEffect     vf:notApplicable ;
        vf:locationEffect   vf:notApplicable ;
        vf:containedEffect  vf:notApplicable ;
        vf:accountableEffect vf:notApplicable ;
        vf:stageEffect      vf:notApplicable ;
        vf:stateEffect      vf:update ;
        rdfs:comment        "For example a design file, neither used nor consumed, the file remains available at all times."@en ;
        rdfs:label          "cite"@en ;
        vs:term_status      "stable" ;
        .

vf:copy a                   owl:NamedIndividual ,
                            vf:Action ;
        vf:inputOutput      vf:notApplicable ;
        vf:pairsWith        vf:notApplicable ;
        vf:createResource   vf:optionalTo ;
        vf:eventQuantity    vf:resource ;
        vf:accountingEffect vf:incrementTo ;
        vf:onhandEffect     vf:incrementTo ;
        vf:locationEffect   vf:new ;
        vf:containedEffect  vf:notApplicable ;
        vf:accountableEffect vf:new ;
        vf:stageEffect      vf:notApplicable ;
        vf:stateEffect      vf:updateTo ;
        rdfs:comment        "Create a new version of the resource, without any change to the original."@en ;
        rdfs:label          "copy"@en ;
        vs:term_status      "unstable" ;
        .

vf:deliverService a         owl:NamedIndividual ,
                            vf:Action ;
        vf:inputOutput      vf:outputInput ;
        vf:pairsWith        vf:notApplicable ;
        vf:createResource   vf:notApplicable ;
        vf:eventQuantity    vf:resource ;
        vf:accountingEffect vf:notApplicable ;
        vf:onhandEffect     vf:notApplicable ;
        vf:locationEffect   vf:notApplicable ;
        vf:containedEffect  vf:notApplicable ;
        vf:accountableEffect vf:notApplicable ;
        vf:stageEffect      vf:notApplicable ;
        vf:stateEffect      vf:notApplicable ;
        rdfs:comment        "New service produced and delivered (a service implies that an agent actively receives the service)."@en ;
        rdfs:label          "deliver service"@en ;
        vs:term_status      "stable" ;
        .

vf:dropoff a                owl:NamedIndividual ,
                            vf:Action ;
        vf:createResource   vf:notApplicable ;
        vf:eventQuantity    vf:resource ;
        vf:inputOutput      vf:output ;
        vf:pairsWith        vf:pickup ;
        vf:accountingEffect vf:notApplicable ;
        vf:onhandEffect     vf:increment ;
        vf:locationEffect   vf:update ;
        vf:containedEffect  vf:notApplicable ;
        vf:accountableEffect vf:notApplicable ;
        vf:stageEffect      vf:update ;
        vf:stateEffect      vf:update ;
        rdfs:comment        "Transported resource or person leaves the process; the same resource or person appeared in the input."@en ;
        rdfs:label          "dropoff"@en ;
        vs:term_status      "stable" ;
        .

vf:lower a                  owl:NamedIndividual ,
                            vf:Action ;
        vf:inputOutput      vf:notApplicable ;
        vf:createResource   vf:optional ;
        vf:eventQuantity    vf:resource ;
        vf:pairsWith        vf:notApplicable ;
        vf:accountingEffect vf:decrement ;
        vf:onhandEffect     vf:decrement ;
        vf:locationEffect   vf:notApplicable ;
        vf:containedEffect  vf:notApplicable ;
        vf:accountableEffect vf:new ;
        vf:stageEffect      vf:notApplicable ;
        vf:stateEffect      vf:update ;
        rdfs:comment        "Adjusts a quantity down based on a beginning balance or inventory count."@en ;
        rdfs:label          "lower"@en ;
        vs:term_status      "stable" ;
        .

vf:modify a                 owl:NamedIndividual ,
                            vf:Action ;
        vf:createResource   vf:notApplicable ;
        vf:eventQuantity    vf:resource ;
        vf:inputOutput      vf:output ;
        vf:pairsWith        vf:accept ;
        vf:accountingEffect vf:notApplicable ;
        vf:onhandEffect     vf:increment ;
        vf:locationEffect   vf:update ;
        vf:containedEffect  vf:notApplicable ;
        vf:accountableEffect vf:notApplicable ;
        vf:stageEffect      vf:update ;
        vf:stateEffect      vf:update ;
        rdfs:comment        "In processes like repair or a new stage or testing, the same identified resource will appear in the input."@en ;
        rdfs:label          "modify"@en ;
        vs:term_status      "stable" ;
        .

vf:move a                   owl:NamedIndividual ,
                            vf:Action ;
        vf:inputOutput      vf:notApplicable ;
        vf:pairsWith        vf:notApplicable ;
        vf:createResource   vf:optionalTo ;
        vf:eventQuantity    vf:resource ;
        vf:accountingEffect vf:decrementIncrement ;
        vf:onhandEffect     vf:decrementIncrement ;
        vf:locationEffect   vf:updateTo ;
        vf:containedEffect  vf:notApplicable ;
        vf:accountableEffect vf:notApplicable ;
        vf:stageEffect      vf:notApplicable ;
        vf:stateEffect      vf:updateTo ;
        rdfs:comment        "Change location and possibly identifier, if location is part of the identification, of a resource with no change of agent rights or possession."@en ;
        rdfs:label          "move"@en ;
        vs:term_status      "testing" ;
        .

vf:pickup a                 owl:NamedIndividual ,
                            vf:Action ;
        vf:inputOutput      vf:input ;
        vf:pairsWith        vf:dropoff ;
        vf:createResource   vf:notApplicable ;
        vf:eventQuantity    vf:resource ;
        vf:accountingEffect vf:notApplicable ;
        vf:onhandEffect     vf:decrement ;
        vf:locationEffect   vf:update ;
        vf:containedEffect  vf:notApplicable ;
        vf:accountableEffect vf:notApplicable ;
        vf:stageEffect      vf:notApplicable ;
        vf:stateEffect      vf:update ;
        rdfs:comment        "Transported resource or person enters the process; the same resource will appear in the output."@en ;
        rdfs:label          "pickup"@en ;
        vs:term_status      "stable" ;
        .

vf:produce a                owl:NamedIndividual ,
                            vf:Action ;
        vf:inputOutput      vf:output ;
        vf:pairsWith        vf:notApplicable ;
        vf:createResource   vf:optional ;
        vf:eventQuantity    vf:resource ;
        vf:accountingEffect vf:increment ;
        vf:onhandEffect     vf:increment ;
        vf:locationEffect   vf:new ;
        vf:containedEffect  vf:notApplicable ;
        vf:accountableEffect vf:new ;
        vf:stageEffect      vf:update ;
        vf:stateEffect      vf:update ;
        rdfs:comment        "New resource was created in that process or an existing stock resource was added to."@en ;
        rdfs:label          "produce"@en ;
        vs:term_status      "stable" ;
        .

vf:raise a                  owl:NamedIndividual ,
                            vf:Action ;
        vf:inputOutput      vf:notApplicable ;
        vf:pairsWith        vf:notApplicable ;
        vf:createResource   vf:optional ;
        vf:eventQuantity    vf:resource ;
        vf:accountingEffect vf:increment ;
        vf:onhandEffect     vf:increment ;
        vf:locationEffect   vf:notApplicable ;
        vf:containedEffect  vf:notApplicable ;
        vf:accountableEffect vf:new ;
        vf:stageEffect      vf:notApplicable ;
        vf:stateEffect      vf:update ;
        rdfs:comment        "Adjusts a quantity up based on a beginning balance or inventory count."@en ;
        rdfs:label          "raise"@en ;
        vs:term_status      "stable" ;
        .

vf:separate a               owl:NamedIndividual ,
                            vf:Action ;
        vf:inputOutput      vf:output ;
        vf:pairsWith        vf:notApplicable ;
        vf:createResource   vf:notApplicable ;
        vf:eventQuantity    vf:resource ;
        vf:accountingEffect vf:notApplicable ;
        vf:onhandEffect     vf:increment ;
        vf:locationEffect   vf:notApplicable ;
        vf:containedEffect  vf:remove ;
        vf:accountableEffect vf:notApplicable ;
        vf:stageEffect      vf:update ;
        vf:stateEffect      vf:update ;
        rdfs:comment        "A resource is removed from a container resource."@en ;
        rdfs:label          "unpack"@en ;
        vs:term_status      "testing" ;
        .

vf:transferAllRights a      owl:NamedIndividual ,
                            vf:Action ;
        vf:inputOutput      vf:notApplicable ;
        vf:pairsWith        vf:notApplicable ;
        vf:createResource   vf:optionalTo ;
        vf:eventQuantity    vf:resource ;
        vf:accountingEffect vf:decrementIncrement ;
        vf:onhandEffect     vf:notApplicable ;
        vf:locationEffect   vf:notApplicable ;
        vf:containedEffect  vf:notApplicable ;
        vf:accountableEffect vf:updateTo ;
        vf:stageEffect      vf:notApplicable ;
        vf:stateEffect      vf:updateTo ;
        rdfs:comment        "Give full (in the human realm) rights and responsibilities to another agent, without transferring physical custody."@en ;
        rdfs:label          "transfer all rights"@en ;
        vs:term_status      "testing" ;
        .

vf:transfer a               owl:NamedIndividual ,
                            vf:Action ;
        vf:inputOutput      vf:notApplicable ;
        vf:pairsWith        vf:notApplicable ;
        vf:createResource   vf:optionalTo ;
        vf:eventQuantity    vf:resource ;
        vf:accountingEffect vf:decrementIncrement ;
        vf:onhandEffect     vf:decrementIncrement ;
        vf:locationEffect   vf:updateTo ;
        vf:containedEffect  vf:notApplicable ;
        vf:accountableEffect vf:updateTo ;
        vf:stageEffect      vf:notApplicable ;
        vf:stateEffect      vf:updateTo ;
        rdfs:comment        "Give full rights and responsibilities plus physical custody."@en ;
        rdfs:label          "transfer"@en ;
        vs:term_status      "stable" ;
        .

vf:transferCustody a        owl:NamedIndividual ,
                            vf:Action ;
        vf:inputOutput      vf:notApplicable ;
        vf:pairsWith        vf:notApplicable ;
        vf:createResource   vf:optionalTo ;
        vf:eventQuantity    vf:resource ;
        vf:accountingEffect vf:notApplicable ;
        vf:onhandEffect     vf:decrementIncrement ;
        vf:locationEffect   vf:updateTo ;
        vf:containedEffect  vf:notApplicable ;
        vf:accountableEffect vf:notApplicable ;
        vf:stageEffect      vf:notApplicable ;
        vf:stateEffect      vf:updateTo ;
        rdfs:comment        "Give physical custody and control of a resource, without full accounting or ownership rights."@en ;
        rdfs:label          "transfer custody"@en ;
        vs:term_status      "testing" ;
        .

vf:use a                    owl:NamedIndividual ,
                            vf:Action ;
        vf:inputOutput      vf:input ;
        vf:pairsWith        vf:notApplicable ;
        vf:createResource   vf:notApplicable ;
        vf:eventQuantity    vf:both ;
        vf:accountingEffect vf:notApplicable ;
        vf:onhandEffect     vf:notApplicable ;
        vf:locationEffect   vf:notApplicable ;
        vf:containedEffect  vf:notApplicable ;
        vf:accountableEffect vf:notApplicable ;
        vf:stageEffect      vf:notApplicable ;
        vf:stateEffect      vf:update ;
        rdfs:comment        "For example a tool used in process; after the process, the tool still exists."@en ;
        rdfs:label          "use"@en ;
        vs:term_status      "stable" ;
        .

vf:work a                   owl:NamedIndividual ,
                            vf:Action ;
        vf:inputOutput      vf:input ;
        vf:pairsWith        vf:notApplicable ;
        vf:createResource   vf:notApplicable ;
        vf:eventQuantity    vf:effort ;
        vf:accountingEffect vf:notApplicable ;
        vf:onhandEffect     vf:notApplicable ;
        vf:locationEffect   vf:notApplicable ;
        vf:containedEffect  vf:notApplicable ;
        vf:accountableEffect vf:notApplicable ;
        vf:stageEffect      vf:notApplicable ;
        vf:stateEffect      vf:notApplicable ;
        rdfs:comment        "Labor applied to a process."@en ;
        rdfs:label          "work"@en ;
        vs:term_status      "stable" ;
        .

vf:decrement a              owl:NamedIndividual ,
                            vf:AccountingEffect ,
                            vf:OnhandEffect ;
        rdfs:comment        "The effect is to subtract from the inventoried resource accounting and/or onhand quantity."@en ;
        rdfs:label          "decrement"@en ;
        vs:term_status      "stable" ;
        .

vf:decrementIncrement a     owl:NamedIndividual ,
                            vf:AccountingEffect ,
                            vf:OnhandEffect ;
        rdfs:comment        "The effect is to subtract from the 'from' inventoried resource, and add to the 'to' inventoried resource, accounting and/or onhand quantity."@en ;
        rdfs:label          "decrement/increment"@en ;
        vs:term_status      "stable" ;
        .

vf:increment a              owl:NamedIndividual ,
                            vf:AccountingEffect ,
                            vf:OnhandEffect ;
        rdfs:comment        "The effect is to add to the inventoried resource accounting and/or onhand quantity."@en ;
        rdfs:label          "increment"@en ;
        vs:term_status      "stable" ;
        .

vf:incrementTo a            owl:NamedIndividual ,
                            vf:AccountingEffect ,
                            vf:OnhandEffect ;
        rdfs:comment        "The effect is to add to the to (receiver) inventoried resource accounting and/or onhand quantity."@en ;
        rdfs:label          "increment to"@en ;
        vs:term_status      "stable" ;
        .

vf:update a                 owl:NamedIndividual ,
                            vf:ContainedEffect ,
                            vf:StageEffect ,
                            vf:StateEffect ,
                            vf:LocationEffect ;
        rdfs:comment        "The effect is to update the resource in the specified property."@en ;
        rdfs:label          "update"@en ;
        vs:term_status      "testing" ;
        .

vf:updateTo a               owl:NamedIndividual ,
                            vf:ContainedEffect ,
                            vf:StateEffect ,
                            vf:AccountableEffect ,
                            vf:LocationEffect ;
        rdfs:comment        "The effect is to update the to resource in the specified property."@en ;
        rdfs:label          "update"@en ;
        vs:term_status      "testing" ;
        .

vf:remove a                 owl:NamedIndividual ,
                            vf:ContainedEffect ;
        rdfs:comment        "The effect is to remove or nullify the specified property from the resource."@en ;
        rdfs:label          "remove"@en ;
        vs:term_status      "testing" ;
        .

vf:new a                    owl:NamedIndividual ,
                            vf:AccountableEffect ,
                            vf:LocationEffect ;
        rdfs:comment        "The effect applies for a new resource created by the event."@en ;
        rdfs:label          "new"@en ;
        vs:term_status      "testing" ;
        .

vf:input a                  owl:NamedIndividual ,
                            vf:InputOutput ;
        rdfs:comment        "This kind of flow can be an input to a process."@en ;
        rdfs:label          "input"@en ;
        vs:term_status      "stable" ;
        .

vf:output a                 owl:NamedIndividual ,
                            vf:InputOutput ;
        rdfs:comment        "This kind of flow can be an output from a process."@en ;
        rdfs:label          "output"@en ;
        vs:term_status      "stable" ;
        .

vf:outputInput a            owl:NamedIndividual ,
                            vf:InputOutput ;
        rdfs:comment        "This kind of flow can be an output from a process, and at the same time an input to another process."@en ;
        rdfs:label          "output input"@en ;
        vs:term_status      "testing" ;
        .

vf:resource  a              owl:NamedIndividual ,
                            vf:EventQuantity ;
        rdfs:comment        "This event uses resourceQuantity."@en ;
        rdfs:label          "resource"@en ;
        vs:term_status      "testing" ;
        .

vf:effort  a                owl:NamedIndividual ,
                            vf:EventQuantity ;
        rdfs:comment        "This event uses effortQuantity."@en ;
        rdfs:label          "effort"@en ;
        vs:term_status      "testing" ;
        .

vf:both  a                  owl:NamedIndividual ,
                            vf:EventQuantity ;
        rdfs:comment        "This event can use resourceQuantity and effortQuantity."@en ;
        rdfs:label          "both"@en ;
        vs:term_status      "testing" ;
        .

vf:optional  a              owl:NamedIndividual ,
                            vf:CreateResource ;
        rdfs:comment        "This kind of flow gives the user the option to create a new resource using resourceInventoriedAs."@en ;
        rdfs:label          "optional"@en ;
        vs:term_status      "testing" ;
        .

vf:optionalTo  a            owl:NamedIndividual ,
                            vf:CreateResource ;
        rdfs:comment        "This kind of flow gives the user the option to create a new resource using toResourceInventoriedAs."@en ;
        rdfs:label          "optional to"@en ;
        vs:term_status      "testing" ;
        .

vf:notApplicable a          owl:NamedIndividual ,
                            vf:InputOutput ,
                            vf:PairsWith ,
                            vf:LocationEffect ,
                            vf:CreateResource ,
                            vf:ContainedEffect;
        rdfs:comment        "This property is not applicable to this kind of flow."@en ;
        rdfs:label          "not applicable"@en ;
        vs:term_status      "testing" ;
        .

vf:ProposalPurpose a        owl:Class ;
        rdfs:label          "Proposal Purpose"@en ;
        vs:term_status      "testing" ;
        rdfs:comment        "The type of proposal: offer or request (other types may be added)."@en ;
        .

vf:offer a                  owl:NamedIndividual ,
                            vf:ProposalPurpose ;
        rdfs:comment        "The proposal is an offer."@en ;
        rdfs:label          "offer"@en ;
        vs:term_status      "testing" ;
        .

vf:request a                owl:NamedIndividual ,
                            vf:ProposalPurpose ;
        rdfs:comment        "The proposal is a published request, need, want."@en ;
        rdfs:label          "request"@en ;
        vs:term_status      "testing" ;
        .
