W3C/OGC Spatial Data on the Web Working Group
type: Agent

W3C/OGC Spatial Data on the Web Working Group
type: Agent

W3C/OGC Spatial Data on the Web Working Group
type: Agent

W3C/OGC Spatial Data on the Web Working Group
type: Agent

Actuatable Property
type: Class
comment: An actuatable quality (property, characteristic) of a FeatureOfInterest.
subclass of: Property
subclass of: Restriction
  all values from: Actuation
  on property: is acted on by
example: A window actuator acts by changing the state between a frame and a window. The ability of the window to be opened and closed is its ActuatableProperty.

Actuation
type: Class
comment: An Actuation carries out an (Actuation) Procedure to change the state of the world using an Actuator.
subclass of: MQTT Topic Subject
subclass of: Restriction
  all values from: Actuatable Property
  on property: acts on property
subclass of: Restriction
  all values from: Feature Of Interest
  on property: has feature of interest
subclass of: Restriction
  all values from: Result
  on property: has result
subclass of: Restriction
  all values from: Actuator
  on property: made by actuator
subclass of: Restriction
  all values from: Procedure
  on property: used procedure
subclass of: Restriction
  min cardinality: 1
  on property: acts on property
subclass of: Restriction
  min cardinality: 1
  on property: has result
subclass of: Restriction
  cardinality: 1
  on property: has feature of interest
subclass of: Restriction
  cardinality: 1
  on property: made by actuator
subclass of: Restriction
  cardinality: 1
  on property: result time
example: The activity of automatically closing a window if the temperature in a room drops below 20 degree Celsius. The activity is the Actuation and the device that closes the window is the Actuator. The Procedure is the rule, plan, or specification that defines the conditions that triggers the Actuation, here a drop in temperature.

Actuator
type: Class
comment: A device that is used by, or implements, an (Actuation) Procedure that changes the state of the world.
subclass of: System
subclass of: Restriction
  all values from: Actuation
  on property: made actuation
subclass of: Restriction
  all values from: Actuatable Property
  on property: for property
subclass of: Restriction
  min cardinality: 1
  on property: implements
example: A window actuator for automatic window control, i.e., opening or closing the window.

Feature Of Interest
type: Class
comment: The thing whose property is being estimated or calculated in the course of an Observation to arrive at a Result or whose property is being manipulated by an Actuator, or which is being sampled or transformed in an act of Sampling.
subclass of: MQTT Topic Subject
subclass of: Restriction
  all values from: Sample
  on property: has sample
subclass of: Restriction
  all values from: Property
  on property: has property
subclass of: Restriction
  min cardinality: 1
  on property: has property
example: When measuring the height of a tree, the height is the observed ObservableProperty, 20m may be the Result of the Observation, and the tree is the FeatureOfInterest. A window is a FeatureOfInterest for an automatic window control Actuator.

Observable Property
type: Class
comment: An observable quality (property, characteristic) of a FeatureOfInterest.
subclass of: Property
subclass of: Restriction
  all values from: Sensor
  on property: is observed by
subclass of: Restriction
  all values from: Observation
  on property:
    inverse of: observed property
subclass of: Restriction
  all values from: Stimulus
  on property:
    inverse of: is proxy for
example: The height of a tree, the depth of a water body, or the temperature of a surface are examples of observable properties, while the value of a classic car is not (directly) observable but asserted.

Observation
type: Class
comment: Act of carrying out an (Observation) Procedure to estimate or calculate a value of a property of a FeatureOfInterest. Links to a Sensor to describe what made the Observation and how; links to an ObservableProperty to describe what the result is an estimate of, and to a FeatureOfInterest to detail what that property was associated with.
subclass of: MQTT Topic Subject
subclass of: Restriction
  all values from: Feature Of Interest
  on property: has feature of interest
subclass of: Restriction
  all values from: Result
  on property: has result
subclass of: Restriction
  all values from: Sensor
  on property: made by sensor
subclass of: Restriction
  all values from: Observable Property
  on property: observed property
subclass of: Restriction
  all values from: Procedure
  on property: used procedure
subclass of: Restriction
  all values from: Stimulus
  on property: was originated by
subclass of: Restriction
  min cardinality: 1
  on property: has result
subclass of: Restriction
  cardinality: 1
  on property: has feature of interest
subclass of: Restriction
  cardinality: 1
  on property: made by sensor
subclass of: Restriction
  cardinality: 1
  on property: observed property
subclass of: Restriction
  cardinality: 1
  on property: phenomenon time
subclass of: Restriction
  cardinality: 1
  on property: was originated by
subclass of: Restriction
  cardinality: 1
  on property: result time
example: The activity of estimating the intensity of an Earthquake using the Mercalli intensity scale is an Observation as is measuring the moment magnitude, i.e., the energy released by said earthquake.

Platform
type: Class
comment: A Platform is an entity that hosts other entities, particularly Sensors, Actuators, Samplers, and other Platforms.
subclass of: Restriction
  all values from: System
  on property: hosts
subclass of: Restriction
  all values from: Deployment
  on property: in deployment
example: A post, buoy, vehicle, ship, aircraft, satellite, cell-phone, human or animal may act as platforms for (technical or biological) sensors or actuators.

Procedure
type: Class
comment: A workflow, protocol, plan, algorithm, or computational method specifying how to make an Observation, create a Sample, or make a change to the state of the world (via an Actuator). A Procedure is re-usable, and might be involved in many Observations, Samplings, or Actuations. It explains the steps to be carried out to arrive at reproducible results.
subclass of: Restriction
  all values from: Input
  on property: has input
subclass of: Restriction
  all values from: Output
  on property: has output
subclass of: Restriction
  all values from: System
  on property: implemented by
example: The measured wind speed differs depending on the height of the sensor above the surface, e.g., due to friction. Consequently, procedures for measuring wind speed define a standard height for anemometers above ground, typically 10m for meteorological measures and 2m in Agrometeorology. This definition of height, sensor placement, and so forth are defined by the Procedure.
note: Many observations may be created via the same Procedure, the same way as many tables are assembled using the same instructions (as information objects, not their concrete realization).

