@prefix :      <http://purl.org/poso/> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xml:   <http://www.w3.org/XML/1998/namespace> .
@prefix xsd:   <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .

:isPositionOf  a            owl:ObjectProperty ;
        rdfs:label          "is position of"@en , "is positie van"@nl ;
        rdfs:subPropertyOf  <http://www.w3.org/ns/ssn/isPropertyOf> .

:xAxisValue  a        owl:FunctionalProperty , owl:ObjectProperty ;
        rdfs:comment  "Quantitative result value along the X-axis of a spatial sensor or result."@en ;
        rdfs:domain   <http://www.w3.org/ns/sosa/Result> ;
        rdfs:label    "x-axis value"@en ;
        rdfs:range    rdfs:Class .

:OutdoorDeployment  a    owl:Class ;
        rdfs:comment     "Describes the deployment of a System in an outdoor environment."@en ;
        rdfs:label       "Outdoor deployment"@en ;
        rdfs:subClassOf  <http://www.w3.org/ns/ssn/Deployment> .

:RelativeAngle  a        owl:Class ;
        rdfs:comment     "A relative angle is a quantitative angle relative to another feature of interest."@en ;
        rdfs:label       "Relative angle"@en , "Relatieve hoek"@nl ;
        rdfs:subClassOf  :RelativePosition ;
        <http://www.w3.org/2004/02/skos/core#example>
                "An example of relative angle is the Angle of Arrival."@en .

:hasVelocity  a             owl:ObjectProperty ;
        rdfs:comment        "Indicates the velocity of a feature of interest."@en , "Duid de snelheid van een object aan."@nl ;
        rdfs:domain         <http://www.w3.org/ns/sosa/FeatureOfInterest> ;
        rdfs:label          "heeft snelheid"@nl , "has velocity"@en ;
        rdfs:range          :Velocity ;
        rdfs:subPropertyOf  <http://www.w3.org/ns/ssn/hasProperty> ;
        owl:inverseOf       :isVelocityOf .

:yaw    a             owl:FunctionalProperty , owl:ObjectProperty ;
        rdfs:comment  "Yaw is the rotation around the z-axis with respect to the object the yaw applies to."@en ;
        rdfs:domain   :EulerOrientation ;
        rdfs:label    "yaw"@en ;
        rdfs:range    rdfs:Class .

:Movement  a             owl:Class ;
        rdfs:comment     "Movement stimulus triggering an update of a position."@en ;
        rdfs:label       "Movement"@en , "Beweging"@nl ;
        rdfs:subClassOf  <http://www.w3.org/ns/ssn/Stimulus> .

:CellIdentification  a   owl:Class ;
        rdfs:comment     "Cell identification is a positioning procedure using the position of one landmark that is within the cell."@en ;
        rdfs:label       "Cell identification"@en ;
        rdfs:subClassOf  :PositioningTechnique ;
        <http://www.w3.org/2004/02/skos/core#altLabel>
                "Cell Of Origin (COO)"@en ;
        <http://www.w3.org/2004/02/skos/core#example>
                "An example of cell identification is using the position of a QR-code when this code is scanned (and the user is presumably within a short distance)."@en , "An example of cell identification is using the position of a Bluetooth beacon whenever this beacon has a high signal strength."@en .

:AxisAngleOrientation
        a                owl:Class ;
        rdfs:comment     "The axis-angle orientation is an orientation representation where the x, y and z values are rotated with a certain angle."@en ;
        rdfs:label       "Axis-angle orientation"@en ;
        rdfs:subClassOf  :Orientation ;
        rdfs:subClassOf  [ a                   owl:Restriction ;
                           owl:maxCardinality  "1"^^xsd:nonNegativeInteger ;
                           owl:onProperty      :zAxisValue
                         ] ;
        rdfs:subClassOf  [ a                   owl:Restriction ;
                           owl:maxCardinality  "1"^^xsd:nonNegativeInteger ;
                           owl:onProperty      :yAxisValue
                         ] ;
        rdfs:subClassOf  [ a                   owl:Restriction ;
                           owl:maxCardinality  "1"^^xsd:nonNegativeInteger ;
                           owl:onProperty      :xAxisValue
                         ] ;
        rdfs:subClassOf  [ a                   owl:Restriction ;
                           owl:maxCardinality  "1"^^xsd:nonNegativeInteger ;
                           owl:onProperty      :angle
                         ] ;
        rdfs:subClassOf  [ a                   owl:Restriction ;
                           owl:minCardinality  "1"^^xsd:nonNegativeInteger ;
                           owl:onProperty      :angle
                         ] .

