def transform(self, graph): """ Transforms a 'pure' nominal range into a disjunction of value restrictions """ Individual.factoryGraph = graph for restriction, intermediateCl, nominal, prop in graph.query( self.NOMINAL_QUERY, initNs={'owl': OWL_NS}): nominalCollection = Collection(graph, nominal) # purge restriction restr = Class(restriction) parentSets = [i for i in restr.subClassOf] restr.clearOutDegree() newConjunct = BooleanClass(restriction, OWL_NS.unionOf, [Property(prop) | value | val for val in nominalCollection], graph) newConjunct.subClassOf = parentSets # purge nominalization placeholder iClass = BooleanClass(intermediateCl) iClass.clear() iClass.delete()
def transform(self, graph): """ Transforms a 'pure' nominal range into a disjunction of value restrictions """ Individual.factoryGraph = graph for restriction, intermediateCl, nominal, prop in graph.query( self.NOMINAL_QUERY, initNs={u'owl': OWL_NS}): nominalCollection = Collection(graph, nominal) #purge restriction restr = Class(restriction) parentSets = [i for i in restr.subClassOf] restr.clearOutDegree() newConjunct = BooleanClass( restriction, OWL_NS.unionOf, [Property(prop) | value | val for val in nominalCollection], graph) newConjunct.subClassOf = parentSets #purge nominalization placeholder iClass = BooleanClass(intermediateCl) iClass.clear() iClass.delete()