Result
type: Class
comment: The Result of an Observation, Actuation, or act of Sampling. To store an observation's simple result value one can use the hasSimpleResult property.
subclass of: Restriction
  min cardinality: 1
  on property: is result of
example: The value 20 as the height of a certain tree together with the unit, e.g., Meter.

Sample
type: Class
comment: A Sample is the result from an act of Sampling.
comment: Feature which is intended to be representative of a FeatureOfInterest on which Observations may be made.
comment: Physical samples are sometimes known as 'specimens'.
comment: Samples are artifacts of an observational strategy, and have no significant function outside of their role in the observation process. The characteristics of the samples themselves are of little interest, except perhaps to the manager of a sampling campaign. A Sample is intended to sample some FatureOfInterest, so there is an expectation of at least one isSampleOf property. However, in some cases the identity, and even the exact type, of the sampled feature may not be known when observations are made using the sampling features.
subclass of: Feature Of Interest
subclass of: Result
subclass of: Restriction
  all values from: Sampling
  on property: is result of
subclass of: Restriction
  all values from: Feature Of Interest
  on property: is sample of
subclass of: Restriction
  min cardinality: 1
  on property: is result of
subclass of: Restriction
  min cardinality: 1
  on property: is sample of
example: A 'station' is essentially an identifiable locality where a sensor system or Procedure may be deployed and an observation made. In the context of the observation model, it connotes the 'world in the vicinity of the station', so the observed properties relate to the physical medium at the station, and not to any physical artifact such as a mooring, buoy, benchmark, monument, well, etc.
example: A statistical sample is often designed to be characteristic of an entire population, so that observations can be made regarding the sample that provide a good estimate of the properties of the population.
note: A transient sample, such as a ships-track or flight-line, might be identified and described, but is unlikely to be revisited exactly.

Sampler
type: Class
comment: A device that is used by, or implements, a Sampling Procedure to create or transform one or more samples.
subclass of: System
subclass of: Restriction
  all values from: Sampling
  on property: made sampling
subclass of: Restriction
  min cardinality: 1
  on property: implements
example: A ball mill, diamond drill, hammer, hypodermic syringe and needle, image Sensor or a soil auger can all act as sampling devices (i.e., be Samplers). However, sometimes the distinction between the Sampler and the Sensor is not evident, as they are packaged as a unit. A Sampler need not be a physical device.

Sampling
type: Class
comment: An act of Sampling carries out a sampling Procedure to create or transform one or more samples.
subclass of: Restriction
  all values from: Feature Of Interest
  on property: has feature of interest
subclass of: Restriction
  all values from: Sample
  on property: has result
subclass of: Restriction
  all values from: Sampler
  on property: made by sampler
subclass of: Restriction
  all values from: Procedure
  on property: used procedure
subclass of: Restriction
  min cardinality: 1
  on property: has result
subclass of: Restriction
  cardinality: 1
  on property: has feature of interest
subclass of: Restriction
  cardinality: 1
  on property: made by sampler
subclass of: Restriction
  cardinality: 1
  on property: result time
example: Crushing a rock sample in a ball mill.
example: Digging a pit through a soil sequence.
example: Dividing a field site into quadrants.
example: Drawing blood from a patient.
example: Drilling an observation well.
example: Establishing a station for environmental monitoring.
example: Registering an image of the landscape.
example: Selecting a subset of a population.
example: Sieving a powder to separate the subset finer than 100-mesh.
example: Splitting a piece of drill-core to create two new samples.
example: Taking a diamond-drill core from a rock outcrop.

Sensor
type: Class
comment: Device, agent (including humans), or software (simulation) involved in, or implementing, a Procedure. Sensors respond to a stimulus, e.g., a change in the environment, or input data composed from the results of prior Observations, and generate a Result. Sensors can be hosted by Platforms.
subclass of: System
subclass of: Restriction
  all values from: Observation
  on property: made observation
subclass of: Restriction
  all values from: Observable Property
  on property: observes
subclass of: Restriction
  all values from: Stimulus
  on property: detects
subclass of: Restriction
  min cardinality: 1
  on property: implements
example: Accelerometers, gyroscopes, barometers, magnetometers, and so forth are Sensors that are typically mounted on a modern smart phone (which acts as Platform). Other examples of sensors include the human eyes.

acts on property
type: ObjectProperty
domain includes: Actuation
range includes: Actuatable Property
comment: Relation between an Actuation and the property of a FeatureOfInterest it is acting upon.
inverse of: is acted on by
example: In the activity (Actuation) of automatically closing a window if the temperature in a room drops below 20 degrees Celsius, the property on which the Actuator acts upon is the state of the window as it changes from being open to being closed.

has feature of interest
type: ObjectProperty
domain includes: Actuation
domain includes: Observation
domain includes: Sampling
range includes: Feature Of Interest
range includes: Sample
comment: A relation between an Observation and the entity whose quality was observed, or between an Actuation and the entity whose property was modified, or between an act of Sampling and the entity that was sampled.
inverse of: is feature of interest of
example: For example, in an Observation of the weight of a person, the FeatureOfInterest is the person and the property is its weight.

has result
type: ObjectProperty
domain includes: Actuation
domain includes: Observation
domain includes: Sampling
range includes: Result
range includes: Sample
comment: Relation linking an Observation or Actuation or act of Sampling and a Result or Sample.
inverse of: is result of

has sample
type: ObjectProperty
type: InverseFunctionalProperty
domain includes: Feature Of Interest
range includes: Sample
comment: Relation between a FeatureOfInterest and the Sample used to represent it.
inverse of: is sample of

has simple result
type: DatatypeProperty
domain includes: Actuation
domain includes: Observation
domain includes: Sampling
comment: The simple value of an Observation or Actuation or act of Sampling.
example: For instance, the values 23 or true.

