def tool_class(category): # GIS Analysis => Distance Tools if re.match("(^GIS Analysis )", category): category = category.replace('GIS Analysis', '').strip() return OWLUtils.create_onto_class(onto, category.replace(' ', ''), onto['GISAnalysis']) if re.match("(^Image Processing Tools )", category): category = category.replace('Image Processing Tools', '').strip() return OWLUtils.create_onto_class(onto, category.replace(' ', ''), onto['ImageProcessingTools']) if category == 'Math and Stats Tools': category = "Math And Stats Tools" tool_cls = category.replace(' ', '') return OWLUtils.create_onto_class(onto, tool_cls, WhiteboxTool)
def topic_classes(): config = OWLUtils.get_config(module_path + '/config.ini') for k, v in config.items('application'): k = Preprocessor.to_upper_camel_case(k, True) topic_cls = OWLUtils.create_onto_class(onto, k, TopicCategoryTool) for _tool in v.split(','): _tool = _tool.strip() if onto[_tool] is not None: onto[_tool].is_a.append(topic_cls)
def get_property(option, prop_type): """ 根据配置查找对应的属性,没有则创建新的属性 Args: option: property name prop_type: ObjectProperty or DataProperty Returns: created property name """ config = OWLUtils.get_config(module_path + '/config.ini') _prop = OWLUtils.get_option(config, 'saga', option) if _prop is None: if onto.__getattr__(option) is None: OWLUtils.create_onto_class(onto, option, prop_type) return option else: return _prop
def tool_class(name): if str(name).startswith('gnm'): tool_cls = "GeographicNetworkPrograms" elif str(name).startswith('ogr'): tool_cls = "VectorPrograms" elif str(name).startswith('gdalmd'): tool_cls = "MultidimensionalRasterPrograms" else: tool_cls = "RasterPrograms" return OWLUtils.create_onto_class(onto, tool_cls, GDALTool)
def get_property(option, prop_type): """ 根据配置查找对应的属性,没有则创建新的属性 Args: option: property name prop_type: ObjectProperty or DataProperty Returns: created property name """ config = OWLUtils.get_config(module_path + '/config.ini') _prop = OWLUtils.get_option(config, 'taudem', option) # 返回配置的属性或是已有的属性(has[Name]) if _prop is not None: return _prop else: _prop = gb.__getattr__(option) if _prop is None: OWLUtils.create_onto_class(onto, option, prop_type) return option
onto.metadata.created.append(datetime.datetime.today()) print('ontologies imported') # OWLUtils.create_onto_class(onto, 'has' + option.capitalize(), prop_type) with onto: class GeoTerms(Thing): pass module_path = os.path.dirname(__file__) with open(module_path + '/term.json', 'r', encoding='utf-8') as f: jdata = json.load(f) # list for d in jdata: domain = d['domain'] if not onto[domain]: OWLUtils.create_onto_class(onto, domain, GeoTerms) term = d['term'] term_english = d['term_english'] definition_cn = d['definition'] if onto[term] and (GeoTerms in onto[term].is_a): # 不能用definition? onto[domain].definition.append(definition_cn) else: indi = onto[domain](term, prefLabel=locstr(term_english, lang='en'), altLabel=locstr(term, lang='zh-CN')) print(onto[domain]) print(indi) indi.definition.append(definition_cn) # onto.save("geoterms.owl", format="rdfxml")
def tool_class(keywords): tool_cls = keywords[0].replace(' ', '') + 'Tool' return OWLUtils.create_onto_class(onto, tool_cls, SagaTool)
def tool_class(tool_name): tool_cls = get_task_class(tool_name) return OWLUtils.create_onto_class(onto, tool_cls, TauDEMAnalysis)
def tool_class(category): if category == '3D Analyst': category = 'ThreeDimensionalAnalyst' tool_cls = category.replace(' ', '') + 'Tool' return OWLUtils.create_onto_class(onto, tool_cls, ArcGISTool)
def tool_class(tool_name): short_name = tool_name.split('.', maxsplit=1)[0] config = OWLUtils.get_config(module_path + '/config.ini') tool_cls = str(config.get('tools', short_name)).capitalize() + 'Tool' return OWLUtils.create_onto_class(onto, tool_cls, StandardCategoryTool)