From 13e317fe33ca115deee94b870a508d14b63d8a5d Mon Sep 17 00:00:00 2001 From: Ruben Taelman Date: Thu, 30 May 2019 19:56:04 +0200 Subject: [PATCH] Make N3 Store implement RDFJS Store (#35813) --- types/n3/index.d.ts | 11 ++++------- types/n3/n3-tests.ts | 2 ++ types/rdf-js/index.d.ts | 2 +- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/types/n3/index.d.ts b/types/n3/index.d.ts index 60df059a71..566de9f396 100644 --- a/types/n3/index.d.ts +++ b/types/n3/index.d.ts @@ -1,10 +1,10 @@ -// Type definitions for N3 1.0 +// Type definitions for N3 1.1 // Project: https://github.com/rdfjs/n3.js // Definitions by: Fred Eisele // Ruben Taelman // Laurens Rietveld // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// TypeScript Version: 2.3 +// TypeScript Version: 2.4 /// @@ -205,9 +205,9 @@ export interface StreamWriterConstructor { } export const StreamWriter: StreamWriterConstructor; -export interface N3StreamWriter extends NodeJS.ReadWriteStream, RDF.Source {} +export interface N3StreamWriter extends NodeJS.ReadWriteStream, RDF.Source {} -export interface N3Store extends RDF.Sink { +export interface N3Store extends RDF.Store { readonly size: number; addQuad(subject: Q_RDF['subject'], predicate: Q_RDF['predicate'], object: Q_RDF['object'] | Array, graph?: Q_RDF['graph'], done?: () => void): void; addQuad(quad: Q_RDF): void; @@ -229,9 +229,6 @@ export interface N3Store; forGraphs(callback: QuadCallback, subject: OTerm, predicate: OTerm, object: OTerm): void; createBlankNode(suggestedName?: string): BlankNode; - - // match, removeMatches and deleteGraph are missing for full RDF.Store adherence - remove(stream: stream.Stream): EventEmitter; } export interface StoreConstructor { new (triples?: Q_RDF[], options?: StoreOptions): N3Store; diff --git a/types/n3/n3-tests.ts b/types/n3/n3-tests.ts index 853308cbba..47d6a5885d 100644 --- a/types/n3/n3-tests.ts +++ b/types/n3/n3-tests.ts @@ -198,6 +198,8 @@ function test_doc_storing() { } console.log(mickey.subject, mickey.predicate, mickey.object, '.'); + const quadStream: RDF.Stream = store.match(N3.DataFactory.namedNode('http://ex.org/Mickey')); + interface N3QuadGeneralized extends N3.BaseQuad { subject: N3.Quad_Subject | N3.BlankNode | N3.Literal; predicate: N3.Quad_Predicate | N3.BlankNode | N3.Literal; diff --git a/types/rdf-js/index.d.ts b/types/rdf-js/index.d.ts index 964f042134..a72463ae36 100644 --- a/types/rdf-js/index.d.ts +++ b/types/rdf-js/index.d.ts @@ -385,7 +385,7 @@ export interface Sink { * * Access to stores LDP or SPARQL endpoints can be implemented with a Store inteface. */ -export interface Store extends Source, Sink { +export interface Store extends Source, Sink { /** * Removes all streamed quads. *