Mercurial > code > home > repos > streamed-graph
comparison src/json_ld_quads.ts @ 36:8b4dc9e87b56
reindent to 2-spaces with prettier
author | drewp@bigasterisk.com |
---|---|
date | Sat, 28 Dec 2019 02:24:55 -0800 |
parents | 29d8ed02a275 |
children | 709e305dbd4f |
comparison
equal
deleted
inserted
replaced
35:29d8ed02a275 | 36:8b4dc9e87b56 |
---|---|
1 import * as jsonld from "jsonld"; | 1 import * as jsonld from "jsonld"; |
2 import { JsonLd, JsonLdArray } from 'jsonld/jsonld-spec'; | 2 import { JsonLd, JsonLdArray } from "jsonld/jsonld-spec"; |
3 import { Quad, NamedNode, DataFactory } from 'n3'; | 3 import { Quad, NamedNode, DataFactory } from "n3"; |
4 const { literal, quad, namedNode } = DataFactory; | 4 const { literal, quad, namedNode } = DataFactory; |
5 | 5 |
6 // const { rdf } = ns; | 6 // const { rdf } = ns; |
7 const rdf = { type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" }; | 7 const rdf = { type: "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" }; |
8 | 8 |
9 function _emitQuad( | 9 function _emitQuad( |
10 onQuad: (q: Quad) => void, | 10 onQuad: (q: Quad) => void, |
11 subjNode: NamedNode, | 11 subjNode: NamedNode, |
12 pred: string, | 12 pred: string, |
13 subj: any, | 13 subj: any, |
14 graphNode: NamedNode) { | 14 graphNode: NamedNode |
15 let predNode: NamedNode; | 15 ) { |
16 if (pred === "@type") { | 16 let predNode: NamedNode; |
17 predNode = namedNode(rdf.type); | 17 if (pred === "@type") { |
18 } | 18 predNode = namedNode(rdf.type); |
19 else { | 19 } else { |
20 predNode = namedNode(pred); | 20 predNode = namedNode(pred); |
21 } | 21 } |
22 subj[pred as string].forEach(function (obj: any) { | 22 subj[pred as string].forEach(function(obj: any) { |
23 const objNode = (obj['@id'] ? namedNode(obj['@id']) : | 23 const objNode = obj["@id"] |
24 literal(obj['@value'], | 24 ? namedNode(obj["@id"]) |
25 obj['@language'] || obj['@type'])); | 25 : literal(obj["@value"], obj["@language"] || obj["@type"]); |
26 onQuad(quad(subjNode, predNode, objNode, graphNode)); | 26 onQuad(quad(subjNode, predNode, objNode, graphNode)); |
27 }); | 27 }); |
28 } | 28 } |
29 | 29 |
30 export async function eachJsonLdQuad(jsonLdObj: object, onQuad: (q: Quad) => void) { | 30 export async function eachJsonLdQuad( |
31 const expanded = await jsonld.expand(jsonLdObj); | 31 jsonLdObj: object, |
32 onQuad: (q: Quad) => void | |
33 ) { | |
34 const expanded = await jsonld.expand(jsonLdObj); | |
32 | 35 |
33 (expanded as JsonLdArray).forEach(function (g: JsonLd) { | 36 (expanded as JsonLdArray).forEach(function(g: JsonLd) { |
34 var graph = (g as { '@id': string })['@id']; | 37 var graph = (g as { "@id": string })["@id"]; |
35 var graphNode = namedNode(graph); | 38 var graphNode = namedNode(graph); |
36 (g as { '@graph': JsonLdArray })['@graph'].forEach(function (subj: { [predOrId: string]: any; }) { | 39 (g as { "@graph": JsonLdArray })["@graph"].forEach(function(subj: { |
37 const subjNode = namedNode(subj['@id']); | 40 [predOrId: string]: any; |
38 for (let pred in subj) { | 41 }) { |
39 if (pred === '@id') { | 42 const subjNode = namedNode(subj["@id"]); |
40 continue; | 43 for (let pred in subj) { |
41 } | 44 if (pred === "@id") { |
42 _emitQuad(onQuad, subjNode, pred, subj, graphNode); | 45 continue; |
43 } | 46 } |
44 }); | 47 _emitQuad(onQuad, subjNode, pred, subj, graphNode); |
48 } | |
45 }); | 49 }); |
50 }); | |
46 } | 51 } |