Java 如何以json ld格式保存owl本体?
参考上面第四行代码的代码,它不接受saveOntology方法并抛出此建议。请您帮助它为什么这样做。您在代码中使用了相同的方法Java 如何以json ld格式保存owl本体?,java,owl,ontology,owl-api,Java,Owl,Ontology,Owl Api,参考上面第四行代码的代码,它不接受saveOntology方法并抛出此建议。请您帮助它为什么这样做。您在代码中使用了相同的方法 OWLOntologyManager类型中的方法saveOntology(OWLOntology,OWLOntologyFormat,OutputStream)不适用于参数(OWLOntology,OWLDocumentFormat,OutputStream)此代码使用版本4和版本5编译: OWLDocumentFormat ontologyFormat = new R
OWLOntologyManager类型中的方法saveOntology(OWLOntology,OWLOntologyFormat,OutputStream)不适用于参数(OWLOntology,OWLDocumentFormat,OutputStream)此代码使用版本4和版本5编译:
OWLDocumentFormat ontologyFormat = new RDFJsonLDDocumentFormat();
OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
OWLOntology ontology = manager.loadOntologyFromOntologyDocument(inputstream);
manager.saveOntology( ontology, ontologyFormat, outputstream );
在类路径中,您必须具有版本3以及版本4或版本5,并且
owletologymanager
接口声明来自版本3。确保类路径中只有一个版本。您混淆了OWLAPI的不同版本,即v3与v4(或v5)rdfjsonldocumentformat
是版本4或5,但您的代码使用的是版本3中的类。该代码使用版本5编译,将使用版本4编译。版本3在这里有冲突-OWLOntologyManager来自版本3。感谢Ignazio的回答。是的,我的pom文件中有两个不同版本的maven依赖项。现在我只有一个版本5。
import java.io.InputStream;
import java.io.OutputStream;
import org.semanticweb.owlapi.apibinding.OWLManager;
import org.semanticweb.owlapi.formats.RDFJsonLDDocumentFormat;
import org.semanticweb.owlapi.model.OWLDocumentFormat;
import org.semanticweb.owlapi.model.OWLOntology;
import org.semanticweb.owlapi.model.OWLOntologyManager;
public class Check {
public static void main(String[] args) throws Exception {
InputStream inputstream=null;
OutputStream outputstream=null;
OWLDocumentFormat ontologyFormat = new RDFJsonLDDocumentFormat();
OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
OWLOntology ontology = manager.loadOntologyFromOntologyDocument(inputstream);
manager.saveOntology( ontology, ontologyFormat, outputstream );
}
}