/// <summary>Outputs the RDF dataset found in the given JSON-LD object.</summary> /// <remarks>Outputs the RDF dataset found in the given JSON-LD object.</remarks> /// <param name="input">the JSON-LD input.</param> /// <param name="callback"> /// A callback that is called when the input has been converted to /// Quads (null to use options.format instead). /// </param> /// <?></?> /// <param name="callback">(err, dataset) called once the operation completes.</param> /// <exception cref="JsonLDNet.Core.JsonLdError"></exception> public static object ToRDF(JToken input, IJSONLDTripleCallback callback, JsonLdOptions options) { JToken expandedInput = Expand(input, options); JsonLdApi api = new JsonLdApi(expandedInput, options); RDFDataset dataset = api.ToRDF(); // generate namespaces from context if (options.useNamespaces) { JArray _input; if (input is JArray) { _input = (JArray)input; } else { _input = new JArray(); _input.Add((JObject)input); } foreach (JToken e in _input) { if (((JObject)e).ContainsKey("@context")) { dataset.ParseContext((JObject)e["@context"]); } } } if (callback != null) { return(callback.Call(dataset)); } if (options.format != null) { if ("application/nquads".Equals(options.format)) { return(new NQuadTripleCallback().Call(dataset)); } else { if ("text/turtle".Equals(options.format)) { return(new TurtleTripleCallback().Call(dataset)); } else { throw new JsonLdError(JsonLdError.Error.UnknownFormat, options.format); } } } return(dataset); }
/// <exception cref="JsonLD.Core.JsonLdError"></exception> public static object ToRDF(JToken input, IJSONLDTripleCallback callback) { return(ToRDF(input, callback, new JsonLdOptions(string.Empty))); }