Я пытаюсь проанализировать документ в формате RDF / XML в JSON-LD, чтобы создать его. Все они используют Node.js и не используют API-интерфейсы веб-служб (не слишком редкое решение).
Я чувствую, что я почти на месте, но мой нынешний подход, по меньшей мере, неуклюж. Помещение графа в хранилище rdflib и последующее его повторное выполнение дает мне странный ответ с некоторыми заголовками и без реального контекста в графе. Отсюда doc[5]['@graph']
материал посередине.
var fs = require('fs')
var $rdf = require('rdflib')
var jsonld = require('jsonld')
var path = 'path_to_rdf_file'
const frame = {}
fs.readFile(path, 'utf8', function (err, data) {
var uri = 'https://some.other.uri'
var store = $rdf.graph()
$rdf.parse(data, store, uri, 'application/rdf+xml')
var a = $rdf.serialize(null, store, uri, 'application/n-quads')
jsonld.fromRDF(a, { format: 'application/n-quads' }, (err, doc) => {
jsonld.flatten(doc[5]['@graph'], (err, flattened) => {
console.log(flattened)
jsonld.frame(flattened, frame, (err, framed) => {
resolve(framed)
})
})
})
})
Поскольку все пакеты RDF и связанных данных располагаются вокруг npm, я считаю, что должно быть более простое решение, которое могло бы привести меня от А к В.
Как я могу разобрать мой документ RDF / XML в документ JSON-LD без использования rdflib таким образом?