def SetPropertyKey(self, key): self.key = key self.name = self.doc.infGetPropertyName(self.key.p, self.key.p) if (kb.split_uri(self.key.p)[0] in kb.part2_all_ns and kb.split_uri(self.key.p)[1] in kb.part2_object_properties) or (self.key.p in [prop['uri'] for prop in self.doc.infGetAvailableProperties(self.parent.parent.uri).itervalues()]): self.vis_icon = 'iso_annotation' self.vis_label = '{0} = "{1}"'.format(self.name, self.key.l) self.Refresh() self.RefreshProps()
def any(self): if isinstance(self.uri, basestring): types = set() def f(ti): types.add(self.part2ns+ti['name']) for i in ti['subtypes']: f(kb.part2_itself[i]) f(kb.part2_itself['part2:'+kb.split_uri(self.uri)[1]]) return Part2Proxy(self.part2ns, types, self.builder) return None
def ProcessModel(self): rd = self.rd builder = self.builder name_defs = {} base_templ = {} ann_targets = set() builder.set_uuid_prefix("R-") @rd.SafeRows("Class") def f(r): id = r.text("ID") label = r.text("Label") if label and id: name_defs[label] = id @rd.SafeRows("Base Template") def f(r): templateid = r.text("TemplateID") templatename = r.text("TemplateName") templatedescr = r.text("TemplateDescription") base_templ[templatename] = templateid ann_targets.add(builder.template(id=templateid, name=templatename, comment=templatedescr)) for i in xrange(1, 8): idx = "Role{0}".format(i) roleid = r.text("{0}ID".format(idx)) rolename = r.text("{0}Name".format(idx)) if not rolename: continue roledesc = r.text("{0}Description".format(idx)) rolevalue = r.text("{0}Value".format(idx)) roletype = r.text("{0}Type".format(idx)) if roletype.startswith("xsd:"): roletype = kb.ns_xsd + roletype[4:] else: roletype = name_defs.get(roletype) ann_targets.add( builder.template_role( roleid=roleid, name=rolename, comment=roledesc, type=roletype, value=name_defs.get(rolevalue) ) ) for uri in ann_targets: if self.target_doc.uri_from_names: builder.annotate(id=uri, defaultRdsId=builder.UUID("R-")) else: builder.annotate(id=uri, defaultRdsId=kb.split_uri(uri)[1])
def ProcessModel(self): rd = self.rd builder = self.builder name_defs = {} base_templ = {} ann_targets = set() builder.set_uuid_prefix('R-') @rd.SafeRows('Class') def f(r): id = r.text('ID') label = r.text('Label') if label and id: name_defs[label] = id @rd.SafeRows('Base Template') def f(r): templateid = r.text('TemplateID') templatename = r.text('TemplateName') templatedescr = r.text('TemplateDescription') base_templ[templatename] = templateid ann_targets.add(builder.template(id = templateid, name = templatename, comment = templatedescr)) for i in xrange(1,8): idx = 'Role{0}'.format(i) roleid = r.text('{0}ID'.format(idx)) rolename = r.text('{0}Name'.format(idx)) if not rolename: continue roledesc = r.text('{0}Description'.format(idx)) rolevalue = r.text('{0}Value'.format(idx)) roletype = r.text('{0}Type'.format(idx)) if roletype.startswith('xsd:'): roletype = kb.ns_xsd+roletype[4:] else: roletype = name_defs.get(roletype) ann_targets.add(builder.template_role(roleid = roleid, name = rolename, comment = roledesc, type = roletype, value = name_defs.get(rolevalue))) for uri in ann_targets: if self.target_doc.uri_from_names: builder.annotate(id = uri, defaultRdsId = builder.UUID('R-')) else: builder.annotate(id = uri, defaultRdsId = kb.split_uri(uri)[1])
def FindViewType(self, document, uri): z = kb.split_uri(uri) if z: uri_head = z[0] uri_tail = z[1] if uri_head in kb.part2_all_ns: return type('', (Part2TypesView,), dict(bound_uri='part2:'+uri_tail)) if uri_head==kb.ns_xsd: return type('', (XSDTypesView,), dict(bound_uri='xsd:'+uri_tail)) if getattr(document, 'idi', None) != None: for t in document.grTriplesForSubj(uri): if t.p in (kb.rdf_type, kb.rdfs_subclassof): return type('', (GraphView,), dict(document=document, bound_uri=uri)) for doc in self.graph_documents: for t in doc.grTriplesForSubj(uri): if t.p in (kb.rdf_type, kb.rdfs_subclassof): return type('', (GraphView,), dict(document=doc, bound_uri=uri)) if getattr(document, 'idi', None) != None: return type('', (GraphView,), dict(document=document, bound_uri=uri))
def ProcessModel(self): rd = self.rd builder = self.builder #jord = self.jord name_defs = {} base_templ = {} @rd.SafeRows('Class') def f(r): id = r.text('ID') label = r.text('Label') if label and id: name_defs[label] = id #ids = set(name_defs.values()) #eq = jord.find_uri_wip_eq(ids) #for k, v in name_defs.iteritems(): # if v in eq: # name_defs[k] = eq[v] ann_targets = set() info = {'ignored': 0} @rd.SafeRows('Base Template') def f(r): templateid = r.text('TemplateID') if not templateid: info['ignored'] += 1 return for i in xrange(1, 8): idx = 'Role{0}'.format(i) rolename = r.text('{0} Name'.format(idx)) if not rolename: continue roleid = r.text('{0} ID'.format(idx)) if not roleid: info['ignored'] += 1 return templatename = r.text('Template Name') templatedescr = r.text('Template Description') base_templ[templatename] = templateid ann_targets.add(templateid) builder.template(id=templateid, name=templatename, comment=templatedescr) for i in xrange(1, 8): idx = 'Role{0}'.format(i) roleid = r.text('{0} ID'.format(idx)) rolename = r.text('{0} Name'.format(idx)) if not rolename: continue roledesc = r.text('{0} Description'.format(idx)) rolevalue = r.text('{0} Value'.format(idx)) roletype = r.text('{0} Type'.format(idx)) ann_targets.add(roleid) builder.template_role(roleid=roleid, name=rolename, comment=roledesc, type=name_defs.get(roletype), value=name_defs.get(rolevalue)) @rd.SafeRows('Specialized Individual Template') def f(r): templateid = r.text('TemplateID') if not templateid: info['ignored'] += 1 return for i in xrange(1, 8): idx = 'Role{0}'.format(i) rolename = r.text('{0} Name'.format(idx)) if not rolename: continue roleid = r.text('{0} ID'.format(idx)) if not roleid: info['ignored'] += 1 return templatename = r.text('Template Name') templatedescr = r.text('Template Description') supertempl = r.text('Parent Template') ann_targets.add(templateid) builder.template(id=templateid, super=base_templ[supertempl], name=templatename, comment=templatedescr) for i in xrange(1, 8): idx = 'Role{0}'.format(i) roleid = r.text('{0} ID'.format(idx)) rolename = r.text('{0} Name'.format(idx)) if not rolename: continue roledesc = r.text('{0} Description'.format(idx)) rolevalue = r.text('{0} Value'.format(idx)) roletype = r.text('{0} Type'.format(idx)) ann_targets.add(roleid) builder.template_role(roleid=roleid, name=rolename, comment=roledesc, type=name_defs.get(roletype), value=name_defs.get(rolevalue)) for uri in ann_targets: builder.annotate(id=uri, defaultRdsId=kb.split_uri(uri)[1]) log('Templates ignored: {0}\n', info['ignored'])