PREFIX ontobim: <https://www.theworldavatar.com/kg/ontobim/>
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#>

ontobim:IfcBuildingRepresentation a rdfs:Class ;
  rdfs:label "Ifc Building Representation" ;
  rdfs:comment "Defines the abstract representation of the building in an IFC model." ;
  rdfs:subClassOf ontobim:IfcAbstractRepresentation .

<https://www.w3.org/2000/01/rdf-schema#label> a rdf:Property ;
  rdfs:label "label" ;
  rdfs:comment "A relationship between the Zone or Element of a building and its reference name that is stored as a string literal such as Basement 1, 1st Floor or Wooden Table." ;
  rdfs:range xsd:string .

ontobim:hasLocalPosition a rdf:Property ;
  rdfs:label "has local position" ;
  rdfs:comment "A relationship between the abstract boundaries of a spatial zone or a component within the space or building and their placement position within the model. Note that this does not define their concrete geometric representation positions, which is only available in the ModelRepresentation3D class." ;
  rdfs:range ontobim:LocalPlacement .

ontobim:hasTerrainElevation a rdf:Property ;
  rdfs:label "has terrain elevation" ;
  rdfs:comment "A relationship that defines the elevation of the terrain around the building footprint, relative to the sea level." ;
  rdfs:range <https://www.ontology-of-units-of-measure.org/resource/om-2/Height> .

ontobim:hasRefElevation a rdf:Property ;
  rdfs:label "has reference elevation" ;
  rdfs:comment "A relationship that defines the Site&apos;s datum elevation or the Building&apos;s reference height relative to sea level, as well as the elevation from the base of one storey, relative to the internal reference height of the building." ;
  rdfs:range <https://www.ontology-of-units-of-measure.org/resource/om-2/Height> .

ontobim:hasIfcId a rdf:Property ;
  rdfs:label "has a IFC ID of" ;
  rdfs:comment "A relationship between an abstract zone or tangible element/component and their IFC ID stored in the IFC file." ;
  rdfs:range xsd:string .

ontobim:Laboratory a rdfs:Class ;
  rdfs:label "Laboratory" ;
  rdfs:comment "A specialized room equipped for scientific experiments, research, or teaching, often containing specific apparatus and safety features." ;
  rdfs:subClassOf ontobim:Room .

ontobim:hasIfcRepresentation a rdf:Property ;
  rdfs:label "has IFC representation of" ;
  rdfs:comment "A relationship between a zone or element within a building to their representation in the IFC schema." ;
  rdfs:range ontobim:IfcRoomRepresentation , ontobim:IfcModelRepresentation , ontobim:IfcStoreyRepresentation , ontobim:IfcSiteRepresentation , ontobim:IfcBuildingRepresentation .

<https://www.theworldavatar.com/kg/ontoubemmp/consumesUtilities> a rdf:Property ;
  rdfs:label "consumes utilities" ;
  rdfs:comment "A relationship between a facility and its consumed utilities" ;
  rdfs:domain <https://w3id.org/bot#Zone> ;
  rdfs:range <https://www.theworldavatar.com/kg/ontoubemmp/UtilitiesConsumption> .

ontobim:hasCapacity a rdf:Property ;
  rdfs:label "has capacity" ;
  rdfs:comment "Indicates the maximum number of occupants a specific zone can accommodate" ;
  rdfs:domain <https://w3id.org/bot#Zone> ;
  rdfs:range xsd:integer .

ontobim:CartesianTransformationOperator a rdfs:Class ;
  rdfs:label "Cartesian Transformation Operator" ;
  rdfs:comment "This class defines a geometric transformation in two- or three-dimensional space composed of translation, rotation, mirroring and uniform scaling. Its closest equivalent is IfcCartesianTransformationOperator2D or IfcCartesianTransformationOperator3D." .

ontobim:hasDerivedAxis a rdf:Property ;
  rdfs:label "has derived axis" ;
  rdfs:comment "Defines a relationship from the operator to the derived axis direction, to get a list of mutually orthogonal, normalized vectors defining the transformation matrix in IFC. See IfcCartesianTransformationOperator3D and IfcCartesianTransformationOperator for more information." ;
  rdfs:domain ontobim:CartesianTransformationOperator ;
  rdfs:range ontobim:DirectionVector .

ontobim:hasLocalOrigin a rdf:Property ;
  rdfs:label "has local origin" ;
  rdfs:comment "Defines the required translation origin, specified as a cartesian point. The actual translation transform the geometric origin to the local origin." ;
  rdfs:domain ontobim:CartesianTransformationOperator ;
  rdfs:range ontobim:CartesianPoint .

ontobim:hasScale a rdf:Property ;
  rdfs:label "has scale" ;
  rdfs:comment "Defines a relationship from the operator to their scaling value for transformation." ;
  rdfs:domain ontobim:CartesianTransformationOperator ;
  rdfs:range xsd:double .

