【发布时间】:2011-12-28 17:16:54
【问题描述】:
我正在尝试使用 TDB 在 Java 中使用 Jena 进行查询。所以基本上我得到了一个 n3 文件名 song.n3 并使用这个文件我想将它与 TDB 一起使用。所以我创建了一个在我的 Java1 文件夹(Netbeans 项目文件夹)中生成的目录,然后我有了实际 n3 文件的源代码。运行此代码后,我遇到错误“java.lang.NoClassDefFoundError”。基本上调试代码导致错误是由以下行引起的:Dataset dataset = TDBFactory.createDataset(directory);。我不太清楚为什么会导致这个错误,可能是因为我的目录是空的,没有模型。
public static void main(String[] args) throws IOException {
String directory = "./tdb";
Dataset dataset = TDBFactory.createDataset(directory);
Model tdb = dataset.getDefaultModel();
String source = "C:\\Users\\Name\\Documents\\NetBeansProjects\\Java1\\src\\song.n3";
FileManager.get().readModel( tdb, source, "N3" );
String queryString = "PREFIX owl: <http://www.w3.org/2002/07/owl#> SELECT * WHERE { ?x owl:sameas ?y }";
Query query = QueryFactory.create(queryString);
QueryExecution qe = QueryExecutionFactory.create(query, tdb);
ResultSet results = qe.execSelect();
ResultSetFormatter.out(System.out, results, query);
qe.close();
}
}
【问题讨论】: