【问题标题】:Load RDF model into Jena SDB将 RDF 模型加载到 Jena SDB
【发布时间】:2014-06-26 07:17:33
【问题描述】:

我正在尝试将我的 RDF 模型加载到 JENA SDB 中。我已经完成了连接(我认为应该没问题)。 我不知道为什么,但它不能正常工作。我认为这是因为我已将 ARQ 库导入到我的项目中,但我不知道。

这里是代码:

    String RDF_FILE = "./prova_rules_M_rdf.owl";
    String className = "com.mysql.jdbc.Driver";  
    String DB_URL = "jdbc:mysql://localhost:3306/prova_rules"; 
    String DB_USER = "root";                         
    String DB_PASSWD = "";                     


        // create store description
        StoreDesc storeDesc = new StoreDesc(LayoutType.LayoutTripleNodesHash,DatabaseType.MySQL);

        // load database driver
        try {
            Class.forName(className);
            System.out.println("JDBC driver load successfully!");
        } catch (Exception e) {
            e.printStackTrace();
        }

        // create SDBConnection
        SDBConnection sdbConnection = new SDBConnection(DB_URL,DB_USER,DB_PASSWD);

        // connect to store
        Store store = SDBFactory.connectStore(sdbConnection,storeDesc);

        // connect store to dataset
        Dataset dataset = SDBFactory.connectDataset(store);

        // prepare the model
        Model tmpModel = ModelFactory.createDefaultModel();
        FileManager.get().readModel(tmpModel,RDF_FILE,"OWL");
        System.out.println(tmpModel.size());

        // add the model into the dataset
        dataset.getDefaultModel().add(tmpModel);

        // all done ... hopefully
        store.close();

    }

这里的错误:

线程“主”java.lang.NoSuchMethodError 中的异常:com.hp.hpl.jena.query.ARQ.getContext()Lcom/hp/hpl/jena/sparql/util/Context; 在 com.hp.hpl.jena.sdb.SDB.initWorker(SDB.java:87) 在 com.hp.hpl.jena.sdb.SDB.(SDB.java:61) 在 com.hp.hpl.jena.sdb.store.StoreFactory.(StoreFactory.java:40) 在 com.hp.hpl.jena.sdb.SDBFactory.connectStore(SDBFactory.java:117) 在 CreateOntModel.main(CreateOntModel.java:94)

【问题讨论】:

    标签: eclipse jena rules


    【解决方案1】:

    NoSuchMethodError 表示您在运行时类路径(Eclipse 构建路径)上有一组不一致的 jar。确保项目构建路径中的每个 Jena jar 也只有一份副本。

    在 Eclipse 中使用 maven 将自动管理依赖关系。

    【讨论】:

      猜你喜欢
      • 2014-02-10
      • 1970-01-01
      • 2011-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多