sparqlalgebrajs
Advanced tools
Comparing version 0.7.4 to 0.7.5
@@ -13,2 +13,3 @@ import * as rdfjs from "rdf-js"; | ||
FILTER: string; | ||
FROM: string; | ||
GRAPH: string; | ||
@@ -113,2 +114,7 @@ GROUP: string; | ||
} | ||
export interface From extends Single { | ||
type: 'from'; | ||
default: rdfjs.Term[]; | ||
named: rdfjs.Term[]; | ||
} | ||
export interface Filter extends Single { | ||
@@ -115,0 +121,0 @@ type: 'filter'; |
@@ -16,2 +16,3 @@ "use strict"; | ||
FILTER: 'filter', | ||
FROM: 'from', | ||
GRAPH: 'graph', | ||
@@ -18,0 +19,0 @@ GROUP: 'group', |
@@ -15,2 +15,3 @@ import * as A from './algebra'; | ||
createExtend(input: A.Operation, variable: RDF.Variable, expression: A.Expression): A.Extend; | ||
createFrom(input: A.Operation, def: RDF.Term[], named: RDF.Term[]): A.From; | ||
createFilter(input: A.Operation, expression: A.Expression): A.Filter; | ||
@@ -17,0 +18,0 @@ createGraph(input: A.Operation, name: RDF.Term): A.Graph; |
@@ -23,2 +23,3 @@ "use strict"; | ||
createExtend(input, variable, expression) { return { type: 'extend', input, variable, expression }; } | ||
createFrom(input, def, named) { return { type: 'from', input, default: def, named }; } | ||
createFilter(input, expression) { return { type: 'filter', input, expression }; } | ||
@@ -25,0 +26,0 @@ createGraph(input, name) { return { type: 'graph', input, name }; } |
@@ -40,2 +40,3 @@ "use strict"; | ||
case types.EXTEND: return translateExtend(op); | ||
case types.FROM: return translateFrom(op); | ||
case types.FILTER: return translateFilter(op); | ||
@@ -192,2 +193,12 @@ case types.GRAPH: return translateGraph(op); | ||
} | ||
function translateFrom(op) { | ||
let result = translateOperation(op.input); | ||
// project is nested in group object | ||
let obj = result.patterns[0]; | ||
obj.from = { | ||
default: op.default.map(translateTerm), | ||
named: op.named.map(translateTerm) | ||
}; | ||
return result; | ||
} | ||
function translateFilter(op) { | ||
@@ -194,0 +205,0 @@ return { |
@@ -410,2 +410,4 @@ "use strict"; | ||
res = factory.createDescribe(res, Array.from(PV)); | ||
if (query.from) | ||
res = factory.createFrom(res, query.from.default.map(factory.createTerm.bind(factory)), query.from.named.map(factory.createTerm.bind(factory))); | ||
return res; | ||
@@ -412,0 +414,0 @@ } |
{ | ||
"name": "sparqlalgebrajs", | ||
"version": "0.7.4", | ||
"version": "0.7.5", | ||
"description": "Convert SPARQL to SPARL algebra", | ||
@@ -5,0 +5,0 @@ "author": "Joachim Van Herwegen", |
@@ -7,2 +7,4 @@ # SPARQL to SPARQL Algebra converter | ||
Note that this is still a work in progress so naming conventions could change. | ||
There is also support for 'non-algebra' entities such as ASK, FROM, etc. | ||
to make sure the output contains all relevant information from the query. | ||
@@ -9,0 +11,0 @@ ## Translate |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
58950
1458
133