@jahed/sparql-engine
Version:
SPARQL query engine for servers and web browsers.
34 lines (33 loc) • 1.78 kB
TypeScript
import type { BgpPattern, ClearDropOperation, CopyMoveAddOperation, InsertDeleteOperation, Triple } from "sparqljs";
import Dataset from "../../rdf/dataset.ts";
/**
* Rewrite an ADD query into a INSERT query
* @see https://www.w3.org/TR/2013/REC-sparql11-update-20130321/#add
* @param addQuery - Parsed ADD query
* @param dataset - related RDF dataset
* @return Rewritten ADD query
*/
export declare function rewriteAdd(addQuery: CopyMoveAddOperation, dataset: Dataset): InsertDeleteOperation;
/**
* Rewrite a COPY query into a CLEAR + INSERT/DELETE query
* @see https://www.w3.org/TR/2013/REC-sparql11-update-20130321/#copy
* @param copyQuery - Parsed COPY query
* @param dataset - related RDF dataset
* @return Rewritten COPY query, i.e., a sequence [CLEAR query, INSERT query]
*/
export declare function rewriteCopy(copyQuery: CopyMoveAddOperation, dataset: Dataset): [ClearDropOperation, InsertDeleteOperation];
/**
* Rewrite a MOVE query into a CLEAR + INSERT/DELETE + CLEAR query
* @see https://www.w3.org/TR/2013/REC-sparql11-update-20130321/#move
* @param moveQuery - Parsed MOVE query
* @param dataset - related RDF dataset
* @return Rewritten MOVE query, i.e., a sequence [CLEAR query, INSERT query, CLEAR query]
*/
export declare function rewriteMove(moveQuery: CopyMoveAddOperation, dataset: Dataset): [ClearDropOperation, InsertDeleteOperation, ClearDropOperation];
/**
* Extract property paths triples and classic triples from a set of RDF triples.
* It also performs a first rewriting of some property paths.
* @param bgp - Set of RDF triples
* @return A tuple [classic triples, triples with property paths, set of variables added during rewriting]
*/
export declare function extractPropertyPaths(bgp: BgpPattern): [Triple[], Triple[]];