ontobim:IfcSiteRepresentation a rdfs:Class ;
  rdfs:label "Ifc Site Representation" ;
  rdfs:comment "Defines the abstract representation of the site in an IFC model." ;
  rdfs:subClassOf ontobim:IfcAbstractRepresentation .

ontobim:hasRefLongitude a rdf:Property ;
  rdfs:label "has reference longitude" ;
  rdfs:comment "A relationship between the site of a model and its world longtitude with respect to the world geodetic system WGS84.." ;
  rdfs:domain ontobim:IfcSiteRepresentation ;
  rdfs:range ontobim:CompoundPlaneAngle ;
  rdfs:subPropertyOf ontobim:hasCompoundPlaneAngle .

ontobim:hasRefLatitude a rdf:Property ;
  rdfs:label "has reference latitude" ;
  rdfs:comment "A relationship between the site of a model and its world latitude with respect to the world geodetic system WGS84.." ;
  rdfs:domain ontobim:IfcSiteRepresentation ;
  rdfs:range ontobim:CompoundPlaneAngle ;
  rdfs:subPropertyOf ontobim:hasCompoundPlaneAngle .

ontobim:hasCompoundPlaneAngle a rdf:Property ;
  rdfs:label "has compound plane angle" ;
  rdfs:comment "Links the Site to its world longitude or latitude. This relationship is not intended to be stated explicitly, but inferred from its sub-properties. For application, only the sub-properties are used." ;
  rdfs:domain ontobim:IfcSiteRepresentation ;
  rdfs:range ontobim:CompoundPlaneAngle .

ontobim:BooleanClippingResult a rdfs:Class ;
  rdfs:label "Boolean Clipping Result" ;
  rdfs:comment "Defines a solid that is created as a result of the Boolean difference between a solid (restricted to swept area solid) and a half space solid. The solid is the regularization of the set of all points which are in the first operand/geometry, but not in the second operand. More than one difference operation can be applied to achieve this solid. Its IFC equivalent is IfcBooleanClippingResult." ;
  rdfs:subClassOf ontobim:GeometricRepresentation .

ontobim:hasFirstOperand a rdf:Property ;
  rdfs:label "has first operand" ;
  rdfs:comment "A relationship that defines the first operand/geometry of the boolean clipping operation. This is usually a swept area solid or another boolean clipping result." ;
  rdfs:domain ontobim:BooleanClippingResult ;
  rdfs:range ontobim:GeometricRepresentation .

ontobim:hasBooleanOperator a rdf:Property ;
  rdfs:label "has boolean operator" ;
  rdfs:comment "Defines the operator type for boolean operations." ;
  rdfs:domain ontobim:BooleanClippingResult ;
  rdfs:range ontobim:IfcBooleanOperator .

ontobim:hasSecondOperand a rdf:Property ;
  rdfs:label "has second operand" ;
  rdfs:comment "A relationship that defines the second operand/geometry of the boolean clipping operation. This is usually a half space solid." ;
  rdfs:domain ontobim:BooleanClippingResult ;
  rdfs:range ontobim:GeometricRepresentation .

ontobim:GeometricRepresentation a rdfs:Class ;
  rdfs:label "Geometric Representation " ;
  rdfs:comment "A representation of the element that describes the shape of each element, with additional meaning of having geometric position, orientation, or both." .

ontobim:LectureTheatre a rdfs:Class ;
  rdfs:label "LectureTheatre" ;
  rdfs:comment "A large room or hall designed for delivering lectures, often equipped with tiered seating and advanced audio-visual facilities." ;
  rdfs:subClassOf ontobim:Room .

ontobim:Polyline a rdfs:Class .

ontobim:hasStartingVertex a rdf:Property ;
  rdfs:label "has starting vertex" ;
  rdfs:comment "A relationship that indicates the starting vertex for a line." ;
  rdfs:domain ontobim:Polyline ;
  rdfs:range ontobim:LineVertex .

ontobim:FacetedBrep a rdfs:Class ;
  rdfs:label "Faceted Brep" ;
  rdfs:comment "Defines a simple form of boundary representation model in which all faces are planar and all edges are straight lines. Its IFC equivalent is IfcFacetedBrep and this class has to follow the topological constraints of IfcManifoldSolidBrep." ;
  rdfs:subClassOf ontobim:SolidModel .

ontobim:hasExteriorBoundary a rdf:Property ;
  rdfs:label "has exterior boundary" ;
  rdfs:comment "A relationship defining the exterior boundary of the solid through a shell. The shell normal shall point away from the interior of the solid." ;
  rdfs:domain ontobim:FacetedBrep ;
  rdfs:range ontobim:ClosedShell .

ontobim:CartesianPoint a rdfs:Class ;
  rdfs:label "Cartesian Point" ;
  rdfs:comment "A point defined by its coordinates in a two or three dimensional rectangular Cartesian coordinate system. Its IFC equivalent is IfcCartesianPoint." .

