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" .