UNPKG

@netwerk-digitaal-erfgoed/ld-workbench

Version:

LDWorkbench is a Linked Data Transformation tool designed to use only SPARQL as transformation language.

24 lines 904 B
import chalk from 'chalk'; import fs from 'fs'; import { Parser } from 'sparqljs'; export default function getSPARQLQuery(queryStringOrFile, type) { const query = queryStringOrFile.startsWith('file://') ? readQueryFromFile(queryStringOrFile) : queryStringOrFile; const parsed = new Parser().parse(query); if (parsed.type !== 'query') { throw new Error(`Unexpected querytype ${parsed.type}`); } if (parsed.queryType.toLowerCase() === type) { return parsed; } throw new Error(`Unexpected querytype ${parsed.queryType}`); } function readQueryFromFile(file) { const fileName = file.replace('file://', ''); if (!fs.existsSync(fileName) || !fs.statSync(fileName).isFile()) { throw new Error(`File not found: ${chalk.italic(fileName)}`); } return fs.readFileSync(fileName, 'utf-8'); } //# sourceMappingURL=getSPARQLQuery.js.map