ontobim:hasXCoordinate a rdf:Property ;
  rdfs:label "has x coordinates" ;
  rdfs:comment "A relationship that defines the Cartesian Point X-coordinates as a double value." ;
  rdfs:domain ontobim:CartesianPoint ;
  rdfs:range xsd:double ;
  rdfs:subPropertyOf ontobim:hasCoordinate .

ontobim:hasZCoordinate a rdf:Property ;
  rdfs:label "has z coordinates" ;
  rdfs:comment "A relationship that defines the Cartesian Point Z-coordinates as a double value." ;
  rdfs:domain ontobim:CartesianPoint ;
  rdfs:range xsd:double ;
  rdfs:subPropertyOf ontobim:hasCoordinate .

ontobim:hasCoordinate a rdf:Property ;
  rdfs:label "has coordinate" ;
  rdfs:comment "Defines the x-,y-, and z-coordinates for a Cartesian Point as a double value. This relationship is not intended to be stated explicitly, but inferred from its sub-properties. For application, only the sub-properties are used." ;
  rdfs:domain ontobim:CartesianPoint ;
  rdfs:range xsd:double .

ontobim:hasYCoordinate a rdf:Property ;
  rdfs:label "has y coordinates" ;
  rdfs:comment "A relationship that defines the Cartesian Point Y-coordinates as a double value." ;
  rdfs:domain ontobim:CartesianPoint ;
  rdfs:range xsd:double ;
  rdfs:subPropertyOf ontobim:hasCoordinate .

<https://www.w3.org/2002/07/owl#Thing> a rdfs:Class .

ontobim:hasDirection a rdf:Property ;
  rdfs:label "has direction" ;
  rdfs:comment "Links any entity to a direction vector. This relationship is not intended to be stated explicitly, but inferred from its sub-properties. For application, only the sub-properties are used." ;
  rdfs:domain <https://www.w3.org/2002/07/owl#Thing> ;
  rdfs:range ontobim:DirectionVector .

ontobim:GeometricRepresentationContext a rdfs:Class ;
  rdfs:label "Geometric Representation Context" ;
  rdfs:comment "Defines a distinct coordinate space, that is spatially unrelated to other coordinate spaces, as the overall representation context in which geometric representation items are geometrically founded. Its IFC equivalent is IfcGeometricRepresentationContext." .

ontobim:hasSpaceDimension a rdf:Property ;
  rdfs:label "has space dimensions" ;
  rdfs:comment "A relationship defining a geometric representation context and their integer dimension count of the coordinate space modeled. It is usually 2 or 3." ;
  rdfs:domain ontobim:GeometricRepresentationContext ;
  rdfs:range xsd:integer .

ontobim:hasTrueNorth a rdf:Property ;
  rdfs:label "has true north" ;
  rdfs:comment "Defines the direction of the geometric representation context&apos;s true north relative to the underlying coordinate system as established by the attribute WorldCoordinateSystem." ;
  rdfs:domain ontobim:GeometricRepresentationContext ;
  rdfs:range ontobim:DirectionVector .

ontobim:hasPrecision a rdf:Property ;
  rdfs:label "has precision" ;
  rdfs:comment "A relationship between the geometric representation context and their model precision value, that indicates tolerance level for which two given points are still identical." ;
  rdfs:domain ontobim:GeometricRepresentationContext ;
  rdfs:range xsd:double .

ontobim:hasWorldCoordinateSystem a rdf:Property ;
  rdfs:label "has world coordinate system" ;
  rdfs:comment "Establishes the engineering coordinate system for all representation contexts used by the project." ;
  rdfs:domain ontobim:GeometricRepresentationContext ;
  rdfs:range ontobim:LocalPlacement .

ontobim:IfcModelRepresentation a rdfs:Class ;
  rdfs:label "Ifc Model Representation" ;
  rdfs:comment "Defines the geometric representation of an element as an IFC model." .

ontobim:hasGeometricRepresentation a rdf:Property ;
  rdfs:label "has geometric representation of" ;
  rdfs:comment "A relationship between an element or void within the space or building and their geometric representation defined according to IFC schema." ;
  rdfs:range ontobim:ModelRepresentation3D .

ontobim:hasVoid a rdf:Property ;
  rdfs:label "has void" ;
  rdfs:comment "A relationship that defines the voids in any element&apos;s geometry." ;
  rdfs:domain ontobim:IfcModelRepresentation ;
  rdfs:range ontobim:GeometricVoid .

ontobim:DirectionVector a rdfs:Class ;
  rdfs:label "Direction Vector" ;
  rdfs:comment "Defines a general direction vector in two or three dimensional space based on direction ratios. Its IFC equivalent is IfcDirection." .

ontobim:hasYDirectionRatio a rdf:Property ;
  rdfs:label "has y direction ratio" ;
  rdfs:comment "A relationship that defines the Direction Vector&apos;s Y-direction ratio as a double value." ;
  rdfs:domain ontobim:DirectionVector ;
  rdfs:range xsd:double ;
  rdfs:subPropertyOf ontobim:hasDirectionRatio .