:EulerOrientation  a     owl:Class ;
        rdfs:label       "Euler orientation"@en ;
        rdfs:subClassOf  :Orientation ;
        rdfs:subClassOf  [ a                   owl:Restriction ;
                           owl:maxCardinality  "1"^^xsd:nonNegativeInteger ;
                           owl:onProperty      :yaw
                         ] ;
        rdfs:subClassOf  [ a                   owl:Restriction ;
                           owl:maxCardinality  "1"^^xsd:nonNegativeInteger ;
                           owl:onProperty      :roll
                         ] ;
        rdfs:subClassOf  [ a                   owl:Restriction ;
                           owl:maxCardinality  "1"^^xsd:nonNegativeInteger ;
                           owl:onProperty      :pitch
                         ] .

:RelativePosition  a      owl:Class ;
        rdfs:comment      "Een relatieve positie is een positie van een punt, met respect tot de posities van andere objecten die relatief zijn."@nl , "A relative position is a position of a feature of interest with respect to the positions of other objects that this position is relative to."@en ;
        rdfs:isDefinedBy  "https://isotc211.geolexica.org/concepts/377/"^^xsd:anyURI ;
        rdfs:label        "Relative position"@en , "Relatieve positie"@nl ;
        rdfs:subClassOf   :Position ;
        rdfs:subClassOf   [ a                            owl:Restriction ;
                            owl:maxQualifiedCardinality  "1"^^xsd:nonNegativeInteger ;
                            owl:onClass                  <http://www.w3.org/ns/sosa/FeatureOfInterest> ;
                            owl:onProperty               :isRelativeTo
                          ] .

:       a                          owl:Ontology ;
        <http://purl.org/dc/terms/abstract>
                "The positioning system ontology is a vocabulary for describing positioning systems and the techniques these systems use to determine a position. With POSO we aim to provide semantic meaning on how a positioning system is deployed and how results are calculated."@en ;
        <http://purl.org/dc/terms/bibliographicCitation>
                "Maxim Van de Wynckel and Beat Signer, POSO: A Generic Positioning System Ontology" ;
        <http://purl.org/dc/terms/contributor>
                "Beat Signer"@en ;
        <http://purl.org/dc/terms/creator>
                "Maxim Van de Wynckel"@en ;
        <http://purl.org/dc/terms/description>
                "This ontology provides the terminologies used for positioning systems." ;
        <http://purl.org/dc/terms/license>
                <http://purl.org/NET/rdflicense/MIT1.0> ;
        <http://purl.org/dc/terms/modified>
                "2022-07-25T00:00:00"^^xsd:dateTime ;
        <http://purl.org/dc/terms/title>
                "Positioning System Ontology"@en ;
        <http://purl.org/ontology/bibo/status>
                "Ontology Specification Draft" ;
        <http://purl.org/vocab/vann/preferredNamespacePrefix>
                "poso" ;
        <http://purl.org/vocab/vann/preferredNamespaceUri>
                "http://purl.org/poso/"^^xsd:anyURI ;
        <http://schema.org/image>  "https://raw.githubusercontent.com/OpenHPS/POSO/main/docs/images/systems_and_procedures.svg" ;
        owl:imports                <http://www.w3.org/ns/ssn/> , <http://www.w3.org/ns/ssn/systems/> ;
        owl:versionIRI             <http://purl.org/poso/1.0/> .

:roll   a             owl:FunctionalProperty , owl:ObjectProperty ;
        rdfs:comment  "Roll is the rotation around the y-axis with respect to the object the roll applies to."@en ;
        rdfs:domain   :EulerOrientation ;
        rdfs:label    "roll"@en ;
        rdfs:range    rdfs:Class .

:HighLevelFusion  a       owl:Class ;
        rdfs:comment      "High level sensor fusion is about fusing both objects and their trajectories. We're not only relying on detections, but also on predictions and tracking."@en ;
        rdfs:isDefinedBy  "https://www.thinkautonomous.ai/blog/?p=9-types-of-sensor-fusion-algorithms"^^xsd:anyURI ;
        rdfs:label        "High level sensor fusion"@en ;
        rdfs:subClassOf   :SensorFusion ;
        <http://www.w3.org/2004/02/skos/core#altLabel>
                "Decision level sensor fusion"@en .

:hasSRS  a            owl:ObjectProperty ;
        rdfs:comment  "Identifies an entity that has a spatial reference system in order to interpret the result."@en ;
        rdfs:domain   owl:Thing ;
        rdfs:label    "heeft een ruimtelijk referentiepunt"@nl , "has spatial reference system"@en ;
        <http://qudt.org/schema/qudt/example>
                <http://www.opengis.net/def/crs/OGC/1.3/CRS84> .

:VSLAM  a                owl:Class ;
        rdfs:comment     "Visual simultaneous localisation and mapping (VSLAM) is a positioning techniques that uses visual imagery to map an environment. Positioning works by detecting features of interest in image frames and comparing how these features move from one frame to another."@en ;
        rdfs:label       "Visual simultaneous localisation and mapping"@en ;
        rdfs:subClassOf  :SLAM .

