PREFIX bont: <http://ontology.bonsai.uno/core#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

<http://www.ontology-of-units-of-measure.org/resource/om-2/Quantity> a rdfs:Class .

<http://schema.org/location> a rdfs:Class .

bont:BalanceablePropertyType a rdfs:Class ;
  rdfs:label "Balanceable Property Type"@en ;
  rdfs:comment "Contains the labels of BalanceableProperty such as dry mass, wet mass, elemental mass, person-time, monetary value."@en ;
  rdfs:subClassOf <http://www.ontology-of-units-of-measure.org/resource/om-2/Quantity> , <http://www.w3.org/2004/02/skos/core#ConceptScheme> .

bont:Activity a rdfs:Class ;
  rdfs:label "Activity"@en ;
  rdfs:comment "Activity is the act of making or doing something which is defined both spatially and temporally. This is one of the identifying dimensions of a datapoint. This class defines multiple properties on the type and direction of flows. ‘Process’ is a commonly used synonym in other LCA databases."@en ;
  rdfs:subClassOf <http://www.w3.org/2004/02/skos/core#ConceptScheme> .

bont:hasTemporalExtent a rdf:Property ;
  rdfs:label "temporal extent"@en ;
  rdfs:comment "Specifies the temporal extent for an activity."@en ;
  rdfs:domain bont:Activity ;
  rdfs:range <http://www.w3.org/2006/time#ProperInterval> .

bont:hasDeterminingFlow a rdf:Property ;
  rdfs:label "determining flow"@en ;
  rdfs:comment "Specifies a specific flow object produced or consumed by an activity for which a change in demand or supply will affect the activity level (such as its production volume or extent)."@en ;
  rdfs:domain bont:Activity ;
  rdfs:range bont:Flow .

bont:hasLocation a rdf:Property ;
  rdfs:label "located at"@en ;
  rdfs:comment "Specifies the location of an Activity or Agent"@en ;
  rdfs:range <http://schema.org/location> .

bont:hasActivityType a rdf:Property ;
  rdfs:label "activity type"@en ;
  rdfs:comment "Specifies the label of an Activity."@en ;
  rdfs:domain bont:Activity ;
  rdfs:range bont:ActivityType ;
  rdfs:subPropertyOf <http://purl.org/dc/terms/type> .

bont:FlowObject a rdfs:Class ;
  rdfs:label "Flow Object"@en ;
  rdfs:comment "This class includes the labels of entities that are produced or consumed by an activity or added to or removed from a stock accumulation."@en ;
  rdfs:subClassOf <http://www.w3.org/2004/02/skos/core#ConceptScheme> .

bont:Agent a rdfs:Class ;
  rdfs:label "Agent"@en ;
  rdfs:comment "An entity (person or thing) that performs an activity, usually it has a specific location."@en ;
  rdfs:subClassOf <http://www.w3.org/2004/02/skos/core#ConceptScheme> .

bont:performs a rdf:Property ;
  rdfs:label "performs"@en ;
  rdfs:comment "Specifies the Agent who performs an activity."@en ;
  rdfs:domain bont:Agent ;
  rdfs:range bont:Activity .

bont:Flow a rdfs:Class ;
  rdfs:label "Flow"@en ;
  rdfs:comment " An input or output of an entity to or from an instance of an Activity or a directional exchange of an entity between two instances of Activity. This class contains the quantity of the entity (Flow Object) that is consumed as input or produced as output of an Activity."@en ;
  rdfs:subClassOf <http://www.ontology-of-units-of-measure.org/resource/om-2/Measure> , <http://www.w3.org/2004/02/skos/core#ConceptScheme> .

bont:isInputOf a rdf:Property ;
  rdfs:label "input of"@en ;
  rdfs:comment "Specifies the Activity that a Flow is an input to."@en ;
  rdfs:domain bont:Flow ;
  rdfs:range bont:Activity .

bont:isOutputOf a rdf:Property ;
  rdfs:label "output of"@en ;
  rdfs:comment "Specifies the Activity that a Flow is an output of."@en ;
  rdfs:domain bont:Flow ;
  rdfs:range bont:Activity .

bont:hasBalanceableProperty a rdf:Property ;
  rdfs:label "has balanceable property"@en ;
  rdfs:comment "Specifies the  Measure of a Flow when this Measure is a BalanceableProperty, i.e. when it follows a conservation law."@en ;
  rdfs:domain bont:Flow ;
  rdfs:range bont:BalanceableProperty .

bont:hasObjectType a rdf:Property ;
  rdfs:label "object type"@en ;
  rdfs:comment "Specifies the Flow object consumed or produced."@en ;
  rdfs:domain bont:Flow ;
  rdfs:range bont:FlowObject ;
  rdfs:subPropertyOf <http://purl.org/dc/terms/type> .

bont:ReferenceUnit a rdfs:Class ;
  rdfs:label "Reference Unit"@en ;
  rdfs:comment " The measure to which the numeric value representing the measure of a Flow is expressed 'in proportion to'. In LCA, the term ‘Functional Unit’ is defined as a common ReferenceUnit for all activities in an LCA study."@en ;
  rdfs:subClassOf <http://www.ontology-of-units-of-measure.org/resource/om-2/Measure> , <http://www.w3.org/2004/02/skos/core#ConceptScheme> .

bont:hasReferenceFlowObject a rdf:Property ;
  rdfs:label "references flow object"@en ;
  rdfs:comment "Specifies a FlowObject that functions as the ReferenceUnit for a BalanceableProperty measure."@en ;
  rdfs:domain bont:ReferenceUnit ;
  rdfs:range bont:FlowObject .

<http://www.w3.org/2004/02/skos/core#ConceptScheme> a rdfs:Class .

<https://w3id.org/linkml/Any> a rdfs:Class ;
  rdfs:comment "An unconstrained type or object"@en .

bont:BalanceableProperty a rdfs:Class ;
  rdfs:label "Balanceable Property"@en ;
  rdfs:comment "A quantity for which the sum for all input flows must equal the sum for all output flows. A quantity that follows a conservation law. Balanceable properties are particularly relevant for validating the completeness and consistency of an Activity description or a database of such activities. "@en ;
  rdfs:subClassOf <http://www.ontology-of-units-of-measure.org/resource/om-2/Measure> , <http://www.w3.org/2004/02/skos/core#ConceptScheme> .

bont:isProportionalTo a rdf:Property ;
  rdfs:label "proportional to"@en ;
  rdfs:comment "Specifies the reference unit that the amount of a BalanceableProperty of a Flow is proportional to."@en ;
  rdfs:domain bont:BalanceableProperty ;
  rdfs:range bont:ReferenceUnit .

bont:hasPropertyType a rdf:Property ;
  rdfs:label "property type"@en ;
  rdfs:comment "Specifies the dimension (Quantity) of a Measure that is classified as a BalanceableProperty."@en ;
  rdfs:domain bont:BalanceableProperty ;
  rdfs:range bont:BalanceablePropertyType .

<http://www.w3.org/2006/time#ProperInterval> a rdfs:Class .

bont:ActivityType a rdfs:Class ;
  rdfs:label "Activity Type"@en ;
  rdfs:comment "The type of an activity, e.g, stock accumulation, steel production, etc. This class includes the labels of activities. Includes both human activities and environmental mechanisms."@en ;
  rdfs:subClassOf <http://www.w3.org/2004/02/skos/core#ConceptScheme> .

<http://www.ontology-of-units-of-measure.org/resource/om-2/Measure> a rdfs:Class .

<http://purl.org/dc/terms/type> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .
