SynBioDex / SBOL-specification

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

Are duplicate property names a problem? #459

Closed jakebeal closed 2 years ago

jakebeal commented 3 years ago

When we've been working with SBOL extension ontologies, we've had problems with using the same property name in disjoint classes. This leads me to a concern that we may be creating a problem with reusing property names in different contexts.

Consider, for example, @goksel 's declaration of the SBOL 2 type property:

<owl:ObjectProperty rdf:about="http://sbols.org/v2#type">
        <rdfs:domain>
            <owl:Class>
                <owl:unionOf rdf:parseType="Collection">
                    <rdf:Description rdf:about="http://sbols.org/v2#ComponentDefinition"/>
                    <rdf:Description rdf:about="http://sbols.org/v2#Interaction"/>
                </owl:unionOf>
            </owl:Class>
        </rdfs:domain>
        <tawny:name xml:lang="en">type</tawny:name>
        <rdfs:comment xml:lang="en">Specifies the category of biochemical or physical entity. For example DNA, protein, or small molecule that a ComponentDefinition object abstracts for the purpose of engineering design. For DNA or RNA entities, additional types fields are used to describe nucleic acid topology (circular / linear) and strandedness (double- or single-stranded).</rdfs:comment>
        <rdfs:label xml:lang="en">type</rdfs:label>
    </owl:ObjectProperty>

The domain is a union over two classes. In this case, the range is always a URI, so we can get away with using a union, but if the range types were also disjoint then this would not correctly describe the constraints, since it would allow for the combinations that shouldn't be there.

We've run into this problem in building extension classes and resolved it by making the names distinct, but that feels inelegant. My question is this: is there a correct way to declare a property with two disjoint uses?

jakebeal commented 2 years ago

Consensus: this is not a problem.

PrashantVaidyanathan commented 2 years ago

@jakebeal - I'm closing this issue based on your most recent comment.