<http://purl.org/dc/terms/license>
        a       owl:AnnotationProperty .

:PDR    a                owl:Class ;
        rdfs:comment     "Pedestrian dead reckoning (PDR) is a positioning technique where the object is assumed to be a pedestrian that is walking or running. Using this knowledge, the dead reckoning involves the detection of steps and the step length to more accurately predict the movement."@en ;
        rdfs:label       "Pedestrian dead reckoning"@en ;
        rdfs:subClassOf  :DeadReckoning .

<http://purl.org/dc/terms/source>
        a       owl:AnnotationProperty .

<http://qudt.org/schema/qudt/hasQuantityKind>
        a       owl:AnnotationProperty .

:MapOutput  a            owl:Class ;
        rdfs:label       "Map output"@en ;
        rdfs:subClassOf  <http://www.w3.org/ns/ssn/Output> .

:hasRelativePosition  a     owl:ObjectProperty ;
        rdfs:label          "heeft relatieve positie"@nl , "has relative position"@en ;
        rdfs:range          :RelativePosition ;
        rdfs:subPropertyOf  :hasPosition ;
        owl:inverseOf       :isRelativeTo .

:Velocity  a             owl:Class ;
        rdfs:comment     "Linear or angular velocity of a feature."@en ;
        rdfs:label       "Velocity"@en ;
        rdfs:subClassOf  <http://www.w3.org/ns/sosa/Result> , <http://www.w3.org/ns/sosa/ObservableProperty> ;
        <http://qudt.org/schema/qudt/hasQuantityKind>
                <http://qudt.org/vocab/quantitykind/Velocity> .

<http://purl.org/vocab/vann/preferredNamespaceUri>
        a       owl:AnnotationProperty .

:SLAM   a                 owl:Class ;
        rdfs:comment      "Simultaneous localization and mapping (SLAM) is the computational problem of constructing or updating a map of an unknown environment while simultaneously keeping track of an agent's location within it."@en ;
        rdfs:isDefinedBy  "https://dbpedia.org/page/Simultaneous_localization_and_mapping"^^xsd:anyURI ;
        rdfs:label        "Simultaneous localisation and mapping"@en ;
        rdfs:subClassOf   :PositioningTechnique .

:hasPosition  a             owl:ObjectProperty ;
        rdfs:comment        "Indicates the absolute or relative position of a feature of interest."@en , "Duid de absolute of relatieve positie van een object aan."@nl ;
        rdfs:domain         <http://www.w3.org/ns/sosa/FeatureOfInterest> ;
        rdfs:label          "heeft positie"@nl , "has position"@en ;
        rdfs:range          :Position ;
        rdfs:subPropertyOf  <http://www.w3.org/ns/ssn/hasProperty> ;
        owl:inverseOf       :isPositionOf .

:isVelocityOf  a            owl:ObjectProperty ;
        rdfs:label          "is velocity of"@en , "is de snelheid van"@nl ;
        rdfs:subPropertyOf  <http://www.w3.org/ns/ssn/isPropertyOf> .

:TrackedFeature  a       owl:Class ;
        rdfs:comment     "A feature of interest that is being tracked by a positioning system. This is the feature for which a position is observed."@en ;
        rdfs:label       "Tracked feature"@en ;
        rdfs:subClassOf  <http://www.w3.org/ns/sosa/FeatureOfInterest> , <http://www.opengis.net/ont/geosparql#SpatialObject> ;
        rdfs:subClassOf  [ a                            owl:Restriction ;
                           owl:minQualifiedCardinality  "1"^^xsd:nonNegativeInteger ;
                           owl:onClass                  :Position ;
                           owl:onProperty               :hasPosition
                         ] ;
        <http://www.w3.org/2004/02/skos/core#example>
                "The phone of a person that is being tracked in an indoor positioning system is the tracked feature."@en .

:LinearMovement  a       owl:Class ;
        rdfs:comment     "Linear movement along a certain axis."@en ;
        rdfs:label       "Linear movement"@en , "Lineaire beweging"@nl ;
        rdfs:subClassOf  :Movement .

:Angulation  a           owl:Class ;
        rdfs:comment     "Angulation is a triangulation method to determine a position based on the relative angles to other objects."@en ;
        rdfs:label       "Angulation"@en ;
        rdfs:subClassOf  :Triangulation .

:LowLevelFusion  a        owl:Class ;
        rdfs:comment      "Low Level Sensor Fusion is about fusing the raw data coming from multiple sensors. For example, we fuse point clouds coming from LiDARs and pixels coming from cameras."@en ;
        rdfs:isDefinedBy  "https://www.thinkautonomous.ai/blog/?p=9-types-of-sensor-fusion-algorithms"^^xsd:anyURI ;
        rdfs:label        "Low level sensor fusion"@en ;
        rdfs:subClassOf   :SensorFusion .

