@@ -14,10 +14,9 @@ class Datasource extends EventEmitter {
14
14
15
15
// Set the options
16
16
options = options || { } ;
17
- let urlData = options . urlData || new UrlData ( ) ;
17
+ this . urlData = options . urlData || new UrlData ( ) ;
18
18
let path = ( options . path || '' ) . replace ( / ^ \/ / , '' ) ;
19
- this . _datasourcePath = urlData . baseURLPath + encodeURI ( path ) ;
20
- this . _blankNodePrefix = urlData . blankNodePath || 'genid:' ;
19
+ this . _datasourcePath = this . urlData . baseURLPath + encodeURI ( path ) ;
21
20
this . _skolemizeBlacklist = options . skolemizeBlacklist || { } ;
22
21
this . title = options . title ;
23
22
this . id = options . id ;
@@ -27,14 +26,12 @@ class Datasource extends EventEmitter {
27
26
this . hide = true ;
28
27
this . description = options . description ;
29
28
this . path = this . _datasourcePath ;
30
- this . url = urlData . baseURLRoot + this . _datasourcePath + '#dataset' ;
29
+ this . url = this . urlData . baseURLRoot + this . _datasourcePath + '#dataset' ;
31
30
this . license = options . license ;
32
31
this . licenseUrl = options . licenseUrl ;
33
32
this . copyright = options . copyright ;
34
33
this . homepage = options . homepage ;
35
34
this . _request = options . request || require ( 'request' ) ;
36
- this . _blankNodePrefix = options . blankNodePrefix || this . _blankNodePrefix ;
37
- this . _blankNodePrefixLength = this . _blankNodePrefix . length ;
38
35
this . dataFactory = options . dataFactory ;
39
36
if ( options . graph ) {
40
37
this . _graph = this . dataFactory . namedNode ( options . graph ) ;
@@ -121,12 +118,12 @@ class Datasource extends EventEmitter {
121
118
query = { ...query } ;
122
119
123
120
// Translate blank nodes IRIs in the query to blank nodes
124
- let blankNodePrefix = this . _blankNodePrefix , blankNodePrefixLength = this . _blankNodePrefixLength ;
125
- if ( query . subject && query . subject . value . indexOf ( blankNodePrefix ) === 0 )
121
+ let blankNodePrefix = this . urlData . blankNodePrefix , blankNodePrefixLength = this . urlData . blankNodePrefixLength ;
122
+ if ( query . subject && query . subject . termType === 'NamedNode' && query . subject . value . indexOf ( blankNodePrefix ) === 0 )
126
123
query . subject = this . dataFactory . blankNode ( query . subject . value . substr ( blankNodePrefixLength ) ) ;
127
- if ( query . object && query . object . value . indexOf ( blankNodePrefix ) === 0 )
124
+ if ( query . object && query . object . termType === 'NamedNode' && query . object . value . indexOf ( blankNodePrefix ) === 0 )
128
125
query . object = this . dataFactory . blankNode ( query . object . value . substr ( blankNodePrefixLength ) ) ;
129
- if ( query . graph && query . graph . value . indexOf ( blankNodePrefix ) === 0 )
126
+ if ( query . graph && query . graph . termType === 'NamedNode' && query . graph . value . indexOf ( blankNodePrefix ) === 0 )
130
127
query . graph = this . dataFactory . blankNode ( query . graph . value . substr ( blankNodePrefixLength ) ) ;
131
128
132
129
// Force the default graph if QPF support is disable
0 commit comments