hosts
type: ObjectProperty
domain includes: Platform
range includes: Actuator
range includes: Platform
range includes: Sampler
range includes: Sensor
comment: Relation between a Platform and a Sensor, Actuator, Sampler, or Platform, hosted or mounted on it.
inverse of: is hosted by
property chain axiom: in deployment
property chain axiom: deployed system

is acted on by
type: ObjectProperty
domain includes: Actuatable Property
range includes: Actuation
comment: Relation between an ActuatableProperty of a FeatureOfInterest and an Actuation changing its state.
example: In the activity (Actuation) of automatically closing a window if the temperature in a room drops below 20 degrees Celsius, the property on which the Actuator acts upon is the state of the window as it changes from being open to being closed.

is feature of interest of
type: ObjectProperty
domain includes: Feature Of Interest
domain includes: Sample
range includes: Actuation
range includes: Observation
range includes: Sampling
comment: A relation between a FeatureOfInterest and an Observation about it, an Actuation acting on it, or an act of Sampling that sampled it.

is hosted by
type: ObjectProperty
domain includes: Actuator
domain includes: Platform
domain includes: Sampler
domain includes: Sensor
range includes: Platform
comment: Relation between a Sensor, Actuator, Sampler, or Platform, and the Platform that it is mounted on or hosted by.

is observed by
type: ObjectProperty
domain includes: Observable Property
range includes: Sensor
comment: Relation between an ObservableProperty and the Sensor able to observe it.
inverse of: observes

is result of
type: ObjectProperty
domain includes: Result
domain includes: Sample
range includes: Actuation
range includes: Observation
range includes: Sampling
comment: Relation linking a Result to the Observation or Actuation or act of Sampling that created or caused it.

is sample of
type: ObjectProperty
type: FunctionalProperty
domain includes: Sample
range includes: Feature Of Interest
comment: Relation from a Sample to the FeatureOfInterest that it is intended to be representative of.

made actuation
type: ObjectProperty
domain includes: Actuator
range includes: Actuation
comment: Relation between an Actuator and the Actuation it has made.
inverse of: made by actuator

made by actuator
type: ObjectProperty
domain includes: Actuation
range includes: Actuator
comment: Relation linking an Actuation to the Actuator that made that Actuation.

made by sampler
type: ObjectProperty
domain includes: Sampling
range includes: Sampler
comment: Relation linking an act of Sampling to the Sampler (sampling device or entity) that made it.
inverse of: made sampling

made by sensor
type: ObjectProperty
domain includes: Observation
range includes: Sensor
comment: Relation between an Observation and the Sensor which made the Observation.
inverse of: made observation

made observation
type: ObjectProperty
domain includes: Sensor
range includes: Observation
comment: Relation between a Sensor and an Observation made by the Sensor.

made sampling
type: ObjectProperty
domain includes: Sampler
range includes: Sampling
comment: Relation between a Sampler (sampling device or entity) and the Sampling act it performed.

observed property
type: ObjectProperty
domain includes: Observation
range includes: Observable Property
comment: Relation linking an Observation to the property that was observed. The ObservableProperty should be a property of the FeatureOfInterest (linked by hasFeatureOfInterest) of this Observation.

observes
type: ObjectProperty
domain includes: Sensor
range includes: Observable Property
comment: Relation between a Sensor and an ObservableProperty that it is capable of sensing.
sub property of: for property

phenomenon time
type: ObjectProperty
domain includes: Actuation
domain includes: Observation
domain includes: Sampling
range includes: TemporalEntity
comment: The time that the Result of an Observation, Actuation or Sampling applies to the FeatureOfInterest. Not necessarily the same as the resultTime. May be an Interval or an Instant, or some other compound TemporalEntity.

result time
type: DatatypeProperty
domain includes: Actuation
domain includes: Observation
domain includes: Sampling
comment: The result time is the instant of time when the Observation, Actuation or Sampling activity was completed.
range: dateTime

used procedure
type: ObjectProperty
domain includes: Actuation
domain includes: Observation
domain includes: Sampling
range includes: Procedure
comment: A relation to link to a re-usable Procedure used in making an Observation, an Actuation, or a Sample, typically through a Sensor, Actuator or Sampler.
property chain axiom: made by actuator
property chain axiom: implements
property chain axiom: made by sampler
property chain axiom: made by sensor

Deployment
type: Class
comment: Describes the Deployment of one or more Systems for a particular purpose. Deployment may be done on a Platform.
subclass of: Restriction
  all values from: Platform
  on property: deployed on platform
subclass of: Restriction
  all values from: System
  on property: deployed system
subclass of: Restriction
  all values from: Property
  on property: for property
example: For example, a temperature Sensor deployed on a wall, or a whole network of Sensors deployed for an Observation campaign.

Input
type: Class
comment: Any information that is provided to a Procedure for its use.
subclass of: Restriction
  all values from: Procedure
  on property:
    inverse of: has input
subclass of: Restriction
  min cardinality: 1
  on property:
    inverse of: has input

Output
type: Class
comment: Any information that is reported from a Procedure.
subclass of: Restriction
  all values from: Procedure
  on property:
    inverse of: has output
subclass of: Restriction
  min cardinality: 1
  on property:
    inverse of: has output

Property
type: Class
comment: A quality of an entity. An aspect of an entity that is intrinsic to and cannot exist without the entity.
subclass of: Restriction
  all values from: Feature Of Interest
  on property: is property of

Stimulus
type: Class
comment: An event in the real world that 'triggers' the Sensor. The properties associated to the Stimulus may be different to the eventual observed ObservableProperty. It is the event, not the object, that triggers the Sensor.
subclass of: Restriction
  all values from: Observable Property
  on property: is proxy for
subclass of: Restriction
  all values from: Sensor
  on property:
    inverse of: detects
subclass of: Restriction
  all values from: Observation
  on property:
    inverse of: was originated by

System
type: Class
comment: System is a unit of abstraction for pieces of infrastructure that implement Procedures. A System may have components, its subsystems, which are other systems.
subclass of: Restriction
  all values from: Platform
  on property: is hosted by
subclass of: Restriction
  all values from: Deployment
  on property: has deployment
