我已经开始使用SPARQL和springboot进行项目。如何管理非常大的SPARSQL查询?在项目中实施它们的正确位置是什么?目前,我只是在Springbuilder中使用方法,并以字符串形式返回查询。
答案 0 :(得分:1)
将查询构造为String很好,只要在将任何用户提供的输入注入查询时非常小心 即可。
一种更安全的方法是使用查询构建器,例如RDF4J SparqlBuilder,因此您可以使用流利的API构建查询,例如像这样:
// SELECT ?product where { ?product a ex:book }
selectQuery.prefix(ex).select(product).where(product.isA(ex.iri("book"));
关于在项目中管理这些内容的位置,这取决于您使用的API的一部分,但是例如,假设您使用的是RDF4J,我通常会建议对{ {3}},并通过DAO pattern对象创建DAO类。