:inDeployment  a     owl:ObjectProperty ;
        rdfs:domain  :AbsolutePosition ;
        rdfs:label   "in deployment"@en ;
        rdfs:range   <http://www.w3.org/ns/ssn/Deployment> ;
        <http://purl.org/vocab/vann/preferredNamespaceUri>
                "Identifies an absolute position within a deployment"@en .

:isRelativeTo  a      owl:ObjectProperty ;
        rdfs:comment  "Indicates a relative position to be relative to another feature of interest."@en ;
        rdfs:domain   :RelativePosition ;
        rdfs:label    "is relative to"@en , "is relatief met"@nl ;
        rdfs:range    <http://www.w3.org/ns/sosa/FeatureOfInterest> ;
        <http://www.w3.org/2004/02/skos/core#example>
                "A person can have a relative distance to another feature of interest. When a feature is moving (i.e. when the geometry changes based on time) the distance remains relative to the feature and not the geometry at a specific point in time."@en .

<http://purl.org/dc/terms/creator>
        a       owl:AnnotationProperty .

:hasAcceleration  a         owl:ObjectProperty ;
        rdfs:comment        "Property that links a feature of interest to a unique acceleration property related to this feature."@en ;
        rdfs:domain         <http://www.w3.org/ns/sosa/FeatureOfInterest> ;
        rdfs:label          "heeft versnelling"@nl , "has acceleration"@en ;
        rdfs:range          :Acceleration ;
        rdfs:subPropertyOf  <http://www.w3.org/ns/ssn/hasProperty> ;
        owl:inverseOf       :isAccelerationOf .

:isOrientationOf  a         owl:ObjectProperty ;
        rdfs:label          "is orientation of"@en , "is orientatie van"@nl ;
        rdfs:subPropertyOf  <http://www.w3.org/ns/ssn/isPropertyOf> .

:isAccelerationOf  a        owl:ObjectProperty ;
        rdfs:label          "is versnelling van"@nl , "is acceleration of"@en ;
        rdfs:subPropertyOf  <http://www.w3.org/ns/ssn/isPropertyOf> .

<http://purl.org/dc/terms/title>
        a       owl:AnnotationProperty .

:Triangulation  a        owl:Class ;
        rdfs:comment     "Triangulation is the procedure of determining a position using relative angles to a feature of interest with a known position."@en ;
        rdfs:label       "Triangulation"@en ;
        rdfs:subClassOf  :PositioningTechnique .

<http://www.w3.org/2004/02/skos/core#altLabel>
        a       owl:AnnotationProperty .

:madeBySystem  a      owl:ObjectProperty ;
        rdfs:comment  "A relation to a re-usable system that computed the observation."@en ;
        rdfs:domain   <http://www.w3.org/ns/sosa/Observation> ;
        rdfs:label    "made by system"@en , "gemaakt door systeem"@nl ;
        rdfs:range    <http://www.w3.org/ns/ssn/System> .

:Position  a             owl:Class ;
        rdfs:comment     "A position indicates where an entity is located."@en ;
        rdfs:label       "Position"@en , "Positie"@nl ;
        rdfs:subClassOf  <http://www.w3.org/ns/sosa/Result> , <http://www.w3.org/ns/sosa/ObservableProperty> .

:LocationBasedService
        a                 owl:Class ;
        rdfs:comment      "A location based service (LBS) is a service that provides the location of a person or object. It provides this information without the required knowledge of the underlying technologies and algorithms."@en ;
        rdfs:isDefinedBy  "https://isotc211.geolexica.org/concepts/278/"^^xsd:anyURI ;
        rdfs:label        "Location based service"@en ;
        rdfs:subClassOf   <http://www.w3.org/ns/ssn/System> .

:hasOrientation  a          owl:ObjectProperty ;
        rdfs:comment        "Indicates the orientation of a feature of interest."@en , "Duid de orientatie aan van een object aan."@nl ;
        rdfs:domain         <http://www.w3.org/ns/sosa/FeatureOfInterest> ;
        rdfs:label          "heeft orientatie"@nl , "has orientation"@en ;
        rdfs:range          :Orientation ;
        rdfs:subPropertyOf  <http://www.w3.org/ns/ssn/hasProperty> ;
        owl:inverseOf       :isOrientationOf .

:LinearVelocity  a       owl:Class ;
        rdfs:comment     "Linear velocity is the momentum along one ore more axis."@en ;
        rdfs:label       "Linear velocity"@en , "Lineaire snelheid"@nl ;
        rdfs:subClassOf  :Velocity ;
        <http://qudt.org/schema/qudt/hasQuantityKind>
                <http://qudt.org/vocab/quantitykind/LinearVelocity> .

<http://purl.org/dc/terms/abstract>
        a       owl:AnnotationProperty .

<http://purl.org/dc/terms/contributor>
        a       owl:AnnotationProperty .

:MidLevelFusion  a        owl:Class ;
        rdfs:comment      "Mid-Level sensor fusion is about fusing the objects detected independently on sensor data."@en ;
        rdfs:isDefinedBy  "https://www.thinkautonomous.ai/blog/?p=9-types-of-sensor-fusion-algorithms"^^xsd:anyURI ;
        rdfs:label        "Mid level sensor fusion"@en ;
        rdfs:subClassOf   :SensorFusion .

:Fingerprinting  a       owl:Class ;
        rdfs:comment     "Fingerprinting is a positioning Procedure where sensor data is collected at a specific position and orientation. During the offline-stage of a positioning system, the significant data features are extracted and stored for that position. In the online-stage, the closest match(es) of the features are determined to predict the position."@en ;
        rdfs:label       "Fingerprinting"@en ;
        rdfs:subClassOf  :PositioningTechnique .

:VisualInput  a          owl:Class ;
        rdfs:label       "Visual input"@en ;
        rdfs:subClassOf  <http://www.w3.org/ns/ssn/Input> .

:SatellitePositioningSystem
        a                 owl:Class ;
        rdfs:comment      "In this context, satellite positioning implies the use of radio signals transmitted from \"active\" artificial objects orbiting the Earth and received by \"passive\" instruments on or near the Earth's surface to determine position, velocity, and/or attitude of an object."@en ;
        rdfs:isDefinedBy  "https://isotc211.geolexica.org/concepts/392/"^^xsd:anyURI ;
        rdfs:label        "Satellite positioning system"@en ;
        rdfs:subClassOf   :PositioningSystem .

:pitch  a             owl:FunctionalProperty , owl:ObjectProperty ;
        rdfs:comment  "Pitch is the rotation around the x-axis with respect to the object the yaw applies to."@en ;
        rdfs:domain   :EulerOrientation ;
        rdfs:label    "pitch"@en ;
        rdfs:range    rdfs:Class .

:PositioningSystem  a     owl:Class ;
        rdfs:comment      "A positioning system is a system of instrumental and computational components for determining position."@en ;
        rdfs:isDefinedBy  "https://isotc211.geolexica.org/concepts/349/"^^xsd:anyURI ;
        rdfs:label        "Positioning system"@en ;
        rdfs:subClassOf   <http://www.w3.org/ns/ssn/System> ;
        rdfs:subClassOf   [ a                            owl:Restriction ;
                            owl:minQualifiedCardinality  "1"^^xsd:nonNegativeInteger ;
                            owl:onClass                  <http://www.w3.org/ns/ssn/Deployment> ;
                            owl:onProperty               <http://www.w3.org/ns/ssn/hasDeployment>
                          ] .

:observesType  a            owl:ObjectProperty ;
        rdfs:comment        "The relation between a system and an observable property class to identify that a system observes a specific type of property."@en ;
        rdfs:domain         <http://www.w3.org/ns/ssn/System> ;
        rdfs:label          "observes type"@en , "observeert type"@nl ;
        rdfs:range          rdfs:Class ;
        rdfs:subPropertyOf  <http://www.w3.org/ns/ssn/forProperty> .

<http://www.w3.org/ns/ssn/System>
        a       owl:Class .

:AbsolutePosition  a         owl:Class ;
        rdfs:comment         "An absolute position describes the position of an entity based on a fixed point in space. Usually this space is the Earth and the position is expressed in latitude and longitude."@en ;
        rdfs:label           "Absolute position"@en ;
        rdfs:subClassOf      :Position ;
        owl:equivalentClass  <http://www.opengis.net/ont/geosparql#Geometry> .

:Lateration  a            owl:Class ;
        rdfs:isDefinedBy  "https://www.sciencedirect.com/topics/engineering/lateration"^^xsd:anyURI ;
        rdfs:label        "Lateration"@en ;
        rdfs:subClassOf   :Triangulation .

:PositioningPlatform  a  owl:Class ;
        rdfs:comment     "A positioning platform is a framework, architecture or platform used to develop and host a positioning system."@en ;
        rdfs:label       "Positioning platform"@en ;
        rdfs:subClassOf  <http://www.w3.org/ns/sosa/Platform> .

:Orientation  a          owl:Class ;
        rdfs:comment     "The orientation of a feature of interest in 2D or 3D space."@en , "De orientatie van een object in 2D of 3D."@nl ;
        rdfs:label       "Orientation"@en , "Orientatie"@nl ;
        rdfs:subClassOf  <http://www.w3.org/ns/sosa/Result> , <http://www.w3.org/ns/sosa/ObservableProperty> .