subclass of: Restriction
  all values from: System
  on property: has subsystem
subclass of: Restriction
  all values from: Procedure
  on property: implements
subclass of: Restriction
  all values from: System
  on property:
    inverse of: has subsystem

deployed on platform
type: ObjectProperty
comment: Relation between a Deployment and the Platform on which the Systems are deployed.
inverse of: in deployment

deployed system
type: ObjectProperty
comment: Relation between a Deployment and a deployed System.
inverse of: has deployment

detects
type: ObjectProperty
comment: A relation from a Sensor to the Stimulus that the Sensor detects. The Stimulus itself will be serving as a proxy for some ObservableProperty.

for property
type: ObjectProperty
comment: A relation between some aspect of an entity and a Property.
example: For example, from a Sensor to the properties it can observe; from an Actuator to the properties it can act on; from a Deployment to the properties it was installed to observe or act on; from a SystemCapability to the Property the capability is described for.

has deployment
type: ObjectProperty
comment: Relation between a System and a Deployment, recording that the System is deployed in that Deployment.

has input
type: ObjectProperty
comment: Relation between a Procedure and an Input to it.

has output
type: ObjectProperty
comment: Relation between a Procedure and an Output of it.

has property
type: ObjectProperty
comment: Relation between an entity and a Property of that entity.
inverse of: is property of

has subsystem
type: ObjectProperty
comment: Relation between a System and its component parts.

implemented by
type: ObjectProperty
comment: Relation between a Procedure (an algorithm, procedure or method) and an entity that implements that Procedure in some executable way.
inverse of: implements
example: For example, the relationship between a scientific measuring Procedure and a sensor that senses via that Procedure.

implements
type: ObjectProperty
comment: Relation between an entity that implements a Procedure in some executable way and the Procedure (an algorithm, procedure or method).
example: For example, the relationship between a sensor and the scientific measuring Procedure via which it senses.

in deployment
type: ObjectProperty
comment: Relation between a Platform and a Deployment, meaning that the deployedSystems of the Deployment are hosted on the Platform.
example: For example, a relation between a buoy and a deployment of several Sensors.

is property of
type: ObjectProperty
comment: Relation between a Property and the entity it belongs to.

is proxy for
type: ObjectProperty
comment: A relation from a Stimulus to the Property that the Stimulus is serving as a proxy for.
example: For example, the expansion of quicksilver is a stimulus that serves as a proxy for some temperature property. An increase or decrease in the velocity of spinning cups on a wind sensor is serving as a proxy for the wind speed.

was originated by
type: ObjectProperty
type: FunctionalProperty
comment: Relation between an Observation and the Stimulus that originated it.

MQTT Broker
type: Class
comment: An MQTT Broker that accepts client connections, manages subscriptions, and forwards published messages.
subclass of: MQTT Network Participant
equivalent class: Server

MQTT Client
type: Class
comment: An MQTT Client that connects to an MQTT Broker and publishes or subscribes to MQTT Topics; may host SOSA systems.
subclass of: MQTT Network Participant
equivalent class: Client

MQTT Control Packet
type: Class
comment: An MQTT Control Packet such as PUBLISH, SUBSCRIBE, or UNSUBSCRIBE.
equivalent class: ControlPacket

MQTT Fixed Header
type: Class
comment: The header present in all MQTT Control Packets, containing the packet type and flags.

MQTT Network Connection
type: Class
comment: A transport-layer connection between an MQTT Client and an MQTT Broker (optionally secured with TLS).
equivalent class: NetworkConnection

MQTT Network Participant
type: Class
comment: An entity participating in an MQTT network, such as an MQTT Client or an MQTT Broker.

MQTT Payload
type: Class
comment: The application data carried by an MQTT Control Packet.

MQTT PUBLISH Fixed Header
type: Class
comment: The Fixed Header used in PUBLISH packets.
subclass of: MQTT Fixed Header

MQTT PUBLISH Packet
type: Class
comment: An MQTT Control Packet used by an MQTT Client to publish an application message to an MQTT Topic.
subclass of: MQTT Control Packet
equivalent class: PUBLISH

MQTT PUBLISH Payload
type: Class
comment: The payload of a PUBLISH packet (application message body).
subclass of: MQTT Payload

MQTT PUBLISH Variable Header
type: Class
comment: The Variable Header of a PUBLISH packet; includes the MQTT Topic and optionally a packet identifier.
subclass of: MQTT Variable Header

MQTT SUBSCRIBE Fixed Header
type: Class
comment: The Fixed Header used in SUBSCRIBE packets.
subclass of: MQTT Fixed Header

MQTT SUBSCRIBE Packet
type: Class
comment: An MQTT Control Packet used by an MQTT Client to subscribe to one or more MQTT Topic Filters.
subclass of: MQTT Control Packet
equivalent class: SUBSCRIBE

MQTT SUBSCRIBE Variable Header
type: Class
comment: The Variable Header of a SUBSCRIBE packet; typically includes the packet identifier.
subclass of: MQTT Variable Header

MQTT Subscription Entry
type: Class
comment: A single requested subscription consisting of an MQTT Topic Filter and an associated QoS level.

MQTT SUBSCRIBE Payload
type: Class
comment: The payload of a SUBSCRIBE packet, listing MQTT Subscription Entries.
subclass of: MQTT Payload

MQTT Topic
type: Class
comment: A hierarchical MQTT Topic to which MQTT Clients publish and/or subscribe.
subclass of: Restriction
  max qualified cardinality: 1
  on class: Class
    union of: Actuation
    union of: ActuationCollection
    union of: Observation
    union of: ObservationCollection
  on property: has topic subject (Actuation, Actuation collection, Observation or Observation Collection)
subclass of: Restriction
  max cardinality: 1
  on property: has topic subject (Feature of Interest)
subclass of: Restriction
  max cardinality: 1
  on property: has topic subject (Property)
equivalent class: TopicName

MQTT Topic Filter
type: Class
comment: A filter expression (e.g., with wildcards) used in SUBSCRIBE/UNSUBSCRIBE to match MQTT Topics.
equivalent class: TopicFilter

