SynBioDex / SBOL-specification

The Synthetic Biology Open Language (SBOL)
http://sbolstandard.org
13 stars 9 forks source link

Create a `Measured` class in order to factor out `hasMeasure` from `Identified` #460

Closed bbartley closed 2 years ago

bbartley commented 3 years ago

When defining extensions of the SBOL data model, it is necessary to subclass Identified. However, currently all extension classes will inherit the hasMeasure predicate which is not appropriate in every case.

A Measured class that subclasses Identified is a more appropriate place to put the hasMeasure predicate. The Identified class is an abstract class that should be reserved only for properties containing an object's metadata (e.g., name, description, etc.)

An example of an extension class that definitely should not inherit the hasMeasure attribute is the MeasureParameter class in the OPIL data model. To someone not familiar with OPIL, it might appear to make perfect sense that a MeasureParameter should have a hasMeasure attribute, but, in fact, this it is highly misleading and incompatible with the semantics of OPIL.

This is a very specific example, but the general principle is that Identified is an abstract class that should be reserved for object metadata, while more concrete, domain-specific properties should be represented by concrete classes.

jakebeal commented 2 years ago

On discussion at HARMONY 2022, there does not seem to be any support for this, and much concern about the impact of restricting the ability to add to RDF.