Skip to content

Proposal to remove classes :Sensor, :Experiment and :Measurement from Core Ontology. Does anyone have a stake or use case that contradicts this proposed removal?

Why should we remove :Experiment and :Measurement classes from the Core Ontology?

These concepts are already well-covered in external ontologies (e.g., SOSA/SSN). Users who need them can import those ontologies and extend them as needed, rather than redefining them in the Core Ontology.

Implications:

  • Keeps the Core Ontology lightweight and focused on foundational concepts.
  • Avoids redundancy with established, widely adopted domain ontologies.

Description: Current class in the Core Ontology:

Core:Sensor rdf:type owl:Class ; rdfs:subClassOf Core:Resource ; rdfs:comment "A sensor is a resource that gathers measurements" .

Anyone who needs to model sensors should also import the SOSA ontology and subclass SOSA:Sensor. Example:

Core:Sensor rdf:type owl:Class ; rdfs:subClassOf SOSA:Sensor .

This allows reuse of all properties defined on the parent class SOSA:Sensor. The final model could then include:

Core:Sensor rdf:type owl:Class ; rdfs:subClassOf Core:Resource ; rdfs:subClassOf SOSA:Sensor .

Implications:

  • Requires importing both the Core Ontology and the SOSA Ontology.
  • Eliminates the need to declare additional classes like :Experiment and :Measurement or their relation to :Sensor in the Core Ontology.

Next, why remove :Sensor from the Core Ontology? Keeping :Sensor in the Core Ontology results in a model like:

Core:Sensor rdf:type owl:Class ; rdfs:subClassOf Core:Resource ; rdfs:subClassOf SOSA:Sensor .

This approach requires importing Core:Sensor and then extending it again as a subclass of SOSA:Sensor. The recommended modeling practice is to import core and standard ontologies and define project-specific classes that extend them, rather than extending core ontology classes directly. For example, a project-specific sensor should be modeled as:

ProjectSpecific:Sensor rdf:type owl:Class ; rdfs:subClassOf Core:Resource ; rdfs:subClassOf SOSA:Sensor .

In short, the following declaration will be removed from the Core Ontology:

:Sensor rdf:type owl:Class ; rdfs:subClassOf :Resource ; rdfs:comment "A sensor is a resource that gathers measurements" .

:Experiment rdf:type owl:Class ; rdfs:comment "An experiment involves a controlled process to obtain specific measurements" .

:Measurement rdf:type owl:Class ; rdfs:comment "A measurement taken from a sensor or instrument" .

:hasMeasurement rdf:type owl:ObjectProperty ; rdfs:domain :Experiment ; rdfs:range :Measurement ; rdfs:comment "An experiment has measurements taken from sensors" .

:madeBySensor rdf:type owl:ObjectProperty ; rdfs:domain :Measurement ; rdfs:range :Sensor ; rdfs:comment "A measurement is made by a sensor" .