MQTT Topic Subject
type: Class
comment: A conceptual subject carried on an MQTT Topic, e.g., an Observation, Actuation, Property, or Feature of Interest.

MQTT UNSUBSCRIBE Fixed Header
type: Class
comment: The Fixed Header used in UNSUBSCRIBE packets.
subclass of: MQTT Fixed Header

MQTT UNSUBSCRIBE Packet
type: Class
comment: An MQTT Control Packet used by an MQTT Client to remove one or more subscriptions.
subclass of: MQTT Control Packet
equivalent class: UNSUBSCRIBE

MQTT UNSUBSCRIBE Variable Header
type: Class
comment: The Variable Header of an UNSUBSCRIBE packet; typically includes the packet identifier.
subclass of: MQTT Variable Header

MQTT UNSUBSCRIBE Payload
type: Class
comment: The payload of an UNSUBSCRIBE packet, listing MQTT Topic Filters to be removed.
subclass of: MQTT Payload

MQTT Variable Header
type: Class
comment: The optional header carrying packet-specific metadata (e.g., packet identifier, MQTT Topic name).

forwards PUBLISH Packet
type: ObjectProperty
comment: Indicates that an MQTT Broker forwards a PUBLISH packet to subscribers.
domain: MQTT Broker
range: MQTT PUBLISH Packet

has topic subject (Actuation, Actuation collection, Observation or Observation Collection)
type: ObjectProperty
comment: Links an MQTT Topic to the subject (Actuation, Actuation collection, Observation or Observation Collection).
domain: MQTT Topic
range: Class
  union of: Actuation
  union of: ActuationCollection
  union of: Observation
  union of: ObservationCollection
sub property of: has topic subject
inverse of: is topic subject (Actuation, Actuation collection, Observation or Observation Collection) of

has MQTT Client
type: ObjectProperty
comment: Relates a SOSA platform to an MQTT Client running on it.
domain: Platform
range: MQTT Client
inverse of: runs on platform

MQTT Client identifier
type: DatatypeProperty
type: FunctionalProperty
comment: The MQTT Client identifier used when connecting to an MQTT Broker.
domain: MQTT Client
range: string

has connected MQTT Client
type: ObjectProperty
comment: Links an MQTT Broker to an MQTT Client that is connected to it.
domain: MQTT Broker
range: MQTT Client
inverse of: is connected to MQTT Broker

has encoded fields
type: ObjectProperty
comment: Links an MQTT Payload to an ordered RDF list naming fields encoded within the payload content.
domain: MQTT PUBLISH Payload
range: List
inverse of: is encoded in MQTT Payload

MQTT Topic Filter pattern
type: DatatypeProperty
comment: The MQTT Topic Filter pattern as a string (e.g., 'sensor/+/temp' or 'fabrik/zentrierung/#').
domain: MQTT Topic Filter
range: string

has Fixed Header
type: ObjectProperty
type: FunctionalProperty
comment: Links an MQTT Control Packet to its Fixed Header.
domain: MQTT Control Packet
range: MQTT Fixed Header
inverse of: is Fixed Header of

has topic subject (Feature of Interest)
type: ObjectProperty
comment: Links an MQTT Topic to the subject (Feature of Interest).
domain: MQTT Topic
range: Feature Of Interest
sub property of: has topic subject
inverse of: is topic subject (Feature of Interest) of

MQTT Broker host
type: DatatypeProperty
type: FunctionalProperty
comment: The hostname or IP address of an MQTT Broker.
domain: MQTT Broker
range: string

packet identifier
type: DatatypeProperty
type: FunctionalProperty
comment: A 16-bit identifier used to correlate MQTT messages when QoS > 0.
domain: MQTT Variable Header
range: unsignedShort

has participant
type: ObjectProperty
comment: Relates a network connection to its network participant (MQTT Client or MQTT Broker).
domain: MQTT Network Connection
range: MQTT Network Participant
inverse of: uses connection

has MQTT Payload
type: ObjectProperty
type: FunctionalProperty
comment: Links an MQTT Control Packet to its MQTT Payload.
domain: MQTT Control Packet
range: MQTT Payload
equivalent property: hasPayload
inverse of: is MQTT Payload of

payload content
type: DatatypeProperty
type: FunctionalProperty
comment: The application message body as a string (possibly serialized/encoded).
domain: MQTT PUBLISH Payload
range: string

payload content delimiter
type: DatatypeProperty
type: FunctionalProperty
comment: The delimiter used to separate fields in the payload content.
domain: MQTT PUBLISH Payload
range: string

payload content type
type: DatatypeProperty
type: FunctionalProperty
comment: The MIME type of the payload content (e.g., 'application/json').
domain: MQTT PUBLISH Payload
range: string

payload encoding
type: DatatypeProperty
type: FunctionalProperty
comment: The character encoding or serialization used for the payload (e.g., 'UTF-8', 'Base64').
domain: MQTT PUBLISH Payload
range: string

has payload size
type: ObjectProperty
type: FunctionalProperty
comment: Specifies the size of an MQTT Payload as a QUDT quantity value (e.g., unit:Byte).
domain: MQTT Payload
range: QuantityValue

MQTT Broker port
type: DatatypeProperty
type: FunctionalProperty
comment: The TCP port on which an MQTT Broker listens.
domain: MQTT Broker
range: integer

has topic subject (Property)
type: ObjectProperty
comment: Links an MQTT Topic to the subject (Property).
domain: MQTT Topic
range: Property
sub property of: has topic subject
inverse of: is topic subject (Property) of

has PUBLISH Fixed Header
type: ObjectProperty
type: FunctionalProperty
comment: Links a PUBLISH packet to its specific Fixed Header.
domain: MQTT PUBLISH Packet
range: MQTT PUBLISH Fixed Header
sub property of: has Fixed Header
inverse of: is PUBLISH Fixed Header of

