-
Notifications
You must be signed in to change notification settings - Fork 22
Closed
Labels
impact: minorNew, backward-compatible functionality (does not change inferences; e.g., adding a term)New, backward-compatible functionality (does not change inferences; e.g., adding a term)status: implementation specifiedImplementation has been specified. A developer should be assigned.Implementation has been specified. A developer should be assigned.
Description
When a class is defined as the union of a set of other classes, it is not possible to define additional subclasses. Is this by intention? It makes extension difficult.
For example:
<owl:Class rdf:about="&gist;Artifact">
<rdfs:label rdf:datatype="&xs;string">Artifact</rdfs:label>
<rdfs:comment rdf:datatype="&xs;string">An intentional person made thing, could be physical or content</rdfs:comment>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class>
<owl:unionOf rdf:parseType="Collection">
<rdf:Description rdf:about="&gist;Content">
</rdf:Description>
<rdf:Description rdf:about="&gist;IntellectualProperty">
</rdf:Description>
<rdf:Description rdf:about="&gist;Equipment">
</rdf:Description>
<rdf:Description rdf:about="&gist;Building">
</rdf:Description>
<rdf:Description rdf:about="&gist;PhysicalSubstance">
</rdf:Description>
</owl:unionOf>
</owl:Class>
<owl:Restriction>
<owl:onProperty rdf:resource="&gist;goal"/>
<owl:someValuesFrom rdf:resource="&gist;Function"/>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
Because this is a closed list, an ontology importing gist cannot define another direct subclass of Artifact.
In fact, we see already this problem within gist itself. System is a subclass of Artifact, but it is not asserted to subclass any of the unioned classes. Do we really want to say that System is a direct subclass of one of these, but we don't know which? Seems odd. And none of the unioned classes seem like appropriate superclasses of System.
Metadata
Metadata
Assignees
Labels
impact: minorNew, backward-compatible functionality (does not change inferences; e.g., adding a term)New, backward-compatible functionality (does not change inferences; e.g., adding a term)status: implementation specifiedImplementation has been specified. A developer should be assigned.Implementation has been specified. A developer should be assigned.