项目中的sparql查询
sparql queries in project
我已经开始使用 SPARQL 和 springboot 进行项目工作。如何管理非常大的 SPARSQL 查询?在项目中实施它们的正确位置是什么?目前我只是将方法与 Springbuilder 一起使用,并将查询作为字符串返回。
将您的查询构建为一个字符串是可以的,只要您在将任何用户提供的输入注入您的查询时非常小心。
更安全的方法是使用查询构建器,例如 RDF4J SparqlBuilder,这样您就可以流畅地构建查询 API,例如像这样:
// SELECT ?product where { ?product a ex:book }
selectQuery.prefix(ex).select(product).where(product.isA(ex.iri("book"));
至于在项目中的什么地方管理这些东西,这在一定程度上取决于您使用的 APIs,但假设您使用的是 RDF4J, for example, I would typically recommend some variation of a DAO pattern, and creating your DAO class by means of a repository (connection) wrapper 对象。
我已经开始使用 SPARQL 和 springboot 进行项目工作。如何管理非常大的 SPARSQL 查询?在项目中实施它们的正确位置是什么?目前我只是将方法与 Springbuilder 一起使用,并将查询作为字符串返回。
将您的查询构建为一个字符串是可以的,只要您在将任何用户提供的输入注入您的查询时非常小心。
更安全的方法是使用查询构建器,例如 RDF4J SparqlBuilder,这样您就可以流畅地构建查询 API,例如像这样:
// SELECT ?product where { ?product a ex:book }
selectQuery.prefix(ex).select(product).where(product.isA(ex.iri("book"));
至于在项目中的什么地方管理这些东西,这在一定程度上取决于您使用的 APIs,但假设您使用的是 RDF4J, for example, I would typically recommend some variation of a DAO pattern, and creating your DAO class by means of a repository (connection) wrapper 对象。