SOFA 2_4_3 (and previous versions) contain terms with invalid intersections e.g. SO:0000372. These terms have only a single intersection_of
tag. From the OBO 1.2 spec: "at least two intersection_of tags need to be present or it is a parse error". This appears to be caused by intersection_of tags in SOFA referring to terms that are not in the SOFA subset. One solution would be to transitively include intersected terms in SOFA.
This problem potentially also affects union_of, however, I have not checked this.