OWLAPI 1.5.24 adds a weird axiom annotation to OBO serialisation. This was not previously the case and only happens if the ontology is not legal OWL.
Minimal example:
<?xml version="1.0"?>
<rdf:RDF xmlns="http://purl.obolibrary.org/obo/fbbt/fbbt-simple.owl#"
xml:base="http://purl.obolibrary.org/obo/fbbt/fbbt-simple.owl"
xmlns:obo="http://purl.obolibrary.org/obo/"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:xml="http://www.w3.org/XML/1998/namespace"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:oboInOwl="http://www.geneontology.org/formats/oboInOwl#">
<owl:Ontology rdf:about="http://purl.obolibrary.org/obo/fbbt/fbbt-simple.owl">
</owl:Ontology>
<owl:AnnotationProperty rdf:about="http://purl.obolibrary.org/obo/IAO_0000115">
<obo:IAO_0000114 rdf:resource="http://purl.obolibrary.org/obo/IAO_0000122"/>
<rdfs:label>definition</rdfs:label>
</owl:AnnotationProperty>
<owl:AnnotationProperty rdf:about="http://www.geneontology.org/formats/oboInOwl#hasDbXref">
<rdfs:label>database_cross_reference</rdfs:label>
</owl:AnnotationProperty>
<owl:AnnotationProperty rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
<owl:Class rdf:about="http://purl.obolibrary.org/obo/FBbt_00000006">
<obo:IAO_0000115>Any segment (FBbt:00000003) that is part of some head (FBbt:00000004).</obo:IAO_0000115>
<oboInOwl:hasDbXref>UBERON:6000006</oboInOwl:hasDbXref>
</owl:Class>
<owl:Axiom>
<owl:annotatedSource rdf:resource="http://purl.obolibrary.org/obo/FBbt_00000006"/>
<owl:annotatedProperty rdf:resource="http://purl.obolibrary.org/obo/IAO_0000115"/>
<owl:annotatedTarget>Any segment (FBbt:00000003) that is part of some head (FBbt:00000004).</owl:annotatedTarget>
<oboInOwl:hasDbXref>FlyBase:FBrf0075072</oboInOwl:hasDbXref>
</owl:Axiom>
</rdf:RDF>
Running this command:
robot convert -i test.owl -f obo -o test.obo
Will result in this OBO file:
format-version: 1.2
ontology: fbbt/fbbt-simple
[Term]
id: FBbt:00000006
def: "Any segment (FBbt:00000003) that is part of some head (FBbt:00000004)." [FlyBase:FBrf0075072] {http://www.w3.org/1999/02/22-rdf-syntax-ns#type="owl:Axiom"}
xref: UBERON:6000006
While it should be:
format-version: 1.2
ontology: fbbt/fbbt-simple
[Term]
id: FBbt:00000006
def: "Any segment (FBbt:00000003) that is part of some head (FBbt:00000004)." [FlyBase:FBrf0075072]
xref: UBERON:6000006
The culprit is this axiom:
<owl:AnnotationProperty rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
Which constitutes a violation of the OWL specification, but unfortunately happens rather often.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4