diff --git a/OWLTools-Core/src/main/java/owltools/io/OWLOboGraphsFormat.java b/OWLTools-Core/src/main/java/owltools/io/OWLOboGraphsFormat.java index 8d972dc1e..b9f60b3e1 100644 --- a/OWLTools-Core/src/main/java/owltools/io/OWLOboGraphsFormat.java +++ b/OWLTools-Core/src/main/java/owltools/io/OWLOboGraphsFormat.java @@ -20,7 +20,7 @@ public String getKey() { @Override public boolean isPrefixOWLOntologyFormat() { - return true; + return false; } @Override diff --git a/OWLTools-Core/src/main/java/owltools/io/OWLOboGraphsYamlFormat.java b/OWLTools-Core/src/main/java/owltools/io/OWLOboGraphsYamlFormat.java index ea833fbd3..cd1e52517 100644 --- a/OWLTools-Core/src/main/java/owltools/io/OWLOboGraphsYamlFormat.java +++ b/OWLTools-Core/src/main/java/owltools/io/OWLOboGraphsYamlFormat.java @@ -20,7 +20,7 @@ public String getKey() { @Override public boolean isPrefixOWLOntologyFormat() { - return true; + return false; } @Override diff --git a/OWLTools-Oort/src/main/java/owltools/ontologyrelease/OboOntologyReleaseRunner.java b/OWLTools-Oort/src/main/java/owltools/ontologyrelease/OboOntologyReleaseRunner.java index 5b62b75fa..dc32bd5c9 100644 --- a/OWLTools-Oort/src/main/java/owltools/ontologyrelease/OboOntologyReleaseRunner.java +++ b/OWLTools-Oort/src/main/java/owltools/ontologyrelease/OboOntologyReleaseRunner.java @@ -1752,6 +1752,7 @@ private void saveOntologyInAllFormats(String idspace, String fileNameBase, Strin private void write(OWLOntologyManager manager, OWLOntology ont, OWLDocumentFormat format, OutputStream out) throws OWLOntologyStorageException { try { + copyPrefixDefinitionsToOutputFormat(ont, format); manager.saveOntology(ont, format, out); } finally { try { @@ -1763,6 +1764,17 @@ private void write(OWLOntologyManager manager, OWLOntology ont, OWLDocumentForma } + private void copyPrefixDefinitionsToOutputFormat(OWLOntology ont, OWLDocumentFormat format) { + OWLDocumentFormat previousFormat = ont.getOWLOntologyManager().getOntologyFormat(ont); + if (format != null && format.isPrefixOWLOntologyFormat() + && previousFormat != null + && previousFormat.isPrefixOWLOntologyFormat()) { + String defaultNamespace = format.asPrefixOWLOntologyFormat().getDefaultPrefix(); + format.asPrefixOWLOntologyFormat().copyPrefixesFrom(previousFormat.asPrefixOWLOntologyFormat()); + format.asPrefixOWLOntologyFormat().setDefaultPrefix(defaultNamespace); + } + } + private void saveReasonerReport(String ontologyId, List reasonerReportLines) { diff --git a/OWLTools-Runner/src/main/java/owltools/cli/CommandRunner.java b/OWLTools-Runner/src/main/java/owltools/cli/CommandRunner.java index d5d5803cd..f1238d640 100644 --- a/OWLTools-Runner/src/main/java/owltools/cli/CommandRunner.java +++ b/OWLTools-Runner/src/main/java/owltools/cli/CommandRunner.java @@ -3695,6 +3695,7 @@ else if (ofmtname.equals("obo")) { } ofmt = new OBODocumentFormat(); } + copyPrefixDefinitionsToOutputFormat(g.getSourceOntology(), ofmt); } else if (opts.nextEq("--prefix")) { opts.info("PREFIX URIBASE","use PREFIX as prefix. Note: specify this sub-arg AFTER -f"); @@ -6637,4 +6638,15 @@ private void showEdges(Set edges) { } } + private void copyPrefixDefinitionsToOutputFormat(OWLOntology ont, OWLDocumentFormat format) { + OWLDocumentFormat previousFormat = ont.getOWLOntologyManager().getOntologyFormat(ont); + if (format != null && format.isPrefixOWLOntologyFormat() + && previousFormat != null + && previousFormat.isPrefixOWLOntologyFormat()) { + String defaultNamespace = format.asPrefixOWLOntologyFormat().getDefaultPrefix(); + format.asPrefixOWLOntologyFormat().copyPrefixesFrom(previousFormat.asPrefixOWLOntologyFormat()); + format.asPrefixOWLOntologyFormat().setDefaultPrefix(defaultNamespace); + } + } + }