@@ -20,16 +20,63 @@ function query( queryString ){
2020// executes an update query
2121const update = query ;
2222
23+ function sparqlEscapeString ( value ) {
24+ return '"' + value . replace ( / [ \\ " ' ] / , function ( match ) { return '\\' + match } ) + '"' ;
25+ } ;
26+
27+ function sparqlEscapeUri ( value ) {
28+ return '<' + value . replace ( / [ \\ " ' ] / , function ( match ) { return '\\' + match } ) + '>' ;
29+ } ;
30+
31+ function sparqlEscapeInt ( value ) {
32+ return '"' + Number . parseInt ( value ) + '"^^xsd:integer' ;
33+ } ;
34+
35+ function sparqlEscapeFloat ( value ) {
36+ return '"' + Number . parseFloat ( value ) + '"^^xsd:float' ;
37+ } ;
38+
39+ function sparqlEscapeDate ( value ) {
40+ return '"' + new Date ( value ) . toISOString ( ) + '"^^xsd:date' ;
41+ } ;
42+
43+ function sparqlEscapeDateTime ( value ) {
44+ return '"' + new Date ( value ) . toISOString ( ) + '"^^xsd:dateTime' ;
45+ } ;
46+
47+ function sparqlEscapeBool ( value ) {
48+ return value ? '"true"^^xsd:boolean' : '"false"^^xsd:boolean' ;
49+ } ;
2350
2451//==-- exports --==//
2552const exports = {
2653 newSparqlClient : newSparqlClient ,
2754 SPARQL : SPARQL ,
2855 sparql : SPARQL ,
2956 query : query ,
30- update : update
57+ update : update ,
58+ sparqlEscapeString : sparqlEscapeString ,
59+ sparqlEscapeUri : sparqlEscapeUri ,
60+ sparqlEscapeInt : sparqlEscapeInt ,
61+ sparqlEscapeFloat : sparqlEscapeFloat ,
62+ sparqlEscapeDate : sparqlEscapeDate ,
63+ sparqlEscapeDateTime : sparqlEscapeDateTime ,
64+ sparqlEscapeBool : sparqlEscapeBool
3165}
3266export default exports ;
3367
34- export { query , update , SPARQL as SPARQL , SPARQL as sparql , newSparqlClient } ;
68+ export {
69+ newSparqlClient ,
70+ SPARQL as SPARQL ,
71+ SPARQL as sparql ,
72+ query ,
73+ update ,
74+ sparqlEscapeString ,
75+ sparqlEscapeUri ,
76+ sparqlEscapeInt ,
77+ sparqlEscapeFloat ,
78+ sparqlEscapeDate ,
79+ sparqlEscapeDateTime ,
80+ sparqlEscapeBool
81+ } ;
3582
0 commit comments