@@ -41,40 +41,76 @@ export function variable () {
4141}
4242
4343export function graph ( ) {
44- return {
45- any : ( ) => {
46- return sym ( )
47- } ,
48- each : ( ) => {
49- return [ ]
50- } ,
51- match : ( ) => {
52- return [ ]
53- } ,
54- query : ( ) => {
55- return [ ]
56- } ,
57- fetcher : {
58- load : ( ) => { } ,
59- nowOrWhenFetched : ( ) => Promise . resolve ( )
60- } ,
61- findTypeURIs : ( ) => {
62- return [ ]
63- } ,
64- findSuperClassesNT : ( ) => {
65- return [ ]
66- } ,
67- bottomTypeURIs : ( ) => {
68- return [ ]
69- } ,
70- statementsMatching : ( ) => {
71- return [ ]
72- } ,
73- sym
44+ return new Graph ( )
45+ }
46+ class Graph {
47+ mockStatements
48+ fetcher
49+ constructor ( ) {
50+ this . mockStatements = [ ]
51+ this . fetcher = new Fetcher ( )
52+ }
53+ any ( ) {
54+ return sym ( )
55+ }
56+ // see https://linkeddata.github.io/rdflib.js/doc/classes/indexedformula.html#each
57+ each ( s , p , o , g ) {
58+ console . log ( 'each' , s , p , o , g , this . mockStatements )
59+ if ( s === undefined ) {
60+ console . log ( 'getting subjects' )
61+ return this . mockStatements
62+ . filter ( statement => p . uri === statement . p . uri )
63+ . filter ( statement => o . uri === statement . o . uri )
64+ . filter ( statement => g . uri === statement . g . uri )
65+ . map ( statement => statement . s )
66+ }
67+ if ( p === undefined ) {
68+ return this . mockStatements
69+ . filter ( statement => s . uri === statement . s . uri )
70+ . filter ( statement => o . uri === statement . o . uri )
71+ . filter ( statement => g . uri === statement . g . uri )
72+ . map ( statement => statement . p )
73+ }
74+ if ( o === undefined ) {
75+ return this . mockStatements
76+ . filter ( statement => s . uri === statement . s . uri )
77+ . filter ( statement => p . uri === statement . p . uri )
78+ . filter ( statement => g . uri === statement . g . uri )
79+ . map ( statement => statement . o )
80+ }
81+ if ( g === undefined ) {
82+ return this . mockStatements
83+ . filter ( statement => s . uri === statement . s . uri )
84+ . filter ( statement => p . uri === statement . p . uri )
85+ . filter ( statement => o . uri === statement . o . uri )
86+ . map ( statement => statement . g )
87+ }
88+ }
89+ match ( ) {
90+ return [ ]
91+ }
92+ query ( ) {
93+ return [ ]
94+ }
95+ findTypeURIs ( ) {
96+ return [ ]
97+ }
98+ findSuperClassesNT ( ) {
99+ return [ ]
100+ }
101+ bottomTypeURIs ( ) {
102+ return [ ]
103+ }
104+ statementsMatching ( ) {
105+ return [ ]
106+ }
107+ sym ( ) {
108+ return sym ( )
74109 }
75110}
111+
76112export function fetcher ( ) {
77- return { }
113+ return new Fetcher ( )
78114}
79115export class Fetcher {
80116 requested : any
@@ -83,9 +119,14 @@ export class Fetcher {
83119 }
84120 load ( ) {
85121 }
122+ nowOrWhenFetched ( ) {
123+ return Promise . resolve ( )
124+ }
86125}
87- export function namedNode ( ) {
88- return { }
126+ export function namedNode ( str : string ) {
127+ return {
128+ uri : str
129+ }
89130}
90131export function NamedNode ( ) {
91132}
@@ -94,4 +135,5 @@ export function Namespace() {
94135}
95136export class UpdateManager {
96137 editable ( ) { }
138+ update ( ) { }
97139}
0 commit comments