comparison src/json_ld_quads.ts @ 18:4bf74032e2e8

merge
author drewp@bigasterisk.com
date Thu, 12 Dec 2019 22:57:14 -0800
parents 7ca4ff2088c3
children 9ec3cbc8791a
comparison
equal deleted inserted replaced
17:94629c39681c 18:4bf74032e2e8
10 const { rdf } = ns; 10 const { rdf } = ns;
11 11
12 function _emitQuad( 12 function _emitQuad(
13 onQuad: (q: Quad) => void, 13 onQuad: (q: Quad) => void,
14 subjNode: NamedNode, 14 subjNode: NamedNode,
15 pred: string | { '@id': string }, 15 pred: string,
16 subj: any, 16 subj: any,
17 graphNode: NamedNode) { 17 graphNode: NamedNode) {
18 let predNode: NamedNode; 18 let predNode: NamedNode;
19 if (pred === "@type") { 19 if (pred === "@type") {
20 predNode = namedNode(rdf.type); 20 predNode = namedNode(rdf.type);
21 } 21 }
22 else { 22 else {
23 predNode = namedNode(pred['@id']); 23 predNode = namedNode(pred);
24 } 24 }
25 subj[pred as string].forEach(function (obj: any) { 25 subj[pred as string].forEach(function (obj: any) {
26 const objNode = (obj['@id'] ? namedNode(obj['@id']) : 26 const objNode = (obj['@id'] ? namedNode(obj['@id']) :
27 literal(obj['@value'], 27 literal(obj['@value'],
28 obj['@language'] || obj['@type'])); 28 obj['@language'] || obj['@type']));
39 reject(err); 39 reject(err);
40 } 40 }
41 (expanded as [object]).forEach(function (g) { 41 (expanded as [object]).forEach(function (g) {
42 var graph = g['@id']; 42 var graph = g['@id'];
43 var graphNode = namedNode(graph); 43 var graphNode = namedNode(graph);
44 g['@graph'].forEach(function (subj) { 44 g['@graph'].forEach(function (subj: { [predOrId: string]: any; }) {
45 console.log('process subj', subj)
45 const subjNode = namedNode(subj['@id']); 46 const subjNode = namedNode(subj['@id']);
46 for (let pred in subj) { 47 for (let pred in subj) {
47 if (pred === '@id') { 48 if (pred === '@id') {
48 continue; 49 continue;
49 } 2 50 }
51 console.log('emit with', pred);
50 _emitQuad(onQuad, subjNode, pred, subj, graphNode); 52 _emitQuad(onQuad, subjNode, pred, subj, graphNode);
51 } 53 }
52 }); 54 });
53 }); 55 });
54 resolve(); 56 resolve();