has PUBLISH Payload
type: ObjectProperty
type: FunctionalProperty
comment: Links a PUBLISH packet to its MQTT Payload.
domain: MQTT PUBLISH Packet
range: MQTT PUBLISH Payload
sub property of: has MQTT Payload
inverse of: is PUBLISH Payload of

has PUBLISH Variable Header
type: ObjectProperty
type: FunctionalProperty
comment: Links a PUBLISH packet to its specific Variable Header.
domain: MQTT PUBLISH Packet
range: MQTT PUBLISH Variable Header
sub property of: has Variable Header
inverse of: is PUBLISH Variable Header of

QoS level
type: DatatypeProperty
type: FunctionalProperty
comment: Not mapped to mqv:hasQoSFlag because MQV models QoS as an object property, while mqtt:hasQosLevel is a datatype property.
comment: The MQTT Quality of Service level (0 = at most once, 1 = at least once, 2 = exactly once).
domain: Class
  union of: MQTT PUBLISH Fixed Header
  union of: MQTT Subscription Entry
range: Datatype
  on datatype: integer
  with restrictions:
    min inclusive: 0
  with restrictions:
    max inclusive: 2

has topic subject
type: ObjectProperty
comment: Links an MQTT Topic to the conceptual subject carried on that topic.
domain: MQTT Topic
range: MQTT Topic Subject
inverse of: is topic subject of

has SUBSCRIBE Fixed Header
type: ObjectProperty
type: FunctionalProperty
comment: Links a SUBSCRIBE packet to its specific Fixed Header.
domain: MQTT SUBSCRIBE Packet
range: MQTT SUBSCRIBE Fixed Header
sub property of: has Fixed Header
inverse of: is SUBSCRIBE Fixed Header of

has SUBSCRIBE Payload
type: ObjectProperty
type: FunctionalProperty
comment: Links a SUBSCRIBE packet to its MQTT Payload.
domain: MQTT SUBSCRIBE Packet
range: MQTT SUBSCRIBE Payload
sub property of: has MQTT Payload
inverse of: is SUBSCRIBE Payload of

has SUBSCRIBE Variable Header
type: ObjectProperty
type: FunctionalProperty
comment: Links a SUBSCRIBE packet to its specific Variable Header.
domain: MQTT SUBSCRIBE Packet
range: MQTT SUBSCRIBE Variable Header
sub property of: has Variable Header
inverse of: is SUBSCRIBE Variable Header of

has MQTT Subscription Entries
type: ObjectProperty
comment: Links a SUBSCRIBE Payload to one or more MQTT Subscription Entries.
domain: MQTT SUBSCRIBE Payload
range: MQTT Subscription Entry
inverse of: is MQTT Subscription Entry of

has MQTT Topic Filter
type: ObjectProperty
comment: Relates a Subscription Entry or an UNSUBSCRIBE payload to an MQTT Topic Filter.
domain: Class
  union of: MQTT Subscription Entry
  union of: MQTT UNSUBSCRIBE Payload
range: MQTT Topic Filter
equivalent property: hasTopicFilters
inverse of: is MQTT Topic Filter of

has MQTT Topic (name)
type: ObjectProperty
type: FunctionalProperty
comment: Links a PUBLISH Variable Header to the MQTT Topic to which the message is published.
domain: MQTT PUBLISH Variable Header
range: MQTT Topic
equivalent property: hasTopicName
inverse of: is MQTT Topic (name) of

has UNSUBSCRIBE Fixed Header
type: ObjectProperty
type: FunctionalProperty
comment: Links an UNSUBSCRIBE packet to its specific Fixed Header.
domain: MQTT UNSUBSCRIBE Packet
range: MQTT UNSUBSCRIBE Fixed Header
sub property of: has Fixed Header
inverse of: is UNSUBSCRIBE Fixed Header of

has UNSUBSCRIBE Payload
type: ObjectProperty
type: FunctionalProperty
comment: Links an UNSUBSCRIBE packet to its MQTT Payload.
domain: MQTT UNSUBSCRIBE Packet
range: MQTT UNSUBSCRIBE Payload
sub property of: has MQTT Payload
inverse of: is UNSUBSCRIBE Payload of

has UNSUBSCRIBE Variable Header
type: ObjectProperty
type: FunctionalProperty
comment: Links an UNSUBSCRIBE packet to its specific Variable Header.
domain: MQTT UNSUBSCRIBE Packet
range: MQTT UNSUBSCRIBE Variable Header
sub property of: has Variable Header
inverse of: is UNSUBSCRIBE Variable Header of

has Variable Header
type: ObjectProperty
type: FunctionalProperty
comment: Links an MQTT Control Packet to its Variable Header.
domain: MQTT Control Packet
range: MQTT Variable Header
inverse of: is Variable Header of

hosts
type: ObjectProperty
comment: Links an MQTT Client (as a SOSA platform) to SOSA systems (sensors/actuators) it hosts.
domain: MQTT Client
range: System
inverse of: is hosted by

is accepted by
type: ObjectProperty
comment: Indicates the MQTT Broker that accepted the client's connection request.
domain: MQTT Network Connection
range: MQTT Broker

is topic subject (Actuation, Actuation collection, Observation or Observation Collection) of
type: ObjectProperty
comment: Links a topic subject (Actuation, Actuation collection, Observation or Observation Collection) to the MQTT Topic that carries it.
domain: Class
  union of: Actuation
  union of: ActuationCollection
  union of: Observation
  union of: ObservationCollection
range: MQTT Topic
sub property of: is topic subject of

is connected to MQTT Broker
type: ObjectProperty
comment: Links an MQTT Client to the MQTT Broker it is currently connected to.
domain: MQTT Client
range: MQTT Broker

DUP flag
type: DatatypeProperty
comment: True if this is a duplicate delivery of an earlier PUBLISH message.
domain: MQTT PUBLISH Fixed Header
range: boolean
equivalent property: hasDUPFlag

is encoded in MQTT Payload
type: ObjectProperty
comment: Links an RDF list of field names to the MQTT Payload that contains them.
domain: List
range: MQTT PUBLISH Payload