<http://purl.org/ontology/bibo/status>
        a       owl:AnnotationProperty .

:AuditoryLandmark  a     owl:Class ;
        rdfs:comment     "A spatial landmark that can be observed by sound."@en ;
        rdfs:label       "Auditory landmark"@en ;
        rdfs:subClassOf  :Landmark .

:zAxisValue  a        owl:FunctionalProperty , owl:ObjectProperty ;
        rdfs:comment  "Quantitative result value along the Z-axis of a spatial sensor."@en ;
        rdfs:domain   <http://www.w3.org/ns/sosa/Result> ;
        rdfs:label    "z-axis value"@en ;
        rdfs:range    rdfs:Class .

:QuaternionOrientation
        a                owl:Class ;
        rdfs:label       "Quaternion orientation"@en ;
        rdfs:subClassOf  :Orientation ;
        rdfs:subClassOf  [ a                   owl:Restriction ;
                           owl:maxCardinality  "1"^^xsd:nonNegativeInteger ;
                           owl:onProperty      :zAxisValue
                         ] ;
        rdfs:subClassOf  [ a                   owl:Restriction ;
                           owl:maxCardinality  "1"^^xsd:nonNegativeInteger ;
                           owl:onProperty      :yAxisValue
                         ] ;
        rdfs:subClassOf  [ a                   owl:Restriction ;
                           owl:maxCardinality  "1"^^xsd:nonNegativeInteger ;
                           owl:onProperty      :xAxisValue
                         ] ;
        rdfs:subClassOf  [ a                   owl:Restriction ;
                           owl:maxCardinality  "1"^^xsd:nonNegativeInteger ;
                           owl:onProperty      :scalar
                         ] .

:SRS    a                owl:Class ;
        rdfs:comment     "An identifiable and observable spatial reference system that represents the System's ability to operate its primary purpose in a specified reference system."@en ;
        rdfs:label       "Spatial Reference System"@en ;
        rdfs:subClassOf  <http://www.w3.org/ns/ssn/systems/SystemProperty> .

<http://qudt.org/schema/qudt/example>
        a       owl:AnnotationProperty .

:Odometry  a             owl:Class ;
        rdfs:comment     "Odometry is the Procedure of calculating the current position of a moving FeatureOfInterest by using its previous position and Sensor Observation's indicating its heading and velocity."@en ;
        rdfs:label       "Odometry"@en ;
        rdfs:subClassOf  :PositioningTechnique .

:AngularAcceleration  a  owl:Class ;
        rdfs:label       "Draaiversnelling"@nl , "Angular acceleration"@en ;
        rdfs:subClassOf  :Acceleration ;
        <http://qudt.org/schema/qudt/hasQuantityKind>
                <http://qudt.org/vocab/quantitykind/AngularAcceleration> .

:VisualOdometry  a       owl:Class ;
        rdfs:comment     "Visual odometry is the procedure of detecting movement by analyzing how visual features are moving from one Observation image frame to another."@en ;
        rdfs:label       "Visual odometry"@en ;
        rdfs:subClassOf  :Odometry .

:MagneticOdometry  a     owl:Class ;
        rdfs:comment     "Magnetic field odometry is the procedure of detecting movement by analyizing how the magnetic field is changing from one Observation to another."@en ;
        rdfs:label       "Magnetic odometry"@en ;
        rdfs:subClassOf  :Odometry .

:scalar  a           owl:FunctionalProperty , owl:ObjectProperty ;
        rdfs:domain  <http://www.w3.org/ns/sosa/Result> ;
        rdfs:label   "scalar"@en ;
        rdfs:range   rdfs:Class ;
        <http://www.w3.org/2004/02/skos/core#altLabel>
                "w" .

:LinearAcceleration  a   owl:Class ;
        rdfs:label       "Linear acceleration"@en ;
        rdfs:subClassOf  :Acceleration ;
        <http://qudt.org/schema/qudt/hasQuantityKind>
                <http://qudt.org/vocab/quantitykind/LinearAcceleration> .

:PositionOutput  a       owl:Class ;
        rdfs:label       "Position output"@en ;
        rdfs:subClassOf  <http://www.w3.org/ns/ssn/Output> .

:RelativeDistance  a     owl:Class ;
        rdfs:comment     "A relative distance is a quantitative distance relative to another feature of interest."@en ;
        rdfs:label       "Relative distance"@en , "Relatieve afstand"@nl ;
        rdfs:subClassOf  :RelativePosition .

:SensorFusion  a          owl:Class ;
        rdfs:comment      "Sensor fusion is a procedure where multiple sensor data is combined to obtain a more reliable or accurate result."@en ;
        rdfs:isDefinedBy  "https://en.wikipedia.org/wiki/Sensor_fusion"^^xsd:anyURI ;
        rdfs:label        "Sensor fusion"@en ;
        rdfs:subClassOf   <http://www.w3.org/ns/sosa/Procedure> .

