def main(): config_help = "\n\nConfig parameters:\n\n" + "\n".join(ConfigSchema.help()) parser = argparse.ArgumentParser( epilog=config_help, # Needed to preserve line wraps in epilog. formatter_class=argparse.RawDescriptionHelpFormatter, ) parser.add_argument("config", help="Path to config file") parser.add_argument("-p", "--param", action="append", nargs="*") parser.add_argument("edge_paths", type=Path, nargs="*", help="Input file paths") parser.add_argument( "-l", "--lhs-col", type=str, required=True, help="Column index for source entity", ) parser.add_argument( "-r", "--rhs-col", type=str, required=True, help="Column index for target entity", ) parser.add_argument("--rel-col", type=str, help="Column index for relation entity") parser.add_argument( "--relation-type-min-count", type=int, default=1, help="Min count for relation types", ) parser.add_argument("--entity-min-count", type=int, default=1, help="Min count for entities") opt = parser.parse_args() loader = ConfigFileLoader() config_dict = loader.load_raw_config(opt.config, opt.param) entity_configs, relation_configs, entity_path, edge_paths, dynamic_relations = parse_config_partial( # noqa config_dict) convert_input_data( entity_configs, relation_configs, entity_path, edge_paths, opt.edge_paths, ParquetEdgelistReader(opt.lhs_col, opt.rhs_col, opt.rel_col), opt.entity_min_count, opt.relation_type_min_count, dynamic_relations, )
def main(): config_help = '\n\nConfig parameters:\n\n' + '\n'.join(ConfigSchema.help()) parser = argparse.ArgumentParser( epilog=config_help, # Needed to preserve line wraps in epilog. formatter_class=argparse.RawDescriptionHelpFormatter, ) parser.add_argument('config', help='Path to config file') parser.add_argument('-p', '--param', action='append', nargs='*') parser.add_argument('edge_paths', type=Path, nargs='*', help='Input file paths') parser.add_argument('-l', '--lhs-col', type=int, required=True, help='Column index for source entity') parser.add_argument('-r', '--rhs-col', type=int, required=True, help='Column index for target entity') parser.add_argument('--rel-col', type=int, help='Column index for relation entity') parser.add_argument('--relation-type-min-count', type=int, default=1, help='Min count for relation types') parser.add_argument('--entity-min-count', type=int, default=1, help='Min count for entities') opt = parser.parse_args() loader = ConfigFileLoader() config_dict = loader.load_raw_config(opt.config) if opt.param is not None: overrides = chain.from_iterable(opt.param) # flatten config_dict = override_config_dict(config_dict, overrides) entity_configs, relation_configs, entity_path, dynamic_relations = \ parse_config_partial(config_dict) convert_input_data( entity_configs, relation_configs, entity_path, opt.edge_paths, opt.lhs_col, opt.rhs_col, opt.rel_col, opt.entity_min_count, opt.relation_type_min_count, dynamic_relations, )