[英]How to import .owl file into eclipse using Jena and create instances of it
[英]Using Jena in Eclipse Plugin
我正在嘗試從eclipse插件中使用Jena庫。
如果我正常使用它,可以編寫如下代碼:
public static void main(String[] args) {
Query query = QueryFactory.create("SELECT * {} LIMIT 10");
// provider.disconnect(file);
QueryExecution qexec = QueryExecutionFactory.sparqlService(
"http://dbpedia.org/sparql", query);
switch (query.getQueryType()) {
case (Query.QueryTypeSelect): {
ResultSet results = qexec.execSelect();
ResultSetFormatter.out(System.out, results);
break;
}
default:
return;
}
}
但是,當我使用相同的代碼從Eclipse插件項目中執行sparql查詢(我在另一個Eclipse運行時中運行該插件)時,它不起作用。 甚至沒有例外。 調試器只是做一些奇怪的事情。 這是不起作用的代碼(它是ILaunchShortcut實現內部的方法):
public void launch(IFile file) {
MessageConsoleStream out = findConsole(CONSOLE_NAME).newMessageStream();
try {
provider.connect(file);
IDocument document = provider.getDocument(file);
String queryString = document.get();
provider.disconnect(file);
out.println(queryString);
Query query = QueryFactory.create(queryString);
// provider.disconnect(file);
QueryExecution qexec = QueryExecutionFactory.sparqlService(
"http://dbpedia.org/sparql", query);
switch (query.getQueryType()) {
case (Query.QueryTypeSelect): {
ResultSet results = qexec.execSelect();
ResultSetFormatter.out(out, results);
break;
}
default:
return;
}
} catch (CoreException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
在語句Query query = QueryFactory.create(queryString);
調試器進入“ EventTable.class”類,並執行一些奇怪的操作。 然后以“ org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine”的循環結束。 我不知道為什么和發生了什么。
我只是發現正在進行某種錯誤處理。 該錯誤說:“ parsers.FactoryConfigurationError:無法創建類javax.xml.parsers.DocumentBuilderFactory的提供者”
在網上進行了一些研究之后,我發現必須將javax.xml包添加到我的Jena Wrapper插件項目的依賴項中。 現在可以正常工作了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.