Я пытаюсь разобрать документ в формате 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 таким образом?
rdflib
- я имею в виду, что это API, предназначенный для использования RDF. Как еще вы хотите это сделать? Вам нужно будет реализовать свой собственный синтаксический анализатор для RDF/XML, который является нетривиальным, и сериализатор для проанализированных троек RDF. - person UninformedUser   schedule 05.01.2019rdflib
для анализа RDF/XML, затем вам нужно преобразовать его вn-quads
, прежде чем вы сможете использовать анализатор RDF изjsonld
API. - person UninformedUser   schedule 05.01.2019