|
1 | | -import { Parser, QueryEngine, rdf, Store, Validator, sparqlValidations, slugify, formatsPretty } from "./assets/bundle.js" |
| 1 | +import { Parser, Writer, QueryEngine, rdf, Store, Validator, sparqlValidations, slugify, formatsPretty } from "./assets/bundle.js" |
2 | 2 |
|
3 | 3 | export async function fetchAsset(relPath) { |
4 | 4 | const response = await fetch("assets/" + relPath, { |
@@ -128,11 +128,20 @@ export async function serializeStoreToTurtle(store) { |
128 | 128 |
|
129 | 129 | export async function serializeDatasetToTurtle(dataset) { |
130 | 130 | // do both of the next steps once initially? TODO |
131 | | - rdf.formats.import(formatsPretty) |
| 131 | + /*rdf.formats.import(formatsPretty) |
132 | 132 | const prefixesArr = Object.entries(prefixes).map( |
133 | 133 | ([prefix, iri]) => [prefix, rdf.namedNode(iri)] |
134 | 134 | ) |
135 | | - return await rdf.io.dataset.toText("text/turtle", dataset, { prefixes: prefixesArr }) |
| 135 | + return await rdf.io.dataset.toText("text/turtle", dataset, { prefixes: prefixesArr })*/ |
| 136 | + // this supports RDF-star, but adds all prefixes and check blank node handling TODO |
| 137 | + return await new Promise((resolve, reject) => { |
| 138 | + const writer = new Writer({ format: "turtle*", prefixes }) |
| 139 | + writer.addQuads([...dataset]) |
| 140 | + writer.end((err, result) => { |
| 141 | + if (err) return reject(err) |
| 142 | + resolve(result) |
| 143 | + }) |
| 144 | + }) |
136 | 145 | } |
137 | 146 |
|
138 | 147 | export async function runValidationOnStore(store, debug = false, details = false) { |
|
0 commit comments