ontobim:hasDirectionRatio a rdf:Property ;
  rdfs:label "has direction ratio" ;
  rdfs:comment "Defines the x,y, and z direction ratio for a Direction Vector as a double value. This relationship is not intended to be stated explicitly, but inferred from its sub-properties. For application, only the sub-properties are used." ;
  rdfs:domain ontobim:DirectionVector ;
  rdfs:range xsd:double .

ontobim:hasZDirectionRatio a rdf:Property ;
  rdfs:label "has z direction ratio" ;
  rdfs:comment "A relationship that defines the Direction Vector&apos;s Z-direction ratio as a double value." ;
  rdfs:domain ontobim:DirectionVector ;
  rdfs:range xsd:double ;
  rdfs:subPropertyOf ontobim:hasDirectionRatio .

ontobim:hasXDirectionRatio a rdf:Property ;
  rdfs:label "has x direction ratio" ;
  rdfs:comment "A relationship that defines the Direction Vector&apos;s X-direction ratio as a double value." ;
  rdfs:domain ontobim:DirectionVector ;
  rdfs:range xsd:double ;
  rdfs:subPropertyOf ontobim:hasDirectionRatio .

ontobim:SurfacePlane a rdfs:Class ;
  rdfs:label "Surface Plane" ;
  rdfs:comment "Defines an unbounded surface with a constant normal (specified by a point and its normal direction vector). A surface can be envisioned as a set of connected points in 3-dimensional space which is always 2-dimensional locally, but need not be a manifold. Its IFC equivalent is IfcPlane." ;
  rdfs:subClassOf ontobim:GeometricRepresentation .

ontobim:PolyLoop a rdfs:Class ;
  rdfs:label "Poly Loop" ;
  rdfs:comment "Defines a polyline that is a closed loop. Its closest IFC equivalent is IfcPolyLoop." ;
  rdfs:subClassOf ontobim:Polyline .

<https://w3id.org/bot#Element> a rdfs:Class .

ontobim:TopologicalRepresentation a rdfs:Class ;
  rdfs:label "Topological Representation" ;
  rdfs:comment "A representation of the element that describes how elements are bounded and connected in an abstract manner." ;
  rdfs:subClassOf ontobim:GeometricRepresentation .

ontobim:RectangleProfileDefinition a rdfs:Class ;
  rdfs:label "Rectangle Profile Definition" ;
  rdfs:comment "Defines the profile definition of the swept surface geometry or swept area solid as a rectangle. Its IFC equivalent is the IfcRectangleProfileDef class." .

ontobim:hasZDimensionExtent a rdf:Property ;
  rdfs:label "has z dimension extent" ;
  rdfs:comment "Defines the Z-extents for the rectangle profile." ;
  rdfs:domain ontobim:RectangleProfileDefinition ;
  rdfs:range xsd:double .

ontobim:hasYDimensionExtent a rdf:Property ;
  rdfs:label "has y dimension extent" ;
  rdfs:comment "Defines the Y-extents for the rectangle profile." ;
  rdfs:domain ontobim:RectangleProfileDefinition ;
  rdfs:range xsd:double .

ontobim:hasXDimensionExtent a rdf:Property ;
  rdfs:label "has x dimension extent" ;
  rdfs:comment "Defines the X-extents for the rectangle profile." ;
  rdfs:domain ontobim:RectangleProfileDefinition ;
  rdfs:range xsd:double .

ontobim:hasProfileType a rdf:Property ;
  rdfs:label "has profile type" ;
  rdfs:comment "A relationship that defines that profile type of a profile definition of a surface." ;
  rdfs:domain ontobim:RectangleProfileDefinition ;
  rdfs:range <https://standards.buildingsmart.org/IFC/DEV/IFC2x3/TC1/OWL#AREA> .

<https://www.purl.org/oema/infrastructure/Building> a rdfs:Class .

<https://w3id.org/bot#Zone> a rdfs:Class .

ontobim:IfcAbstractRepresentation a rdfs:Class ;
  rdfs:label "Ifc Abstract Representation" ;
  rdfs:comment "Defines the abstract representation of zones in an IFC model." .

<https://standards.buildingsmart.org/IFC/DEV/IFC2x3/TC1/OWL#AREA> a rdfs:Class .

ontobim:IfcBooleanOperator a rdfs:Class .

<https://w3id.org/bot#Storey> a rdfs:Class .

ontobim:hasRoom a rdf:Property ;
  rdfs:label "has facility" ;
  rdfs:comment "Relation to a room contained within a storey or facility. By linking the room to a storey and facility, it also enables users to detect which storeys a facility is found on." ;
  rdfs:range ontobim:Room ;
  rdfs:subPropertyOf <https://w3id.org/bot#containsZone> .

ontobim:CompoundPlaneAngle a rdfs:Class ;
  rdfs:label "Compound Plane Angle" ;
  rdfs:comment "A compound measure of the plane angle in degrees, minutes, seconds, and optionally micro-seconds of arc, as defined in IfcCompoundPlaneAngleMeasure. This quantity class is intended to work only for IFC models." ;
  rdfs:subClassOf <https://www.ontology-of-units-of-measure.org/resource/om-2/Angle> .

