Java 如何以json ld格式保存owl本体?

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

参考上面第四行代码的代码,它不接受saveOntology方法并抛出此建议。请您帮助它为什么这样做。您在代码中使用了相同的方法


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 );
    }
}