SynBioDex / SBOL-specification

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

Change ComponentReference "hasFeature" to "refersTo" #461

Closed jakebeal closed 2 years ago

jakebeal commented 3 years ago

The hasFeature property of ComponentReference conflicts in type with the hasFeature property of Component, because in ComponentReference this is a pointer while in Component it is a child object. This causes difficulty for defining the ontology, because the property has contextual meaning.

We propose that hasFeature was never actually a good name for the ComponentReference property in the first place, since ComponentReference's other property, inChildOf is also a Feature (subclass). We thus propose to resolve the type conflict by renaming ComponentReference to refersTo, which is a better description of its meaning.

jakebeal commented 2 years ago

Assigning this to library maintainers, since we believe this change can be made without an SEP if all of the library maintainers agree.

jakebeal commented 2 years ago

@udp and @tcmitchell have indicated assent; @goksel , I assume you're OK with it since you've already got a branch in the ontology incorporating the change. Can you please confirm?

tcmitchell commented 2 years ago

A number of files in SBOLTestSuite/SBOL3 will need to be updated to implement this change:

@goksel can you update these files on a branch (feature/sbolcomposition as in sbol-owl3?) so that we can coordinate development of this change?

I found these issues after regenerating the SHACL rules using https://github.com/SynBioDex/sbol-shacl. I pushed a new feature/sbolcomposition branch that contains this change in case others want to try out the updated SHACL rules.

jakebeal commented 2 years ago

@goksel has affirmed as well, so I am going to set up a pull request for this change in the spec.

jakebeal commented 2 years ago

I believe this should have been closed already when #463 was merged.