ontobim:hasMinute a rdf:Property ;
  rdfs:label "has minute" ;
  rdfs:comment "A relationship that defines the compound plane angle&apos;s minutes measure as an integer value." ;
  rdfs:domain ontobim:CompoundPlaneAngle ;
  rdfs:range xsd:integer ;
  rdfs:subPropertyOf ontobim:hasDegreeMinuteSecond .

ontobim:hasSecond a rdf:Property ;
  rdfs:label "has seconds" ;
  rdfs:comment "A relationship that defines the compound plane angle&apos;s seconds measure as an integer value." ;
  rdfs:domain ontobim:CompoundPlaneAngle ;
  rdfs:range xsd:integer ;
  rdfs:subPropertyOf ontobim:hasDegreeMinuteSecond .

ontobim:hasDegree a rdf:Property ;
  rdfs:label "has degree" ;
  rdfs:comment "A relationship that defines the compound plane angle&apos;s degrees measure  as an integer value." ;
  rdfs:domain ontobim:CompoundPlaneAngle ;
  rdfs:range xsd:integer ;
  rdfs:subPropertyOf ontobim:hasDegreeMinuteSecond .

ontobim:hasDegreeMinuteSecond a rdf:Property ;
  rdfs:label "has degree minute or second" ;
  rdfs:comment "Defines the degree, minutes, seconds, and microseconds for a Compound Plane Angle as an integer value. This relationship is not intended to be stated explicitly, but inferred from its sub-properties. For application, only the sub-properties are used." ;
  rdfs:domain ontobim:CompoundPlaneAngle ;
  rdfs:range xsd:integer .

ontobim:hasMicroSecond a rdf:Property ;
  rdfs:label "has microseconds" ;
  rdfs:comment "A relationship that defines the compound plane angle&apos;s microseconds measure as an integer value." ;
  rdfs:domain ontobim:CompoundPlaneAngle ;
  rdfs:range xsd:integer ;
  rdfs:subPropertyOf ontobim:hasDegreeMinuteSecond .

ontobim:Facility a rdfs:Class ;
  rdfs:label "Facility" ;
  rdfs:comment "An independent unit of the built environment, intended to serve at least one function or user activity. A facility is a part of the physical world or a virtual world with a 3D spatial extent that can serve one and more storeys. A facility also can comprise of one or several rooms with different purposes. For example, a multi-storey department store is a facility, which comprise of smaller shopping departments or rooms." ;
  rdfs:subClassOf <https://w3id.org/bot#Zone> .

ontobim:IfcRoomRepresentation a rdfs:Class ;
  rdfs:label "Ifc Room Representation" ;
  rdfs:comment "Defines the abstract representation of the room in an IFC model." ;
  rdfs:subClassOf ontobim:IfcAbstractRepresentation .

ontobim:GeometricRepresentationSubContext a rdfs:Class ;
  rdfs:label "Geometric Representation SubContext" ;
  rdfs:comment "Define semantically distinguished representation types for different information content, dependent on the representation view and the target scale. This enables the control of the level of detail. As a subcontext, it inherits several attributes from the parent context." .

ontobim:hasContextType a rdf:Property ;
  rdfs:label "has context type" ;
  rdfs:comment "The description of the type of a representation context in IFC, usually a string representation of IfcGeometricProjectionEnum like Model." ;
  rdfs:domain ontobim:GeometricRepresentationSubContext ;
  rdfs:range xsd:string .

ontobim:hasParentContext a rdf:Property ;
  rdfs:label "has parent context" ;
  rdfs:comment "A relationship between the parent and child context to share their contextual attributes." ;
  rdfs:domain ontobim:GeometricRepresentationSubContext ;
  rdfs:range ontobim:GeometricRepresentationContext .

ontobim:hasContextIdentifier a rdf:Property ;
  rdfs:label "has context identifier" ;
  rdfs:comment "Defines an optional identifier of the representation sub-context as used within a project." ;
  rdfs:domain ontobim:GeometricRepresentationSubContext ;
  rdfs:range xsd:string .

ontobim:hasTargetView a rdf:Property ;
  rdfs:label "has target view" ;
  rdfs:comment "A relationship that defines the target IFC view of the representation which is applicable to the subcontext." ;
  rdfs:domain ontobim:GeometricRepresentationSubContext ;
  rdfs:range <https://standards.buildingsmart.org/IFC/DEV/IFC2x3/TC1/OWL#IfcGeometricProjectionEnum> .

ontobim:PolyLine a rdfs:Class ;
  rdfs:label "Poly line" ;
  rdfs:comment "Defines a bounded curve of n-1 linear segments, defined by a list of n Line Vertex. Its IFC equivalent is IfcPolyline." ;
  rdfs:subClassOf ontobim:GeometricRepresentation .

ontobim:PolygonalBoundedHalfSpace a rdfs:Class ;
  rdfs:label "Polygonal Bounded Half Space" ;
  rdfs:comment "Defines a half space solid, in which the half space is bounded by a polygonal boundary. Its IFC equivalent is IfcPolygonalBoundedHalfSpace." ;
  rdfs:subClassOf ontobim:HalfSpaceSolid .

ontobim:hasPolygonalBoundary a rdf:Property ;
  rdfs:label "has polygonal boundary" ;
  rdfs:comment "A relationship that defines the half space&apos;s 2D bounded curve, defined in the xy plane of the position coordinate system." ;
  rdfs:domain ontobim:PolygonalBoundedHalfSpace ;
  rdfs:range ontobim:Polyline .

ontobim:hasBaseSurface a rdf:Property ;
  rdfs:label "has base surface" ;
  rdfs:comment "A relationship that defines the surface defining side for a half space solid." ;
  rdfs:domain ontobim:HalfSpaceSolid ;
  rdfs:range ontobim:SurfacePlane .

ontobim:hasAgreementFlag a rdf:Property ;
  rdfs:label "has agreement flag" ;
  rdfs:comment "A boolean property that determines the subset of a half space. When true, the subset is the one the normal points away from. Otherwise, the subset is the one the normal points into." ;
  rdfs:domain ontobim:HalfSpaceSolid ;
  rdfs:range xsd:boolean .

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

ontobim:GeometricVoid a rdfs:Class ;
  rdfs:label "Geometric Void" ;
  rdfs:comment "A class that modifies (usually subtracts from) the shape and appearance of the host elements, such as walls, floors, ceilings, and roofs. It is equivalent to the IfcFeatureElementSubtraction or IfcOpeningElement class." .

ontobim:hasVoidType a rdf:Property ;
  rdfs:label "has void type" ;
  rdfs:comment "Defines the type of geometric void, usually opening or recess." ;
  rdfs:domain ontobim:GeometricVoid ;
  rdfs:range xsd:string .

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

<https://w3id.org/bot#Site> a rdfs:Class .

ontobim:LocalPlacement a rdfs:Class ;
  rdfs:label "Local Placement" ;
  rdfs:comment "Defines the relative placement of a product in relation to the placement of a parent product or the absolute placement of a product within the project&apos;s geometric representation context. Its IFC equivalent is the IfcLocalPlacement class." .

ontobim:hasRefDirection a rdf:Property ;
  rdfs:label "has ref direction" ;
  rdfs:comment "A relationship that determines the local placement direction to the local X axis." ;
  rdfs:domain ontobim:LocalPlacement ;
  rdfs:range ontobim:DirectionVector ;
  rdfs:subPropertyOf ontobim:hasDirection .

ontobim:hasRelativePositionTo a rdf:Property ;
  rdfs:label "has relative position to" ;
  rdfs:comment "A relationship between a component or spatial zone&apos;s placement position to their parent zone&apos;s placement position within the model." ;
  rdfs:domain ontobim:LocalPlacement ;
  rdfs:range ontobim:LocalPlacement .

ontobim:hasRefPoint a rdf:Property ;
  rdfs:label "has reference point" ;
  rdfs:comment "A relationship that defines the geometric position of a reference point." ;
  rdfs:range ontobim:CartesianPoint .

ontobim:hasAxisDirection a rdf:Property ;
  rdfs:label "has axis direction" ;
  rdfs:comment "A relationship that determines the local placement &apos;s exact direction to the local Z axis." ;
  rdfs:domain ontobim:LocalPlacement ;
  rdfs:range ontobim:DirectionVector ;
  rdfs:subPropertyOf ontobim:hasDirection .

ontobim:FaceOuterBound a rdfs:Class ;
  rdfs:label "Face Outer Bound" ;
  rdfs:comment "Defines a loop that is the outer boundary of a face. Only one should exist for any given face. Its IFC equivalent is IfcFaceOuterBound." ;
  rdfs:subClassOf ontobim:TopologicalRepresentation .

ontobim:isLoopNonInversedOrientation a rdf:Property ;
  rdfs:label "is loop non inversed orientation" ;
  rdfs:comment "A boolean property that indicates whether the loop has the same sense when used to bound the face as when first defined. When false, the senses of all its component oriented edges are implicitly reversed when used in the face." ;
  rdfs:domain ontobim:FaceOuterBound ;
  rdfs:range xsd:boolean .

ontobim:hasFaceBoundary a rdf:Property ;
  rdfs:label "has face boundary" ;
  rdfs:comment "A relationship that defines the polyloop acting as the boundary for the face." ;
  rdfs:domain ontobim:FaceOuterBound ;
  rdfs:range ontobim:PolyLoop .

ontobim:LineVertex a rdfs:Class ;
  rdfs:label "LineVertex" ;
  rdfs:comment "Defines a vertex on a polyline that follows a sequence. Its geometric position is given by a cartesian point." ;
  rdfs:subClassOf ontobim:TopologicalRepresentation .

