请帮帮我... 我在Android Studio中使用ARQoid,我从ARQoid项目中导入了所有jar。
代码如下。 sparql查询没问题,我测试了端点。
String sparqlEndpoint = "http://XXX/sparql";
String sparqlQuery = "PREFIX bf: <http://bibframe.org/vocab/> "
+ "SELECT * "
+ "WHERE {?s ?p ?o. "
+ "?s bf:label ?u. "
+ "filter (lang(?u) = \"chs\" && regex(?u,\"^k\")).}";
// create the Jena query using the ARQ syntax (has additional support for SPARQL federated queries)
Query query = QueryFactory.create(sparqlQuery, Syntax.syntaxARQ);
这一行“查询查询= QueryFactory.create(sparqlQuery,Syntax.syntaxARQ);”是我收到错误的地方
完整的错误在这里:
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.hp.hpl.jena.rdf.model.ResourceFactory$Impl.createProperty(ResourceFactory.java:245)
at com.hp.hpl.jena.rdf.model.ResourceFactory.createProperty(ResourceFactory.java:121)
at com.hp.hpl.jena.vocabulary.RDF.property(RDF.java:32)
at com.hp.hpl.jena.vocabulary.RDF.<clinit>(RDF.java:45)
at com.hp.hpl.jena.sparql.ARQConstants.<clinit>(ARQConstants.java:31)
at com.hp.hpl.jena.query.ARQ.<clinit>(ARQ.java:40)
at com.hp.hpl.jena.query.Query.<clinit>(Query.java:54)
at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:71)
at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:43)
at shldata.getNames(shldata.java:29)
at shldata.main(shldata.java:55)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
Caused by: java.lang.RuntimeException: Stub!
at android.util.Log.i(Log.java:9)
at org.slf4j.impl.AndroidLoggerFactory.getLogger(AndroidLoggerFactory.java:69)
at org.slf4j.impl.AndroidLoggerFactory.getLogger(AndroidLoggerFactory.java:44)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:242)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:254)
at com.hp.hpl.jena.rdf.model.impl.PropertyImpl.<clinit>(PropertyImpl.java:64)
... 16 more
答案 0 :(得分:0)
您的日志记录设置似乎失败了:
Caused by: java.lang.RuntimeException: Stub!
at android.util.Log.i(Log.java:9)
at org.slf4j.impl.AndroidLoggerFactory.getLogger(AndroidLoggerFactory.java:69)
你需要放入一个slf4j提供者(默认的“print to system.err”可能工作得很好 - Jena默认不打印任何东西)。
答案 1 :(得分:0)
您需要在Android设备或模拟器上将您的应用作为Android应用程序运行。如果它具有任何Android依赖项,则无法将其作为常规Java应用程序运行。
异常消息
Caused by: java.lang.RuntimeException: Stub!
来自Android平台JAR存根的版本,适用于编译但不能在运行时使用。