:hasCRS  a                  owl:ObjectProperty ;
        rdfs:label          "heeft een coördinaten referentiesysteem"@nl , "has coordinate reference system"@en ;
        rdfs:subPropertyOf  :hasSRS .

:PolygonalAccuracy  a    owl:Class ;
        rdfs:label       "Polygonal accuracy"@en ;
        rdfs:subClassOf  <http://www.w3.org/ns/ssn/systems/Accuracy> .

rdfs:Class  a   owl:Class .

:Fingerprint  a              owl:Class ;
        rdfs:comment         "A fingerprint is a scene analysis at a particular absolute position."@en ;
        rdfs:label           "Fingerprint"@en ;
        rdfs:subClassOf      <http://www.w3.org/ns/sosa/Result> , <http://www.w3.org/ns/sosa/FeatureOfInterest> ;
        owl:equivalentClass  [ a                         owl:Restriction ;
                               owl:onClass               :AbsolutePosition ;
                               owl:onProperty            :hasPosition ;
                               owl:qualifiedCardinality  "1"^^xsd:nonNegativeInteger
                             ] .

<http://purl.org/dc/terms/modified>
        a       owl:AnnotationProperty .

:IndoorPositioningSystem
        a                owl:Class ;
        rdfs:comment     "A positioning system that is meant to perform indoor positioning of a feature of interest."@en ;
        rdfs:label       "Indoor positioning system"@en ;
        rdfs:subClassOf  :PositioningSystem .

:OpticalPositioningSystem
        a                 owl:Class ;
        rdfs:comment      "An optical positioning system is a positioning system that determines the position of an object by means of the properties of light."@en ;
        rdfs:isDefinedBy  "https://isotc211.geolexica.org/concepts/320/"^^xsd:anyURI ;
        rdfs:label        "Optical positioning system"@en ;
        rdfs:subClassOf   :PositioningSystem .

:yAxisValue  a        owl:FunctionalProperty , owl:ObjectProperty ;
        rdfs:comment  "Quantitative result value along the Y-axis of a spatial sensor or result."@en ;
        rdfs:domain   <http://www.w3.org/ns/sosa/Result> ;
        rdfs:label    "y-axis value"@en ;
        rdfs:range    rdfs:Class .

<http://www.opengis.net/ont/geosparql#Geometry>
        a       owl:Class .

:DeadReckoning  a        owl:Class ;
        rdfs:comment     "Dead reckoning is the Procedure of calculating the current position of a moving FeatureOfInterest by using its previous position and Sensor Observation's indicating its heading and velocity."@en ;
        rdfs:label       "Dead reckoning"@en ;
        rdfs:subClassOf  :PositioningTechnique ;
        <http://www.w3.org/2004/02/skos/core#altLabel>
                "Deduced reckoning"@en .

:IndoorDeployment  a     owl:Class ;
        rdfs:comment     "Describes the spatial deployment of a System in an indoor environment."@en ;
        rdfs:label       "Indoor deployment"@en ;
        rdfs:subClassOf  <http://www.w3.org/ns/ssn/Deployment> .

<http://purl.org/vocab/vann/preferredNamespacePrefix>
        a       owl:AnnotationProperty .

:IntegratedPositioningSystem
        a                 owl:Class ;
        rdfs:comment      "An integrated positioning system is a positioning system that incorporates multiple positioning technologies."@en ;
        rdfs:isDefinedBy  "https://isotc211.geolexica.org/concepts/250/"^^xsd:anyURI ;
        rdfs:label        "Integrated positioning system"@en ;
        rdfs:subClassOf   :PositioningSystem ;
        rdfs:subClassOf   [ a                            owl:Restriction ;
                            owl:minQualifiedCardinality  "1"^^xsd:nonNegativeInteger ;
                            owl:onClass                  :SensorFusion ;
                            owl:onProperty               <http://www.w3.org/ns/ssn/implements>
                          ] ;
        <http://www.w3.org/2004/02/skos/core#altLabel>
                "Hybrid positioning system"@en .

:Acceleration  a         owl:Class ;
        rdfs:comment     "Acceleration is the (instantaneous) rate of change of velocity."@en ;
        rdfs:label       "Versnelling"@nl , "Acceleration"@en ;
        rdfs:subClassOf  <http://www.w3.org/ns/sosa/Result> , <http://www.w3.org/ns/sosa/ObservableProperty> ;
        <http://qudt.org/schema/qudt/hasQuantityKind>
                <http://qudt.org/vocab/quantitykind/Acceleration> .