ontobim:hasNextVertex a rdf:Property ;
  rdfs:label "has next vertex" ;
  rdfs:comment "A relationship that linked the current vertex to the next vertex in a line." ;
  rdfs:domain ontobim:LineVertex ;
  rdfs:range ontobim:LineVertex .

ontobim:ModelRepresentation3D a rdfs:Class ;
  rdfs:label "3D Model Representation" ;
  rdfs:comment "The 3D geometric model representation of an element in a IFC model." .

ontobim:hasSubContext a rdf:Property ;
  rdfs:label "has subcontext" ;
  rdfs:comment "Defines the the representation context for which the different subtypes of model representation are valid" ;
  rdfs:domain ontobim:ModelRepresentation3D ;
  rdfs:range ontobim:GeometricRepresentationSubContext .

ontobim:hasSourcePlacement a rdf:Property ;
  rdfs:label "has source placement" ;
  rdfs:comment "A relationship defining the source placement of an existing geometric representation for an element&apos;s model representaion. This relationship must be used alongside the &quot;hasTargetPlacement&quot; property. The target placement is linked to a transformation operator which will transform the source placement into the right location for this instance." ;
  rdfs:domain ontobim:ModelRepresentation3D ;
  rdfs:range ontobim:LocalPlacement .

ontobim:hasRepresentationType a rdf:Property ;
  rdfs:label "has representation type" ;
  rdfs:comment "A relationship decribing the type of representation context for a 3D model representation. This is equivalent to the representation type attribute in the IfcRepresentation class." ;
  rdfs:domain ontobim:ModelRepresentation3D ;
  rdfs:range xsd:string .

ontobim:hasRepresentationItem a rdf:Property ;
  rdfs:label "has representation item" ;
  rdfs:comment "A relationship defining the representation items that constitutes the 3D geometric model representation of an element." ;
  rdfs:domain ontobim:ModelRepresentation3D ;
  rdfs:range ontobim:GeometricRepresentation .

ontobim:hasTargetPlacement a rdf:Property ;
  rdfs:label "has target placement" ;
  rdfs:comment "A relationship defining the target placement of an existing geometric representation source for an element&apos;s model representaion. This relationship must be used alongside the &quot;hasSourcePlacement&quot; property. The target placement is linked to a transformation operator which will transform the source placement into the right location for this instance." ;
  rdfs:domain ontobim:ModelRepresentation3D ;
  rdfs:range ontobim:CartesianTransformationOperator .

<https://www.theworldavatar.com/kg/ontoubemmp/UtilitiesConsumption> a rdfs:Class .

ontobim:Room a rdfs:Class ;
  rdfs:label "Room" ;
  rdfs:comment "An independent unit within a building, intended to serve at least one function or user activity for the building occupants or visitors. A room is a part of the physical world or a virtual world whose 3D spatial extent is bounded either tangibly by physical elements (ceiling, wall, floor) or theoretically by abstract units of spaces (departments, workspaces)" ;
  rdfs:subClassOf <https://w3id.org/bot#Zone> .

ontobim:ClosedShell a rdfs:Class ;
  rdfs:label "Closed Shell" ;
  rdfs:comment "Defines a shell of dimensionality 2, that typically serves as a bound for a region. It is usually represented by a collection of faces. Its IFC equivalent is IfcClosedShell." .

ontobim:hasConnectedFaces a rdf:Property ;
  rdfs:label "has connected faces" ;
  rdfs:comment "A relationship that defines the closed shell, comprising of a set of faces arcwise connected along common edges or vertices." ;
  rdfs:domain ontobim:ClosedShell ;
  rdfs:range ontobim:Face .

ontobim:IfcStoreyRepresentation a rdfs:Class ;
  rdfs:label "Ifc Storey Representation" ;
  rdfs:comment "Defines the abstract representation of the storey in an IFC model." ;
  rdfs:subClassOf ontobim:IfcAbstractRepresentation .

<https://standards.buildingsmart.org/IFC/DEV/IFC2x3/TC1/OWL#IfcGeometricProjectionEnum> a rdfs:Class .

ontobim:HalfSpaceSolid a rdfs:Class ;
  rdfs:label "Half Space Solid" ;
  rdfs:comment "A solid that is defined by the half space, ie the regular subset of the domain which lies on one side of an unbounded surface. The surface side in the half space is determined by the surface normal and agreement flag. A valid half space solid must have the domain divided exactly into two subsets by the surface. Its IFC equivalent is IfcHalfSpaceSolid." ;
  rdfs:subClassOf ontobim:GeometricRepresentation .

ontobim:TutorialRoom a rdfs:Class ;
  rdfs:label "TutorialRoom" ;
  rdfs:comment "A room designed for more intimate, interactive learning sessions, often used for tutorials, group studies, or workshops." ;
  rdfs:subClassOf ontobim:Room .

