HttpException:400-Jena Api-Java
我尝试使用Java中的Jena Api运行此查询HttpException:400-Jena Api-Java,java,rdf,sparql,jena,Java,Rdf,Sparql,Jena,我尝试使用Java中的Jena Api运行此查询 前缀rdf: 选择distinct?p,其中{ ?s?p?o。 { 选择{ 这是一个好主意。 } 限制10 } } 我收到以下错误消息: 线程“main”中的异常HttpException:400 位于com.hp.hpl.jena.sparql.engine.http.HttpQuery.rewrap(HttpQuery.java:414) 位于com.hp.hpl.jena.sparql.engine.http.HttpQuery.exec
前缀rdf:
选择distinct?p,其中{
?s?p?o。
{
选择{
这是一个好主意。
}
限制10
}
}
我收到以下错误消息:
线程“main”中的异常HttpException:400
位于com.hp.hpl.jena.sparql.engine.http.HttpQuery.rewrap(HttpQuery.java:414)
位于com.hp.hpl.jena.sparql.engine.http.HttpQuery.execGet(HttpQuery.java:358)
位于com.hp.hpl.jena.sparql.engine.http.HttpQuery.exec(HttpQuery.java:295)
我认为这可能与LinkedMDB端点在SPARQL 1.0下运行有关,SPARQL 1.0不支持子查询(仅在SPARQL 1.0中)。我想知道是否有替代方法,我尝试运行了两个查询,第一个用于前10部电影,第二个用于描述这些电影的不同属性。但问题是我得到的是每部电影的不同属性,而不是所有电影,而我想得到的是前10部电影的不同属性。有什么建议吗
SPARQL查询在DBpedia端点上工作得非常好。我不认为LinkedMDB端点是基于virtuoso的。webapp端点at由D2R服务器提供动力,而实际的webservice at报告由Jetty提供动力。这并不意味着在某个地方不可能有演奏家,但我不认为它是以演奏家为基础的。更权威的说法是: LinkedMDB使用D2R服务器发布链接的开放数据 LinkedMDB页面的版权日期是2008年,当然是在2013年SPARQL 1.1之前,但更接近于原始的SPARQL的2008年 DR2服务器将为SPARQL 1.1提供初步支持,但我认为这还没有应用到LinkedMDB站点。根据其他人的经验,LinkedMDB端点不支持SPARQL 1.1:
select distinct?p{s?p?o{select?s{s a}limit 10}
(我还使用了缩写a
,而不是rdf:type
,它保存了一个前缀声明,并使文本更清晰一些。)如果一次查询得到10部电影,它不起作用吗,然后为每部电影运行选择*where{?p?o.}
?我确实试过了。我得到了每部电影的独特属性。但是我需要的是描述这10部电影的不同属性。但是我认为在这种情况下过滤是没有帮助的。@user5482015我不知道你说的过滤是什么意思。过滤没有什么问题;只是一些可能更有效的事情可以用不同的方式来做。但这与LinkedMDB是否支持SPARQL 1.1.ah无关。我以为你发送链接是为了解决问题。