PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX tso: <https://w3id.org/tso#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

tso:Element a rdfs:Class ;
  rdfs:comment "A component with some kind of technical characteristics (e.g. pipe, air terminal, sensor)."@en , "Ein Bauelement mit technischen Eigenschaften (z.B. Rohr, Luftauslass, Sensor)."@de .

tso:elementOf a rdf:Property ;
  rdfs:domain tso:Element ;
  rdfs:range tso:System .

tso:connectsElements a rdf:Property ;
  rdfs:domain tso:Element ;
  rdfs:range tso:Element .

tso:serves a rdf:Property ;
  rdfs:domain tso:Element ;
  rdfs:range tso:Zone .

tso:Zone a rdfs:Class ;
  rdfs:comment "A part of the world within a 3D spatial boundary (e.g. space, segment, building)."@en , "Ein Teil der Welt mit einer räumlichen Ausdehnung (z.B. Raum, Segment, Gebäude)."@de .

tso:servedBy a rdf:Property ;
  rdfs:domain tso:Zone ;
  rdfs:range tso:Element .

tso:ControlElement a rdfs:Class ;
  rdfs:comment "A component that forms a part of the control (e.g. sensor, actuator) and does not con­ tribute to the flow."@en , "Ein Bauelement, das zur Steuerung dient (z.B. Sensor, Aktor) und nicht zur Zirkulation."@de ;
  rdfs:subClassOf tso:Element .

tso:controls a rdf:Property ;
  rdfs:domain tso:ControlElement ;
  rdfs:range tso:FlowElement ;
  rdfs:subPropertyOf tso:connectsElements .

tso:FlowElement a rdfs:Class ;
  rdfs:comment "A component that contributes to the flow within a system (e.g. pipe, valve, pump)."@en , "Ein Bauelement, das zur Zirkulation innerhab eines Systems beiträgt (z.B. Rohr, Ventil, Pumpe)."@de ;
  rdfs:subClassOf tso:Element .

tso:flowSuppliedBy a rdf:Property ;
  rdfs:domain tso:FlowElement ;
  rdfs:range tso:FlowElement ;
  rdfs:subPropertyOf tso:exchangeFlow .

tso:exchangeFlow a rdf:Property ;
  rdfs:domain tso:FlowElement ;
  rdfs:range tso:FlowElement ;
  rdfs:subPropertyOf tso:connectsElements .

tso:isControlledBy a rdf:Property ;
  rdfs:domain tso:FlowElement ;
  rdfs:range tso:ControlElement ;
  rdfs:subPropertyOf tso:connectsElements .

tso:suppliesFlow a rdf:Property ;
  rdfs:domain tso:FlowElement ;
  rdfs:range tso:FlowElement ;
  rdfs:subPropertyOf tso:exchangeFlow .

tso:System a rdfs:Class ;
  rdfs:comment "An aggrega­tion of components (tso:Element) that define building service systems (e.g. domestic water, air supply, exhaust air)"@en , "Zusammengehörende Komponenten (tso:Elements), die ein gebäudetechnisches System beschreiben (z.B. Trinkwasser, Frischluft, Abluft)."@de .

tso:hasElement a rdf:Property ;
  rdfs:domain tso:System ;
  rdfs:range tso:Element .

tso:hasSubSystem a rdf:Property ;
  rdfs:domain tso:System ;
  rdfs:range tso:System .

tso:subSystemOf a rdf:Property ;
  rdfs:domain tso:System ;
  rdfs:range tso:System .

tso:connectsSystems a rdf:Property ;
  rdfs:domain tso:System ;
  rdfs:range tso:System .
