private static void Reload(StoreCascadingInt store) { store.Build(TestingPhotoPersons.data.Generate().SelectMany(ele => { string id = ele.Name + ele.Attribute("id").Value; var seq = Enumerable.Repeat( new TripleStrOV(id, "http://www.w3.org/1999/02/22-rdf-syntax-ns#type", new OV_iri(ele.Name.LocalName)), 1) .Concat(ele.Elements().Select(subele => { XAttribute ratt = subele.Attribute("ref"); TripleStrOV triple = null; if (ratt != null) { string r = (subele.Name == "reflected" ? "person" : "photo_doc") + ratt.Value; triple = new TripleStrOV(id, subele.Name.LocalName, new OV_iri(r)); } else { string value = subele.Value; // Нужны языки и другие варианты! bool possiblenumber = string.IsNullOrEmpty(value) ? false : true; if (possiblenumber) { char c = value[0]; if (char.IsDigit(c) || c == '-') { } else { possiblenumber = false; } } triple = new TripleStrOV(id, subele.Name.LocalName, possiblenumber ? (ObjectVariants) new OV_int(int.Parse(value)) : (ObjectVariants) new OV_string(value)); } return(triple); })); return(seq); })); // File.WriteAllText("../../../Databases/string based/photoPersons.ttl", store.ToTurtle()); }