首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用FactForge返回错误查询RDF4J Sparql端点

使用FactForge返回错误查询RDF4J Sparql端点
EN

Stack Overflow用户
提问于 2018-08-27 13:54:41
回答 1查看 107关注 0票数 1

我试图使用RDF4J查询Factforge端点,但收到了一个错误。

我在Maven中使用了RDF4J V: 2.3.2。

我在Java上将代理设置设置为:

代码语言:javascript
复制
    System.setProperty("https.proxyHost", PROXY_HOST);
    System.setProperty("https.proxyPort", PROXY_PORT);
    System.setProperty("http.proxyHost", PROXY_HOST);
    System.setProperty("http.proxyPort", PROXY_PORT);

这是我的代码:

代码语言:javascript
复制
SPARQLRepository repo = new SPARQLRepository("http://factforge.net/sparql");
repo.initialize();
try (RepositoryConnection conn = repo.getConnection()) {
            String queryStringA = "SELECT ?s ?p WHERE { ?s ?p ?o } ";

            TupleQuery query = conn.prepareTupleQuery(QueryLanguage.SPARQL, queryStringA);
            try (TupleQueryResult result = query.evaluate()) {
                while (result.hasNext()) { // iterate over the result
                    BindingSet bindingSet = result.next();
                    Value valueOfX = bindingSet.getValue("s");
                    Value valueOfY = bindingSet.getValue("p");
                    System.out.println(valueOfX);
                    System.out.println(valueOfY);
                }
            }
}

我得到以下错误:

线程"main“org.eclipse.rdf4j.query.QueryEvaluationException:中的异常未能获得服务器协议;此服务器上没有这样的资源:http://factforge.net/sparql?query=SELECT+%3Fs+%3Fp+WHERE+%7B+%3Fs+%3Fp+%3Fo+%7D+

我很感谢你的帮助。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-27 22:12:14

您使用了错误的端点URL。根据Factforge概述,Factforge的SPARQL端点位于http://factforge.net/repositories/ff-news

除此之外,请注意,您正在执行的查询是“给我您的所有三元组”。Factforge有很多三倍,所以结果将是巨大的,执行它将消耗Factforge服务器上的大量资源。您的查询可能超时,或者Factforge可能拒绝执行它。

如果您的目标仅仅是测试SPARQL查询是否有效,最好将类似于LIMIT约束的内容放在其中:

代码语言:javascript
复制
 String queryStringA = "SELECT ?s ?p WHERE { ?s ?p ?o } LIMIT 10";
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52040959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档