public static Map ToMap(this AHGHEEParser.KvpsContext kvps) { try { var items = new List <KeyValue>(); foreach (var pair in kvps.pair()) { KeyValue kvp = default(KeyValue); if (pair.kvp() != null) { var key = pair.kvp().STRING().GetText().Trim('"'); var value = pair.kvp().value().ToData(); kvp = Utils.PropData(key, value, 0L); } else if (pair.edge() != null) { var key = pair.edge().STRING(0).GetText().Trim('"'); var value = pair.edge().STRING(1).GetText().Trim('"'); var id = Utils.Id(value); kvp = Utils.PropData(key, Utils.DataId(id), 0L); } else if (pair.fedge() != null) { var key = pair.edge().STRING(0).GetText().Trim('"'); var id = Utils.Id(key); var value = pair.edge().STRING(1).GetText().Trim('"'); kvp = Utils.Prop(0L, Utils.DataId(id), Utils.DBString(value)); } else if (pair.dedge() != null) { var key = pair.edge().STRING(0).GetText().Trim('"'); var value = pair.edge().STRING(1).GetText().Trim('"'); var keyId = Utils.Id(key); var valueId = Utils.Id(value); kvp = Utils.Prop(0L, Utils.DataId(keyId), Utils.DataId(valueId)); } else { continue; } items.Add(kvp); } return(new Map() { Items = items }); } catch (Exception ex) { Console.WriteLine(kvps.GetText()); Console.WriteLine(ex.Message + "\n" + ex.StackTrace); throw; } }
// public static NodeID ToNodeId(this NTRIPLESParser.SubjContext ctx, Func <string, string> BNToId) { var subIRI = ctx.IRI()?.GetText()?.Trim('<', '>'); if (subIRI == null) { var subjBN = ctx.BLANKNODE().GetText(); subIRI = BNToId(subjBN); } return(Utils.Id(subIRI)); }
public static (Primitive, Primitive?) ToDataBlock(this NTRIPLESParser.ObjContext ctx, Func <string?, string> BNToId) { // VALUE with optional stuffs var literalString = ctx.literal()?.STRING()?.GetText().Trim('"'); if (literalString != null) { var str = Utils.DBString(literalString); var literalStringTypeIri = ctx.literal()?.IRI()?.GetText().Trim('<', '>'); var literalStringLang = ctx.literal()?.LANGTAG()?.GetText(); if (literalStringTypeIri != null) { return(str, Utils.DataId(Utils.Id(literalStringTypeIri))); } if (literalStringLang != null) { return(str, Utils.DBString($"lang:{literalStringLang}")); } return(str, null); } // Value Pointer var objPointer = ctx.IRI()?.GetText()?.Trim('<', '>'); if (objPointer != null) { return(Utils.DataId(Utils.Id(objPointer)), null); } // Value BlankNode, got this far, we have to have a blankNode, or something is broken. if (ctx.BLANKNODE() == null) { // this likely indicates are corrupt file, or upstream corruption in the parsing of the file. } var objVal = ctx.BLANKNODE()?.GetText(); var objBn = BNToId(objVal); return(Utils.DataId(Utils.Id(objBn)), null); }
public static Primitive ToDataBlockNodeID(this string str) { return(Utils.DataId(Utils.Id(str))); }