is topic subject (Feature of Interest) of
type: ObjectProperty
comment: Links a topic subject (Feature of Interest) to the MQTT Topic that carries it.
domain: Feature Of Interest
range: MQTT Topic
sub property of: is topic subject of

is Fixed Header of
type: ObjectProperty
type: FunctionalProperty
comment: Links a Fixed Header to the MQTT Control Packet containing it.
domain: MQTT Fixed Header
range: MQTT Control Packet

is hosted by
type: ObjectProperty
comment: Links a SOSA system to the hosting MQTT Client.
domain: System
range: MQTT Client

is initiated by
type: ObjectProperty
comment: Indicates the MQTT Client that initiated the connection to the MQTT Broker.
domain: MQTT Network Connection
range: MQTT Client

is matched by MQTT Topic Filter
type: ObjectProperty
comment: Indicates that an MQTT Topic is matched by a given MQTT Topic Filter.
domain: MQTT Topic
range: MQTT Topic Filter
inverse of: matches MQTT Topic

is MQTT Payload of
type: ObjectProperty
type: FunctionalProperty
comment: Links an MQTT Payload to the MQTT Control Packet containing it.
domain: MQTT Payload
range: MQTT Control Packet

is topic subject (Property) of
type: ObjectProperty
comment: Links a topic subject (Property) to the MQTT Topic that carries it.
domain: Property
range: MQTT Topic
sub property of: is topic subject of

is PUBLISH Fixed Header of
type: ObjectProperty
type: FunctionalProperty
comment: Links a PUBLISH Fixed Header to its MQTT Control Packet.
domain: MQTT PUBLISH Fixed Header
range: MQTT PUBLISH Packet
sub property of: is Fixed Header of

is PUBLISH Payload of
type: ObjectProperty
type: FunctionalProperty
comment: Links a PUBLISH Payload to its MQTT Control Packet.
domain: MQTT PUBLISH Payload
range: MQTT PUBLISH Packet
sub property of: is MQTT Payload of

is PUBLISH Variable Header of
type: ObjectProperty
type: FunctionalProperty
comment: Links a PUBLISH Variable Header to its MQTT Control Packet.
domain: MQTT PUBLISH Variable Header
range: MQTT PUBLISH Packet
sub property of: is Variable Header of

RETAIN flag
type: DatatypeProperty
comment: True if the message should be retained on the MQTT Broker.
domain: MQTT PUBLISH Fixed Header
range: boolean
equivalent property: hasRetainFlag

is sent by MQTT Client
type: ObjectProperty
comment: Relates an MQTT Control Packet to the MQTT Client that sent it.
domain: MQTT Control Packet
range: MQTT Client
inverse of: sends MQTT Control Packet

is topic subject of
type: ObjectProperty
comment: Links a topic subject (e.g., Observation, Actuation) to the MQTT Topic that carries it.
domain: MQTT Topic Subject
range: MQTT Topic

is SUBSCRIBE Fixed Header of
type: ObjectProperty
type: FunctionalProperty
comment: Links a SUBSCRIBE Fixed Header to its MQTT Control Packet.
domain: MQTT SUBSCRIBE Fixed Header
range: MQTT SUBSCRIBE Packet
sub property of: is Fixed Header of

is MQTT Subscription Entry of
type: ObjectProperty
comment: Links an MQTT Subscription Entry to its SUBSCRIBE Payload.
domain: MQTT Subscription Entry
range: MQTT SUBSCRIBE Payload

is SUBSCRIBE Payload of
type: ObjectProperty
type: FunctionalProperty
comment: Links a SUBSCRIBE Payload to its MQTT Control Packet.
domain: MQTT SUBSCRIBE Payload
range: MQTT SUBSCRIBE Packet
sub property of: is MQTT Payload of

is SUBSCRIBE Variable Header of
type: ObjectProperty
type: FunctionalProperty
comment: Links a SUBSCRIBE Variable Header to its MQTT Control Packet.
domain: MQTT SUBSCRIBE Variable Header
range: MQTT SUBSCRIBE Packet
sub property of: is Variable Header of

is MQTT Topic Filter of
type: ObjectProperty
comment: Relates an MQTT Topic Filter to a Subscription Entry or an UNSUBSCRIBE payload.
domain: MQTT Topic Filter
range: Class
  union of: MQTT Subscription Entry
  union of: MQTT UNSUBSCRIBE Payload

is MQTT Topic (name) of
type: ObjectProperty
comment: Links an MQTT Topic to which the message is published to a PUBLISH Variable Header.
domain: MQTT Topic
range: MQTT PUBLISH Variable Header

is UNSUBSCRIBE Fixed Header of
type: ObjectProperty
type: FunctionalProperty
comment: Links an UNSUBSCRIBE Fixed Header to its MQTT Control Packet.
domain: MQTT UNSUBSCRIBE Fixed Header
range: MQTT UNSUBSCRIBE Packet
sub property of: is Fixed Header of

is UNSUBSCRIBE Payload of
type: ObjectProperty
type: FunctionalProperty
comment: Links an UNSUBSCRIBE Payload to its MQTT Control Packet.
domain: MQTT UNSUBSCRIBE Payload
range: MQTT UNSUBSCRIBE Packet
sub property of: is MQTT Payload of

is UNSUBSCRIBE Variable Header of
type: ObjectProperty
type: FunctionalProperty
comment: Links an UNSUBSCRIBE Variable Header to its MQTT Control Packet.
domain: MQTT UNSUBSCRIBE Variable Header
range: MQTT UNSUBSCRIBE Packet
sub property of: is Variable Header of

is Variable Header of
type: ObjectProperty
type: FunctionalProperty
comment: Links a Variable Header to the MQTT Control Packet containing it.
domain: MQTT Variable Header
range: MQTT Control Packet

listens to MQTT Topic
type: ObjectProperty
comment: Links an actuator to the MQTT Topic from which it receives actuation commands.
domain: Actuator
range: MQTT Topic

matches MQTT Topic
type: ObjectProperty
comment: Indicates that an MQTT Topic Filter matches a particular MQTT Topic.
domain: MQTT Topic Filter
range: MQTT Topic