ontobim:IfcProjectRepresentation a rdfs:Class ;
  rdfs:label "Ifc Project Representation" ;
  rdfs:comment "Defines an abstract container class that establishes the context in IFC schema for information to be exchanged or shared, and reference the root of the Zone hierarchy. Its IFC equivalent is IfcProject." .

ontobim:hasContext a rdf:Property ;
  rdfs:label "has context" ;
  rdfs:comment "A relationship that references the project to their geometric representation context." ;
  rdfs:domain ontobim:IfcProjectRepresentation ;
  rdfs:range ontobim:GeometricRepresentationContext .

ontobim:hasPhase a rdf:Property ;
  rdfs:label "has phase" ;
  rdfs:comment "Defines the current project phase. As IFC allows this attribute to be open to interpretation for all project partners, values are inexhaustible." ;
  rdfs:domain ontobim:IfcProjectRepresentation ;
  rdfs:range xsd:string .

ontobim:hasRootZone a rdf:Property ;
  rdfs:label "has root zone" ;
  rdfs:comment "A relationship that reference the root of the project&apos;s spatial structure hierarchy to a zone of either site or building level." ;
  rdfs:domain ontobim:IfcProjectRepresentation ;
  rdfs:range xsd:string .

ontobim:ExtrudedAreaSolid a rdfs:Class ;
  rdfs:label "Extruded Area Solid" ;
  rdfs:comment "Defined a solid by sweeping a bounded planar surface in a given direction. If the planar area has inner boundaries, i.e. holes defined, then those holes shall be swept into holes of the solid. Its IFC equivalent is IfcExtrudedAreaSolid." ;
  rdfs:subClassOf ontobim:SolidModel .

ontobim:hasExtrusionDepth a rdf:Property ;
  rdfs:label "has extrusion depth" ;
  rdfs:comment "Defines the distance that the solid is extruded." ;
  rdfs:domain ontobim:ExtrudedAreaSolid ;
  rdfs:range xsd:double .

ontobim:hasExtrusionDirection a rdf:Property ;
  rdfs:label "has extrusion direction" ;
  rdfs:comment "Defines the direction of the extrusion of the surface." ;
  rdfs:domain ontobim:ExtrudedAreaSolid ;
  rdfs:range ontobim:DirectionVector .

ontobim:hasExtrusionStartPosition a rdf:Property ;
  rdfs:label "has extrusion start position" ;
  rdfs:comment "A relationship that defines the geometric start position of the extruded area solid." ;
  rdfs:domain ontobim:ExtrudedAreaSolid ;
  rdfs:range ontobim:LocalPlacement .

ontobim:hasExtrusionProfile a rdf:Property ;
  rdfs:label "has extrusion profile" ;
  rdfs:comment "A relationship defining the surface that is to be extruded, ie profile definition." ;
  rdfs:domain ontobim:ExtrudedAreaSolid ;
  rdfs:range ontobim:RectangleProfileDefinition .

ontobim:SeminarRoom a rdfs:Class ;
  rdfs:label "SeminarRoom" ;
  rdfs:comment "A space intended for smaller group discussions, presentations, or seminars, typically furnished with tables and chairs for interactive sessions." ;
  rdfs:subClassOf ontobim:Room .

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

<https://w3id.org/bot#Building> a rdfs:Class .

ontobim:hasFacility a rdf:Property ;
  rdfs:label "has facility" ;
  rdfs:comment "Relation to facility contained within a building." ;
  rdfs:domain <https://w3id.org/bot#Building> ;
  rdfs:range ontobim:Facility ;
  rdfs:subPropertyOf <https://w3id.org/bot#containsZone> .

ontobim:SolidModel a rdfs:Class ;
  rdfs:label "Solid Model" ;
  rdfs:comment "Defines a complete representation of an element&apos;s nominal shape such that all points in the interior are connected. There are several different types of solid model representations. Its IFC equivalent is IfcSolidModel." ;
  rdfs:subClassOf ontobim:GeometricRepresentation .

ontobim:Face a rdfs:Class ;
  rdfs:label "Face" ;
  rdfs:comment "Defines a topological entity of dimensionality 2, that is represented by its bounding loops or face bounds. Its IFC equivalent is IfcFace." ;
  rdfs:subClassOf ontobim:TopologicalRepresentation .

ontobim:hasBounds a rdf:Property ;
  rdfs:label "has bounds" ;
  rdfs:comment "A relationship that defines the boundaries of a face." ;
  rdfs:domain ontobim:Face ;
  rdfs:range ontobim:FaceOuterBound .

<https://w3id.org/bot#containsZone> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

ontobim:hasDerivedXAxis a rdf:Property ;
  rdfs:label "has derived x-axis" ;
  rdfs:comment "Defines a relationship from the operator to the derived x-axis direction." ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf ontobim:hasDerivedAxis .

ontobim:hasDerivedYAxis a rdf:Property ;
  rdfs:label "has derived y-axis" ;
  rdfs:comment "Defines a relationship from the operator to the derived y-axis direction." ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf ontobim:hasDerivedAxis .
