I am using dotNetRDF for RDF in .NET but as far as I know there is no JSON-LD Serialization for it.
Especially the compacted version of JSON-LD has a big benefit for small overhead and readability in comparison to RDF/XML, TriX, ...
So as there is no direct way to export JSON-LD from dotNetRDF I am thinking of a converter that can convert formats that dotNetRDF understands to JSON-LD. Formats like RDF/XML, RDF/JSON (note: it is not the same as JSON-LD), TriX, N-Quads, ...
Which converter do you recommend? Which supports the compacted version? And it should be able to convert from JSON-LD to other formats as well. Maybe there is a .NET library for that?
My solution using the library json-ld.net for converting dotNetRDF's NQuads output to JSON-LD:
var tripleStore = ...
var nQuads = VDS.RDF.Writing.StringWriter.Write(tripleStore, new NQuadsWriter());
var contextMap = JObject.Parse(@"{
'@context' : {
'model': 'http://localhost/model/',
'rdf': 'http://www.w3.org/1999/02/22-rdf-syntax-ns#',
'xsd': 'http://www.w3.org/2001/XMLSchema#',
'model:age': {
'@type': 'xsd:int'
}
}
}");
var parser = new NQuadRDFParser();
var rdfDataset = parser.Parse(nQuads);
var jArray = new JsonLdApi().FromRDF(rdfDataset);
var jObjectCompacted = JsonLdProcessor.Compact(jArray, new Context(contextMap), new JsonLdOptions());
var jsonLd = jObjectCompacted.ToString();
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.