Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HttpException:400-Jena Api-Java_Java_Rdf_Sparql_Jena - Fatal编程技术网

HttpException:400-Jena Api-Java

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

我尝试使用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.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无关。我以为你发送链接是为了解决问题。