如何在Protege 4.3中将文件保存为rdf?

时间:2014-03-17 03:57:29

标签: oracle ontology

我在Protege上做了一个本体论。它有。猫头鹰扩展。我试图使用jena在oracle 12c中导入这个本体。但模型。 Read方法需要一个rdf文件。我给出了代码以及错误。在这种情况下请帮助我。

错误

Exception in thread "main" com.hp.hpl.jena.shared.JenaException: java.lang.UnsatisfiedLinkError: no ocijdbc11 in java.library.path
    at oracle.spatial.rdf.client.jena.Oracle.<init>(Oracle.java:207)
    at test.TestClass.main(TestClass.java:26)

代码包测试;

import java.io.InputStream;
import com.hp.hpl.jena.rdf.model.*;
import oracle.spatial.rdf.client.jena.GraphOracleSem;
import oracle.spatial.rdf.client.jena.ModelOracleSem;
import oracle.spatial.rdf.client.jena.Oracle;
import oracle.spatial.rdf.client.jena.OracleUtils;
import com.hp.hpl.jena.graph.GraphUtil;
import com.hp.hpl.jena.graph.Triple;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.ModelFactory;
import com.hp.hpl.jena.util.FileManager;

public class TestJena{
    public static void main(String[] args) throws Exception
    {
        //String szJdbcURL = args[0];
        //String szUser = args[1];
        //String szPasswd = args[2];
        //String szModelName = args[3];
        // in memory Jena Model
        Model model = ModelFactory.createDefaultModel();
        InputStream is = FileManager.get().open("E:/abcd.owl");
        model.read(is, "", "RDF/XML");
        is.close();

        Oracle oracle = new Oracle("jdbc:oracle:oci8:@", "c##hr_admin","Hira123");

        ModelOracleSem modelDest = ModelOracleSem.createOracleSemModel(oracle,"M1");
        GraphOracleSem g = modelDest.getGraph();
        g.dropApplicationTableIndex();
        int method = 2; // try bulk loader
        String tbs = "SYSAUX"; // can be customized
        if (method == 0) {
            System.out.println("start incremental");
            modelDest.add(model);
            System.out.println("end size " + modelDest.size());
        }
        else if (method == 1) {
            System.out.println("start batch load");
            g.getBulkUpdateHandler().addInBatch(
            GraphUtil.findAll(model.getGraph()), tbs);
            System.out.println("end size " + modelDest.size());
        }
        else {
            System.out.println("start bulk load");
            g.getBulkUpdateHandler().addInBulk(
            GraphUtil.findAll(model.getGraph()), tbs);
            System.out.println("end size " + modelDest.size());
        }
        g.rebuildApplicationTableIndex();
        long lCount = g.getCount(Triple.ANY);
        System.out.println("Asserted triples count: " + lCount);
        model.close();
        OracleUtils.dropSemanticModel(oracle, "M1");
        oracle.dispose();
    }
}

1 个答案:

答案 0 :(得分:0)

您可以将文件重命名为RDF:假设您用于本体的格式是RDF / XML(默认值),只需更改文件扩展名即可。

关于您发布的错误,您缺少二进制库。您需要将java.library.path设置为指向包含错误中提到的库的文件夹。 有关如何执行此操作,请参阅how to set java library path for processing