0

嗨,我想从我暴露的休息服务中接受 sparql,用于用户想要发出的即席查询。我当前的框架基于 spring data rest 和 jpa,它为暴露基于 HAL 的端点完成了大部分繁重的工作,但我需要提供这个额外的钩子让用户进行自定义查询。周围是否有任何有效的 sparql 解析器(这里提到了一些用于 Java 代码的 SPARQL 解析器),我可以使用它来读取 sparql 词汇并将其转换为基于 JPA 的条件查询,以便在我的数据库上执行后端。

我正在尝试使用 apache jina arq,但有没有人有一个使用这些来解析 sparql 然后尝试将其转换为 sql 的示例。

使用我正在做的 apache jena

    String queryString = "PREFIX books:  <http://example.org/book/> PREFIX dc:  <http://purl.org/dc/elements/1.1/>"
        + " SELECT ?book ?title WHERE { ?book dc:title ?title}";
    Query query = QueryFactory.create(queryString);
    Op op = Algebra.compile(query);

现在我想用一个访问者遍历该 Op 以使用它来将其转换为 Sql 。我已经尝试过 OpWalker.walk(op, new EventSparqlVisitor()); 但它并没有遍历所有内容以生成查询..任何帮助

4

0 回答 0