:RadioPropagation  a      owl:Class ;
        rdfs:comment      "The radio propagation formulas cover the computation of the radio waves through a medium (e.g. air)."@en ;
        rdfs:isDefinedBy  "https://en.wikipedia.org/wiki/Radio_propagation"^^xsd:anyURI ;
        rdfs:label        "Radio propagation"@en ;
        rdfs:subClassOf   <http://www.w3.org/ns/sosa/Procedure> .

:AngularMovement  a      owl:Class ;
        rdfs:comment     "Angular movement around a certain origin point."@en ;
        rdfs:label       "Draaibeweging"@nl , "Angular movement"@en ;
        rdfs:subClassOf  :Movement .

<http://purl.org/dc/terms/bibliographicCitation>
        a       owl:AnnotationProperty .

<http://www.w3.org/ns/sosa/FeatureOfInterest>
        a       owl:Class .

:angle  a             owl:FunctionalProperty , owl:ObjectProperty ;
        rdfs:comment  "Quantitative anglue result value for axis-angle representation."@en ;
        rdfs:domain   <http://www.w3.org/ns/sosa/Result> ;
        rdfs:label    "hoek"@nl , "angle"@en ;
        rdfs:range    rdfs:Class .

<http://purl.org/dc/terms/description>
        a       owl:AnnotationProperty .

<http://www.opengis.net/ont/geosparql#SpatialObject>
        a       owl:Class .

:RFLandmark  a           owl:Class ;
        rdfs:comment     "A radio frequency landmark is a transmitting landmark that can be observed by its transmitting signals."@en ;
        rdfs:label       "RF landmark"@en ;
        rdfs:subClassOf  :Landmark ;
        <http://www.w3.org/2004/02/skos/core#example>
                "An RF landmark example is a Bluetooth beacon that sends out a signal. Receivers of this signal can use the known position of this landmark to determine their relative position."@en .

:RelativeVelocity  a     owl:Class ;
        rdfs:comment     "A relative velocity is a quantitative velocity relative to another feature of interest."@en ;
        rdfs:label       "Relative velocity"@en , "Relatieve snelheid"@nl ;
        rdfs:subClassOf  :RelativePosition .

:Multilateration  a      owl:Class ;
        rdfs:comment     "Multilateration is the procedure of determining a position using relative distances to other known positions."@en ;
        rdfs:label       "Multilateration"@en ;
        rdfs:subClassOf  :Lateration ;
        <http://www.w3.org/2004/02/skos/core#altLabel>
                "Trilateration"@en , "Hyperbolic positioning"@en .

:AngularVelocity  a      owl:Class ;
        rdfs:comment     "Angular velocity is the momentum around a point of origin."@en ;
        rdfs:label       "Draaisnelheid"@nl , "Angular velocity"@en ;
        rdfs:subClassOf  :Velocity ;
        <http://qudt.org/schema/qudt/hasQuantityKind>
                <http://qudt.org/vocab/quantitykind/AngularVelocity> .

:Landmark  a             owl:Class ;
        rdfs:comment     "A landmark is a feature with a known position, that can be used to identify the position of an object that has a relative position with this feature."@en ;
        rdfs:label       "Landmark"@en ;
        rdfs:subClassOf  <http://www.w3.org/ns/sosa/Result> , <http://www.w3.org/ns/sosa/FeatureOfInterest> , <http://www.opengis.net/ont/geosparql#SpatialObject> .

:hasAccuracy  a             owl:FunctionalProperty , owl:ObjectProperty ;
        rdfs:comment        "The accuracy of an entity."@en ;
        rdfs:label          "heeft accuraatheid"@nl , "has accuracy"@en ;
        rdfs:subPropertyOf  <http://www.w3.org/ns/ssn/hasProperty> .

:PositioningTechnique
        a                owl:Class ;
        rdfs:comment     "A positioning technique is a procedure to sample sensor data to an output position."@en ;
        rdfs:label       "Positioning technique"@en ;
        rdfs:subClassOf  <http://www.w3.org/ns/sosa/Procedure> .

<http://schema.org/image>
        a       owl:AnnotationProperty .

:InertialPositioningSystem
        a                 owl:Class ;
        rdfs:comment      "An inertial positioning system is a positioning system employing accelerometers, gyroscopes, and computer as integral components to determine coordinates of points or objects relative to an initial known reference point"@en ;
        rdfs:isDefinedBy  "https://isotc211.geolexica.org/concepts/240/"^^xsd:anyURI ;
        rdfs:label        "Inertial positioning system"@en ;
        rdfs:subClassOf   :PositioningSystem .

:VisualLandmark  a       owl:Class ;
        rdfs:comment     "A visual landmark is a feature of interest that visually present in the space."@en ;
        rdfs:label       "Visual landmark"@en ;
        rdfs:subClassOf  :Landmark .
