The following elements were added to the OWL file:
<owl:Class rdf:about= "&NW;ServiceLevelDefinition"> ... <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource= "&NW;isProvidedBy"/> <owl:minCardinality>0</owl:minCardinality> </owl:Restriction> </rdfs:subClassOf> ... <owl:ObjectProperty rdf:about= "&NW;isProvidedBy"> <rdfs:domain rdf:resource= "&NW;ServiceLevelDefinition"/> <rdfs:range rdf:resource= "&NW;ApplicationVersion"/> <rdfs:label>Is Provided By</rdfs:label> </owl:ObjectProperty>
The relationship works correctly for any newly created SLD objects, however not for existing objects. One problem is the relationship definition is not present in existing objects and thus cannot be added through Edit Relationships (this is unfortunate, but understandable).
The bigger problem is that I now cannot edit any properties or relationships on existing SLDs. Any attempt to do so yields this error:
There was a problem updating the properties on the entity with name Place Services_Version_SLD1 and type concept. GSR0018E: Object "Place Services_Version_SLD1" is missing the required business model property "NW_isProvidedBy" of type "http://net.nwie.serviceregistry#ApplicationVersion".
As shown in the OWL code above, the minCardinality is 0, so I don't know why its assumed to be 'required'.
This only occurs on existing SLDs, not on new SLDs that were created after the business model change, thus it seems to be an issue of the pre-existing objects now needing to be 'updated' with to the new business model definition. But how can this be done, short of deleting them all and recreating them (which is not feasible)?