n3 2.13.8 → 2.13.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -326,6 +326,9 @@ const streamParser = new N3.StreamParser(),
326
326
 
327
327
  ## Writing
328
328
 
329
+ `N3.Writer` writes each quad as it arrives, so it cannot write N3 formulas (graphs used as terms).
330
+ For full writing, including formulas, use [n3-full-writer](https://github.com/jeswr/n3-full-writer).
331
+
329
332
  ### From quads to a string
330
333
 
331
334
  `N3.Writer` serializes quads as an RDF document.
@@ -620,6 +623,10 @@ They are maintained separately from N3.js; please report issues with them in the
620
623
  | [n3.js-messages](https://www.npmjs.com/package/n3.js-messages) | Parses and writes [RDF Messages](https://w3c-cg.github.io/rsp/spec/messages) (message-delimited Turtle, TriG, N-Triples and N-Quads). |
621
624
  | [@jeswr/n3-provenance](https://github.com/jeswr/n3-provenance) | Experimental. Maps the terms of parsed quads back to their source positions in the input document. Terms that the parser generates, such as list nodes and reification scaffolding, have no position. It builds on the parser's `onToken` and `onTokenEnd` callbacks, but also subclasses private parser and index internals, so it is pinned to a specific N3.js revision. |
622
625
  | [n3-match-bgp](https://github.com/jeswr/n3-match-bgp) | Experimental. Matches basic graph patterns against a `Store`, or any RDF/JS dataset, and yields RDF/JS `Bindings`. It is being worked on as a consideration for the RDF/JS specifications, and will only move into N3.js if it lands there. On a `Store`, it joins on private index internals for speed. |
626
+ | [n3-full-writer](https://github.com/jeswr/n3-full-writer) | Experimental. Writes complete N3 documents, including formulas, by holding back the statements that use formulas until the end. It was proposed for N3.js in [#822](https://github.com/rdfjs/N3.js/pull/822). It extends `N3.Writer` and overrides private writer methods. |
627
+
628
+ Features intended for N3.js itself are considered once their specification is settled.
629
+ If you would like to see one of these packages in N3.js, please open an issue or discussion.
623
630
 
624
631
  To list a package here, open a pull request that adds a row to this table.
625
632
 
@@ -20,7 +20,7 @@ var nu=Object.create;var ur=Object.defineProperty,su=Object.defineProperties,ou=
20
20
  `:"",r)}_createPrefixRegex(){let e="",r="";for(let i in this._prefixPatterns){let[n,s]=this._prefixPatterns[i];e+=e?`|${n}`:n,r+=r?`|${s}`:s}return this._prefixRegex=new RegExp(`^(${e})([_a-zA-Z0-9](?:\\.?[\\-_a-zA-Z0-9])*)$|^(?:${r})`)}blank(e,r){let i=e,n,s;switch(e===void 0?i=[]:e.termType?i=[{predicate:e,object:r}]:"length"in e||(i=[e]),s=i.length){case 0:return new Ve("[]");case 1:if(n=i[0],!(n.object instanceof Ve))return new Ve(`[ ${this._encodePredicate(n.predicate)} ${this._encodeObject(n.object)} ]`);default:let o="[";for(let a=0;a<s;a++)n=i[a],n.predicate.equals(e)?o+=`, ${this._encodeObject(n.object)}`:(o+=`${(a?`;
21
21
  `:`
22
22
  `)+this._encodePredicate(n.predicate)} ${this._encodeObject(n.object)}`,e=n.predicate);return new Ve(`${o}
23
- ]`)}}list(e){let r=e&&e.length||0,i=new Array(r);for(let n=0;n<r;n++)i[n]=this._encodeObject(e[n]);return new Ve(`(${i.join(" ")})`)}end(e){this._endStatement(),this._write=this._blockedWrite;let r=e&&((i,n)=>{r=null,e(i,n)});if(this._endStream)try{return this._outputStream.end(r)}catch(i){}r&&r()}};function Ju(t){let e=ys[t];return e===void 0&&(t.length===1?(e=t.charCodeAt(0).toString(16),e="\\u0000".substr(0,6-e.length)+e):(e=((t.charCodeAt(0)-55296)*1024+t.charCodeAt(1)+9216).toString(16),e="\\U00000000".substr(0,10-e.length)+e)),e}function Xu(t){let e=ys[t];return e===void 0&&(e=t.charCodeAt(0).toString(16).toUpperCase(),e="\\u0000".substr(0,6-e.length)+e),e}var Xr=Zr(Yr());var Mt=Symbol("iter"),N=Symbol("size"),$n;function sb({store:t,observer:e}){let r=t.deref();r&&r._removeObserver(e)}function kn(t,e,r,i){let n=t&&t[e],s=n&&n[r];return!!s&&i in s}var ob=/^[?_"[.<]/;function Z(t){if(typeof t=="string")return t.charCodeAt(0)!==60||t==="<>"?t:`<${t}>`;let e=De(t);return e.charCodeAt(0)>=97||!t?e:t.termType==="Quad"?JSON.stringify(Xl(t)):t.termType!=="NamedNode"||!ob.test(t.value)?e:`<${t.value}>`}function Xl(t){let e=[Jr(t.subject),Jr(t.predicate),Jr(t.object)];return t.graph&&!se(t.graph)&&e.push(Jr(t.graph)),e}function Jr(t){return t.termType==="Quad"?Xl(t):Z(t)}var nr=class{constructor(e={}){this._id=1,this._ids=Object.create(null),this._ids[""]=1,this._entities=Object.create(null),this._entities[1]="",this._blankNodeIndex=0,this._factory=e.factory||Q}_termFromId(e){if(e[0]==="<")return this._factory.namedNode(e.substring(1,e.length-1));if(e[0]==="."){let r=this._entities,i=e.split(".");return this._factory.quad(this._termFromId(r[i[1]]),this._termFromId(r[i[2]]),this._termFromId(r[i[3]]),i[4]&&this._termFromId(r[i[4]]))}return Be(e,this._factory)}_termToNumericId(e){if(e.termType==="Quad"){let r=this._termToNumericId(e.subject),i=this._termToNumericId(e.predicate),n=this._termToNumericId(e.object),s;return r&&i&&n&&(se(e.graph)||(s=this._termToNumericId(e.graph)))&&this._ids[s?`.${r}.${i}.${n}.${s}`:`.${r}.${i}.${n}`]}return typeof e=="string"?this._stringToNumericId(e):this._ids[Z(e)]}_stringToNumericId(e){let r=this._ids[e];return(r?this._entities[r].charCodeAt(0)!==60:e.charCodeAt(0)!==60)||e==="<>"?r:this._ids[`<${e}>`]}_termToNewNumericId(e){if(typeof e=="string")return this._stringToNumericId(e)||this._addEntity(Z(e));let r=e&&e.termType==="Quad"?`.${this._termToNewNumericId(e.subject)}.${this._termToNewNumericId(e.predicate)}.${this._termToNewNumericId(e.object)}${se(e.graph)?"":`.${this._termToNewNumericId(e.graph)}`}`:Z(e);return this._ids[r]||this._addEntity(r)}_addEntity(e){return this._ids[this._entities[++this._id]=e]=this._id}createBlankNode(e){let r,i;if(e)for(r=e=`_:${e}`,i=1;this._ids[r];)r=e+i++;else do r=`_:b${this._blankNodeIndex++}`;while(this._ids[r]);return this._ids[r]=++this._id,this._entities[this._id]=r,this._factory.blankNode(r.substr(2))}};function Kl(t){return t instanceof we?t._size:null}var we=class t{constructor(e,r){this._size=0,this._graphs=Object.create(null),this._graphCount=0,this._observers=null,!r&&e&&!e[0]&&typeof e.match!="function"&&(r=e,e=null),r=r||{},this._factory=r.factory||Q,this._matchSemantics=Un(r.matchSemantics),this._entityIndex=r.entityIndex||new nr({factory:this._factory}),this._entities=this._entityIndex._entities,this._termFromId=this._entityIndex._termFromId.bind(this._entityIndex),this._termToNumericId=this._entityIndex._termToNumericId.bind(this._entityIndex),this._termToNewNumericId=this._entityIndex._termToNewNumericId.bind(this._entityIndex),e&&this.addAll(e)}get size(){return this._size===null&&(this._size=this.countQuads()),this._size}_addToIndex(e,r,i,n){let s=e[r];s||(e[r]=s={[N]:0},e[N]++);let o=s[i];o||(s[i]=o={[N]:0},s[N]++);let a=n in o;return a||(o[n]=null,o[N]++),!a}_removeFromIndex(e,r,i,n){let s=e[r],o=s[i];delete o[n],--o[N]===0&&(delete s[i],--s[N]===0&&(delete e[r],e[N]--))}*_findInIndex(e,r,i,n,s,o,a,l){let u=this._entities,f=this._termFromId(u[l]),c={subject:null,predicate:null,object:null};if(n){let h=e[r],b=h&&h[i];if(!b||!(n in b))return;c[s]=this._termFromId(u[r]),c[o]=this._termFromId(u[i]),c[a]=this._termFromId(u[n]),yield this._factory.quad(c.subject,c.predicate,c.object,f);return}if(r&&!(r in e))return;let d=r?null:Object.keys(e);for(let h=0,b=r||d[0];b;b=d&&d[++h]){let _=e[b];if(!_)continue;if(c[s]=this._termFromId(u[b]),i&&!(i in _))return;let y=i?null:Object.keys(_);for(let g=0,S=i||y[0];S;S=y&&y[++g]){let m=_[S];if(!m)continue;c[o]=this._termFromId(u[S]);let w=Object.keys(m);for(let x=0;x<w.length;x++)c[a]=this._termFromId(u[w[x]]),yield this._factory.quad(c.subject,c.predicate,c.object,f)}}}_loop(e,r){for(let i in e)r(i)}_loopByKey0(e,r,i){let n,s;if(n=e[r])for(s in n)i(s)}_loopByKey1(e,r,i){let n,s;for(n in e)s=e[n],s[r]&&i(n)}_loopBy2Keys(e,r,i,n){let s,o,a;if((s=e[r])&&(o=s[i]))for(a in o)n(a)}_loopByKey0Deep(e,r,i){let n,s,o,a;if(n=e[r])for(o in n){s=n[o];for(a in s)i(a)}}_countInIndex(e,r,i,n){let s=0,o,a;if(r){if(!(o=e[r]))return 0;if(i)return(a=o[i])?n?n in a?1:0:a[N]:0;let u=Object.keys(o);for(let f=0;f<u.length;f++)s+=o[u[f]][N];return s}let l=Object.keys(e);for(let u=0;u<l.length;u++){o=e[l[u]];let f=Object.keys(o);for(let c=0;c<f.length;c++)s+=o[f[c]][N]}return s}_getGraphs(e){return e=e===""?1:e&&(this._termToNumericId(e)||-1),typeof e!="number"?this._graphs:{[e]:this._graphs[e]}}_addObserver(e){let r=new WeakRef(e);return($n||($n=new FinalizationRegistry(sb))).register(e,{store:new WeakRef(this),observer:r},r),(this._observers||(this._observers=new Set)).add(r),r}_removeObserver(e){$n.unregister(e),this._observers&&(this._observers.delete(e),this._observers.size===0&&(this._observers=null))}_notifyObservers(e,r,i,n,s){for(let o of this._observers){let a=o.deref();a?a._onParentMutation(e,r,i,n,s):this._removeObserver(o)}}_uniqueEntities(e){let r=Object.create(null);return i=>{i in r||(r[i]=!0,e(this._termFromId(this._entities[i],this._factory)))}}add(e){return this.addQuad(e),this}addQuad(e,r,i,n){return r||(n=e.graph,i=e.object,r=e.predicate,e=e.subject),n=n?this._termToNewNumericId(n):1,e=this._termToNewNumericId(e),r=this._termToNewNumericId(r),i=this._termToNewNumericId(i),this._addQuad(e,r,i,n)}_addQuad(e,r,i,n){let s=this._graphs[n];if(s||(s=this._graphs[n]={subjects:{[N]:0},predicates:{[N]:0},objects:{[N]:0}},Object.freeze(s),this._graphCount++),this._observers!==null){if(kn(s.subjects,e,r,i))return!1;this._notifyObservers(e,r,i,n,!0)}return this._addToIndex(s.subjects,e,r,i)?(this._addToIndex(s.predicates,r,i,e),this._addToIndex(s.objects,i,e,r),this._size!==null&&this._size++,!0):!1}_addFromIndex(e,r=null){for(let i in e){let n=e[i].subjects,s=r&&r[i],o=s?s.subjects:null;for(let a in n){let l=Number(a),u=n[a],f=o&&o[a];for(let c in u){let d=Number(c),h=u[c],b=f&&f[c];for(let _ in h)(!b||!(_ in b))&&this._addQuad(l,d,Number(_),Number(i))}}}}_addIntersectionFromIndex(e,r){for(let i in e){let n=r[i];if(n){let s=e[i].subjects,o=n.subjects;o[N]<s[N]&&([s,o]=[o,s]);for(let a in s){let l=s[a],u=o[a];if(u){u[N]<l[N]&&([l,u]=[u,l]);for(let f in l){let c=l[f],d=u[f];if(d){d[N]<c[N]&&([c,d]=[d,c]);for(let h in c)h in d&&this._addQuad(Number(a),Number(f),Number(h),Number(i))}}}}}}}addQuads(e){for(let r=0;r<e.length;r++)this.addQuad(e[r])}delete(e){return this.removeQuad(e),this}has(e,r,i,n){if(e&&e.subject&&({subject:e,predicate:r,object:i,graph:n}=e),e&&r&&i&&n!==void 0&&n!==null){let s=this._termToNumericId(e),o=this._termToNumericId(r),a=this._termToNumericId(i),l=n===""||se(n)?1:this._termToNumericId(n),u=l&&this._graphs[l];return!!s&&!!o&&!!a&&!!u&&kn(u.subjects,s,o,a)}return!this.readQuads(e,r,i,n).next().done}import(e){return e.on("data",r=>{this.addQuad(r)}),e}removeQuad(e,r,i,n){return r||({subject:e,predicate:r,object:i,graph:n}=e),n=n?this._termToNumericId(n):1,!(e=e&&this._termToNumericId(e))||!(r=r&&this._termToNumericId(r))||!(i=i&&this._termToNumericId(i))?!1:this._removeQuad(e,r,i,n)}_removeQuad(e,r,i,n){let s=this._graphs,o=s[n];return!o||!kn(o.subjects,e,r,i)?!1:(this._observers!==null&&this._notifyObservers(e,r,i,n,!1),this._removeFromIndex(o.subjects,e,r,i),this._removeFromIndex(o.predicates,r,i,e),this._removeFromIndex(o.objects,i,e,r),this._size!==null&&this._size--,o.subjects[N]===0&&(delete s[n],this._graphCount--),!0)}removeQuads(e){for(let r=0;r<e.length;r++)this.removeQuad(e[r])}remove(e){return e.on("data",r=>{this.removeQuad(r)}),e}removeMatches(e,r,i,n){let s=new Xr.Readable({objectMode:!0}),o=this.readQuads(e,r,i,n);return s._read=a=>{for(;--a>=0;){let{done:l,value:u}=o.next();if(l){s.push(null);return}s.push(u)}},this.remove(s)}deleteGraph(e){return this.removeMatches(null,null,null,e)}getQuads(e,r,i,n){return[...this.readQuads(e,r,i,n)]}*readQuads(e,r,i,n){let s=this._getGraphs(n),o,a,l,u;if(!(e&&!(a=this._termToNumericId(e))||r&&!(l=this._termToNumericId(r))||i&&!(u=this._termToNumericId(i))))for(let f in s)(o=s[f])&&(a?u?yield*ne(this._findInIndex(o.objects,u,a,l,"object","subject","predicate",f)):yield*ne(this._findInIndex(o.subjects,a,l,null,"subject","predicate","object",f)):l?yield*ne(this._findInIndex(o.predicates,l,u,null,"predicate","object","subject",f)):u?yield*ne(this._findInIndex(o.objects,u,null,null,"object","subject","predicate",f)):yield*ne(this._findInIndex(o.subjects,null,null,null,"subject","predicate","object",f)))}match(e,r,i,n,s=null){return new We(this,e,r,i,n,{entityIndex:this._entityIndex,matchSemantics:s&&s.matchSemantics!==void 0?s.matchSemantics:this._matchSemantics})}countQuads(e,r,i,n){let s=this._getGraphs(n),o=0,a,l,u,f;if(e&&!(l=this._termToNumericId(e))||r&&!(u=this._termToNumericId(r))||i&&!(f=this._termToNumericId(i)))return 0;for(let c in s)(a=s[c])&&(e?i?o+=this._countInIndex(a.objects,f,l,u):o+=this._countInIndex(a.subjects,l,u,f):r?o+=this._countInIndex(a.predicates,u,f,l):i?o+=this._countInIndex(a.objects,f,l,u):o+=this._countInIndex(a.subjects));return o}forEach(e,r,i,n,s){this.some(o=>(e(o,this),!1),r,i,n,s)}every(e,r,i,n,s){return!this.some(o=>!e(o,this),r,i,n,s)}some(e,r,i,n,s){for(let o of this.readQuads(r,i,n,s))if(e(o,this))return!0;return!1}getSubjects(e,r,i){let n=[];return this.forSubjects(s=>{n.push(s)},e,r,i),n}forSubjects(e,r,i,n){let s=this._getGraphs(n),o,a,l;if(e=this._uniqueEntities(e),!(r&&!(a=this._termToNumericId(r))||i&&!(l=this._termToNumericId(i))))for(n in s)(o=s[n])&&(a?l?this._loopBy2Keys(o.predicates,a,l,e):this._loopByKey1(o.subjects,a,e):l?this._loopByKey0(o.objects,l,e):this._loop(o.subjects,e))}getPredicates(e,r,i){let n=[];return this.forPredicates(s=>{n.push(s)},e,r,i),n}forPredicates(e,r,i,n){let s=this._getGraphs(n),o,a,l;if(e=this._uniqueEntities(e),!(r&&!(a=this._termToNumericId(r))||i&&!(l=this._termToNumericId(i))))for(n in s)(o=s[n])&&(a?l?this._loopBy2Keys(o.objects,l,a,e):this._loopByKey0(o.subjects,a,e):l?this._loopByKey1(o.predicates,l,e):this._loop(o.predicates,e))}getObjects(e,r,i){let n=[];return this.forObjects(s=>{n.push(s)},e,r,i),n}forObjects(e,r,i,n){let s=this._getGraphs(n),o,a,l;if(e=this._uniqueEntities(e),!(r&&!(a=this._termToNumericId(r))||i&&!(l=this._termToNumericId(i))))for(n in s)(o=s[n])&&(a?l?this._loopBy2Keys(o.subjects,a,l,e):this._loopByKey0Deep(o.subjects,a,e):l?this._loopByKey0(o.predicates,l,e):this._loop(o.objects,e))}getGraphs(e,r,i){let n=[];return this.forGraphs(s=>{n.push(s)},e,r,i),n}forGraphs(e,r,i,n){for(let s in this._graphs)this.some(o=>(e(o.graph),!0),r,i,n,this._termFromId(this._entities[s]))}createBlankNode(e){return this._entityIndex.createBlankNode(e)}extractLists({remove:e=!1,ignoreErrors:r=!1,allowExtraArcs:i=!1}={}){let n=Object.create(null),s=r?(()=>!0):((l,u)=>{throw new Error(`${l.value} ${u}`)}),o=this.getQuads(null,j.rdf.rest,j.rdf.nil,null),a=[];return o.forEach(l=>{let u=[],f=!1,c=!1,d,h,b=l.graph,_=[],y=l.subject;for(;y&&!f;){let g=this.getQuads(null,null,y,null),S=this.getQuads(y,null,null,null),m,w=null,x=null,A=null;for(let E=0;E<S.length&&!f;E++)m=S[E],m.graph.equals(b)?d?f=s(y,"has non-list arcs out"):m.predicate.value===j.rdf.first?(w?f=s(y,"has multiple rdf:first arcs"):w=m,e&&w===m&&_.push(m)):m.predicate.value===j.rdf.rest?(x?f=s(y,"has multiple rdf:rest arcs"):x=m,e&&x===m&&_.push(m)):g.length?i?c=!0:f=s(y,`has non-list arc ${m.predicate.value}`):(d=m,h="subject"):f=s(y,"not confined to single graph");for(let E=0;E<g.length&&!f;++E)m=g[E],d?f=s(y,"can't have coreferences"):m.predicate.value===j.rdf.rest?A?f=s(y,"has incoming rdf:rest arcs"):A=m:(d=m,h="object");w?u.push(w.object):f=s(y,"has no list head"),y=A&&A.subject}if(f)e=!1;else if(u.reverse(),d&&(n[d[h].value]=u),e&&!c)for(let g=0;g<_.length;g++)a.push(_[g])}),e&&this.removeQuads(a),n}addAll(e){if(e instanceof We&&(e=e.filtered),Array.isArray(e))this.addQuads(e);else if(e instanceof t&&e._entityIndex===this._entityIndex)this._addFromIndex(e._graphs);else for(let r of e)this.add(r);return this}contains(e){if(e instanceof We&&(e=e.filtered),e===this)return!0;if(!(e instanceof t)||this._entityIndex!==e._entityIndex){let f=Kl(e),c=this._size;return f!==null&&c!==null&&f>c?!1:e.every(d=>this.has(d))}let r=this._graphs,i=e._graphs,n,s,o,a,l,u;for(let f in i){if(!(n=r[f])||(n=n.subjects,(s=i[f].subjects)[N]>n[N]))return!1;for(let c in s){if(!(o=n[c])||(a=s[c])[N]>o[N])return!1;for(let d in a){if(!(l=o[d])||(u=a[d])[N]>l[N])return!1;for(let h in u)if(!(h in l))return!1}}}return!0}deleteMatches(e,r,i,n){for(let s of this.match(e,r,i,n,{matchSemantics:"lazy"}))this.removeQuad(s);return this}difference(e){if(e&&e instanceof We&&(e=e.filtered),e===this)return new t({entityIndex:this._entityIndex});if(e instanceof t&&e._entityIndex===this._entityIndex){let r=new t({entityIndex:this._entityIndex});return r._addFromIndex(this._graphs,e._graphs),r}return this.filter(r=>!e.has(r))}equals(e){return e instanceof We&&(e=e.filtered),e===this||this.size===e.size&&this.contains(e)}filter(e){let r=new t({entityIndex:this._entityIndex});for(let i of this)e(i,this)&&r.add(i);return r}intersection(e){if(e instanceof We&&(e=e.filtered),e===this){let n=new t({entityIndex:this._entityIndex});return n._addFromIndex(this._graphs),n}else if(e instanceof t&&this._entityIndex===e._entityIndex){let n=new t({entityIndex:this._entityIndex});return this._size!==0&&e._size!==0&&(e._graphCount<this._graphCount?n._addIntersectionFromIndex(e._graphs,this._graphs):n._addIntersectionFromIndex(this._graphs,e._graphs)),n}let r=Kl(e),i=this._size;if(r!==null&&i!==null&&r<i&&typeof e[Symbol.iterator]=="function"&&e._factory===Q&&e._entityIndex._factory===Q){let n=new t({entityIndex:this._entityIndex});for(let s of e)this.has(s)&&n.add(s);return n}return this.filter(n=>e.has(n))}map(e){let r=new t({entityIndex:this._entityIndex});for(let i of this)r.add(e(i,this));return r}reduce(e,r){let i=this.readQuads(),n=r===void 0?i.next().value:r;for(let s of i)n=e(n,s,this);return n}toArray(){return this.getQuads()}toCanonical(){throw new Error("not implemented")}toStream(){return this.match(null,null,null,null,{matchSemantics:"lazy"})}toString(){return new le().quadsToString(this)}union(e){let r=new t({entityIndex:this._entityIndex});return r._addFromIndex(this._graphs),r.addAll(e),r}[Symbol.iterator](){return this.readQuads()}};function me(t,e,r=0){let i=e[r];if(i&&!(i in t))return!1;let n=!1,s=0;for(let o in i?{[i]:t[i]}:t){let a=r===2?null:me(t[o],e,r+1);a!==!1&&(n=n||Object.create(null),n[o]=a,s++)}return n&&(n[N]=s),n}function Yl(t,e,r,i,n){let s={store:t,ids:[]},o=e&&t._termToNumericId(e),a=r&&t._termToNumericId(r),l=i&&t._termToNumericId(i),u,f,c,d,h;l&&(o||!a)?(u="objects",[f,c,d]=[l,o,a],h=[2,0,1]):!o&&a?(u="predicates",[f,c,d]=[a,l,o],h=[1,2,0]):(u="subjects",[f,c,d]=[o,a,l],h=[0,1,2]);let b=t._getGraphs(n),_=[];for(let y in b){let g=b[y][u],S=Number(y);for(let m in f?{[f]:g[f]}:g){let w=g[m];if(w){_[h[0]]=Number(m);for(let x in c?{[c]:w[c]}:w){let A=w[x];if(A){_[h[1]]=Number(x);for(let E in d?d in A?{[d]:null}:{}:A)_[h[2]]=Number(E),s.ids.push(_[0],_[1],_[2],S)}}}}}return s}function*ab({store:t,ids:e},r){let i=t._entities,n,s,o,a,l,u,f,c;for(let d=r*4;d<e.length;d+=4)l!==e[d]&&(n=t._termFromId(i[l=e[d]])),u!==e[d+1]&&(s=t._termFromId(i[u=e[d+1]])),f!==e[d+2]&&(o=t._termFromId(i[f=e[d+2]])),c!==e[d+3]&&(a=t._termFromId(i[c=e[d+3]])),yield t._factory.quad(n,s,o,a)}function Un(t="lazy"){if(t!=="lazy"&&t!=="snapshot"&&t!=="forwarded")throw new Error(`Unknown matchSemantics: ${t}`);if(t!=="lazy"&&(typeof WeakRef!="function"||typeof FinalizationRegistry!="function"))throw new Error("Non-lazy matchSemantics requires WeakRef and FinalizationRegistry support");return t}function Jl(t,e){let r=new Array(4);for(let i=0;i<4;i++){let n=t[i],s=e[i];if(n==null)r[i]=s;else if(s==null||Z(n)===Z(s))r[i]=n;else return!1}return r}var We=class t extends Xr.Readable{constructor(e,r,i,n,s,o){super({objectMode:!0}),Object.assign(this,{n3Store:e,subject:r,predicate:i,object:n,graph:s,options:o});let a=this._semantics=Un(o.matchSemantics);o.matchesNothing&&(this._matchesNothing=!0,this._filtered=new we({factory:e._factory,entityIndex:o.entityIndex})),a!=="lazy"&&(this._readers=null,this._subjectId=this._predicateId=this._objectId=this._graphId=void 0,this._matchesNothing||(this._observer=e._addObserver(this)))}_matchesPattern(e,r,i,n){let{subject:s,predicate:o,object:a,graph:l,n3Store:u}=this;return s&&e!==(this._subjectId||(this._subjectId=u._termToNumericId(s)))||o&&r!==(this._predicateId||(this._predicateId=u._termToNumericId(o)))||a&&i!==(this._objectId||(this._objectId=u._termToNumericId(a)))?!1:l==null||n===(this._graphId||(this._graphId=l===""||se(l)?1:u._termToNumericId(l)))}_matchesQuad(e){let{subject:r,predicate:i,object:n,graph:s}=this;return!this._matchesNothing&&(r==null||Z(r)===Z(e.subject))&&(i==null||Z(i)===Z(e.predicate))&&(n==null||Z(n)===Z(e.object))&&(s==null||Z(s)===Z(e.graph))}_assertMatchesPattern(e){if(!this._matchesQuad(e))throw new Error("Quad does not match the forwarded view pattern")}_sourceIterator(){return this._filtered?this._filtered[Symbol.iterator]():this.n3Store.readQuads(this.subject,this.predicate,this.object,this.graph)}_freezeCurrentIterators(){this._readers&&(this._readers.snapshot=this._filtered?Yl(this._filtered):Yl(this.n3Store,this.subject,this.predicate,this.object,this.graph),this._readers=null)}_onParentMutation(e,r,i,n,s){if(this._matchesPattern(e,r,i,n)){if(this._freezeCurrentIterators(),this._semantics==="forwarded"){this._filtered&&(s?this._filtered._addQuad(e,r,i,n):this._filtered._removeQuad(e,r,i,n));return}this._filtered=this.filtered}}get filtered(){if(!this._filtered){let{n3Store:e,graph:r,object:i,predicate:n,subject:s}=this;this._semantics!=="lazy"&&this._freezeCurrentIterators();let o=this._filtered=new we({factory:e._factory,entityIndex:this.options.entityIndex});this._semantics==="snapshot"&&this._detachObserver();let a,l,u;if(s&&!(a=o._termToNumericId(s))||n&&!(l=o._termToNumericId(n))||i&&!(u=o._termToNumericId(i)))return o;let f=e._getGraphs(r);for(let c in f){let d,h,b,_;(_=f[c])&&(!a&&l?(h=me(_.predicates,[l,u,a]))&&(d=me(_.subjects,[a,l,u]),b=me(_.objects,[u,a,l])):u?(b=me(_.objects,[u,a,l]))&&(d=me(_.subjects,[a,l,u]),h=me(_.predicates,[l,u,a])):(d=me(_.subjects,[a,l,u]))&&(h=me(_.predicates,[l,u,a]),b=me(_.objects,[u,a,l])),d&&(o._graphs[c]={subjects:d,predicates:h,objects:b},o._graphCount++))}o._size=null}return this._filtered}get size(){return this.filtered.size}_read(e){e>0&&!this[Mt]&&(this[Mt]=this[Symbol.iterator]());let r=this[Mt];for(;--e>=0;){let{done:i,value:n}=r.next();if(i){this.push(null);return}this.push(n)}}_destroy(e,r){this[Mt]&&(this[Mt].return(),this[Mt]=null),r(e)}_detachObserver(){this._observer&&(this.n3Store._removeObserver(this._observer),this._observer=null)}_detach(){return this._filtered=this.filtered,this._detachObserver(),this._semantics==="lazy"&&(this._readers=null),this._semantics="snapshot",this}addAll(e){if(this._semantics==="forwarded"){for(let r of e)this._assertMatchesPattern(r),this.n3Store.addQuad(r);return this}return this.filtered.addAll(e)}contains(e){return this.filtered.contains(e)}deleteMatches(e,r,i,n){if(this._semantics==="forwarded"){if(this._matchesNothing)throw new Error("Cannot delete from a conflicting forwarded view pattern");let s=Jl([this.subject,this.predicate,this.object,this.graph],[e,r,i,n]);if(!s)throw new Error("Deletion pattern does not match the forwarded view pattern");return this.n3Store.deleteMatches(...s),this}return this.filtered.deleteMatches(e,r,i,n)}difference(e){return this.filtered.difference(e)}equals(e){return this.filtered.equals(e)}every(e,r,i,n,s){return this.filtered.every(this._semantics==="forwarded"?o=>e(o,this):e,r,i,n,s)}filter(e){return this.filtered.filter(this._semantics==="forwarded"?r=>e(r,this):e)}forEach(e,r,i,n,s){return this.filtered.forEach(this._semantics==="forwarded"?o=>e(o,this):e,r,i,n,s)}import(e){if(this._semantics!=="forwarded")return this.filtered.import(e);let r=this;function i(n){try{r._assertMatchesPattern(n),r.n3Store.addQuad(n)}catch(s){e.removeListener("data",i),typeof e.destroy=="function"?e.destroy(s):e.emit("error",s)}}return e.on("data",i),e}intersection(e){return this.filtered.intersection(e)}map(e){return this.filtered.map(this._semantics==="forwarded"?r=>e(r,this):e)}some(e,r,i,n,s){return this.filtered.some(this._semantics==="forwarded"?o=>e(o,this):e,r,i,n,s)}toCanonical(){return this.filtered.toCanonical()}toStream(){return this._semantics!=="lazy"?Xr.Readable.from(this[Symbol.iterator]()):this._filtered?this._filtered.toStream():this.n3Store.match(this.subject,this.predicate,this.object,this.graph,{matchSemantics:"lazy"})}union(e){return this._filtered?this._filtered.union(e):this.n3Store.match(this.subject,this.predicate,this.object,this.graph,{matchSemantics:"lazy"}).addAll(e)}toArray(){return this._semantics!=="lazy"?[...this]:this._filtered?this._filtered.toArray():this.n3Store.getQuads(this.subject,this.predicate,this.object,this.graph)}reduce(e,r){return this.filtered.reduce(this._semantics==="forwarded"?(i,n)=>e(i,n,this):e,r)}toString(){return new le().quadsToString(this)}add(e){return this._semantics==="forwarded"?(this._assertMatchesPattern(e),this.n3Store.addQuad(e),this):this.filtered.add(e)}delete(e){return this._semantics==="forwarded"?(this._assertMatchesPattern(e),this.n3Store.removeQuad(e),this):this.filtered.delete(e)}has(e){return this.filtered.has(e)}match(e,r,i,n,s=null){let o=s&&s.matchSemantics;if(s&&o!==void 0&&(Un(o),o!==this._semantics))throw new Error(`Cannot override matchSemantics on a view: inherited "${this._semantics}", received "${o}"`);if(this._semantics!=="forwarded")return new t(this.filtered,e,r,i,n,{entityIndex:this.options.entityIndex,matchSemantics:this._semantics});let a=!this._matchesNothing&&Jl([this.subject,this.predicate,this.object,this.graph],[e,r,i,n]),[l,u,f,c]=a||[null,null,null,null];return new t(this.n3Store,l,u,f,c,{entityIndex:this.options.entityIndex,matchSemantics:"forwarded",matchesNothing:!a})}[Symbol.iterator](){return this._semantics==="lazy"?this._sourceIterator():this._iterateStable()}*_iterateStable(){let e=this._readers||(this._readers={count:0,snapshot:null}),r=this._sourceIterator(),i=0;e.count++;try{for(;!e.snapshot;){let{value:n,done:s}=r.next();if(e.snapshot||s)break;i++,yield n}e.snapshot&&(yield*ne(ab(e.snapshot,i)))}finally{r.return(),--e.count===0&&(e.snapshot=null,this._readers===e&&(this._readers=null))}}};var sr=class{dataset(e){return new we(e)}};function eu(t){let e=[];for(let{subject:r,object:i}of t.match(null,Q.namedNode("http://www.w3.org/2000/10/swap/log#implies"),null,Q.defaultGraph())){let n=[...t.match(null,null,null,r)],s=[...t.match(null,null,null,i)];e.push({premise:n,conclusion:s})}return e}var or=class{constructor(e,r={}){this._store=e,this._maxDerivations=r.maxDerivations===void 0?1/0:r.maxDerivations,this._maxPremiseDepth=r.maxPremiseDepth===void 0?1/0:r.maxPremiseDepth}_add(e,r,i,n,s,o){let a=this._store;if(a._observers){if(!a._addQuad(e,r,i,this._graphId))return}else{if(!a._addToIndex(n.subjects,e,r,i))return;a._addToIndex(n.predicates,r,i,e),a._addToIndex(n.objects,i,e,r),this._indexed++}if(++this._derivations>this._maxDerivations)throw new Error(`Reasoning exceeded the maximum of ${this._maxDerivations} derivations`);o(s)}_emit(e,r,i){let n=e.conclusion;for(let s=0;s<n.length;s++){let o=n[s];this._add(o.subject.value,o.predicate.value,o.object.value,r,o,i)}}_evaluatePremise(e,r,i,n=0){let s,o,[a,l,u]=e.premise[n].value,f=r[e.premise[n].content],c=n===e.premise.length-1;if(!(s=a.value)){for(s in f)o=f[s],a.value=Number(s),this._evaluateLevel1(e,r,i,n,c,l,u,o);a.value=null}else(o=f[s])&&this._evaluateLevel1(e,r,i,n,c,l,u,o)}_evaluateLevel1(e,r,i,n,s,o,a,l){let u,f;if(!(u=o.value)){for(u in l)f=l[u],o.value=Number(u),this._evaluateLevel2(e,r,i,n,s,a,f);o.value=null}else(f=l[u])&&this._evaluateLevel2(e,r,i,n,s,a,f)}_evaluateLevel2(e,r,i,n,s,o,a){let l;if(!(l=o.value)){for(l in a)o.value=Number(l),s?this._emit(e,r,i):this._evaluatePremise(e,r,i,n+1);o.value=null}else s?this._emit(e,r,i):this._evaluatePremise(e,r,i,n+1)}_evaluateRules(e,r,i){for(let n=0;n<e.length;n++)this._evaluatePremise(e[n],r,i)}_reasonGraphNaive(e,r){let i=[];function n(a){a.next&&a.next.forEach(l=>{i.push([a.subject.value,a.predicate.value,a.object.value,l])})}let s=a=>{for(let l=0;l<a.length;l++){let u=a[l];this._add(u.subject.value,u.predicate.value,u.object.value,r,u,n)}};this._evaluateRules(e,r,n);let o;for(;(o=i.pop())!==void 0;){let[a,l,u,f]=o,c=f.basePremise.subject.value;c||(f.basePremise.subject.value=a);let d=f.basePremise.predicate.value;d||(f.basePremise.predicate.value=l);let h=f.basePremise.object.value;h||(f.basePremise.object.value=u),f.premise.length===0?s(f.conclusion):this._evaluatePremise(f,r,n),c||(f.basePremise.subject.value=null),d||(f.basePremise.predicate.value=null),h||(f.basePremise.object.value=null)}}_createRule({premise:e,conclusion:r}){let i=Object.create(null),n=o=>o.termType==="Variable"?i[o.value]=i[o.value]||{}:{value:this._store._termToNewNumericId(o)},s=o=>({subject:n(o.subject),predicate:n(o.predicate),object:n(o.object)});return{premise:e.map(o=>s(o)),conclusion:r.map(o=>s(o)),variables:Object.values(i)}}reason(e){this._derivations=this._indexed=0,Array.isArray(e)||(e=eu(e)),e=e.map(i=>this._createRule(i));for(let i of e)if(i.premise.length>this._maxPremiseDepth)throw new Error(`Reasoning rule exceeds the maximum premise depth of ${this._maxPremiseDepth}`);for(let i of e)for(let n of e)for(let s=0;s<n.premise.length;s++){let o=n.premise[s];for(let a of i.conclusion){if(qn(o.subject,a.subject)&&qn(o.predicate,a.predicate)&&qn(o.object,a.object)){let l=new Set,u=[];o.subject.value=o.subject.value||1,o.object.value=o.object.value||1,o.predicate.value=o.predicate.value||1;for(let f=0;f<n.premise.length;f++)f!==s&&u.push(Zl(n.premise[f],l));(a.next=a.next||[]).push({premise:u,conclusion:n.conclusion,basePremise:o})}for(let l=0;l<n.variables.length;l++)n.variables[l].value=null}}for(let i of e){let n=new Set;i.premise=i.premise.map(s=>Zl(s,n))}let r=this._store._getGraphs();try{for(let i in r)this._graphId=Number(i),this._reasonGraphNaive(e,r[i])}finally{this._store._size!==null&&(this._store._size+=this._indexed)}}};function Zl({subject:t,predicate:e,object:r},i){let n=t.value||i.has(t)||(i.add(t),!1),s=e.value||i.has(e)||(i.add(e),!1),o=r.value||i.has(r)||(i.add(r),!1);return!n&&s?{content:"predicates",value:[e,r,t]}:o?{content:"objects",value:[r,t,e]}:{content:"subjects",value:[t,e,r]}}function qn(t,e){return t.value===null&&(t.value=e.value),t.value===e.value}var tu=Zr(Yr());var ar=class extends tu.Transform{constructor(e){super({decodeStrings:!0,readableObjectMode:!0});let r=new Se(e),i,n,s={onQuad:(o,a)=>{o&&this.emit("error",o)||a&&this.push(a)},onPrefix:(o,a)=>{this.emit("prefix",o,a)},onDirective:o=>{this.emit("directive",o)}};e&&e.comments&&(s.onComment=o=>{this.emit("comment",o)}),r.parse({on:(o,a)=>{switch(o){case"data":i=a;break;case"end":n=a;break}}},s),this._transform=(o,a,l)=>{i(o),l()},this._flush=o=>{n(),o()}}import(e){return e.on("error",r=>{this.emit("error",r)}),typeof e.pipe=="function"?e.pipe(this):(e.on("data",r=>{this.write(r)}),e.on("end",()=>{this.end()})),this}};var ru=Zr(Yr());var lb=16*1024,ub=20,lr=class extends ru.Transform{constructor(e){super({encoding:"utf8",writableObjectMode:!0}),this._buffer="",this._flushTimer=null,this._flushDelay=e&&e.flushDelay!==void 0?e.flushDelay:ub;let r=this._writer=new le({write:(s,o,a)=>{this._buffer+=s,this._buffer.length>=lb?this._pushBuffer():this._flushTimer===null&&this._armFlushTimer(),a&&a()},end:s=>{this._pushBuffer(),this.push(null),s&&s()}},e),i=null,n=s=>{let o=i;i=null,s&&this._pushBuffer(),o(s)};this._transform=(s,o,a)=>{i=a,r.addQuad(s,n)},this._flush=s=>{r.end(s)}}_pushBuffer(){this._clearFlushTimer(),this._buffer!==""&&(this.push(this._buffer),this._buffer="")}_armFlushTimer(){this._flushTimer=setTimeout(()=>{this._flushTimer=null,this._pushBuffer()},this._flushDelay),this._flushTimer.unref&&this._flushTimer.unref()}_clearFlushTimer(){this._flushTimer!==null&&(clearTimeout(this._flushTimer),this._flushTimer=null)}_destroy(e,r){this._clearFlushTimer(),super._destroy(e,r)}import(e){return e.on("data",r=>{this.write(r)}),e.on("end",()=>{this.end()}),e.on("error",r=>{this._pushBuffer(),this.emit("error",r)}),e.on("prefix",(r,i)=>{this._writer.addPrefix(r,i)}),this}};var qy={Lexer:Ce,Parser:Se,Writer:le,Store:we,StoreFactory:sr,EntityIndex:nr,StreamParser:ar,StreamWriter:lr,Util:fi,Reasoner:or,BaseIRI:ze,DataFactory:Q,Term:K,NamedNode:_t,Literal:Ee,BlankNode:Ut,Variable:qt,DefaultGraph:Wt,Quad:Oe,Triple:Oe,termFromId:Be,termToId:De};export{ze as BaseIRI,Ut as BlankNode,Q as DataFactory,Wt as DefaultGraph,nr as EntityIndex,Ce as Lexer,Ee as Literal,_t as NamedNode,Se as Parser,Oe as Quad,or as Reasoner,we as Store,sr as StoreFactory,ar as StreamParser,lr as StreamWriter,K as Term,Oe as Triple,fi as Util,qt as Variable,le as Writer,qy as default,eu as getRulesFromDataset,Be as termFromId,De as termToId};
23
+ ]`)}}list(e){let r=e&&e.length||0,i=new Array(r);for(let n=0;n<r;n++)i[n]=this._encodeObject(e[n]);return new Ve(`(${i.join(" ")})`)}end(e){this._endStatement(),this._write=this._blockedWrite;let r=e&&((i,n)=>{r=null,e(i,n)});if(this._endStream)try{return this._outputStream.end(r)}catch(i){}r&&r()}};function Ju(t){let e=ys[t];return e===void 0&&(t.length===1?(e=t.charCodeAt(0).toString(16),e="\\u0000".substr(0,6-e.length)+e):(e=((t.charCodeAt(0)-55296)*1024+t.charCodeAt(1)+9216).toString(16),e="\\U00000000".substr(0,10-e.length)+e)),e}function Xu(t){let e=ys[t];return e===void 0&&(e=t.charCodeAt(0).toString(16).toUpperCase(),e="\\u0000".substr(0,6-e.length)+e),e}var Xr=Zr(Yr());var Mt=Symbol("iter"),N=Symbol("size"),$n;function sb({store:t,observer:e}){let r=t.deref();r&&r._removeObserver(e)}function kn(t,e,r,i){let n=t&&t[e],s=n&&n[r];return!!s&&i in s}var ob=/^[?_"[.<]/;function Z(t){if(typeof t=="string"){let r=t.charCodeAt(0);return r!==60&&r!==46||t==="<>"?t:`<${t}>`}let e=De(t);return e.charCodeAt(0)>=97||!t?e:t.termType==="Quad"?JSON.stringify(Xl(t)):t.termType!=="NamedNode"||!ob.test(t.value)?e:`<${t.value}>`}function Xl(t){let e=[Jr(t.subject),Jr(t.predicate),Jr(t.object)];return t.graph&&!se(t.graph)&&e.push(Jr(t.graph)),e}function Jr(t){return t.termType==="Quad"?Xl(t):Z(t)}var nr=class{constructor(e={}){this._id=1,this._ids=Object.create(null),this._ids[""]=1,this._entities=Object.create(null),this._entities[1]="",this._blankNodeIndex=0,this._factory=e.factory||Q}_termFromId(e){if(e[0]==="<")return this._factory.namedNode(e.substring(1,e.length-1));if(e[0]==="."){let r=this._entities,i=e.split(".");return this._factory.quad(this._termFromId(r[i[1]]),this._termFromId(r[i[2]]),this._termFromId(r[i[3]]),i[4]&&this._termFromId(r[i[4]]))}return Be(e,this._factory)}_termToNumericId(e){if(e.termType==="Quad"){let r=this._termToNumericId(e.subject),i=this._termToNumericId(e.predicate),n=this._termToNumericId(e.object),s;return r&&i&&n&&(se(e.graph)||(s=this._termToNumericId(e.graph)))&&this._ids[s?`.${r}.${i}.${n}.${s}`:`.${r}.${i}.${n}`]}return typeof e=="string"?this._stringToNumericId(e):this._ids[Z(e)]}_stringToNumericId(e){let r=this._ids[e],i=r?this._entities[r].charCodeAt(0):e.charCodeAt(0);return i!==60&&i!==46||e==="<>"?r:this._ids[`<${e}>`]}_termToNewNumericId(e){if(typeof e=="string")return this._stringToNumericId(e)||this._addEntity(Z(e));let r=e&&e.termType==="Quad"?`.${this._termToNewNumericId(e.subject)}.${this._termToNewNumericId(e.predicate)}.${this._termToNewNumericId(e.object)}${se(e.graph)?"":`.${this._termToNewNumericId(e.graph)}`}`:Z(e);return this._ids[r]||this._addEntity(r)}_addEntity(e){return this._ids[this._entities[++this._id]=e]=this._id}createBlankNode(e){let r,i;if(e)for(r=e=`_:${e}`,i=1;this._ids[r];)r=e+i++;else do r=`_:b${this._blankNodeIndex++}`;while(this._ids[r]);return this._ids[r]=++this._id,this._entities[this._id]=r,this._factory.blankNode(r.substr(2))}};function Kl(t){return t instanceof we?t._size:null}var we=class t{constructor(e,r){this._size=0,this._graphs=Object.create(null),this._graphCount=0,this._observers=null,!r&&e&&!e[0]&&typeof e.match!="function"&&(r=e,e=null),r=r||{},this._factory=r.factory||Q,this._matchSemantics=Un(r.matchSemantics),this._entityIndex=r.entityIndex||new nr({factory:this._factory}),this._entities=this._entityIndex._entities,this._termFromId=this._entityIndex._termFromId.bind(this._entityIndex),this._termToNumericId=this._entityIndex._termToNumericId.bind(this._entityIndex),this._termToNewNumericId=this._entityIndex._termToNewNumericId.bind(this._entityIndex),e&&this.addAll(e)}get size(){return this._size===null&&(this._size=this.countQuads()),this._size}_addToIndex(e,r,i,n){let s=e[r];s||(e[r]=s={[N]:0},e[N]++);let o=s[i];o||(s[i]=o={[N]:0},s[N]++);let a=n in o;return a||(o[n]=null,o[N]++),!a}_removeFromIndex(e,r,i,n){let s=e[r],o=s[i];delete o[n],--o[N]===0&&(delete s[i],--s[N]===0&&(delete e[r],e[N]--))}*_findInIndex(e,r,i,n,s,o,a,l){let u=this._entities,f=this._termFromId(u[l]),c={subject:null,predicate:null,object:null};if(n){let h=e[r],b=h&&h[i];if(!b||!(n in b))return;c[s]=this._termFromId(u[r]),c[o]=this._termFromId(u[i]),c[a]=this._termFromId(u[n]),yield this._factory.quad(c.subject,c.predicate,c.object,f);return}if(r&&!(r in e))return;let d=r?null:Object.keys(e);for(let h=0,b=r||d[0];b;b=d&&d[++h]){let _=e[b];if(!_)continue;if(c[s]=this._termFromId(u[b]),i&&!(i in _))return;let y=i?null:Object.keys(_);for(let g=0,S=i||y[0];S;S=y&&y[++g]){let m=_[S];if(!m)continue;c[o]=this._termFromId(u[S]);let w=Object.keys(m);for(let x=0;x<w.length;x++)c[a]=this._termFromId(u[w[x]]),yield this._factory.quad(c.subject,c.predicate,c.object,f)}}}_loop(e,r){for(let i in e)r(i)}_loopByKey0(e,r,i){let n,s;if(n=e[r])for(s in n)i(s)}_loopByKey1(e,r,i){let n,s;for(n in e)s=e[n],s[r]&&i(n)}_loopBy2Keys(e,r,i,n){let s,o,a;if((s=e[r])&&(o=s[i]))for(a in o)n(a)}_loopByKey0Deep(e,r,i){let n,s,o,a;if(n=e[r])for(o in n){s=n[o];for(a in s)i(a)}}_countInIndex(e,r,i,n){let s=0,o,a;if(r){if(!(o=e[r]))return 0;if(i)return(a=o[i])?n?n in a?1:0:a[N]:0;let u=Object.keys(o);for(let f=0;f<u.length;f++)s+=o[u[f]][N];return s}let l=Object.keys(e);for(let u=0;u<l.length;u++){o=e[l[u]];let f=Object.keys(o);for(let c=0;c<f.length;c++)s+=o[f[c]][N]}return s}_getGraphs(e){return e=e===""?1:e&&(this._termToNumericId(e)||-1),typeof e!="number"?this._graphs:{[e]:this._graphs[e]}}_addObserver(e){let r=new WeakRef(e);return($n||($n=new FinalizationRegistry(sb))).register(e,{store:new WeakRef(this),observer:r},r),(this._observers||(this._observers=new Set)).add(r),r}_removeObserver(e){$n.unregister(e),this._observers&&(this._observers.delete(e),this._observers.size===0&&(this._observers=null))}_notifyObservers(e,r,i,n,s){for(let o of this._observers){let a=o.deref();a?a._onParentMutation(e,r,i,n,s):this._removeObserver(o)}}_uniqueEntities(e){let r=Object.create(null);return i=>{i in r||(r[i]=!0,e(this._termFromId(this._entities[i],this._factory)))}}add(e){return this.addQuad(e),this}addQuad(e,r,i,n){return r||(n=e.graph,i=e.object,r=e.predicate,e=e.subject),n=n?this._termToNewNumericId(n):1,e=this._termToNewNumericId(e),r=this._termToNewNumericId(r),i=this._termToNewNumericId(i),this._addQuad(e,r,i,n)}_addQuad(e,r,i,n){let s=this._graphs[n];if(s||(s=this._graphs[n]={subjects:{[N]:0},predicates:{[N]:0},objects:{[N]:0}},Object.freeze(s),this._graphCount++),this._observers!==null){if(kn(s.subjects,e,r,i))return!1;this._notifyObservers(e,r,i,n,!0)}return this._addToIndex(s.subjects,e,r,i)?(this._addToIndex(s.predicates,r,i,e),this._addToIndex(s.objects,i,e,r),this._size!==null&&this._size++,!0):!1}_addFromIndex(e,r=null){for(let i in e){let n=e[i].subjects,s=r&&r[i],o=s?s.subjects:null;for(let a in n){let l=Number(a),u=n[a],f=o&&o[a];for(let c in u){let d=Number(c),h=u[c],b=f&&f[c];for(let _ in h)(!b||!(_ in b))&&this._addQuad(l,d,Number(_),Number(i))}}}}_addIntersectionFromIndex(e,r){for(let i in e){let n=r[i];if(n){let s=e[i].subjects,o=n.subjects;o[N]<s[N]&&([s,o]=[o,s]);for(let a in s){let l=s[a],u=o[a];if(u){u[N]<l[N]&&([l,u]=[u,l]);for(let f in l){let c=l[f],d=u[f];if(d){d[N]<c[N]&&([c,d]=[d,c]);for(let h in c)h in d&&this._addQuad(Number(a),Number(f),Number(h),Number(i))}}}}}}}addQuads(e){for(let r=0;r<e.length;r++)this.addQuad(e[r])}delete(e){return this.removeQuad(e),this}has(e,r,i,n){if(e&&e.subject&&r==null&&i==null&&n==null&&({subject:e,predicate:r,object:i,graph:n}=e),e&&r&&i&&n!==void 0&&n!==null){let s=this._termToNumericId(e),o=this._termToNumericId(r),a=this._termToNumericId(i),l=n===""||se(n)?1:this._termToNumericId(n),u=l&&this._graphs[l];return!!s&&!!o&&!!a&&!!u&&kn(u.subjects,s,o,a)}return!this.readQuads(e,r,i,n).next().done}import(e){return e.on("data",r=>{this.addQuad(r)}),e}removeQuad(e,r,i,n){return r||({subject:e,predicate:r,object:i,graph:n}=e),n=n?this._termToNumericId(n):1,!(e=e&&this._termToNumericId(e))||!(r=r&&this._termToNumericId(r))||!(i=i&&this._termToNumericId(i))?!1:this._removeQuad(e,r,i,n)}_removeQuad(e,r,i,n){let s=this._graphs,o=s[n];return!o||!kn(o.subjects,e,r,i)?!1:(this._observers!==null&&this._notifyObservers(e,r,i,n,!1),this._removeFromIndex(o.subjects,e,r,i),this._removeFromIndex(o.predicates,r,i,e),this._removeFromIndex(o.objects,i,e,r),this._size!==null&&this._size--,o.subjects[N]===0&&(delete s[n],this._graphCount--),!0)}removeQuads(e){for(let r=0;r<e.length;r++)this.removeQuad(e[r])}remove(e){return e.on("data",r=>{this.removeQuad(r)}),e}removeMatches(e,r,i,n){let s=new Xr.Readable({objectMode:!0}),o=this.readQuads(e,r,i,n);return s._read=a=>{for(;--a>=0;){let{done:l,value:u}=o.next();if(l){s.push(null);return}s.push(u)}},this.remove(s)}deleteGraph(e){return this.removeMatches(null,null,null,e)}getQuads(e,r,i,n){return[...this.readQuads(e,r,i,n)]}*readQuads(e,r,i,n){let s=this._getGraphs(n),o,a,l,u;if(!(e&&!(a=this._termToNumericId(e))||r&&!(l=this._termToNumericId(r))||i&&!(u=this._termToNumericId(i))))for(let f in s)(o=s[f])&&(a?u?yield*ne(this._findInIndex(o.objects,u,a,l,"object","subject","predicate",f)):yield*ne(this._findInIndex(o.subjects,a,l,null,"subject","predicate","object",f)):l?yield*ne(this._findInIndex(o.predicates,l,u,null,"predicate","object","subject",f)):u?yield*ne(this._findInIndex(o.objects,u,null,null,"object","subject","predicate",f)):yield*ne(this._findInIndex(o.subjects,null,null,null,"subject","predicate","object",f)))}match(e,r,i,n,s=null){return new We(this,e,r,i,n,{entityIndex:this._entityIndex,matchSemantics:s&&s.matchSemantics!==void 0?s.matchSemantics:this._matchSemantics})}countQuads(e,r,i,n){let s=this._getGraphs(n),o=0,a,l,u,f;if(e&&!(l=this._termToNumericId(e))||r&&!(u=this._termToNumericId(r))||i&&!(f=this._termToNumericId(i)))return 0;for(let c in s)(a=s[c])&&(e?i?o+=this._countInIndex(a.objects,f,l,u):o+=this._countInIndex(a.subjects,l,u,f):r?o+=this._countInIndex(a.predicates,u,f,l):i?o+=this._countInIndex(a.objects,f,l,u):o+=this._countInIndex(a.subjects));return o}forEach(e,r,i,n,s){this.some(o=>(e(o,this),!1),r,i,n,s)}every(e,r,i,n,s){return!this.some(o=>!e(o,this),r,i,n,s)}some(e,r,i,n,s){for(let o of this.readQuads(r,i,n,s))if(e(o,this))return!0;return!1}getSubjects(e,r,i){let n=[];return this.forSubjects(s=>{n.push(s)},e,r,i),n}forSubjects(e,r,i,n){let s=this._getGraphs(n),o,a,l;if(e=this._uniqueEntities(e),!(r&&!(a=this._termToNumericId(r))||i&&!(l=this._termToNumericId(i))))for(n in s)(o=s[n])&&(a?l?this._loopBy2Keys(o.predicates,a,l,e):this._loopByKey1(o.subjects,a,e):l?this._loopByKey0(o.objects,l,e):this._loop(o.subjects,e))}getPredicates(e,r,i){let n=[];return this.forPredicates(s=>{n.push(s)},e,r,i),n}forPredicates(e,r,i,n){let s=this._getGraphs(n),o,a,l;if(e=this._uniqueEntities(e),!(r&&!(a=this._termToNumericId(r))||i&&!(l=this._termToNumericId(i))))for(n in s)(o=s[n])&&(a?l?this._loopBy2Keys(o.objects,l,a,e):this._loopByKey0(o.subjects,a,e):l?this._loopByKey1(o.predicates,l,e):this._loop(o.predicates,e))}getObjects(e,r,i){let n=[];return this.forObjects(s=>{n.push(s)},e,r,i),n}forObjects(e,r,i,n){let s=this._getGraphs(n),o,a,l;if(e=this._uniqueEntities(e),!(r&&!(a=this._termToNumericId(r))||i&&!(l=this._termToNumericId(i))))for(n in s)(o=s[n])&&(a?l?this._loopBy2Keys(o.subjects,a,l,e):this._loopByKey0Deep(o.subjects,a,e):l?this._loopByKey0(o.predicates,l,e):this._loop(o.objects,e))}getGraphs(e,r,i){let n=[];return this.forGraphs(s=>{n.push(s)},e,r,i),n}forGraphs(e,r,i,n){for(let s in this._graphs)this.some(o=>(e(o.graph),!0),r,i,n,this._termFromId(this._entities[s]))}createBlankNode(e){return this._entityIndex.createBlankNode(e)}extractLists({remove:e=!1,ignoreErrors:r=!1,allowExtraArcs:i=!1}={}){let n=Object.create(null),s=r?(()=>!0):((l,u)=>{throw new Error(`${l.value} ${u}`)}),o=this.getQuads(null,j.rdf.rest,j.rdf.nil,null),a=[];return o.forEach(l=>{let u=[],f=!1,c=!1,d,h,b=l.graph,_=[],y=l.subject;for(;y&&!f;){let g=this.getQuads(null,null,y,null),S=this.getQuads(y,null,null,null),m,w=null,x=null,A=null;for(let E=0;E<S.length&&!f;E++)m=S[E],m.graph.equals(b)?d?f=s(y,"has non-list arcs out"):m.predicate.value===j.rdf.first?(w?f=s(y,"has multiple rdf:first arcs"):w=m,e&&w===m&&_.push(m)):m.predicate.value===j.rdf.rest?(x?f=s(y,"has multiple rdf:rest arcs"):x=m,e&&x===m&&_.push(m)):g.length?i?c=!0:f=s(y,`has non-list arc ${m.predicate.value}`):(d=m,h="subject"):f=s(y,"not confined to single graph");for(let E=0;E<g.length&&!f;++E)m=g[E],d?f=s(y,"can't have coreferences"):m.predicate.value===j.rdf.rest?A?f=s(y,"has incoming rdf:rest arcs"):A=m:(d=m,h="object");w?u.push(w.object):f=s(y,"has no list head"),y=A&&A.subject}if(f)e=!1;else if(u.reverse(),d&&(n[d[h].value]=u),e&&!c)for(let g=0;g<_.length;g++)a.push(_[g])}),e&&this.removeQuads(a),n}addAll(e){if(e instanceof We&&(e=e.filtered),Array.isArray(e))this.addQuads(e);else if(e instanceof t&&e._entityIndex===this._entityIndex)this._addFromIndex(e._graphs);else for(let r of e)this.add(r);return this}contains(e){if(e instanceof We&&(e=e.filtered),e===this)return!0;if(!(e instanceof t)||this._entityIndex!==e._entityIndex){let f=Kl(e),c=this._size;return f!==null&&c!==null&&f>c?!1:e.every(d=>this.has(d))}let r=this._graphs,i=e._graphs,n,s,o,a,l,u;for(let f in i){if(!(n=r[f])||(n=n.subjects,(s=i[f].subjects)[N]>n[N]))return!1;for(let c in s){if(!(o=n[c])||(a=s[c])[N]>o[N])return!1;for(let d in a){if(!(l=o[d])||(u=a[d])[N]>l[N])return!1;for(let h in u)if(!(h in l))return!1}}}return!0}deleteMatches(e,r,i,n){for(let s of this.match(e,r,i,n,{matchSemantics:"lazy"}))this.removeQuad(s);return this}difference(e){if(e&&e instanceof We&&(e=e.filtered),e===this)return new t({entityIndex:this._entityIndex});if(e instanceof t&&e._entityIndex===this._entityIndex){let r=new t({entityIndex:this._entityIndex});return r._addFromIndex(this._graphs,e._graphs),r}return this.filter(r=>!e.has(r))}equals(e){return e instanceof We&&(e=e.filtered),e===this||this.size===e.size&&this.contains(e)}filter(e){let r=new t({entityIndex:this._entityIndex});for(let i of this)e(i,this)&&r.add(i);return r}intersection(e){if(e instanceof We&&(e=e.filtered),e===this){let n=new t({entityIndex:this._entityIndex});return n._addFromIndex(this._graphs),n}else if(e instanceof t&&this._entityIndex===e._entityIndex){let n=new t({entityIndex:this._entityIndex});return this._size!==0&&e._size!==0&&(e._graphCount<this._graphCount?n._addIntersectionFromIndex(e._graphs,this._graphs):n._addIntersectionFromIndex(this._graphs,e._graphs)),n}let r=Kl(e),i=this._size;if(r!==null&&i!==null&&r<i&&typeof e[Symbol.iterator]=="function"&&e._factory===Q&&e._entityIndex._factory===Q){let n=new t({entityIndex:this._entityIndex});for(let s of e)this.has(s)&&n.add(s);return n}return this.filter(n=>e.has(n))}map(e){let r=new t({entityIndex:this._entityIndex});for(let i of this)r.add(e(i,this));return r}reduce(e,r){let i=this.readQuads(),n=r===void 0?i.next().value:r;for(let s of i)n=e(n,s,this);return n}toArray(){return this.getQuads()}toCanonical(){throw new Error("not implemented")}toStream(){return this.match(null,null,null,null,{matchSemantics:"lazy"})}toString(){return new le().quadsToString(this)}union(e){let r=new t({entityIndex:this._entityIndex});return r._addFromIndex(this._graphs),r.addAll(e),r}[Symbol.iterator](){return this.readQuads()}};function me(t,e,r=0){let i=e[r];if(i&&!(i in t))return!1;let n=!1,s=0;for(let o in i?{[i]:t[i]}:t){let a=r===2?null:me(t[o],e,r+1);a!==!1&&(n=n||Object.create(null),n[o]=a,s++)}return n&&(n[N]=s),n}function Yl(t,e,r,i,n){let s={store:t,ids:[]},o=e&&t._termToNumericId(e),a=r&&t._termToNumericId(r),l=i&&t._termToNumericId(i),u,f,c,d,h;l&&(o||!a)?(u="objects",[f,c,d]=[l,o,a],h=[2,0,1]):!o&&a?(u="predicates",[f,c,d]=[a,l,o],h=[1,2,0]):(u="subjects",[f,c,d]=[o,a,l],h=[0,1,2]);let b=t._getGraphs(n),_=[];for(let y in b){let g=b[y][u],S=Number(y);for(let m in f?{[f]:g[f]}:g){let w=g[m];if(w){_[h[0]]=Number(m);for(let x in c?{[c]:w[c]}:w){let A=w[x];if(A){_[h[1]]=Number(x);for(let E in d?d in A?{[d]:null}:{}:A)_[h[2]]=Number(E),s.ids.push(_[0],_[1],_[2],S)}}}}}return s}function*ab({store:t,ids:e},r){let i=t._entities,n,s,o,a,l,u,f,c;for(let d=r*4;d<e.length;d+=4)l!==e[d]&&(n=t._termFromId(i[l=e[d]])),u!==e[d+1]&&(s=t._termFromId(i[u=e[d+1]])),f!==e[d+2]&&(o=t._termFromId(i[f=e[d+2]])),c!==e[d+3]&&(a=t._termFromId(i[c=e[d+3]])),yield t._factory.quad(n,s,o,a)}function Un(t="lazy"){if(t!=="lazy"&&t!=="snapshot"&&t!=="forwarded")throw new Error(`Unknown matchSemantics: ${t}`);if(t!=="lazy"&&(typeof WeakRef!="function"||typeof FinalizationRegistry!="function"))throw new Error("Non-lazy matchSemantics requires WeakRef and FinalizationRegistry support");return t}function Jl(t,e){let r=new Array(4);for(let i=0;i<4;i++){let n=t[i],s=e[i];if(n==null)r[i]=s;else if(s==null||Z(n)===Z(s))r[i]=n;else return!1}return r}var We=class t extends Xr.Readable{constructor(e,r,i,n,s,o){super({objectMode:!0}),Object.assign(this,{n3Store:e,subject:r,predicate:i,object:n,graph:s,options:o});let a=this._semantics=Un(o.matchSemantics);o.matchesNothing&&(this._matchesNothing=!0,this._filtered=new we({factory:e._factory,entityIndex:o.entityIndex})),a!=="lazy"&&(this._readers=null,this._subjectId=this._predicateId=this._objectId=this._graphId=void 0,this._matchesNothing||(this._observer=e._addObserver(this)))}_matchesPattern(e,r,i,n){let{subject:s,predicate:o,object:a,graph:l,n3Store:u}=this;return s&&e!==(this._subjectId||(this._subjectId=u._termToNumericId(s)))||o&&r!==(this._predicateId||(this._predicateId=u._termToNumericId(o)))||a&&i!==(this._objectId||(this._objectId=u._termToNumericId(a)))?!1:l==null||n===(this._graphId||(this._graphId=l===""||se(l)?1:u._termToNumericId(l)))}_matchesQuad(e){let{subject:r,predicate:i,object:n,graph:s}=this;return!this._matchesNothing&&(r==null||Z(r)===Z(e.subject))&&(i==null||Z(i)===Z(e.predicate))&&(n==null||Z(n)===Z(e.object))&&(s==null||Z(s)===Z(e.graph))}_assertMatchesPattern(e){if(!this._matchesQuad(e))throw new Error("Quad does not match the forwarded view pattern")}_sourceIterator(){return this._filtered?this._filtered[Symbol.iterator]():this.n3Store.readQuads(this.subject,this.predicate,this.object,this.graph)}_freezeCurrentIterators(){this._readers&&(this._readers.snapshot=this._filtered?Yl(this._filtered):Yl(this.n3Store,this.subject,this.predicate,this.object,this.graph),this._readers=null)}_onParentMutation(e,r,i,n,s){if(this._matchesPattern(e,r,i,n)){if(this._freezeCurrentIterators(),this._semantics==="forwarded"){this._filtered&&(s?this._filtered._addQuad(e,r,i,n):this._filtered._removeQuad(e,r,i,n));return}this._filtered=this.filtered}}get filtered(){if(!this._filtered){let{n3Store:e,graph:r,object:i,predicate:n,subject:s}=this;this._semantics!=="lazy"&&this._freezeCurrentIterators();let o=this._filtered=new we({factory:e._factory,entityIndex:this.options.entityIndex});this._semantics==="snapshot"&&this._detachObserver();let a,l,u;if(s&&!(a=o._termToNumericId(s))||n&&!(l=o._termToNumericId(n))||i&&!(u=o._termToNumericId(i)))return o;let f=e._getGraphs(r);for(let c in f){let d,h,b,_;(_=f[c])&&(!a&&l?(h=me(_.predicates,[l,u,a]))&&(d=me(_.subjects,[a,l,u]),b=me(_.objects,[u,a,l])):u?(b=me(_.objects,[u,a,l]))&&(d=me(_.subjects,[a,l,u]),h=me(_.predicates,[l,u,a])):(d=me(_.subjects,[a,l,u]))&&(h=me(_.predicates,[l,u,a]),b=me(_.objects,[u,a,l])),d&&(o._graphs[c]={subjects:d,predicates:h,objects:b},o._graphCount++))}o._size=null}return this._filtered}get size(){return this.filtered.size}_read(e){e>0&&!this[Mt]&&(this[Mt]=this[Symbol.iterator]());let r=this[Mt];for(;--e>=0;){let{done:i,value:n}=r.next();if(i){this.push(null);return}this.push(n)}}_destroy(e,r){this[Mt]&&(this[Mt].return(),this[Mt]=null),r(e)}_detachObserver(){this._observer&&(this.n3Store._removeObserver(this._observer),this._observer=null)}_detach(){return this._filtered=this.filtered,this._detachObserver(),this._semantics==="lazy"&&(this._readers=null),this._semantics="snapshot",this}addAll(e){if(this._semantics==="forwarded"){for(let r of e)this._assertMatchesPattern(r),this.n3Store.addQuad(r);return this}return this.filtered.addAll(e)}contains(e){return this.filtered.contains(e)}deleteMatches(e,r,i,n){if(this._semantics==="forwarded"){if(this._matchesNothing)throw new Error("Cannot delete from a conflicting forwarded view pattern");let s=Jl([this.subject,this.predicate,this.object,this.graph],[e,r,i,n]);if(!s)throw new Error("Deletion pattern does not match the forwarded view pattern");return this.n3Store.deleteMatches(...s),this}return this.filtered.deleteMatches(e,r,i,n)}difference(e){return this.filtered.difference(e)}equals(e){return this.filtered.equals(e)}every(e,r,i,n,s){return this.filtered.every(this._semantics==="forwarded"?o=>e(o,this):e,r,i,n,s)}filter(e){return this.filtered.filter(this._semantics==="forwarded"?r=>e(r,this):e)}forEach(e,r,i,n,s){return this.filtered.forEach(this._semantics==="forwarded"?o=>e(o,this):e,r,i,n,s)}import(e){if(this._semantics!=="forwarded")return this.filtered.import(e);let r=this;function i(n){try{r._assertMatchesPattern(n),r.n3Store.addQuad(n)}catch(s){e.removeListener("data",i),typeof e.destroy=="function"?e.destroy(s):e.emit("error",s)}}return e.on("data",i),e}intersection(e){return this.filtered.intersection(e)}map(e){return this.filtered.map(this._semantics==="forwarded"?r=>e(r,this):e)}some(e,r,i,n,s){return this.filtered.some(this._semantics==="forwarded"?o=>e(o,this):e,r,i,n,s)}toCanonical(){return this.filtered.toCanonical()}toStream(){return this._semantics!=="lazy"?Xr.Readable.from(this[Symbol.iterator]()):this._filtered?this._filtered.toStream():this.n3Store.match(this.subject,this.predicate,this.object,this.graph,{matchSemantics:"lazy"})}union(e){return this._filtered?this._filtered.union(e):this.n3Store.match(this.subject,this.predicate,this.object,this.graph,{matchSemantics:"lazy"}).addAll(e)}toArray(){return this._semantics!=="lazy"?[...this]:this._filtered?this._filtered.toArray():this.n3Store.getQuads(this.subject,this.predicate,this.object,this.graph)}reduce(e,r){return this.filtered.reduce(this._semantics==="forwarded"?(i,n)=>e(i,n,this):e,r)}toString(){return new le().quadsToString(this)}add(e){return this._semantics==="forwarded"?(this._assertMatchesPattern(e),this.n3Store.addQuad(e),this):this.filtered.add(e)}delete(e){return this._semantics==="forwarded"?(this._assertMatchesPattern(e),this.n3Store.removeQuad(e),this):this.filtered.delete(e)}has(e){return this.filtered.has(e)}match(e,r,i,n,s=null){let o=s&&s.matchSemantics;if(s&&o!==void 0&&(Un(o),o!==this._semantics))throw new Error(`Cannot override matchSemantics on a view: inherited "${this._semantics}", received "${o}"`);if(this._semantics!=="forwarded")return new t(this.filtered,e,r,i,n,{entityIndex:this.options.entityIndex,matchSemantics:this._semantics});let a=!this._matchesNothing&&Jl([this.subject,this.predicate,this.object,this.graph],[e,r,i,n]),[l,u,f,c]=a||[null,null,null,null];return new t(this.n3Store,l,u,f,c,{entityIndex:this.options.entityIndex,matchSemantics:"forwarded",matchesNothing:!a})}[Symbol.iterator](){return this._semantics==="lazy"?this._sourceIterator():this._iterateStable()}*_iterateStable(){let e=this._readers||(this._readers={count:0,snapshot:null}),r=this._sourceIterator(),i=0;e.count++;try{for(;!e.snapshot;){let{value:n,done:s}=r.next();if(e.snapshot||s)break;i++,yield n}e.snapshot&&(yield*ne(ab(e.snapshot,i)))}finally{r.return(),--e.count===0&&(e.snapshot=null,this._readers===e&&(this._readers=null))}}};var sr=class{dataset(e){return new we(e)}};function eu(t){let e=[];for(let{subject:r,object:i}of t.match(null,Q.namedNode("http://www.w3.org/2000/10/swap/log#implies"),null,Q.defaultGraph())){let n=[...t.match(null,null,null,r)],s=[...t.match(null,null,null,i)];e.push({premise:n,conclusion:s})}return e}var or=class{constructor(e,r={}){this._store=e,this._maxDerivations=r.maxDerivations===void 0?1/0:r.maxDerivations,this._maxPremiseDepth=r.maxPremiseDepth===void 0?1/0:r.maxPremiseDepth}_add(e,r,i,n,s,o){let a=this._store;if(a._observers){if(!a._addQuad(e,r,i,this._graphId))return}else{if(!a._addToIndex(n.subjects,e,r,i))return;a._addToIndex(n.predicates,r,i,e),a._addToIndex(n.objects,i,e,r),this._indexed++}if(++this._derivations>this._maxDerivations)throw new Error(`Reasoning exceeded the maximum of ${this._maxDerivations} derivations`);o(s)}_emit(e,r,i){let n=e.conclusion;for(let s=0;s<n.length;s++){let o=n[s];this._add(o.subject.value,o.predicate.value,o.object.value,r,o,i)}}_evaluatePremise(e,r,i,n=0){let s,o,[a,l,u]=e.premise[n].value,f=r[e.premise[n].content],c=n===e.premise.length-1;if(!(s=a.value)){for(s in f)o=f[s],a.value=Number(s),this._evaluateLevel1(e,r,i,n,c,l,u,o);a.value=null}else(o=f[s])&&this._evaluateLevel1(e,r,i,n,c,l,u,o)}_evaluateLevel1(e,r,i,n,s,o,a,l){let u,f;if(!(u=o.value)){for(u in l)f=l[u],o.value=Number(u),this._evaluateLevel2(e,r,i,n,s,a,f);o.value=null}else(f=l[u])&&this._evaluateLevel2(e,r,i,n,s,a,f)}_evaluateLevel2(e,r,i,n,s,o,a){let l;if(!(l=o.value)){for(l in a)o.value=Number(l),s?this._emit(e,r,i):this._evaluatePremise(e,r,i,n+1);o.value=null}else s?this._emit(e,r,i):this._evaluatePremise(e,r,i,n+1)}_evaluateRules(e,r,i){for(let n=0;n<e.length;n++)this._evaluatePremise(e[n],r,i)}_reasonGraphNaive(e,r){let i=[];function n(a){a.next&&a.next.forEach(l=>{i.push([a.subject.value,a.predicate.value,a.object.value,l])})}let s=a=>{for(let l=0;l<a.length;l++){let u=a[l];this._add(u.subject.value,u.predicate.value,u.object.value,r,u,n)}};this._evaluateRules(e,r,n);let o;for(;(o=i.pop())!==void 0;){let[a,l,u,f]=o,c=f.basePremise.subject.value;c||(f.basePremise.subject.value=a);let d=f.basePremise.predicate.value;d||(f.basePremise.predicate.value=l);let h=f.basePremise.object.value;h||(f.basePremise.object.value=u),f.premise.length===0?s(f.conclusion):this._evaluatePremise(f,r,n),c||(f.basePremise.subject.value=null),d||(f.basePremise.predicate.value=null),h||(f.basePremise.object.value=null)}}_createRule({premise:e,conclusion:r}){let i=Object.create(null),n=o=>o.termType==="Variable"?i[o.value]=i[o.value]||{}:{value:this._store._termToNewNumericId(o)},s=o=>({subject:n(o.subject),predicate:n(o.predicate),object:n(o.object)});return{premise:e.map(o=>s(o)),conclusion:r.map(o=>s(o)),variables:Object.values(i)}}reason(e){this._derivations=this._indexed=0,Array.isArray(e)||(e=eu(e)),e=e.map(i=>this._createRule(i));for(let i of e)if(i.premise.length>this._maxPremiseDepth)throw new Error(`Reasoning rule exceeds the maximum premise depth of ${this._maxPremiseDepth}`);for(let i of e)for(let n of e)for(let s=0;s<n.premise.length;s++){let o=n.premise[s];for(let a of i.conclusion){if(qn(o.subject,a.subject)&&qn(o.predicate,a.predicate)&&qn(o.object,a.object)){let l=new Set,u=[];o.subject.value=o.subject.value||1,o.object.value=o.object.value||1,o.predicate.value=o.predicate.value||1;for(let f=0;f<n.premise.length;f++)f!==s&&u.push(Zl(n.premise[f],l));(a.next=a.next||[]).push({premise:u,conclusion:n.conclusion,basePremise:o})}for(let l=0;l<n.variables.length;l++)n.variables[l].value=null}}for(let i of e){let n=new Set;i.premise=i.premise.map(s=>Zl(s,n))}let r=this._store._getGraphs();try{for(let i in r)this._graphId=Number(i),this._reasonGraphNaive(e,r[i])}finally{this._store._size!==null&&(this._store._size+=this._indexed)}}};function Zl({subject:t,predicate:e,object:r},i){let n=t.value||i.has(t)||(i.add(t),!1),s=e.value||i.has(e)||(i.add(e),!1),o=r.value||i.has(r)||(i.add(r),!1);return!n&&s?{content:"predicates",value:[e,r,t]}:o?{content:"objects",value:[r,t,e]}:{content:"subjects",value:[t,e,r]}}function qn(t,e){return t.value===null&&(t.value=e.value),t.value===e.value}var tu=Zr(Yr());var ar=class extends tu.Transform{constructor(e){super({decodeStrings:!0,readableObjectMode:!0});let r=new Se(e),i,n,s={onQuad:(o,a)=>{o&&this.emit("error",o)||a&&this.push(a)},onPrefix:(o,a)=>{this.emit("prefix",o,a)},onDirective:o=>{this.emit("directive",o)}};e&&e.comments&&(s.onComment=o=>{this.emit("comment",o)}),r.parse({on:(o,a)=>{switch(o){case"data":i=a;break;case"end":n=a;break}}},s),this._transform=(o,a,l)=>{i(o),l()},this._flush=o=>{n(),o()}}import(e){return e.on("error",r=>{this.emit("error",r)}),typeof e.pipe=="function"?e.pipe(this):(e.on("data",r=>{this.write(r)}),e.on("end",()=>{this.end()})),this}};var ru=Zr(Yr());var lb=16*1024,ub=20,lr=class extends ru.Transform{constructor(e){super({encoding:"utf8",writableObjectMode:!0}),this._buffer="",this._flushTimer=null,this._flushDelay=e&&e.flushDelay!==void 0?e.flushDelay:ub;let r=this._writer=new le({write:(s,o,a)=>{this._buffer+=s,this._buffer.length>=lb?this._pushBuffer():this._flushTimer===null&&this._armFlushTimer(),a&&a()},end:s=>{this._pushBuffer(),this.push(null),s&&s()}},e),i=null,n=s=>{let o=i;i=null,s&&this._pushBuffer(),o(s)};this._transform=(s,o,a)=>{i=a,r.addQuad(s,n)},this._flush=s=>{r.end(s)}}_pushBuffer(){this._clearFlushTimer(),this._buffer!==""&&(this.push(this._buffer),this._buffer="")}_armFlushTimer(){this._flushTimer=setTimeout(()=>{this._flushTimer=null,this._pushBuffer()},this._flushDelay),this._flushTimer.unref&&this._flushTimer.unref()}_clearFlushTimer(){this._flushTimer!==null&&(clearTimeout(this._flushTimer),this._flushTimer=null)}_destroy(e,r){this._clearFlushTimer(),super._destroy(e,r)}import(e){return e.on("data",r=>{this.write(r)}),e.on("end",()=>{this.end()}),e.on("error",r=>{this._pushBuffer(),this.emit("error",r)}),e.on("prefix",(r,i)=>{this._writer.addPrefix(r,i)}),this}};var qy={Lexer:Ce,Parser:Se,Writer:le,Store:we,StoreFactory:sr,EntityIndex:nr,StreamParser:ar,StreamWriter:lr,Util:fi,Reasoner:or,BaseIRI:ze,DataFactory:Q,Term:K,NamedNode:_t,Literal:Ee,BlankNode:Ut,Variable:qt,DefaultGraph:Wt,Quad:Oe,Triple:Oe,termFromId:Be,termToId:De};export{ze as BaseIRI,Ut as BlankNode,Q as DataFactory,Wt as DefaultGraph,nr as EntityIndex,Ce as Lexer,Ee as Literal,_t as NamedNode,Se as Parser,Oe as Quad,or as Reasoner,we as Store,sr as StoreFactory,ar as StreamParser,lr as StreamWriter,K as Term,Oe as Triple,fi as Util,qt as Variable,le as Writer,qy as default,eu as getRulesFromDataset,Be as termFromId,De as termToId};
24
24
  /*! Bundled license information:
25
25
 
26
26
  ieee754/index.js:
package/browser/n3.min.js CHANGED
@@ -20,7 +20,7 @@ var N3=(()=>{var ou=Object.create;var Vt=Object.defineProperty,au=Object.defineP
20
20
  `:"",r)}_createPrefixRegex(){let e="",r="";for(let i in this._prefixPatterns){let[n,s]=this._prefixPatterns[i];e+=e?`|${n}`:n,r+=r?`|${s}`:s}return this._prefixRegex=new RegExp(`^(${e})([_a-zA-Z0-9](?:\\.?[\\-_a-zA-Z0-9])*)$|^(?:${r})`)}blank(e,r){let i=e,n,s;switch(e===void 0?i=[]:e.termType?i=[{predicate:e,object:r}]:"length"in e||(i=[e]),s=i.length){case 0:return new He("[]");case 1:if(n=i[0],!(n.object instanceof He))return new He(`[ ${this._encodePredicate(n.predicate)} ${this._encodeObject(n.object)} ]`);default:let o="[";for(let a=0;a<s;a++)n=i[a],n.predicate.equals(e)?o+=`, ${this._encodeObject(n.object)}`:(o+=`${(a?`;
21
21
  `:`
22
22
  `)+this._encodePredicate(n.predicate)} ${this._encodeObject(n.object)}`,e=n.predicate);return new He(`${o}
23
- ]`)}}list(e){let r=e&&e.length||0,i=new Array(r);for(let n=0;n<r;n++)i[n]=this._encodeObject(e[n]);return new He(`(${i.join(" ")})`)}end(e){this._endStatement(),this._write=this._blockedWrite;let r=e&&((i,n)=>{r=null,e(i,n)});if(this._endStream)try{return this._outputStream.end(r)}catch(i){}r&&r()}};function Xu(t){let e=ws[t];return e===void 0&&(t.length===1?(e=t.charCodeAt(0).toString(16),e="\\u0000".substr(0,6-e.length)+e):(e=((t.charCodeAt(0)-55296)*1024+t.charCodeAt(1)+9216).toString(16),e="\\U00000000".substr(0,10-e.length)+e)),e}function Zu(t){let e=ws[t];return e===void 0&&(e=t.charCodeAt(0).toString(16).toUpperCase(),e="\\u0000".substr(0,6-e.length)+e),e}var Zr=ei(Jr());var Ut=Symbol("iter"),N=Symbol("size"),$n;function ob({store:t,observer:e}){let r=t.deref();r&&r._removeObserver(e)}function kn(t,e,r,i){let n=t&&t[e],s=n&&n[r];return!!s&&i in s}var ab=/^[?_"[.<]/;function Z(t){if(typeof t=="string")return t.charCodeAt(0)!==60||t==="<>"?t:`<${t}>`;let e=Te(t);return e.charCodeAt(0)>=97||!t?e:t.termType==="Quad"?JSON.stringify(tu(t)):t.termType!=="NamedNode"||!ab.test(t.value)?e:`<${t.value}>`}function tu(t){let e=[Xr(t.subject),Xr(t.predicate),Xr(t.object)];return t.graph&&!se(t.graph)&&e.push(Xr(t.graph)),e}function Xr(t){return t.termType==="Quad"?tu(t):Z(t)}var qt=class{constructor(e={}){this._id=1,this._ids=Object.create(null),this._ids[""]=1,this._entities=Object.create(null),this._entities[1]="",this._blankNodeIndex=0,this._factory=e.factory||W}_termFromId(e){if(e[0]==="<")return this._factory.namedNode(e.substring(1,e.length-1));if(e[0]==="."){let r=this._entities,i=e.split(".");return this._factory.quad(this._termFromId(r[i[1]]),this._termFromId(r[i[2]]),this._termFromId(r[i[3]]),i[4]&&this._termFromId(r[i[4]]))}return Re(e,this._factory)}_termToNumericId(e){if(e.termType==="Quad"){let r=this._termToNumericId(e.subject),i=this._termToNumericId(e.predicate),n=this._termToNumericId(e.object),s;return r&&i&&n&&(se(e.graph)||(s=this._termToNumericId(e.graph)))&&this._ids[s?`.${r}.${i}.${n}.${s}`:`.${r}.${i}.${n}`]}return typeof e=="string"?this._stringToNumericId(e):this._ids[Z(e)]}_stringToNumericId(e){let r=this._ids[e];return(r?this._entities[r].charCodeAt(0)!==60:e.charCodeAt(0)!==60)||e==="<>"?r:this._ids[`<${e}>`]}_termToNewNumericId(e){if(typeof e=="string")return this._stringToNumericId(e)||this._addEntity(Z(e));let r=e&&e.termType==="Quad"?`.${this._termToNewNumericId(e.subject)}.${this._termToNewNumericId(e.predicate)}.${this._termToNewNumericId(e.object)}${se(e.graph)?"":`.${this._termToNewNumericId(e.graph)}`}`:Z(e);return this._ids[r]||this._addEntity(r)}_addEntity(e){return this._ids[this._entities[++this._id]=e]=this._id}createBlankNode(e){let r,i;if(e)for(r=e=`_:${e}`,i=1;this._ids[r];)r=e+i++;else do r=`_:b${this._blankNodeIndex++}`;while(this._ids[r]);return this._ids[r]=++this._id,this._entities[this._id]=r,this._factory.blankNode(r.substr(2))}};function Xl(t){return t instanceof ue?t._size:null}var ue=class t{constructor(e,r){this._size=0,this._graphs=Object.create(null),this._graphCount=0,this._observers=null,!r&&e&&!e[0]&&typeof e.match!="function"&&(r=e,e=null),r=r||{},this._factory=r.factory||W,this._matchSemantics=Un(r.matchSemantics),this._entityIndex=r.entityIndex||new qt({factory:this._factory}),this._entities=this._entityIndex._entities,this._termFromId=this._entityIndex._termFromId.bind(this._entityIndex),this._termToNumericId=this._entityIndex._termToNumericId.bind(this._entityIndex),this._termToNewNumericId=this._entityIndex._termToNewNumericId.bind(this._entityIndex),e&&this.addAll(e)}get size(){return this._size===null&&(this._size=this.countQuads()),this._size}_addToIndex(e,r,i,n){let s=e[r];s||(e[r]=s={[N]:0},e[N]++);let o=s[i];o||(s[i]=o={[N]:0},s[N]++);let a=n in o;return a||(o[n]=null,o[N]++),!a}_removeFromIndex(e,r,i,n){let s=e[r],o=s[i];delete o[n],--o[N]===0&&(delete s[i],--s[N]===0&&(delete e[r],e[N]--))}*_findInIndex(e,r,i,n,s,o,a,l){let u=this._entities,f=this._termFromId(u[l]),c={subject:null,predicate:null,object:null};if(n){let h=e[r],b=h&&h[i];if(!b||!(n in b))return;c[s]=this._termFromId(u[r]),c[o]=this._termFromId(u[i]),c[a]=this._termFromId(u[n]),yield this._factory.quad(c.subject,c.predicate,c.object,f);return}if(r&&!(r in e))return;let d=r?null:Object.keys(e);for(let h=0,b=r||d[0];b;b=d&&d[++h]){let _=e[b];if(!_)continue;if(c[s]=this._termFromId(u[b]),i&&!(i in _))return;let y=i?null:Object.keys(_);for(let g=0,S=i||y[0];S;S=y&&y[++g]){let m=_[S];if(!m)continue;c[o]=this._termFromId(u[S]);let w=Object.keys(m);for(let x=0;x<w.length;x++)c[a]=this._termFromId(u[w[x]]),yield this._factory.quad(c.subject,c.predicate,c.object,f)}}}_loop(e,r){for(let i in e)r(i)}_loopByKey0(e,r,i){let n,s;if(n=e[r])for(s in n)i(s)}_loopByKey1(e,r,i){let n,s;for(n in e)s=e[n],s[r]&&i(n)}_loopBy2Keys(e,r,i,n){let s,o,a;if((s=e[r])&&(o=s[i]))for(a in o)n(a)}_loopByKey0Deep(e,r,i){let n,s,o,a;if(n=e[r])for(o in n){s=n[o];for(a in s)i(a)}}_countInIndex(e,r,i,n){let s=0,o,a;if(r){if(!(o=e[r]))return 0;if(i)return(a=o[i])?n?n in a?1:0:a[N]:0;let u=Object.keys(o);for(let f=0;f<u.length;f++)s+=o[u[f]][N];return s}let l=Object.keys(e);for(let u=0;u<l.length;u++){o=e[l[u]];let f=Object.keys(o);for(let c=0;c<f.length;c++)s+=o[f[c]][N]}return s}_getGraphs(e){return e=e===""?1:e&&(this._termToNumericId(e)||-1),typeof e!="number"?this._graphs:{[e]:this._graphs[e]}}_addObserver(e){let r=new WeakRef(e);return($n||($n=new FinalizationRegistry(ob))).register(e,{store:new WeakRef(this),observer:r},r),(this._observers||(this._observers=new Set)).add(r),r}_removeObserver(e){$n.unregister(e),this._observers&&(this._observers.delete(e),this._observers.size===0&&(this._observers=null))}_notifyObservers(e,r,i,n,s){for(let o of this._observers){let a=o.deref();a?a._onParentMutation(e,r,i,n,s):this._removeObserver(o)}}_uniqueEntities(e){let r=Object.create(null);return i=>{i in r||(r[i]=!0,e(this._termFromId(this._entities[i],this._factory)))}}add(e){return this.addQuad(e),this}addQuad(e,r,i,n){return r||(n=e.graph,i=e.object,r=e.predicate,e=e.subject),n=n?this._termToNewNumericId(n):1,e=this._termToNewNumericId(e),r=this._termToNewNumericId(r),i=this._termToNewNumericId(i),this._addQuad(e,r,i,n)}_addQuad(e,r,i,n){let s=this._graphs[n];if(s||(s=this._graphs[n]={subjects:{[N]:0},predicates:{[N]:0},objects:{[N]:0}},Object.freeze(s),this._graphCount++),this._observers!==null){if(kn(s.subjects,e,r,i))return!1;this._notifyObservers(e,r,i,n,!0)}return this._addToIndex(s.subjects,e,r,i)?(this._addToIndex(s.predicates,r,i,e),this._addToIndex(s.objects,i,e,r),this._size!==null&&this._size++,!0):!1}_addFromIndex(e,r=null){for(let i in e){let n=e[i].subjects,s=r&&r[i],o=s?s.subjects:null;for(let a in n){let l=Number(a),u=n[a],f=o&&o[a];for(let c in u){let d=Number(c),h=u[c],b=f&&f[c];for(let _ in h)(!b||!(_ in b))&&this._addQuad(l,d,Number(_),Number(i))}}}}_addIntersectionFromIndex(e,r){for(let i in e){let n=r[i];if(n){let s=e[i].subjects,o=n.subjects;o[N]<s[N]&&([s,o]=[o,s]);for(let a in s){let l=s[a],u=o[a];if(u){u[N]<l[N]&&([l,u]=[u,l]);for(let f in l){let c=l[f],d=u[f];if(d){d[N]<c[N]&&([c,d]=[d,c]);for(let h in c)h in d&&this._addQuad(Number(a),Number(f),Number(h),Number(i))}}}}}}}addQuads(e){for(let r=0;r<e.length;r++)this.addQuad(e[r])}delete(e){return this.removeQuad(e),this}has(e,r,i,n){if(e&&e.subject&&({subject:e,predicate:r,object:i,graph:n}=e),e&&r&&i&&n!==void 0&&n!==null){let s=this._termToNumericId(e),o=this._termToNumericId(r),a=this._termToNumericId(i),l=n===""||se(n)?1:this._termToNumericId(n),u=l&&this._graphs[l];return!!s&&!!o&&!!a&&!!u&&kn(u.subjects,s,o,a)}return!this.readQuads(e,r,i,n).next().done}import(e){return e.on("data",r=>{this.addQuad(r)}),e}removeQuad(e,r,i,n){return r||({subject:e,predicate:r,object:i,graph:n}=e),n=n?this._termToNumericId(n):1,!(e=e&&this._termToNumericId(e))||!(r=r&&this._termToNumericId(r))||!(i=i&&this._termToNumericId(i))?!1:this._removeQuad(e,r,i,n)}_removeQuad(e,r,i,n){let s=this._graphs,o=s[n];return!o||!kn(o.subjects,e,r,i)?!1:(this._observers!==null&&this._notifyObservers(e,r,i,n,!1),this._removeFromIndex(o.subjects,e,r,i),this._removeFromIndex(o.predicates,r,i,e),this._removeFromIndex(o.objects,i,e,r),this._size!==null&&this._size--,o.subjects[N]===0&&(delete s[n],this._graphCount--),!0)}removeQuads(e){for(let r=0;r<e.length;r++)this.removeQuad(e[r])}remove(e){return e.on("data",r=>{this.removeQuad(r)}),e}removeMatches(e,r,i,n){let s=new Zr.Readable({objectMode:!0}),o=this.readQuads(e,r,i,n);return s._read=a=>{for(;--a>=0;){let{done:l,value:u}=o.next();if(l){s.push(null);return}s.push(u)}},this.remove(s)}deleteGraph(e){return this.removeMatches(null,null,null,e)}getQuads(e,r,i,n){return[...this.readQuads(e,r,i,n)]}*readQuads(e,r,i,n){let s=this._getGraphs(n),o,a,l,u;if(!(e&&!(a=this._termToNumericId(e))||r&&!(l=this._termToNumericId(r))||i&&!(u=this._termToNumericId(i))))for(let f in s)(o=s[f])&&(a?u?yield*ne(this._findInIndex(o.objects,u,a,l,"object","subject","predicate",f)):yield*ne(this._findInIndex(o.subjects,a,l,null,"subject","predicate","object",f)):l?yield*ne(this._findInIndex(o.predicates,l,u,null,"predicate","object","subject",f)):u?yield*ne(this._findInIndex(o.objects,u,null,null,"object","subject","predicate",f)):yield*ne(this._findInIndex(o.subjects,null,null,null,"subject","predicate","object",f)))}match(e,r,i,n,s=null){return new Ge(this,e,r,i,n,{entityIndex:this._entityIndex,matchSemantics:s&&s.matchSemantics!==void 0?s.matchSemantics:this._matchSemantics})}countQuads(e,r,i,n){let s=this._getGraphs(n),o=0,a,l,u,f;if(e&&!(l=this._termToNumericId(e))||r&&!(u=this._termToNumericId(r))||i&&!(f=this._termToNumericId(i)))return 0;for(let c in s)(a=s[c])&&(e?i?o+=this._countInIndex(a.objects,f,l,u):o+=this._countInIndex(a.subjects,l,u,f):r?o+=this._countInIndex(a.predicates,u,f,l):i?o+=this._countInIndex(a.objects,f,l,u):o+=this._countInIndex(a.subjects));return o}forEach(e,r,i,n,s){this.some(o=>(e(o,this),!1),r,i,n,s)}every(e,r,i,n,s){return!this.some(o=>!e(o,this),r,i,n,s)}some(e,r,i,n,s){for(let o of this.readQuads(r,i,n,s))if(e(o,this))return!0;return!1}getSubjects(e,r,i){let n=[];return this.forSubjects(s=>{n.push(s)},e,r,i),n}forSubjects(e,r,i,n){let s=this._getGraphs(n),o,a,l;if(e=this._uniqueEntities(e),!(r&&!(a=this._termToNumericId(r))||i&&!(l=this._termToNumericId(i))))for(n in s)(o=s[n])&&(a?l?this._loopBy2Keys(o.predicates,a,l,e):this._loopByKey1(o.subjects,a,e):l?this._loopByKey0(o.objects,l,e):this._loop(o.subjects,e))}getPredicates(e,r,i){let n=[];return this.forPredicates(s=>{n.push(s)},e,r,i),n}forPredicates(e,r,i,n){let s=this._getGraphs(n),o,a,l;if(e=this._uniqueEntities(e),!(r&&!(a=this._termToNumericId(r))||i&&!(l=this._termToNumericId(i))))for(n in s)(o=s[n])&&(a?l?this._loopBy2Keys(o.objects,l,a,e):this._loopByKey0(o.subjects,a,e):l?this._loopByKey1(o.predicates,l,e):this._loop(o.predicates,e))}getObjects(e,r,i){let n=[];return this.forObjects(s=>{n.push(s)},e,r,i),n}forObjects(e,r,i,n){let s=this._getGraphs(n),o,a,l;if(e=this._uniqueEntities(e),!(r&&!(a=this._termToNumericId(r))||i&&!(l=this._termToNumericId(i))))for(n in s)(o=s[n])&&(a?l?this._loopBy2Keys(o.subjects,a,l,e):this._loopByKey0Deep(o.subjects,a,e):l?this._loopByKey0(o.predicates,l,e):this._loop(o.objects,e))}getGraphs(e,r,i){let n=[];return this.forGraphs(s=>{n.push(s)},e,r,i),n}forGraphs(e,r,i,n){for(let s in this._graphs)this.some(o=>(e(o.graph),!0),r,i,n,this._termFromId(this._entities[s]))}createBlankNode(e){return this._entityIndex.createBlankNode(e)}extractLists({remove:e=!1,ignoreErrors:r=!1,allowExtraArcs:i=!1}={}){let n=Object.create(null),s=r?(()=>!0):((l,u)=>{throw new Error(`${l.value} ${u}`)}),o=this.getQuads(null,j.rdf.rest,j.rdf.nil,null),a=[];return o.forEach(l=>{let u=[],f=!1,c=!1,d,h,b=l.graph,_=[],y=l.subject;for(;y&&!f;){let g=this.getQuads(null,null,y,null),S=this.getQuads(y,null,null,null),m,w=null,x=null,A=null;for(let E=0;E<S.length&&!f;E++)m=S[E],m.graph.equals(b)?d?f=s(y,"has non-list arcs out"):m.predicate.value===j.rdf.first?(w?f=s(y,"has multiple rdf:first arcs"):w=m,e&&w===m&&_.push(m)):m.predicate.value===j.rdf.rest?(x?f=s(y,"has multiple rdf:rest arcs"):x=m,e&&x===m&&_.push(m)):g.length?i?c=!0:f=s(y,`has non-list arc ${m.predicate.value}`):(d=m,h="subject"):f=s(y,"not confined to single graph");for(let E=0;E<g.length&&!f;++E)m=g[E],d?f=s(y,"can't have coreferences"):m.predicate.value===j.rdf.rest?A?f=s(y,"has incoming rdf:rest arcs"):A=m:(d=m,h="object");w?u.push(w.object):f=s(y,"has no list head"),y=A&&A.subject}if(f)e=!1;else if(u.reverse(),d&&(n[d[h].value]=u),e&&!c)for(let g=0;g<_.length;g++)a.push(_[g])}),e&&this.removeQuads(a),n}addAll(e){if(e instanceof Ge&&(e=e.filtered),Array.isArray(e))this.addQuads(e);else if(e instanceof t&&e._entityIndex===this._entityIndex)this._addFromIndex(e._graphs);else for(let r of e)this.add(r);return this}contains(e){if(e instanceof Ge&&(e=e.filtered),e===this)return!0;if(!(e instanceof t)||this._entityIndex!==e._entityIndex){let f=Xl(e),c=this._size;return f!==null&&c!==null&&f>c?!1:e.every(d=>this.has(d))}let r=this._graphs,i=e._graphs,n,s,o,a,l,u;for(let f in i){if(!(n=r[f])||(n=n.subjects,(s=i[f].subjects)[N]>n[N]))return!1;for(let c in s){if(!(o=n[c])||(a=s[c])[N]>o[N])return!1;for(let d in a){if(!(l=o[d])||(u=a[d])[N]>l[N])return!1;for(let h in u)if(!(h in l))return!1}}}return!0}deleteMatches(e,r,i,n){for(let s of this.match(e,r,i,n,{matchSemantics:"lazy"}))this.removeQuad(s);return this}difference(e){if(e&&e instanceof Ge&&(e=e.filtered),e===this)return new t({entityIndex:this._entityIndex});if(e instanceof t&&e._entityIndex===this._entityIndex){let r=new t({entityIndex:this._entityIndex});return r._addFromIndex(this._graphs,e._graphs),r}return this.filter(r=>!e.has(r))}equals(e){return e instanceof Ge&&(e=e.filtered),e===this||this.size===e.size&&this.contains(e)}filter(e){let r=new t({entityIndex:this._entityIndex});for(let i of this)e(i,this)&&r.add(i);return r}intersection(e){if(e instanceof Ge&&(e=e.filtered),e===this){let n=new t({entityIndex:this._entityIndex});return n._addFromIndex(this._graphs),n}else if(e instanceof t&&this._entityIndex===e._entityIndex){let n=new t({entityIndex:this._entityIndex});return this._size!==0&&e._size!==0&&(e._graphCount<this._graphCount?n._addIntersectionFromIndex(e._graphs,this._graphs):n._addIntersectionFromIndex(this._graphs,e._graphs)),n}let r=Xl(e),i=this._size;if(r!==null&&i!==null&&r<i&&typeof e[Symbol.iterator]=="function"&&e._factory===W&&e._entityIndex._factory===W){let n=new t({entityIndex:this._entityIndex});for(let s of e)this.has(s)&&n.add(s);return n}return this.filter(n=>e.has(n))}map(e){let r=new t({entityIndex:this._entityIndex});for(let i of this)r.add(e(i,this));return r}reduce(e,r){let i=this.readQuads(),n=r===void 0?i.next().value:r;for(let s of i)n=e(n,s,this);return n}toArray(){return this.getQuads()}toCanonical(){throw new Error("not implemented")}toStream(){return this.match(null,null,null,null,{matchSemantics:"lazy"})}toString(){return new oe().quadsToString(this)}union(e){let r=new t({entityIndex:this._entityIndex});return r._addFromIndex(this._graphs),r.addAll(e),r}[Symbol.iterator](){return this.readQuads()}};function Ee(t,e,r=0){let i=e[r];if(i&&!(i in t))return!1;let n=!1,s=0;for(let o in i?{[i]:t[i]}:t){let a=r===2?null:Ee(t[o],e,r+1);a!==!1&&(n=n||Object.create(null),n[o]=a,s++)}return n&&(n[N]=s),n}function Zl(t,e,r,i,n){let s={store:t,ids:[]},o=e&&t._termToNumericId(e),a=r&&t._termToNumericId(r),l=i&&t._termToNumericId(i),u,f,c,d,h;l&&(o||!a)?(u="objects",[f,c,d]=[l,o,a],h=[2,0,1]):!o&&a?(u="predicates",[f,c,d]=[a,l,o],h=[1,2,0]):(u="subjects",[f,c,d]=[o,a,l],h=[0,1,2]);let b=t._getGraphs(n),_=[];for(let y in b){let g=b[y][u],S=Number(y);for(let m in f?{[f]:g[f]}:g){let w=g[m];if(w){_[h[0]]=Number(m);for(let x in c?{[c]:w[c]}:w){let A=w[x];if(A){_[h[1]]=Number(x);for(let E in d?d in A?{[d]:null}:{}:A)_[h[2]]=Number(E),s.ids.push(_[0],_[1],_[2],S)}}}}}return s}function*lb({store:t,ids:e},r){let i=t._entities,n,s,o,a,l,u,f,c;for(let d=r*4;d<e.length;d+=4)l!==e[d]&&(n=t._termFromId(i[l=e[d]])),u!==e[d+1]&&(s=t._termFromId(i[u=e[d+1]])),f!==e[d+2]&&(o=t._termFromId(i[f=e[d+2]])),c!==e[d+3]&&(a=t._termFromId(i[c=e[d+3]])),yield t._factory.quad(n,s,o,a)}function Un(t="lazy"){if(t!=="lazy"&&t!=="snapshot"&&t!=="forwarded")throw new Error(`Unknown matchSemantics: ${t}`);if(t!=="lazy"&&(typeof WeakRef!="function"||typeof FinalizationRegistry!="function"))throw new Error("Non-lazy matchSemantics requires WeakRef and FinalizationRegistry support");return t}function eu(t,e){let r=new Array(4);for(let i=0;i<4;i++){let n=t[i],s=e[i];if(n==null)r[i]=s;else if(s==null||Z(n)===Z(s))r[i]=n;else return!1}return r}var Ge=class t extends Zr.Readable{constructor(e,r,i,n,s,o){super({objectMode:!0}),Object.assign(this,{n3Store:e,subject:r,predicate:i,object:n,graph:s,options:o});let a=this._semantics=Un(o.matchSemantics);o.matchesNothing&&(this._matchesNothing=!0,this._filtered=new ue({factory:e._factory,entityIndex:o.entityIndex})),a!=="lazy"&&(this._readers=null,this._subjectId=this._predicateId=this._objectId=this._graphId=void 0,this._matchesNothing||(this._observer=e._addObserver(this)))}_matchesPattern(e,r,i,n){let{subject:s,predicate:o,object:a,graph:l,n3Store:u}=this;return s&&e!==(this._subjectId||(this._subjectId=u._termToNumericId(s)))||o&&r!==(this._predicateId||(this._predicateId=u._termToNumericId(o)))||a&&i!==(this._objectId||(this._objectId=u._termToNumericId(a)))?!1:l==null||n===(this._graphId||(this._graphId=l===""||se(l)?1:u._termToNumericId(l)))}_matchesQuad(e){let{subject:r,predicate:i,object:n,graph:s}=this;return!this._matchesNothing&&(r==null||Z(r)===Z(e.subject))&&(i==null||Z(i)===Z(e.predicate))&&(n==null||Z(n)===Z(e.object))&&(s==null||Z(s)===Z(e.graph))}_assertMatchesPattern(e){if(!this._matchesQuad(e))throw new Error("Quad does not match the forwarded view pattern")}_sourceIterator(){return this._filtered?this._filtered[Symbol.iterator]():this.n3Store.readQuads(this.subject,this.predicate,this.object,this.graph)}_freezeCurrentIterators(){this._readers&&(this._readers.snapshot=this._filtered?Zl(this._filtered):Zl(this.n3Store,this.subject,this.predicate,this.object,this.graph),this._readers=null)}_onParentMutation(e,r,i,n,s){if(this._matchesPattern(e,r,i,n)){if(this._freezeCurrentIterators(),this._semantics==="forwarded"){this._filtered&&(s?this._filtered._addQuad(e,r,i,n):this._filtered._removeQuad(e,r,i,n));return}this._filtered=this.filtered}}get filtered(){if(!this._filtered){let{n3Store:e,graph:r,object:i,predicate:n,subject:s}=this;this._semantics!=="lazy"&&this._freezeCurrentIterators();let o=this._filtered=new ue({factory:e._factory,entityIndex:this.options.entityIndex});this._semantics==="snapshot"&&this._detachObserver();let a,l,u;if(s&&!(a=o._termToNumericId(s))||n&&!(l=o._termToNumericId(n))||i&&!(u=o._termToNumericId(i)))return o;let f=e._getGraphs(r);for(let c in f){let d,h,b,_;(_=f[c])&&(!a&&l?(h=Ee(_.predicates,[l,u,a]))&&(d=Ee(_.subjects,[a,l,u]),b=Ee(_.objects,[u,a,l])):u?(b=Ee(_.objects,[u,a,l]))&&(d=Ee(_.subjects,[a,l,u]),h=Ee(_.predicates,[l,u,a])):(d=Ee(_.subjects,[a,l,u]))&&(h=Ee(_.predicates,[l,u,a]),b=Ee(_.objects,[u,a,l])),d&&(o._graphs[c]={subjects:d,predicates:h,objects:b},o._graphCount++))}o._size=null}return this._filtered}get size(){return this.filtered.size}_read(e){e>0&&!this[Ut]&&(this[Ut]=this[Symbol.iterator]());let r=this[Ut];for(;--e>=0;){let{done:i,value:n}=r.next();if(i){this.push(null);return}this.push(n)}}_destroy(e,r){this[Ut]&&(this[Ut].return(),this[Ut]=null),r(e)}_detachObserver(){this._observer&&(this.n3Store._removeObserver(this._observer),this._observer=null)}_detach(){return this._filtered=this.filtered,this._detachObserver(),this._semantics==="lazy"&&(this._readers=null),this._semantics="snapshot",this}addAll(e){if(this._semantics==="forwarded"){for(let r of e)this._assertMatchesPattern(r),this.n3Store.addQuad(r);return this}return this.filtered.addAll(e)}contains(e){return this.filtered.contains(e)}deleteMatches(e,r,i,n){if(this._semantics==="forwarded"){if(this._matchesNothing)throw new Error("Cannot delete from a conflicting forwarded view pattern");let s=eu([this.subject,this.predicate,this.object,this.graph],[e,r,i,n]);if(!s)throw new Error("Deletion pattern does not match the forwarded view pattern");return this.n3Store.deleteMatches(...s),this}return this.filtered.deleteMatches(e,r,i,n)}difference(e){return this.filtered.difference(e)}equals(e){return this.filtered.equals(e)}every(e,r,i,n,s){return this.filtered.every(this._semantics==="forwarded"?o=>e(o,this):e,r,i,n,s)}filter(e){return this.filtered.filter(this._semantics==="forwarded"?r=>e(r,this):e)}forEach(e,r,i,n,s){return this.filtered.forEach(this._semantics==="forwarded"?o=>e(o,this):e,r,i,n,s)}import(e){if(this._semantics!=="forwarded")return this.filtered.import(e);let r=this;function i(n){try{r._assertMatchesPattern(n),r.n3Store.addQuad(n)}catch(s){e.removeListener("data",i),typeof e.destroy=="function"?e.destroy(s):e.emit("error",s)}}return e.on("data",i),e}intersection(e){return this.filtered.intersection(e)}map(e){return this.filtered.map(this._semantics==="forwarded"?r=>e(r,this):e)}some(e,r,i,n,s){return this.filtered.some(this._semantics==="forwarded"?o=>e(o,this):e,r,i,n,s)}toCanonical(){return this.filtered.toCanonical()}toStream(){return this._semantics!=="lazy"?Zr.Readable.from(this[Symbol.iterator]()):this._filtered?this._filtered.toStream():this.n3Store.match(this.subject,this.predicate,this.object,this.graph,{matchSemantics:"lazy"})}union(e){return this._filtered?this._filtered.union(e):this.n3Store.match(this.subject,this.predicate,this.object,this.graph,{matchSemantics:"lazy"}).addAll(e)}toArray(){return this._semantics!=="lazy"?[...this]:this._filtered?this._filtered.toArray():this.n3Store.getQuads(this.subject,this.predicate,this.object,this.graph)}reduce(e,r){return this.filtered.reduce(this._semantics==="forwarded"?(i,n)=>e(i,n,this):e,r)}toString(){return new oe().quadsToString(this)}add(e){return this._semantics==="forwarded"?(this._assertMatchesPattern(e),this.n3Store.addQuad(e),this):this.filtered.add(e)}delete(e){return this._semantics==="forwarded"?(this._assertMatchesPattern(e),this.n3Store.removeQuad(e),this):this.filtered.delete(e)}has(e){return this.filtered.has(e)}match(e,r,i,n,s=null){let o=s&&s.matchSemantics;if(s&&o!==void 0&&(Un(o),o!==this._semantics))throw new Error(`Cannot override matchSemantics on a view: inherited "${this._semantics}", received "${o}"`);if(this._semantics!=="forwarded")return new t(this.filtered,e,r,i,n,{entityIndex:this.options.entityIndex,matchSemantics:this._semantics});let a=!this._matchesNothing&&eu([this.subject,this.predicate,this.object,this.graph],[e,r,i,n]),[l,u,f,c]=a||[null,null,null,null];return new t(this.n3Store,l,u,f,c,{entityIndex:this.options.entityIndex,matchSemantics:"forwarded",matchesNothing:!a})}[Symbol.iterator](){return this._semantics==="lazy"?this._sourceIterator():this._iterateStable()}*_iterateStable(){let e=this._readers||(this._readers={count:0,snapshot:null}),r=this._sourceIterator(),i=0;e.count++;try{for(;!e.snapshot;){let{value:n,done:s}=r.next();if(e.snapshot||s)break;i++,yield n}e.snapshot&&(yield*ne(lb(e.snapshot,i)))}finally{r.return(),--e.count===0&&(e.snapshot=null,this._readers===e&&(this._readers=null))}}};var Wt=class{dataset(e){return new ue(e)}};function Wn(t){let e=[];for(let{subject:r,object:i}of t.match(null,W.namedNode("http://www.w3.org/2000/10/swap/log#implies"),null,W.defaultGraph())){let n=[...t.match(null,null,null,r)],s=[...t.match(null,null,null,i)];e.push({premise:n,conclusion:s})}return e}var Gt=class{constructor(e,r={}){this._store=e,this._maxDerivations=r.maxDerivations===void 0?1/0:r.maxDerivations,this._maxPremiseDepth=r.maxPremiseDepth===void 0?1/0:r.maxPremiseDepth}_add(e,r,i,n,s,o){let a=this._store;if(a._observers){if(!a._addQuad(e,r,i,this._graphId))return}else{if(!a._addToIndex(n.subjects,e,r,i))return;a._addToIndex(n.predicates,r,i,e),a._addToIndex(n.objects,i,e,r),this._indexed++}if(++this._derivations>this._maxDerivations)throw new Error(`Reasoning exceeded the maximum of ${this._maxDerivations} derivations`);o(s)}_emit(e,r,i){let n=e.conclusion;for(let s=0;s<n.length;s++){let o=n[s];this._add(o.subject.value,o.predicate.value,o.object.value,r,o,i)}}_evaluatePremise(e,r,i,n=0){let s,o,[a,l,u]=e.premise[n].value,f=r[e.premise[n].content],c=n===e.premise.length-1;if(!(s=a.value)){for(s in f)o=f[s],a.value=Number(s),this._evaluateLevel1(e,r,i,n,c,l,u,o);a.value=null}else(o=f[s])&&this._evaluateLevel1(e,r,i,n,c,l,u,o)}_evaluateLevel1(e,r,i,n,s,o,a,l){let u,f;if(!(u=o.value)){for(u in l)f=l[u],o.value=Number(u),this._evaluateLevel2(e,r,i,n,s,a,f);o.value=null}else(f=l[u])&&this._evaluateLevel2(e,r,i,n,s,a,f)}_evaluateLevel2(e,r,i,n,s,o,a){let l;if(!(l=o.value)){for(l in a)o.value=Number(l),s?this._emit(e,r,i):this._evaluatePremise(e,r,i,n+1);o.value=null}else s?this._emit(e,r,i):this._evaluatePremise(e,r,i,n+1)}_evaluateRules(e,r,i){for(let n=0;n<e.length;n++)this._evaluatePremise(e[n],r,i)}_reasonGraphNaive(e,r){let i=[];function n(a){a.next&&a.next.forEach(l=>{i.push([a.subject.value,a.predicate.value,a.object.value,l])})}let s=a=>{for(let l=0;l<a.length;l++){let u=a[l];this._add(u.subject.value,u.predicate.value,u.object.value,r,u,n)}};this._evaluateRules(e,r,n);let o;for(;(o=i.pop())!==void 0;){let[a,l,u,f]=o,c=f.basePremise.subject.value;c||(f.basePremise.subject.value=a);let d=f.basePremise.predicate.value;d||(f.basePremise.predicate.value=l);let h=f.basePremise.object.value;h||(f.basePremise.object.value=u),f.premise.length===0?s(f.conclusion):this._evaluatePremise(f,r,n),c||(f.basePremise.subject.value=null),d||(f.basePremise.predicate.value=null),h||(f.basePremise.object.value=null)}}_createRule({premise:e,conclusion:r}){let i=Object.create(null),n=o=>o.termType==="Variable"?i[o.value]=i[o.value]||{}:{value:this._store._termToNewNumericId(o)},s=o=>({subject:n(o.subject),predicate:n(o.predicate),object:n(o.object)});return{premise:e.map(o=>s(o)),conclusion:r.map(o=>s(o)),variables:Object.values(i)}}reason(e){this._derivations=this._indexed=0,Array.isArray(e)||(e=Wn(e)),e=e.map(i=>this._createRule(i));for(let i of e)if(i.premise.length>this._maxPremiseDepth)throw new Error(`Reasoning rule exceeds the maximum premise depth of ${this._maxPremiseDepth}`);for(let i of e)for(let n of e)for(let s=0;s<n.premise.length;s++){let o=n.premise[s];for(let a of i.conclusion){if(qn(o.subject,a.subject)&&qn(o.predicate,a.predicate)&&qn(o.object,a.object)){let l=new Set,u=[];o.subject.value=o.subject.value||1,o.object.value=o.object.value||1,o.predicate.value=o.predicate.value||1;for(let f=0;f<n.premise.length;f++)f!==s&&u.push(ru(n.premise[f],l));(a.next=a.next||[]).push({premise:u,conclusion:n.conclusion,basePremise:o})}for(let l=0;l<n.variables.length;l++)n.variables[l].value=null}}for(let i of e){let n=new Set;i.premise=i.premise.map(s=>ru(s,n))}let r=this._store._getGraphs();try{for(let i in r)this._graphId=Number(i),this._reasonGraphNaive(e,r[i])}finally{this._store._size!==null&&(this._store._size+=this._indexed)}}};function ru({subject:t,predicate:e,object:r},i){let n=t.value||i.has(t)||(i.add(t),!1),s=e.value||i.has(e)||(i.add(e),!1),o=r.value||i.has(r)||(i.add(r),!1);return!n&&s?{content:"predicates",value:[e,r,t]}:o?{content:"objects",value:[r,t,e]}:{content:"subjects",value:[t,e,r]}}function qn(t,e){return t.value===null&&(t.value=e.value),t.value===e.value}var iu=ei(Jr());var Qt=class extends iu.Transform{constructor(e){super({decodeStrings:!0,readableObjectMode:!0});let r=new ce(e),i,n,s={onQuad:(o,a)=>{o&&this.emit("error",o)||a&&this.push(a)},onPrefix:(o,a)=>{this.emit("prefix",o,a)},onDirective:o=>{this.emit("directive",o)}};e&&e.comments&&(s.onComment=o=>{this.emit("comment",o)}),r.parse({on:(o,a)=>{switch(o){case"data":i=a;break;case"end":n=a;break}}},s),this._transform=(o,a,l)=>{i(o),l()},this._flush=o=>{n(),o()}}import(e){return e.on("error",r=>{this.emit("error",r)}),typeof e.pipe=="function"?e.pipe(this):(e.on("data",r=>{this.write(r)}),e.on("end",()=>{this.end()})),this}};var nu=ei(Jr());var ub=16*1024,fb=20,zt=class extends nu.Transform{constructor(e){super({encoding:"utf8",writableObjectMode:!0}),this._buffer="",this._flushTimer=null,this._flushDelay=e&&e.flushDelay!==void 0?e.flushDelay:fb;let r=this._writer=new oe({write:(s,o,a)=>{this._buffer+=s,this._buffer.length>=ub?this._pushBuffer():this._flushTimer===null&&this._armFlushTimer(),a&&a()},end:s=>{this._pushBuffer(),this.push(null),s&&s()}},e),i=null,n=s=>{let o=i;i=null,s&&this._pushBuffer(),o(s)};this._transform=(s,o,a)=>{i=a,r.addQuad(s,n)},this._flush=s=>{r.end(s)}}_pushBuffer(){this._clearFlushTimer(),this._buffer!==""&&(this.push(this._buffer),this._buffer="")}_armFlushTimer(){this._flushTimer=setTimeout(()=>{this._flushTimer=null,this._pushBuffer()},this._flushDelay),this._flushTimer.unref&&this._flushTimer.unref()}_clearFlushTimer(){this._flushTimer!==null&&(clearTimeout(this._flushTimer),this._flushTimer=null)}_destroy(e,r){this._clearFlushTimer(),super._destroy(e,r)}import(e){return e.on("data",r=>{this.write(r)}),e.on("end",()=>{this.end()}),e.on("error",r=>{this._pushBuffer(),this.emit("error",r)}),e.on("prefix",(r,i)=>{this._writer.addPrefix(r,i)}),this}};var cb={Lexer:Se,Parser:ce,Writer:oe,Store:ue,StoreFactory:Wt,EntityIndex:qt,StreamParser:Qt,StreamWriter:zt,Util:dr,Reasoner:Gt,BaseIRI:Me,DataFactory:W,Term:z,NamedNode:ze,Literal:fe,BlankNode:pt,Variable:bt,DefaultGraph:yt,Quad:Ae,Triple:Ae,termFromId:Re,termToId:Te};return _u(hb);})();
23
+ ]`)}}list(e){let r=e&&e.length||0,i=new Array(r);for(let n=0;n<r;n++)i[n]=this._encodeObject(e[n]);return new He(`(${i.join(" ")})`)}end(e){this._endStatement(),this._write=this._blockedWrite;let r=e&&((i,n)=>{r=null,e(i,n)});if(this._endStream)try{return this._outputStream.end(r)}catch(i){}r&&r()}};function Xu(t){let e=ws[t];return e===void 0&&(t.length===1?(e=t.charCodeAt(0).toString(16),e="\\u0000".substr(0,6-e.length)+e):(e=((t.charCodeAt(0)-55296)*1024+t.charCodeAt(1)+9216).toString(16),e="\\U00000000".substr(0,10-e.length)+e)),e}function Zu(t){let e=ws[t];return e===void 0&&(e=t.charCodeAt(0).toString(16).toUpperCase(),e="\\u0000".substr(0,6-e.length)+e),e}var Zr=ei(Jr());var Ut=Symbol("iter"),N=Symbol("size"),$n;function ob({store:t,observer:e}){let r=t.deref();r&&r._removeObserver(e)}function kn(t,e,r,i){let n=t&&t[e],s=n&&n[r];return!!s&&i in s}var ab=/^[?_"[.<]/;function Z(t){if(typeof t=="string"){let r=t.charCodeAt(0);return r!==60&&r!==46||t==="<>"?t:`<${t}>`}let e=Te(t);return e.charCodeAt(0)>=97||!t?e:t.termType==="Quad"?JSON.stringify(tu(t)):t.termType!=="NamedNode"||!ab.test(t.value)?e:`<${t.value}>`}function tu(t){let e=[Xr(t.subject),Xr(t.predicate),Xr(t.object)];return t.graph&&!se(t.graph)&&e.push(Xr(t.graph)),e}function Xr(t){return t.termType==="Quad"?tu(t):Z(t)}var qt=class{constructor(e={}){this._id=1,this._ids=Object.create(null),this._ids[""]=1,this._entities=Object.create(null),this._entities[1]="",this._blankNodeIndex=0,this._factory=e.factory||W}_termFromId(e){if(e[0]==="<")return this._factory.namedNode(e.substring(1,e.length-1));if(e[0]==="."){let r=this._entities,i=e.split(".");return this._factory.quad(this._termFromId(r[i[1]]),this._termFromId(r[i[2]]),this._termFromId(r[i[3]]),i[4]&&this._termFromId(r[i[4]]))}return Re(e,this._factory)}_termToNumericId(e){if(e.termType==="Quad"){let r=this._termToNumericId(e.subject),i=this._termToNumericId(e.predicate),n=this._termToNumericId(e.object),s;return r&&i&&n&&(se(e.graph)||(s=this._termToNumericId(e.graph)))&&this._ids[s?`.${r}.${i}.${n}.${s}`:`.${r}.${i}.${n}`]}return typeof e=="string"?this._stringToNumericId(e):this._ids[Z(e)]}_stringToNumericId(e){let r=this._ids[e],i=r?this._entities[r].charCodeAt(0):e.charCodeAt(0);return i!==60&&i!==46||e==="<>"?r:this._ids[`<${e}>`]}_termToNewNumericId(e){if(typeof e=="string")return this._stringToNumericId(e)||this._addEntity(Z(e));let r=e&&e.termType==="Quad"?`.${this._termToNewNumericId(e.subject)}.${this._termToNewNumericId(e.predicate)}.${this._termToNewNumericId(e.object)}${se(e.graph)?"":`.${this._termToNewNumericId(e.graph)}`}`:Z(e);return this._ids[r]||this._addEntity(r)}_addEntity(e){return this._ids[this._entities[++this._id]=e]=this._id}createBlankNode(e){let r,i;if(e)for(r=e=`_:${e}`,i=1;this._ids[r];)r=e+i++;else do r=`_:b${this._blankNodeIndex++}`;while(this._ids[r]);return this._ids[r]=++this._id,this._entities[this._id]=r,this._factory.blankNode(r.substr(2))}};function Xl(t){return t instanceof ue?t._size:null}var ue=class t{constructor(e,r){this._size=0,this._graphs=Object.create(null),this._graphCount=0,this._observers=null,!r&&e&&!e[0]&&typeof e.match!="function"&&(r=e,e=null),r=r||{},this._factory=r.factory||W,this._matchSemantics=Un(r.matchSemantics),this._entityIndex=r.entityIndex||new qt({factory:this._factory}),this._entities=this._entityIndex._entities,this._termFromId=this._entityIndex._termFromId.bind(this._entityIndex),this._termToNumericId=this._entityIndex._termToNumericId.bind(this._entityIndex),this._termToNewNumericId=this._entityIndex._termToNewNumericId.bind(this._entityIndex),e&&this.addAll(e)}get size(){return this._size===null&&(this._size=this.countQuads()),this._size}_addToIndex(e,r,i,n){let s=e[r];s||(e[r]=s={[N]:0},e[N]++);let o=s[i];o||(s[i]=o={[N]:0},s[N]++);let a=n in o;return a||(o[n]=null,o[N]++),!a}_removeFromIndex(e,r,i,n){let s=e[r],o=s[i];delete o[n],--o[N]===0&&(delete s[i],--s[N]===0&&(delete e[r],e[N]--))}*_findInIndex(e,r,i,n,s,o,a,l){let u=this._entities,f=this._termFromId(u[l]),c={subject:null,predicate:null,object:null};if(n){let h=e[r],b=h&&h[i];if(!b||!(n in b))return;c[s]=this._termFromId(u[r]),c[o]=this._termFromId(u[i]),c[a]=this._termFromId(u[n]),yield this._factory.quad(c.subject,c.predicate,c.object,f);return}if(r&&!(r in e))return;let d=r?null:Object.keys(e);for(let h=0,b=r||d[0];b;b=d&&d[++h]){let _=e[b];if(!_)continue;if(c[s]=this._termFromId(u[b]),i&&!(i in _))return;let y=i?null:Object.keys(_);for(let g=0,S=i||y[0];S;S=y&&y[++g]){let m=_[S];if(!m)continue;c[o]=this._termFromId(u[S]);let w=Object.keys(m);for(let x=0;x<w.length;x++)c[a]=this._termFromId(u[w[x]]),yield this._factory.quad(c.subject,c.predicate,c.object,f)}}}_loop(e,r){for(let i in e)r(i)}_loopByKey0(e,r,i){let n,s;if(n=e[r])for(s in n)i(s)}_loopByKey1(e,r,i){let n,s;for(n in e)s=e[n],s[r]&&i(n)}_loopBy2Keys(e,r,i,n){let s,o,a;if((s=e[r])&&(o=s[i]))for(a in o)n(a)}_loopByKey0Deep(e,r,i){let n,s,o,a;if(n=e[r])for(o in n){s=n[o];for(a in s)i(a)}}_countInIndex(e,r,i,n){let s=0,o,a;if(r){if(!(o=e[r]))return 0;if(i)return(a=o[i])?n?n in a?1:0:a[N]:0;let u=Object.keys(o);for(let f=0;f<u.length;f++)s+=o[u[f]][N];return s}let l=Object.keys(e);for(let u=0;u<l.length;u++){o=e[l[u]];let f=Object.keys(o);for(let c=0;c<f.length;c++)s+=o[f[c]][N]}return s}_getGraphs(e){return e=e===""?1:e&&(this._termToNumericId(e)||-1),typeof e!="number"?this._graphs:{[e]:this._graphs[e]}}_addObserver(e){let r=new WeakRef(e);return($n||($n=new FinalizationRegistry(ob))).register(e,{store:new WeakRef(this),observer:r},r),(this._observers||(this._observers=new Set)).add(r),r}_removeObserver(e){$n.unregister(e),this._observers&&(this._observers.delete(e),this._observers.size===0&&(this._observers=null))}_notifyObservers(e,r,i,n,s){for(let o of this._observers){let a=o.deref();a?a._onParentMutation(e,r,i,n,s):this._removeObserver(o)}}_uniqueEntities(e){let r=Object.create(null);return i=>{i in r||(r[i]=!0,e(this._termFromId(this._entities[i],this._factory)))}}add(e){return this.addQuad(e),this}addQuad(e,r,i,n){return r||(n=e.graph,i=e.object,r=e.predicate,e=e.subject),n=n?this._termToNewNumericId(n):1,e=this._termToNewNumericId(e),r=this._termToNewNumericId(r),i=this._termToNewNumericId(i),this._addQuad(e,r,i,n)}_addQuad(e,r,i,n){let s=this._graphs[n];if(s||(s=this._graphs[n]={subjects:{[N]:0},predicates:{[N]:0},objects:{[N]:0}},Object.freeze(s),this._graphCount++),this._observers!==null){if(kn(s.subjects,e,r,i))return!1;this._notifyObservers(e,r,i,n,!0)}return this._addToIndex(s.subjects,e,r,i)?(this._addToIndex(s.predicates,r,i,e),this._addToIndex(s.objects,i,e,r),this._size!==null&&this._size++,!0):!1}_addFromIndex(e,r=null){for(let i in e){let n=e[i].subjects,s=r&&r[i],o=s?s.subjects:null;for(let a in n){let l=Number(a),u=n[a],f=o&&o[a];for(let c in u){let d=Number(c),h=u[c],b=f&&f[c];for(let _ in h)(!b||!(_ in b))&&this._addQuad(l,d,Number(_),Number(i))}}}}_addIntersectionFromIndex(e,r){for(let i in e){let n=r[i];if(n){let s=e[i].subjects,o=n.subjects;o[N]<s[N]&&([s,o]=[o,s]);for(let a in s){let l=s[a],u=o[a];if(u){u[N]<l[N]&&([l,u]=[u,l]);for(let f in l){let c=l[f],d=u[f];if(d){d[N]<c[N]&&([c,d]=[d,c]);for(let h in c)h in d&&this._addQuad(Number(a),Number(f),Number(h),Number(i))}}}}}}}addQuads(e){for(let r=0;r<e.length;r++)this.addQuad(e[r])}delete(e){return this.removeQuad(e),this}has(e,r,i,n){if(e&&e.subject&&r==null&&i==null&&n==null&&({subject:e,predicate:r,object:i,graph:n}=e),e&&r&&i&&n!==void 0&&n!==null){let s=this._termToNumericId(e),o=this._termToNumericId(r),a=this._termToNumericId(i),l=n===""||se(n)?1:this._termToNumericId(n),u=l&&this._graphs[l];return!!s&&!!o&&!!a&&!!u&&kn(u.subjects,s,o,a)}return!this.readQuads(e,r,i,n).next().done}import(e){return e.on("data",r=>{this.addQuad(r)}),e}removeQuad(e,r,i,n){return r||({subject:e,predicate:r,object:i,graph:n}=e),n=n?this._termToNumericId(n):1,!(e=e&&this._termToNumericId(e))||!(r=r&&this._termToNumericId(r))||!(i=i&&this._termToNumericId(i))?!1:this._removeQuad(e,r,i,n)}_removeQuad(e,r,i,n){let s=this._graphs,o=s[n];return!o||!kn(o.subjects,e,r,i)?!1:(this._observers!==null&&this._notifyObservers(e,r,i,n,!1),this._removeFromIndex(o.subjects,e,r,i),this._removeFromIndex(o.predicates,r,i,e),this._removeFromIndex(o.objects,i,e,r),this._size!==null&&this._size--,o.subjects[N]===0&&(delete s[n],this._graphCount--),!0)}removeQuads(e){for(let r=0;r<e.length;r++)this.removeQuad(e[r])}remove(e){return e.on("data",r=>{this.removeQuad(r)}),e}removeMatches(e,r,i,n){let s=new Zr.Readable({objectMode:!0}),o=this.readQuads(e,r,i,n);return s._read=a=>{for(;--a>=0;){let{done:l,value:u}=o.next();if(l){s.push(null);return}s.push(u)}},this.remove(s)}deleteGraph(e){return this.removeMatches(null,null,null,e)}getQuads(e,r,i,n){return[...this.readQuads(e,r,i,n)]}*readQuads(e,r,i,n){let s=this._getGraphs(n),o,a,l,u;if(!(e&&!(a=this._termToNumericId(e))||r&&!(l=this._termToNumericId(r))||i&&!(u=this._termToNumericId(i))))for(let f in s)(o=s[f])&&(a?u?yield*ne(this._findInIndex(o.objects,u,a,l,"object","subject","predicate",f)):yield*ne(this._findInIndex(o.subjects,a,l,null,"subject","predicate","object",f)):l?yield*ne(this._findInIndex(o.predicates,l,u,null,"predicate","object","subject",f)):u?yield*ne(this._findInIndex(o.objects,u,null,null,"object","subject","predicate",f)):yield*ne(this._findInIndex(o.subjects,null,null,null,"subject","predicate","object",f)))}match(e,r,i,n,s=null){return new Ge(this,e,r,i,n,{entityIndex:this._entityIndex,matchSemantics:s&&s.matchSemantics!==void 0?s.matchSemantics:this._matchSemantics})}countQuads(e,r,i,n){let s=this._getGraphs(n),o=0,a,l,u,f;if(e&&!(l=this._termToNumericId(e))||r&&!(u=this._termToNumericId(r))||i&&!(f=this._termToNumericId(i)))return 0;for(let c in s)(a=s[c])&&(e?i?o+=this._countInIndex(a.objects,f,l,u):o+=this._countInIndex(a.subjects,l,u,f):r?o+=this._countInIndex(a.predicates,u,f,l):i?o+=this._countInIndex(a.objects,f,l,u):o+=this._countInIndex(a.subjects));return o}forEach(e,r,i,n,s){this.some(o=>(e(o,this),!1),r,i,n,s)}every(e,r,i,n,s){return!this.some(o=>!e(o,this),r,i,n,s)}some(e,r,i,n,s){for(let o of this.readQuads(r,i,n,s))if(e(o,this))return!0;return!1}getSubjects(e,r,i){let n=[];return this.forSubjects(s=>{n.push(s)},e,r,i),n}forSubjects(e,r,i,n){let s=this._getGraphs(n),o,a,l;if(e=this._uniqueEntities(e),!(r&&!(a=this._termToNumericId(r))||i&&!(l=this._termToNumericId(i))))for(n in s)(o=s[n])&&(a?l?this._loopBy2Keys(o.predicates,a,l,e):this._loopByKey1(o.subjects,a,e):l?this._loopByKey0(o.objects,l,e):this._loop(o.subjects,e))}getPredicates(e,r,i){let n=[];return this.forPredicates(s=>{n.push(s)},e,r,i),n}forPredicates(e,r,i,n){let s=this._getGraphs(n),o,a,l;if(e=this._uniqueEntities(e),!(r&&!(a=this._termToNumericId(r))||i&&!(l=this._termToNumericId(i))))for(n in s)(o=s[n])&&(a?l?this._loopBy2Keys(o.objects,l,a,e):this._loopByKey0(o.subjects,a,e):l?this._loopByKey1(o.predicates,l,e):this._loop(o.predicates,e))}getObjects(e,r,i){let n=[];return this.forObjects(s=>{n.push(s)},e,r,i),n}forObjects(e,r,i,n){let s=this._getGraphs(n),o,a,l;if(e=this._uniqueEntities(e),!(r&&!(a=this._termToNumericId(r))||i&&!(l=this._termToNumericId(i))))for(n in s)(o=s[n])&&(a?l?this._loopBy2Keys(o.subjects,a,l,e):this._loopByKey0Deep(o.subjects,a,e):l?this._loopByKey0(o.predicates,l,e):this._loop(o.objects,e))}getGraphs(e,r,i){let n=[];return this.forGraphs(s=>{n.push(s)},e,r,i),n}forGraphs(e,r,i,n){for(let s in this._graphs)this.some(o=>(e(o.graph),!0),r,i,n,this._termFromId(this._entities[s]))}createBlankNode(e){return this._entityIndex.createBlankNode(e)}extractLists({remove:e=!1,ignoreErrors:r=!1,allowExtraArcs:i=!1}={}){let n=Object.create(null),s=r?(()=>!0):((l,u)=>{throw new Error(`${l.value} ${u}`)}),o=this.getQuads(null,j.rdf.rest,j.rdf.nil,null),a=[];return o.forEach(l=>{let u=[],f=!1,c=!1,d,h,b=l.graph,_=[],y=l.subject;for(;y&&!f;){let g=this.getQuads(null,null,y,null),S=this.getQuads(y,null,null,null),m,w=null,x=null,A=null;for(let E=0;E<S.length&&!f;E++)m=S[E],m.graph.equals(b)?d?f=s(y,"has non-list arcs out"):m.predicate.value===j.rdf.first?(w?f=s(y,"has multiple rdf:first arcs"):w=m,e&&w===m&&_.push(m)):m.predicate.value===j.rdf.rest?(x?f=s(y,"has multiple rdf:rest arcs"):x=m,e&&x===m&&_.push(m)):g.length?i?c=!0:f=s(y,`has non-list arc ${m.predicate.value}`):(d=m,h="subject"):f=s(y,"not confined to single graph");for(let E=0;E<g.length&&!f;++E)m=g[E],d?f=s(y,"can't have coreferences"):m.predicate.value===j.rdf.rest?A?f=s(y,"has incoming rdf:rest arcs"):A=m:(d=m,h="object");w?u.push(w.object):f=s(y,"has no list head"),y=A&&A.subject}if(f)e=!1;else if(u.reverse(),d&&(n[d[h].value]=u),e&&!c)for(let g=0;g<_.length;g++)a.push(_[g])}),e&&this.removeQuads(a),n}addAll(e){if(e instanceof Ge&&(e=e.filtered),Array.isArray(e))this.addQuads(e);else if(e instanceof t&&e._entityIndex===this._entityIndex)this._addFromIndex(e._graphs);else for(let r of e)this.add(r);return this}contains(e){if(e instanceof Ge&&(e=e.filtered),e===this)return!0;if(!(e instanceof t)||this._entityIndex!==e._entityIndex){let f=Xl(e),c=this._size;return f!==null&&c!==null&&f>c?!1:e.every(d=>this.has(d))}let r=this._graphs,i=e._graphs,n,s,o,a,l,u;for(let f in i){if(!(n=r[f])||(n=n.subjects,(s=i[f].subjects)[N]>n[N]))return!1;for(let c in s){if(!(o=n[c])||(a=s[c])[N]>o[N])return!1;for(let d in a){if(!(l=o[d])||(u=a[d])[N]>l[N])return!1;for(let h in u)if(!(h in l))return!1}}}return!0}deleteMatches(e,r,i,n){for(let s of this.match(e,r,i,n,{matchSemantics:"lazy"}))this.removeQuad(s);return this}difference(e){if(e&&e instanceof Ge&&(e=e.filtered),e===this)return new t({entityIndex:this._entityIndex});if(e instanceof t&&e._entityIndex===this._entityIndex){let r=new t({entityIndex:this._entityIndex});return r._addFromIndex(this._graphs,e._graphs),r}return this.filter(r=>!e.has(r))}equals(e){return e instanceof Ge&&(e=e.filtered),e===this||this.size===e.size&&this.contains(e)}filter(e){let r=new t({entityIndex:this._entityIndex});for(let i of this)e(i,this)&&r.add(i);return r}intersection(e){if(e instanceof Ge&&(e=e.filtered),e===this){let n=new t({entityIndex:this._entityIndex});return n._addFromIndex(this._graphs),n}else if(e instanceof t&&this._entityIndex===e._entityIndex){let n=new t({entityIndex:this._entityIndex});return this._size!==0&&e._size!==0&&(e._graphCount<this._graphCount?n._addIntersectionFromIndex(e._graphs,this._graphs):n._addIntersectionFromIndex(this._graphs,e._graphs)),n}let r=Xl(e),i=this._size;if(r!==null&&i!==null&&r<i&&typeof e[Symbol.iterator]=="function"&&e._factory===W&&e._entityIndex._factory===W){let n=new t({entityIndex:this._entityIndex});for(let s of e)this.has(s)&&n.add(s);return n}return this.filter(n=>e.has(n))}map(e){let r=new t({entityIndex:this._entityIndex});for(let i of this)r.add(e(i,this));return r}reduce(e,r){let i=this.readQuads(),n=r===void 0?i.next().value:r;for(let s of i)n=e(n,s,this);return n}toArray(){return this.getQuads()}toCanonical(){throw new Error("not implemented")}toStream(){return this.match(null,null,null,null,{matchSemantics:"lazy"})}toString(){return new oe().quadsToString(this)}union(e){let r=new t({entityIndex:this._entityIndex});return r._addFromIndex(this._graphs),r.addAll(e),r}[Symbol.iterator](){return this.readQuads()}};function Ee(t,e,r=0){let i=e[r];if(i&&!(i in t))return!1;let n=!1,s=0;for(let o in i?{[i]:t[i]}:t){let a=r===2?null:Ee(t[o],e,r+1);a!==!1&&(n=n||Object.create(null),n[o]=a,s++)}return n&&(n[N]=s),n}function Zl(t,e,r,i,n){let s={store:t,ids:[]},o=e&&t._termToNumericId(e),a=r&&t._termToNumericId(r),l=i&&t._termToNumericId(i),u,f,c,d,h;l&&(o||!a)?(u="objects",[f,c,d]=[l,o,a],h=[2,0,1]):!o&&a?(u="predicates",[f,c,d]=[a,l,o],h=[1,2,0]):(u="subjects",[f,c,d]=[o,a,l],h=[0,1,2]);let b=t._getGraphs(n),_=[];for(let y in b){let g=b[y][u],S=Number(y);for(let m in f?{[f]:g[f]}:g){let w=g[m];if(w){_[h[0]]=Number(m);for(let x in c?{[c]:w[c]}:w){let A=w[x];if(A){_[h[1]]=Number(x);for(let E in d?d in A?{[d]:null}:{}:A)_[h[2]]=Number(E),s.ids.push(_[0],_[1],_[2],S)}}}}}return s}function*lb({store:t,ids:e},r){let i=t._entities,n,s,o,a,l,u,f,c;for(let d=r*4;d<e.length;d+=4)l!==e[d]&&(n=t._termFromId(i[l=e[d]])),u!==e[d+1]&&(s=t._termFromId(i[u=e[d+1]])),f!==e[d+2]&&(o=t._termFromId(i[f=e[d+2]])),c!==e[d+3]&&(a=t._termFromId(i[c=e[d+3]])),yield t._factory.quad(n,s,o,a)}function Un(t="lazy"){if(t!=="lazy"&&t!=="snapshot"&&t!=="forwarded")throw new Error(`Unknown matchSemantics: ${t}`);if(t!=="lazy"&&(typeof WeakRef!="function"||typeof FinalizationRegistry!="function"))throw new Error("Non-lazy matchSemantics requires WeakRef and FinalizationRegistry support");return t}function eu(t,e){let r=new Array(4);for(let i=0;i<4;i++){let n=t[i],s=e[i];if(n==null)r[i]=s;else if(s==null||Z(n)===Z(s))r[i]=n;else return!1}return r}var Ge=class t extends Zr.Readable{constructor(e,r,i,n,s,o){super({objectMode:!0}),Object.assign(this,{n3Store:e,subject:r,predicate:i,object:n,graph:s,options:o});let a=this._semantics=Un(o.matchSemantics);o.matchesNothing&&(this._matchesNothing=!0,this._filtered=new ue({factory:e._factory,entityIndex:o.entityIndex})),a!=="lazy"&&(this._readers=null,this._subjectId=this._predicateId=this._objectId=this._graphId=void 0,this._matchesNothing||(this._observer=e._addObserver(this)))}_matchesPattern(e,r,i,n){let{subject:s,predicate:o,object:a,graph:l,n3Store:u}=this;return s&&e!==(this._subjectId||(this._subjectId=u._termToNumericId(s)))||o&&r!==(this._predicateId||(this._predicateId=u._termToNumericId(o)))||a&&i!==(this._objectId||(this._objectId=u._termToNumericId(a)))?!1:l==null||n===(this._graphId||(this._graphId=l===""||se(l)?1:u._termToNumericId(l)))}_matchesQuad(e){let{subject:r,predicate:i,object:n,graph:s}=this;return!this._matchesNothing&&(r==null||Z(r)===Z(e.subject))&&(i==null||Z(i)===Z(e.predicate))&&(n==null||Z(n)===Z(e.object))&&(s==null||Z(s)===Z(e.graph))}_assertMatchesPattern(e){if(!this._matchesQuad(e))throw new Error("Quad does not match the forwarded view pattern")}_sourceIterator(){return this._filtered?this._filtered[Symbol.iterator]():this.n3Store.readQuads(this.subject,this.predicate,this.object,this.graph)}_freezeCurrentIterators(){this._readers&&(this._readers.snapshot=this._filtered?Zl(this._filtered):Zl(this.n3Store,this.subject,this.predicate,this.object,this.graph),this._readers=null)}_onParentMutation(e,r,i,n,s){if(this._matchesPattern(e,r,i,n)){if(this._freezeCurrentIterators(),this._semantics==="forwarded"){this._filtered&&(s?this._filtered._addQuad(e,r,i,n):this._filtered._removeQuad(e,r,i,n));return}this._filtered=this.filtered}}get filtered(){if(!this._filtered){let{n3Store:e,graph:r,object:i,predicate:n,subject:s}=this;this._semantics!=="lazy"&&this._freezeCurrentIterators();let o=this._filtered=new ue({factory:e._factory,entityIndex:this.options.entityIndex});this._semantics==="snapshot"&&this._detachObserver();let a,l,u;if(s&&!(a=o._termToNumericId(s))||n&&!(l=o._termToNumericId(n))||i&&!(u=o._termToNumericId(i)))return o;let f=e._getGraphs(r);for(let c in f){let d,h,b,_;(_=f[c])&&(!a&&l?(h=Ee(_.predicates,[l,u,a]))&&(d=Ee(_.subjects,[a,l,u]),b=Ee(_.objects,[u,a,l])):u?(b=Ee(_.objects,[u,a,l]))&&(d=Ee(_.subjects,[a,l,u]),h=Ee(_.predicates,[l,u,a])):(d=Ee(_.subjects,[a,l,u]))&&(h=Ee(_.predicates,[l,u,a]),b=Ee(_.objects,[u,a,l])),d&&(o._graphs[c]={subjects:d,predicates:h,objects:b},o._graphCount++))}o._size=null}return this._filtered}get size(){return this.filtered.size}_read(e){e>0&&!this[Ut]&&(this[Ut]=this[Symbol.iterator]());let r=this[Ut];for(;--e>=0;){let{done:i,value:n}=r.next();if(i){this.push(null);return}this.push(n)}}_destroy(e,r){this[Ut]&&(this[Ut].return(),this[Ut]=null),r(e)}_detachObserver(){this._observer&&(this.n3Store._removeObserver(this._observer),this._observer=null)}_detach(){return this._filtered=this.filtered,this._detachObserver(),this._semantics==="lazy"&&(this._readers=null),this._semantics="snapshot",this}addAll(e){if(this._semantics==="forwarded"){for(let r of e)this._assertMatchesPattern(r),this.n3Store.addQuad(r);return this}return this.filtered.addAll(e)}contains(e){return this.filtered.contains(e)}deleteMatches(e,r,i,n){if(this._semantics==="forwarded"){if(this._matchesNothing)throw new Error("Cannot delete from a conflicting forwarded view pattern");let s=eu([this.subject,this.predicate,this.object,this.graph],[e,r,i,n]);if(!s)throw new Error("Deletion pattern does not match the forwarded view pattern");return this.n3Store.deleteMatches(...s),this}return this.filtered.deleteMatches(e,r,i,n)}difference(e){return this.filtered.difference(e)}equals(e){return this.filtered.equals(e)}every(e,r,i,n,s){return this.filtered.every(this._semantics==="forwarded"?o=>e(o,this):e,r,i,n,s)}filter(e){return this.filtered.filter(this._semantics==="forwarded"?r=>e(r,this):e)}forEach(e,r,i,n,s){return this.filtered.forEach(this._semantics==="forwarded"?o=>e(o,this):e,r,i,n,s)}import(e){if(this._semantics!=="forwarded")return this.filtered.import(e);let r=this;function i(n){try{r._assertMatchesPattern(n),r.n3Store.addQuad(n)}catch(s){e.removeListener("data",i),typeof e.destroy=="function"?e.destroy(s):e.emit("error",s)}}return e.on("data",i),e}intersection(e){return this.filtered.intersection(e)}map(e){return this.filtered.map(this._semantics==="forwarded"?r=>e(r,this):e)}some(e,r,i,n,s){return this.filtered.some(this._semantics==="forwarded"?o=>e(o,this):e,r,i,n,s)}toCanonical(){return this.filtered.toCanonical()}toStream(){return this._semantics!=="lazy"?Zr.Readable.from(this[Symbol.iterator]()):this._filtered?this._filtered.toStream():this.n3Store.match(this.subject,this.predicate,this.object,this.graph,{matchSemantics:"lazy"})}union(e){return this._filtered?this._filtered.union(e):this.n3Store.match(this.subject,this.predicate,this.object,this.graph,{matchSemantics:"lazy"}).addAll(e)}toArray(){return this._semantics!=="lazy"?[...this]:this._filtered?this._filtered.toArray():this.n3Store.getQuads(this.subject,this.predicate,this.object,this.graph)}reduce(e,r){return this.filtered.reduce(this._semantics==="forwarded"?(i,n)=>e(i,n,this):e,r)}toString(){return new oe().quadsToString(this)}add(e){return this._semantics==="forwarded"?(this._assertMatchesPattern(e),this.n3Store.addQuad(e),this):this.filtered.add(e)}delete(e){return this._semantics==="forwarded"?(this._assertMatchesPattern(e),this.n3Store.removeQuad(e),this):this.filtered.delete(e)}has(e){return this.filtered.has(e)}match(e,r,i,n,s=null){let o=s&&s.matchSemantics;if(s&&o!==void 0&&(Un(o),o!==this._semantics))throw new Error(`Cannot override matchSemantics on a view: inherited "${this._semantics}", received "${o}"`);if(this._semantics!=="forwarded")return new t(this.filtered,e,r,i,n,{entityIndex:this.options.entityIndex,matchSemantics:this._semantics});let a=!this._matchesNothing&&eu([this.subject,this.predicate,this.object,this.graph],[e,r,i,n]),[l,u,f,c]=a||[null,null,null,null];return new t(this.n3Store,l,u,f,c,{entityIndex:this.options.entityIndex,matchSemantics:"forwarded",matchesNothing:!a})}[Symbol.iterator](){return this._semantics==="lazy"?this._sourceIterator():this._iterateStable()}*_iterateStable(){let e=this._readers||(this._readers={count:0,snapshot:null}),r=this._sourceIterator(),i=0;e.count++;try{for(;!e.snapshot;){let{value:n,done:s}=r.next();if(e.snapshot||s)break;i++,yield n}e.snapshot&&(yield*ne(lb(e.snapshot,i)))}finally{r.return(),--e.count===0&&(e.snapshot=null,this._readers===e&&(this._readers=null))}}};var Wt=class{dataset(e){return new ue(e)}};function Wn(t){let e=[];for(let{subject:r,object:i}of t.match(null,W.namedNode("http://www.w3.org/2000/10/swap/log#implies"),null,W.defaultGraph())){let n=[...t.match(null,null,null,r)],s=[...t.match(null,null,null,i)];e.push({premise:n,conclusion:s})}return e}var Gt=class{constructor(e,r={}){this._store=e,this._maxDerivations=r.maxDerivations===void 0?1/0:r.maxDerivations,this._maxPremiseDepth=r.maxPremiseDepth===void 0?1/0:r.maxPremiseDepth}_add(e,r,i,n,s,o){let a=this._store;if(a._observers){if(!a._addQuad(e,r,i,this._graphId))return}else{if(!a._addToIndex(n.subjects,e,r,i))return;a._addToIndex(n.predicates,r,i,e),a._addToIndex(n.objects,i,e,r),this._indexed++}if(++this._derivations>this._maxDerivations)throw new Error(`Reasoning exceeded the maximum of ${this._maxDerivations} derivations`);o(s)}_emit(e,r,i){let n=e.conclusion;for(let s=0;s<n.length;s++){let o=n[s];this._add(o.subject.value,o.predicate.value,o.object.value,r,o,i)}}_evaluatePremise(e,r,i,n=0){let s,o,[a,l,u]=e.premise[n].value,f=r[e.premise[n].content],c=n===e.premise.length-1;if(!(s=a.value)){for(s in f)o=f[s],a.value=Number(s),this._evaluateLevel1(e,r,i,n,c,l,u,o);a.value=null}else(o=f[s])&&this._evaluateLevel1(e,r,i,n,c,l,u,o)}_evaluateLevel1(e,r,i,n,s,o,a,l){let u,f;if(!(u=o.value)){for(u in l)f=l[u],o.value=Number(u),this._evaluateLevel2(e,r,i,n,s,a,f);o.value=null}else(f=l[u])&&this._evaluateLevel2(e,r,i,n,s,a,f)}_evaluateLevel2(e,r,i,n,s,o,a){let l;if(!(l=o.value)){for(l in a)o.value=Number(l),s?this._emit(e,r,i):this._evaluatePremise(e,r,i,n+1);o.value=null}else s?this._emit(e,r,i):this._evaluatePremise(e,r,i,n+1)}_evaluateRules(e,r,i){for(let n=0;n<e.length;n++)this._evaluatePremise(e[n],r,i)}_reasonGraphNaive(e,r){let i=[];function n(a){a.next&&a.next.forEach(l=>{i.push([a.subject.value,a.predicate.value,a.object.value,l])})}let s=a=>{for(let l=0;l<a.length;l++){let u=a[l];this._add(u.subject.value,u.predicate.value,u.object.value,r,u,n)}};this._evaluateRules(e,r,n);let o;for(;(o=i.pop())!==void 0;){let[a,l,u,f]=o,c=f.basePremise.subject.value;c||(f.basePremise.subject.value=a);let d=f.basePremise.predicate.value;d||(f.basePremise.predicate.value=l);let h=f.basePremise.object.value;h||(f.basePremise.object.value=u),f.premise.length===0?s(f.conclusion):this._evaluatePremise(f,r,n),c||(f.basePremise.subject.value=null),d||(f.basePremise.predicate.value=null),h||(f.basePremise.object.value=null)}}_createRule({premise:e,conclusion:r}){let i=Object.create(null),n=o=>o.termType==="Variable"?i[o.value]=i[o.value]||{}:{value:this._store._termToNewNumericId(o)},s=o=>({subject:n(o.subject),predicate:n(o.predicate),object:n(o.object)});return{premise:e.map(o=>s(o)),conclusion:r.map(o=>s(o)),variables:Object.values(i)}}reason(e){this._derivations=this._indexed=0,Array.isArray(e)||(e=Wn(e)),e=e.map(i=>this._createRule(i));for(let i of e)if(i.premise.length>this._maxPremiseDepth)throw new Error(`Reasoning rule exceeds the maximum premise depth of ${this._maxPremiseDepth}`);for(let i of e)for(let n of e)for(let s=0;s<n.premise.length;s++){let o=n.premise[s];for(let a of i.conclusion){if(qn(o.subject,a.subject)&&qn(o.predicate,a.predicate)&&qn(o.object,a.object)){let l=new Set,u=[];o.subject.value=o.subject.value||1,o.object.value=o.object.value||1,o.predicate.value=o.predicate.value||1;for(let f=0;f<n.premise.length;f++)f!==s&&u.push(ru(n.premise[f],l));(a.next=a.next||[]).push({premise:u,conclusion:n.conclusion,basePremise:o})}for(let l=0;l<n.variables.length;l++)n.variables[l].value=null}}for(let i of e){let n=new Set;i.premise=i.premise.map(s=>ru(s,n))}let r=this._store._getGraphs();try{for(let i in r)this._graphId=Number(i),this._reasonGraphNaive(e,r[i])}finally{this._store._size!==null&&(this._store._size+=this._indexed)}}};function ru({subject:t,predicate:e,object:r},i){let n=t.value||i.has(t)||(i.add(t),!1),s=e.value||i.has(e)||(i.add(e),!1),o=r.value||i.has(r)||(i.add(r),!1);return!n&&s?{content:"predicates",value:[e,r,t]}:o?{content:"objects",value:[r,t,e]}:{content:"subjects",value:[t,e,r]}}function qn(t,e){return t.value===null&&(t.value=e.value),t.value===e.value}var iu=ei(Jr());var Qt=class extends iu.Transform{constructor(e){super({decodeStrings:!0,readableObjectMode:!0});let r=new ce(e),i,n,s={onQuad:(o,a)=>{o&&this.emit("error",o)||a&&this.push(a)},onPrefix:(o,a)=>{this.emit("prefix",o,a)},onDirective:o=>{this.emit("directive",o)}};e&&e.comments&&(s.onComment=o=>{this.emit("comment",o)}),r.parse({on:(o,a)=>{switch(o){case"data":i=a;break;case"end":n=a;break}}},s),this._transform=(o,a,l)=>{i(o),l()},this._flush=o=>{n(),o()}}import(e){return e.on("error",r=>{this.emit("error",r)}),typeof e.pipe=="function"?e.pipe(this):(e.on("data",r=>{this.write(r)}),e.on("end",()=>{this.end()})),this}};var nu=ei(Jr());var ub=16*1024,fb=20,zt=class extends nu.Transform{constructor(e){super({encoding:"utf8",writableObjectMode:!0}),this._buffer="",this._flushTimer=null,this._flushDelay=e&&e.flushDelay!==void 0?e.flushDelay:fb;let r=this._writer=new oe({write:(s,o,a)=>{this._buffer+=s,this._buffer.length>=ub?this._pushBuffer():this._flushTimer===null&&this._armFlushTimer(),a&&a()},end:s=>{this._pushBuffer(),this.push(null),s&&s()}},e),i=null,n=s=>{let o=i;i=null,s&&this._pushBuffer(),o(s)};this._transform=(s,o,a)=>{i=a,r.addQuad(s,n)},this._flush=s=>{r.end(s)}}_pushBuffer(){this._clearFlushTimer(),this._buffer!==""&&(this.push(this._buffer),this._buffer="")}_armFlushTimer(){this._flushTimer=setTimeout(()=>{this._flushTimer=null,this._pushBuffer()},this._flushDelay),this._flushTimer.unref&&this._flushTimer.unref()}_clearFlushTimer(){this._flushTimer!==null&&(clearTimeout(this._flushTimer),this._flushTimer=null)}_destroy(e,r){this._clearFlushTimer(),super._destroy(e,r)}import(e){return e.on("data",r=>{this.write(r)}),e.on("end",()=>{this.end()}),e.on("error",r=>{this._pushBuffer(),this.emit("error",r)}),e.on("prefix",(r,i)=>{this._writer.addPrefix(r,i)}),this}};var cb={Lexer:Se,Parser:ce,Writer:oe,Store:ue,StoreFactory:Wt,EntityIndex:qt,StreamParser:Qt,StreamWriter:zt,Util:dr,Reasoner:Gt,BaseIRI:Me,DataFactory:W,Term:z,NamedNode:ze,Literal:fe,BlankNode:pt,Variable:bt,DefaultGraph:yt,Quad:Ae,Triple:Ae,termFromId:Re,termToId:Te};return _u(hb);})();
24
24
  /*! Bundled license information:
25
25
 
26
26
  ieee754/index.js:
package/lib/N3Store.js CHANGED
@@ -37,8 +37,11 @@ function hasInIndex(index0, key0, key1, key2) {
37
37
  // that starts with such a marker (as relative IRIs can) is wrapped in < and >.
38
38
  const markedIRI = /^[?_"[.<]/;
39
39
  function entityKey(term) {
40
- // Strings are term ids, which only need wrapping when they are IRIs starting with <
41
- if (typeof term === 'string') return term.charCodeAt(0) !== 0x3C || term === '<>' ? term : `<${term}>`;
40
+ // Strings are term ids, which only need wrapping when they are IRIs starting with < or .
41
+ if (typeof term === 'string') {
42
+ const first = term.charCodeAt(0);
43
+ return first !== 0x3C && first !== 0x2E || term === '<>' ? term : `<${term}>`;
44
+ }
42
45
  // IDs of IRIs usually start with a lowercase scheme letter, which never marks a term type
43
46
  const id = (0, _N3DataFactory.termToId)(term);
44
47
  if (id.charCodeAt(0) >= 0x61 || !term) return id;
@@ -97,10 +100,12 @@ class N3EntityIndex {
97
100
 
98
101
  // Returns the numeric id of a term given as a string id
99
102
  _stringToNumericId(term) {
100
- // The string is the key unless it is an IRI starting with <. Read the first character
103
+ // The string is the key unless it is an IRI starting with < (which starts the keys of
104
+ // wrapped IRIs) or . (which starts the keys of quoted triples). Read the first character
101
105
  // from the stored key after a match, which is cheaper than from a concatenated string.
102
106
  const id = this._ids[term];
103
- if (id ? this._entities[id].charCodeAt(0) !== 0x3C : term.charCodeAt(0) !== 0x3C) return id;
107
+ const first = id ? this._entities[id].charCodeAt(0) : term.charCodeAt(0);
108
+ if (first !== 0x3C && first !== 0x2E) return id;
104
109
  return term === '<>' ? id : this._ids[`<${term}>`];
105
110
  }
106
111
  _termToNewNumericId(term) {
@@ -528,7 +533,8 @@ class N3Store {
528
533
 
529
534
  // ### `has` determines whether a dataset includes a certain quad or quad pattern.
530
535
  has(subjectOrQuad, predicate, object, graph) {
531
- if (subjectOrQuad && subjectOrQuad.subject) ({
536
+ // A quad with no other bound terms is the whole quad; otherwise it is a quoted subject
537
+ if (subjectOrQuad && subjectOrQuad.subject && (predicate === undefined || predicate === null) && (object === undefined || object === null) && (graph === undefined || graph === null)) ({
532
538
  subject: subjectOrQuad,
533
539
  predicate,
534
540
  object,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n3",
3
- "version": "2.13.8",
3
+ "version": "2.13.10",
4
4
  "description": "Lightning fast, asynchronous, streaming Turtle / N3 / RDF library.",
5
5
  "author": "Ruben Verborgh <ruben.verborgh@gmail.com>",
6
6
  "keywords": [
@@ -134,7 +134,7 @@
134
134
  [
135
135
  "@semantic-release/github",
136
136
  {
137
- "successCommentCondition": "<% return !branch.prerelease; %>"
137
+ "successCommentCondition": "<% return !branch.prerelease && !(issue.labels || []).some(function (label) { return /^released( on @|$)/.test(label.name); }) %>"
138
138
  }
139
139
  ]
140
140
  ]
package/src/N3Store.js CHANGED
@@ -28,9 +28,11 @@ function hasInIndex(index0, key0, key1, key2) {
28
28
  // that starts with such a marker (as relative IRIs can) is wrapped in < and >.
29
29
  const markedIRI = /^[?_"[.<]/;
30
30
  function entityKey(term) {
31
- // Strings are term ids, which only need wrapping when they are IRIs starting with <
32
- if (typeof term === 'string')
33
- return term.charCodeAt(0) !== 0x3C || term === '<>' ? term : `<${term}>`;
31
+ // Strings are term ids, which only need wrapping when they are IRIs starting with < or .
32
+ if (typeof term === 'string') {
33
+ const first = term.charCodeAt(0);
34
+ return first !== 0x3C && first !== 0x2E || term === '<>' ? term : `<${term}>`;
35
+ }
34
36
  // IDs of IRIs usually start with a lowercase scheme letter, which never marks a term type
35
37
  const id = termToId(term);
36
38
  if (id.charCodeAt(0) >= 0x61 || !term)
@@ -102,10 +104,12 @@ export class N3EntityIndex {
102
104
 
103
105
  // Returns the numeric id of a term given as a string id
104
106
  _stringToNumericId(term) {
105
- // The string is the key unless it is an IRI starting with <. Read the first character
107
+ // The string is the key unless it is an IRI starting with < (which starts the keys of
108
+ // wrapped IRIs) or . (which starts the keys of quoted triples). Read the first character
106
109
  // from the stored key after a match, which is cheaper than from a concatenated string.
107
110
  const id = this._ids[term];
108
- if (id ? this._entities[id].charCodeAt(0) !== 0x3C : term.charCodeAt(0) !== 0x3C)
111
+ const first = id ? this._entities[id].charCodeAt(0) : term.charCodeAt(0);
112
+ if (first !== 0x3C && first !== 0x2E)
109
113
  return id;
110
114
  return term === '<>' ? id : this._ids[`<${term}>`];
111
115
  }
@@ -548,7 +552,11 @@ export default class N3Store {
548
552
 
549
553
  // ### `has` determines whether a dataset includes a certain quad or quad pattern.
550
554
  has(subjectOrQuad, predicate, object, graph) {
551
- if (subjectOrQuad && subjectOrQuad.subject)
555
+ // A quad with no other bound terms is the whole quad; otherwise it is a quoted subject
556
+ if (subjectOrQuad && subjectOrQuad.subject &&
557
+ (predicate === undefined || predicate === null) &&
558
+ (object === undefined || object === null) &&
559
+ (graph === undefined || graph === null))
552
560
  ({ subject: subjectOrQuad, predicate, object, graph } = subjectOrQuad);
553
561
  // Fully bound quads can bypass the generator machinery of `readQuads`.
554
562
  if (subjectOrQuad && predicate && object && graph !== undefined && graph !== null) {