Skip to content

Remove equivalence to a union class from Artifact definition #110

@rjyounes

Description

@rjyounes

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)status: implementation specifiedImplementation has been specified. A developer should be assigned.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions