diff --git a/tools/subclass_inferences/materialize_subclass_inferences.py b/tools/subclass_inferences/materialize_subclass_inferences.py index 7e475766..820e275b 100644 --- a/tools/subclass_inferences/materialize_subclass_inferences.py +++ b/tools/subclass_inferences/materialize_subclass_inferences.py @@ -56,9 +56,12 @@ def _run_reasoner(inputs: list[str], output_ttl: str, version: str): input_graph.parse(one_input) # owlready2 does not accept TTL files. Convert to N-Triples. - with tempfile.NamedTemporaryFile('w', suffix='.nt') as temp_file: + with tempfile.NamedTemporaryFile('wb', suffix='.nt', delete=False) as temp_file: input_graph_str = input_graph.serialize(format='nt') - temp_file.write(input_graph_str) + temp_file.write(input_graph_str if isinstance(input_graph_str, bytes) + else input_graph_str.encode('utf-8')) + temp_file.flush() + temp_file.close() ontology = get_ontology(f'file://{temp_file.name}').load()