or (cl.endswith("Relation") and not instance.endswith("Fn")): return "PredicateNode" if cl.endswith("Function") or instance.endswith("Fn"): return "SchemaNode" return "ConceptNode" def output_instance2atomtype(instance2classes): for instance in instance2classes: print instance, classes2atomtype(instance, instance2classes[instance]) if __name__ == '__main__': # Turn the kif file into a list of s-expressions s_exprs = [] for i in range(1, len(sys.argv)): s_exprs.extend(kifparser.parse_kif_file(sys.argv[i])) # Associate each instance to its SUMO classes instance2classes = gen_instance2classes(s_exprs) # Associate each instance to its super-instance. Properties are # transfered by subrelation subrelations = gen_subrelations(s_exprs) # Calculate the instance2classes closure by subrelation instance2classes = calculate_i2c_closure(instance2classes, subrelations) # Determine the correct atom type given instance2classes output_instance2atomtype(instance2classes)
def load_sumo(i2t, filename): expressions = kifparser.parse_kif_file(filename) convert_multiple_expressions(i2t, expressions)
for cl in classes: if cl.endswith("Predicate") \ or (cl.endswith("Relation") and not instance.endswith("Fn")): return "PredicateNode" if cl.endswith("Function") or instance.endswith("Fn"): return "SchemaNode" return "ConceptNode" def output_instance2atomtype(instance2classes): for instance in instance2classes: print(instance, classes2atomtype(instance, instance2classes[instance])) if __name__ == '__main__': # Turn the kif file into a list of s-expressions s_exprs = [] for i in range(1, len(sys.argv)): s_exprs.extend(kifparser.parse_kif_file(sys.argv[i])) # Associate each instance to its SUMO classes instance2classes = gen_instance2classes(s_exprs) # Associate each instance to its super-instance. Properties are # transfered by subrelation subrelations = gen_subrelations(s_exprs) # Calculate the instance2classes closure by subrelation instance2classes = calculate_i2c_closure(instance2classes, subrelations) # Determine the correct atom type given instance2classes output_instance2atomtype(instance2classes)