@@ -8,33 +8,27 @@ export class NamedGraphDataset extends DatasetWrapper {
88 }
99
1010 override get size ( ) : number {
11- return super . match ( undefined , undefined , undefined , this . graph ) . size
11+ return this . subGraph . size
1212 }
1313
1414 override * [ Symbol . iterator ] ( ) : Iterator < Quad > {
15- for ( const quad of super . match ( undefined , undefined , undefined , this . graph ) ) {
16- yield this . factory . quad ( quad . subject , quad . predicate , quad . object )
15+ for ( const quad of this . subGraph ) {
16+ yield this . asDefault ( quad )
1717 }
1818 }
1919
2020 override add ( quad : Quad ) : this {
21- ensureDefaultGraph ( quad )
22-
23- super . add ( this . factory . quad ( quad . subject , quad . predicate , quad . object , this . graph ) )
21+ super . add ( this . asNamed ( quad ) )
2422 return this
2523 }
2624
2725 override delete ( quad : Quad ) : this {
28- ensureDefaultGraph ( quad )
29-
30- super . delete ( this . factory . quad ( quad . subject , quad . predicate , quad . object , this . graph ) )
26+ super . delete ( this . asNamed ( quad ) )
3127 return this
3228 }
3329
3430 override has ( quad : Quad ) : boolean {
35- ensureDefaultGraph ( quad )
36-
37- return super . has ( this . factory . quad ( quad . subject , quad . predicate , quad . object , this . graph ) )
31+ return super . has ( this . asNamed ( quad ) )
3832 }
3933
4034 override match ( subject ?: Term , predicate ?: Term , object ?: Term , graph ?: Term ) : DatasetCore {
@@ -44,4 +38,18 @@ export class NamedGraphDataset extends DatasetWrapper {
4438
4539 return new NamedGraphDataset ( this . graph , super . match ( subject , predicate , object , this . graph ) , this . factory )
4640 }
41+
42+ private get subGraph ( ) : DatasetCore {
43+ return super . match ( undefined , undefined , undefined , this . graph ) ;
44+ }
45+
46+ private asNamed ( quad : Quad ) : Quad {
47+ ensureDefaultGraph ( quad )
48+
49+ return this . factory . quad ( quad . subject , quad . predicate , quad . object , this . graph )
50+ }
51+
52+ private asDefault ( quad : Quad ) : Quad {
53+ return this . factory . quad ( quad . subject , quad . predicate , quad . object ) ;
54+ }
4755}
0 commit comments