observes MQTT Topic
type: ObjectProperty
comment: Links a sensor to the MQTT Topic to which it publishes observations.
domain: Sensor
range: MQTT Topic

payload encodes SOSA Actuation
type: ObjectProperty
comment: Indicates that the MQTT Payload encodes a single SOSA Actuation command.
domain: MQTT PUBLISH Payload
range: Actuation

payload encodes SOSA Actuation Collection
type: ObjectProperty
comment: Indicates that the MQTT Payload encodes a collection of actuation commands.
domain: MQTT PUBLISH Payload
range: ActuationCollection

payload encodes SOSA Observation
type: ObjectProperty
comment: Indicates that the MQTT Payload encodes a SOSA Observation.
domain: MQTT PUBLISH Payload
range: Observation

payload encodes SOSA Observation Collection
type: ObjectProperty
comment: Indicates that the MQTT Payload encodes a collection of SOSA Observations.
domain: MQTT PUBLISH Payload
range: ObservationCollection

publishes PUBLISH Packet
type: ObjectProperty
comment: Specializes mqtt:sendsControlPacket for PUBLISH packets.
domain: MQTT Client
range: MQTT PUBLISH Packet
sub property of: sends MQTT Control Packet

receives SUBSCRIBE Packet
type: ObjectProperty
comment: Indicates that an MQTT Broker receives a SUBSCRIBE packet from an MQTT Client.
domain: MQTT Broker
range: MQTT SUBSCRIBE Packet

receives UNSUBSCRIBE Packet
type: ObjectProperty
comment: Indicates that an MQTT Broker receives an UNSUBSCRIBE packet from an MQTT Client.
domain: MQTT Broker
range: MQTT UNSUBSCRIBE Packet

runs on platform
type: ObjectProperty
comment: Links an MQTT Client to the platform on which it operates.
domain: MQTT Client
range: Platform

sends MQTT Control Packet
type: ObjectProperty
comment: Relates an MQTT Client to an MQTT Control Packet it sends.
domain: MQTT Client
range: MQTT Control Packet
equivalent property: sendsControlPacket

sends SUBSCRIBE Packet
type: ObjectProperty
comment: Specializes mqtt:sendsControlPacket for SUBSCRIBE packets.
domain: MQTT Client
range: MQTT SUBSCRIBE Packet
sub property of: sends MQTT Control Packet

sends UNSUBSCRIBE Packet
type: ObjectProperty
comment: Specializes mqtt:sendsControlPacket for UNSUBSCRIBE packets.
domain: MQTT Client
range: MQTT UNSUBSCRIBE Packet
sub property of: sends MQTT Control Packet

uses connection
type: ObjectProperty
comment: Relates a network participant (MQTT Client or MQTT Broker) to a network connection it uses.
domain: MQTT Network Participant
range: MQTT Network Connection

uses TLS
type: DatatypeProperty
type: FunctionalProperty
comment: True if the Network Connection is protected via TLS, otherwise false.
domain: MQTT Network Connection
range: boolean

MQTT4SSN Ontology
type: Ontology
abstract: In the Web of Things community, the SSN/SOSA ontology, a W3C recommendation, has established itself as a foundational framework for representing semantic sensor networks, modeling sensors, observations, and actuations. However, an explicit representation of message protocols is missing, which limits semantic interoperability in machine-to-machine communication scenarios. To close this gap, we propose MQTT4SSN as an extension to SSN/SOSA that semantically models the MQTT protocol. Furthermore, the ontology addresses use cases without SSN/SOSA implementations by exclusively describing the MQTT messaging protocol. MQTT4SSN represents MQTT entities such as brokers, clients, control packets, topics, and payload metadata, linking them to SSN/SOSA concepts to enable end-to-end traceability between sensing semantics and communication semantics. The ontology captures heterogeneous payload formats, encodings, and transport metadata, enabling machine-interpretable description and integration of transmitted content. MQTT4SSN represents an extensible and reusable resource that is accessible according to the FAIR principles and documented as an Ontology Specification Draft.
author: Maria Maleshkova
author: Niklas Doerner
bibliographic citation: Doerner, N., & Maleshkova, M. (2025). MQTT4SSN: An Ontology for the MQTT Message Protocol. In F. Novakazi & A. S. Dalal (Eds.), Joint Proceedings of the 16th Workshop on Ontology Design and Patterns (WOP 2025) and the 1st Workshop on Bridging Hybrid Intelligence and the Semantic Web (HAIBRIDGE 2025), co-located with ISWC 2025 (CEUR Workshop Proceedings, Vol. 4093, pp. 57–70). CEUR-WS.org. https://doi.org/10.5281/zenodo.16704302
contributor: Maria Maleshkova
contributor: Niklas Doerner
created: 2025-08-11
creator: Maria Maleshkova
creator: Niklas Doerner
license: https://creativecommons.org/licenses/by-nc-sa/4.0/
modified: 2025-11-25
references: paper7.pdf
references: zenodo.16704302
source: mqtt-v5.0.html
subject: MQTT, Ontology Engineering, Sensor Ontology, Semantic Sensor Network, Message Protocol, Smart Sensor
doi: 10.5281/zenodo.16704302
comment: The MQTT4SSN Ontology provides rdf:type semantic model for representing the MQTT message protocol, containing the transmitted data. It extends the W3C SSN/SOSA ontology with the MQTT message protocol component.
imports: qudt
imports: sosa
imports: ssn
imports: mqtt#
prior version: 0.5
version info: 1.0
funded by: Digitalization and Technology Research Center of the Bundeswehr

Digitalization and Technology Research Center of the Bundeswehr
type: NamedIndividual
type: Organization
comment: This research as part of the project EKI is funded by dtec.bw – Digitalization and Technology Research Center of the Bundeswehr which we gratefully acknowledge. dtec.bw is funded by the European Union – NextGenerationEU.
name: dtec.bw

Maria Maleshkova
type: NamedIndividual
type: Person

Niklas Doerner
type: NamedIndividual
type: Person